| Index: webrtc/modules/utility/source/file_player_impl.cc
|
| diff --git a/webrtc/modules/utility/source/file_player_impl.cc b/webrtc/modules/utility/source/file_player_impl.cc
|
| index e783a7eca888ced0efd74da6e091a6fd1e267f73..6608ce90cbdf3bebaf5593b642d11c9ecab24684 100644
|
| --- a/webrtc/modules/utility/source/file_player_impl.cc
|
| +++ b/webrtc/modules/utility/source/file_player_impl.cc
|
| @@ -13,27 +13,24 @@
|
|
|
| namespace webrtc {
|
| FilePlayer* FilePlayer::CreateFilePlayer(uint32_t instanceID,
|
| - FileFormats fileFormat)
|
| -{
|
| - switch(fileFormat)
|
| - {
|
| + FileFormats fileFormat) {
|
| + switch (fileFormat) {
|
| case kFileFormatWavFile:
|
| case kFileFormatCompressedFile:
|
| case kFileFormatPreencodedFile:
|
| case kFileFormatPcm16kHzFile:
|
| case kFileFormatPcm8kHzFile:
|
| case kFileFormatPcm32kHzFile:
|
| - // audio formats
|
| - return new FilePlayerImpl(instanceID, fileFormat);
|
| + // audio formats
|
| + return new FilePlayerImpl(instanceID, fileFormat);
|
| default:
|
| - assert(false);
|
| - return NULL;
|
| - }
|
| + assert(false);
|
| + return NULL;
|
| + }
|
| }
|
|
|
| -void FilePlayer::DestroyFilePlayer(FilePlayer* player)
|
| -{
|
| - delete player;
|
| +void FilePlayer::DestroyFilePlayer(FilePlayer* player) {
|
| + delete player;
|
| }
|
|
|
| FilePlayerImpl::FilePlayerImpl(const uint32_t instanceID,
|
| @@ -47,158 +44,125 @@ FilePlayerImpl::FilePlayerImpl(const uint32_t instanceID,
|
| _numberOf10MsPerFrame(0),
|
| _numberOf10MsInDecoder(0),
|
| _resampler(),
|
| - _scaling(1.0)
|
| -{
|
| - _codec.plfreq = 0;
|
| + _scaling(1.0) {
|
| + _codec.plfreq = 0;
|
| }
|
|
|
| -FilePlayerImpl::~FilePlayerImpl()
|
| -{
|
| - MediaFile::DestroyMediaFile(&_fileModule);
|
| +FilePlayerImpl::~FilePlayerImpl() {
|
| + MediaFile::DestroyMediaFile(&_fileModule);
|
| }
|
|
|
| -int32_t FilePlayerImpl::Frequency() const
|
| -{
|
| - if(_codec.plfreq == 0)
|
| - {
|
| - return -1;
|
| - }
|
| - // Make sure that sample rate is 8,16 or 32 kHz. E.g. WAVE files may have
|
| - // other sampling rates.
|
| - if(_codec.plfreq == 11000)
|
| - {
|
| - return 16000;
|
| - }
|
| - else if(_codec.plfreq == 22000)
|
| - {
|
| - return 32000;
|
| - }
|
| - else if(_codec.plfreq == 44000)
|
| - {
|
| - return 32000;
|
| - }
|
| - else if(_codec.plfreq == 48000)
|
| - {
|
| - return 32000;
|
| - }
|
| - else
|
| - {
|
| - return _codec.plfreq;
|
| - }
|
| +int32_t FilePlayerImpl::Frequency() const {
|
| + if (_codec.plfreq == 0) {
|
| + return -1;
|
| + }
|
| + // Make sure that sample rate is 8,16 or 32 kHz. E.g. WAVE files may have
|
| + // other sampling rates.
|
| + if (_codec.plfreq == 11000) {
|
| + return 16000;
|
| + } else if (_codec.plfreq == 22000) {
|
| + return 32000;
|
| + } else if (_codec.plfreq == 44000) {
|
| + return 32000;
|
| + } else if (_codec.plfreq == 48000) {
|
| + return 32000;
|
| + } else {
|
| + return _codec.plfreq;
|
| + }
|
| }
|
|
|
| -int32_t FilePlayerImpl::AudioCodec(CodecInst& audioCodec) const
|
| -{
|
| - audioCodec = _codec;
|
| - return 0;
|
| +int32_t FilePlayerImpl::AudioCodec(CodecInst& audioCodec) const {
|
| + audioCodec = _codec;
|
| + return 0;
|
| }
|
|
|
| -int32_t FilePlayerImpl::Get10msAudioFromFile(
|
| - int16_t* outBuffer,
|
| - size_t& lengthInSamples,
|
| - int frequencyInHz)
|
| -{
|
| - if(_codec.plfreq == 0)
|
| - {
|
| - LOG(LS_WARNING) << "Get10msAudioFromFile() playing not started!"
|
| - << " codec freq = " << _codec.plfreq
|
| - << ", wanted freq = " << frequencyInHz;
|
| +int32_t FilePlayerImpl::Get10msAudioFromFile(int16_t* outBuffer,
|
| + size_t& lengthInSamples,
|
| + int frequencyInHz) {
|
| + if (_codec.plfreq == 0) {
|
| + LOG(LS_WARNING) << "Get10msAudioFromFile() playing not started!"
|
| + << " codec freq = " << _codec.plfreq
|
| + << ", wanted freq = " << frequencyInHz;
|
| + return -1;
|
| + }
|
| +
|
| + AudioFrame unresampledAudioFrame;
|
| + if (STR_CASE_CMP(_codec.plname, "L16") == 0) {
|
| + unresampledAudioFrame.sample_rate_hz_ = _codec.plfreq;
|
| +
|
| + // L16 is un-encoded data. Just pull 10 ms.
|
| + size_t lengthInBytes = sizeof(unresampledAudioFrame.data_);
|
| + if (_fileModule.PlayoutAudioData((int8_t*)unresampledAudioFrame.data_,
|
| + lengthInBytes) == -1) {
|
| + // End of file reached.
|
| + return -1;
|
| + }
|
| + if (lengthInBytes == 0) {
|
| + lengthInSamples = 0;
|
| + return 0;
|
| + }
|
| + // One sample is two bytes.
|
| + unresampledAudioFrame.samples_per_channel_ = lengthInBytes >> 1;
|
| +
|
| + } else {
|
| + // Decode will generate 10 ms of audio data. PlayoutAudioData(..)
|
| + // expects a full frame. If the frame size is larger than 10 ms,
|
| + // PlayoutAudioData(..) data should be called proportionally less often.
|
| + int16_t encodedBuffer[MAX_AUDIO_BUFFER_IN_SAMPLES];
|
| + size_t encodedLengthInBytes = 0;
|
| + if (++_numberOf10MsInDecoder >= _numberOf10MsPerFrame) {
|
| + _numberOf10MsInDecoder = 0;
|
| + size_t bytesFromFile = sizeof(encodedBuffer);
|
| + if (_fileModule.PlayoutAudioData((int8_t*)encodedBuffer, bytesFromFile) ==
|
| + -1) {
|
| + // End of file reached.
|
| return -1;
|
| + }
|
| + encodedLengthInBytes = bytesFromFile;
|
| + }
|
| + if (_audioDecoder.Decode(unresampledAudioFrame, frequencyInHz,
|
| + (int8_t*)encodedBuffer,
|
| + encodedLengthInBytes) == -1) {
|
| + return -1;
|
| }
|
| + }
|
|
|
| - AudioFrame unresampledAudioFrame;
|
| - if(STR_CASE_CMP(_codec.plname, "L16") == 0)
|
| - {
|
| - unresampledAudioFrame.sample_rate_hz_ = _codec.plfreq;
|
| -
|
| - // L16 is un-encoded data. Just pull 10 ms.
|
| - size_t lengthInBytes =
|
| - sizeof(unresampledAudioFrame.data_);
|
| - if (_fileModule.PlayoutAudioData(
|
| - (int8_t*)unresampledAudioFrame.data_,
|
| - lengthInBytes) == -1)
|
| - {
|
| - // End of file reached.
|
| - return -1;
|
| - }
|
| - if(lengthInBytes == 0)
|
| - {
|
| - lengthInSamples = 0;
|
| - return 0;
|
| - }
|
| - // One sample is two bytes.
|
| - unresampledAudioFrame.samples_per_channel_ = lengthInBytes >> 1;
|
| + size_t outLen = 0;
|
| + if (_resampler.ResetIfNeeded(unresampledAudioFrame.sample_rate_hz_,
|
| + frequencyInHz, 1)) {
|
| + LOG(LS_WARNING) << "Get10msAudioFromFile() unexpected codec.";
|
|
|
| - } else {
|
| - // Decode will generate 10 ms of audio data. PlayoutAudioData(..)
|
| - // expects a full frame. If the frame size is larger than 10 ms,
|
| - // PlayoutAudioData(..) data should be called proportionally less often.
|
| - int16_t encodedBuffer[MAX_AUDIO_BUFFER_IN_SAMPLES];
|
| - size_t encodedLengthInBytes = 0;
|
| - if(++_numberOf10MsInDecoder >= _numberOf10MsPerFrame)
|
| - {
|
| - _numberOf10MsInDecoder = 0;
|
| - size_t bytesFromFile = sizeof(encodedBuffer);
|
| - if (_fileModule.PlayoutAudioData((int8_t*)encodedBuffer,
|
| - bytesFromFile) == -1)
|
| - {
|
| - // End of file reached.
|
| - return -1;
|
| - }
|
| - encodedLengthInBytes = bytesFromFile;
|
| - }
|
| - if(_audioDecoder.Decode(unresampledAudioFrame,frequencyInHz,
|
| - (int8_t*)encodedBuffer,
|
| - encodedLengthInBytes) == -1)
|
| - {
|
| - return -1;
|
| - }
|
| - }
|
| + // New sampling frequency. Update state.
|
| + outLen = static_cast<size_t>(frequencyInHz / 100);
|
| + memset(outBuffer, 0, outLen * sizeof(int16_t));
|
| + return 0;
|
| + }
|
| + _resampler.Push(unresampledAudioFrame.data_,
|
| + unresampledAudioFrame.samples_per_channel_, outBuffer,
|
| + MAX_AUDIO_BUFFER_IN_SAMPLES, outLen);
|
|
|
| - size_t outLen = 0;
|
| - if(_resampler.ResetIfNeeded(unresampledAudioFrame.sample_rate_hz_,
|
| - frequencyInHz, 1))
|
| - {
|
| - LOG(LS_WARNING) << "Get10msAudioFromFile() unexpected codec.";
|
| + lengthInSamples = outLen;
|
|
|
| - // New sampling frequency. Update state.
|
| - outLen = static_cast<size_t>(frequencyInHz / 100);
|
| - memset(outBuffer, 0, outLen * sizeof(int16_t));
|
| - return 0;
|
| - }
|
| - _resampler.Push(unresampledAudioFrame.data_,
|
| - unresampledAudioFrame.samples_per_channel_,
|
| - outBuffer,
|
| - MAX_AUDIO_BUFFER_IN_SAMPLES,
|
| - outLen);
|
| -
|
| - lengthInSamples = outLen;
|
| -
|
| - if(_scaling != 1.0)
|
| - {
|
| - for (size_t i = 0;i < outLen; i++)
|
| - {
|
| - outBuffer[i] = (int16_t)(outBuffer[i] * _scaling);
|
| - }
|
| + if (_scaling != 1.0) {
|
| + for (size_t i = 0; i < outLen; i++) {
|
| + outBuffer[i] = (int16_t)(outBuffer[i] * _scaling);
|
| }
|
| - _decodedLengthInMS += 10;
|
| - return 0;
|
| + }
|
| + _decodedLengthInMS += 10;
|
| + return 0;
|
| }
|
|
|
| -int32_t FilePlayerImpl::RegisterModuleFileCallback(FileCallback* callback)
|
| -{
|
| - return _fileModule.SetModuleFileCallback(callback);
|
| +int32_t FilePlayerImpl::RegisterModuleFileCallback(FileCallback* callback) {
|
| + return _fileModule.SetModuleFileCallback(callback);
|
| }
|
|
|
| -int32_t FilePlayerImpl::SetAudioScaling(float scaleFactor)
|
| -{
|
| - if((scaleFactor >= 0)&&(scaleFactor <= 2.0))
|
| - {
|
| - _scaling = scaleFactor;
|
| - return 0;
|
| - }
|
| - LOG(LS_WARNING) << "SetAudioScaling() non-allowed scale factor.";
|
| - return -1;
|
| +int32_t FilePlayerImpl::SetAudioScaling(float scaleFactor) {
|
| + if ((scaleFactor >= 0) && (scaleFactor <= 2.0)) {
|
| + _scaling = scaleFactor;
|
| + return 0;
|
| + }
|
| + LOG(LS_WARNING) << "SetAudioScaling() non-allowed scale factor.";
|
| + return -1;
|
| }
|
|
|
| int32_t FilePlayerImpl::StartPlayingFile(const char* fileName,
|
| @@ -207,80 +171,66 @@ int32_t FilePlayerImpl::StartPlayingFile(const char* fileName,
|
| float volumeScaling,
|
| uint32_t notification,
|
| uint32_t stopPosition,
|
| - const CodecInst* codecInst)
|
| -{
|
| - if (_fileFormat == kFileFormatPcm16kHzFile ||
|
| - _fileFormat == kFileFormatPcm8kHzFile||
|
| - _fileFormat == kFileFormatPcm32kHzFile )
|
| - {
|
| - CodecInst codecInstL16;
|
| - strncpy(codecInstL16.plname,"L16",32);
|
| - codecInstL16.pltype = 93;
|
| - codecInstL16.channels = 1;
|
| -
|
| - if (_fileFormat == kFileFormatPcm8kHzFile)
|
| - {
|
| - codecInstL16.rate = 128000;
|
| - codecInstL16.plfreq = 8000;
|
| - codecInstL16.pacsize = 80;
|
| -
|
| - } else if(_fileFormat == kFileFormatPcm16kHzFile)
|
| - {
|
| - codecInstL16.rate = 256000;
|
| - codecInstL16.plfreq = 16000;
|
| - codecInstL16.pacsize = 160;
|
| -
|
| - }else if(_fileFormat == kFileFormatPcm32kHzFile)
|
| - {
|
| - codecInstL16.rate = 512000;
|
| - codecInstL16.plfreq = 32000;
|
| - codecInstL16.pacsize = 160;
|
| - } else
|
| - {
|
| - LOG(LS_ERROR) << "StartPlayingFile() sample frequency not "
|
| - << "supported for PCM format.";
|
| - return -1;
|
| - }
|
| -
|
| - if (_fileModule.StartPlayingAudioFile(fileName, notification, loop,
|
| - _fileFormat, &codecInstL16,
|
| - startPosition,
|
| - stopPosition) == -1)
|
| - {
|
| - LOG(LS_WARNING) << "StartPlayingFile() failed to initialize "
|
| - << "pcm file " << fileName;
|
| - return -1;
|
| - }
|
| - SetAudioScaling(volumeScaling);
|
| - }else if(_fileFormat == kFileFormatPreencodedFile)
|
| - {
|
| - if (_fileModule.StartPlayingAudioFile(fileName, notification, loop,
|
| - _fileFormat, codecInst) == -1)
|
| - {
|
| - LOG(LS_WARNING) << "StartPlayingFile() failed to initialize "
|
| - << "pre-encoded file " << fileName;
|
| - return -1;
|
| - }
|
| - } else
|
| - {
|
| - CodecInst* no_inst = NULL;
|
| - if (_fileModule.StartPlayingAudioFile(fileName, notification, loop,
|
| - _fileFormat, no_inst,
|
| - startPosition,
|
| - stopPosition) == -1)
|
| - {
|
| - LOG(LS_WARNING) << "StartPlayingFile() failed to initialize file "
|
| - << fileName;
|
| - return -1;
|
| - }
|
| - SetAudioScaling(volumeScaling);
|
| + const CodecInst* codecInst) {
|
| + if (_fileFormat == kFileFormatPcm16kHzFile ||
|
| + _fileFormat == kFileFormatPcm8kHzFile ||
|
| + _fileFormat == kFileFormatPcm32kHzFile) {
|
| + CodecInst codecInstL16;
|
| + strncpy(codecInstL16.plname, "L16", 32);
|
| + codecInstL16.pltype = 93;
|
| + codecInstL16.channels = 1;
|
| +
|
| + if (_fileFormat == kFileFormatPcm8kHzFile) {
|
| + codecInstL16.rate = 128000;
|
| + codecInstL16.plfreq = 8000;
|
| + codecInstL16.pacsize = 80;
|
| +
|
| + } else if (_fileFormat == kFileFormatPcm16kHzFile) {
|
| + codecInstL16.rate = 256000;
|
| + codecInstL16.plfreq = 16000;
|
| + codecInstL16.pacsize = 160;
|
| +
|
| + } else if (_fileFormat == kFileFormatPcm32kHzFile) {
|
| + codecInstL16.rate = 512000;
|
| + codecInstL16.plfreq = 32000;
|
| + codecInstL16.pacsize = 160;
|
| + } else {
|
| + LOG(LS_ERROR) << "StartPlayingFile() sample frequency not "
|
| + << "supported for PCM format.";
|
| + return -1;
|
| }
|
| - if (SetUpAudioDecoder() == -1)
|
| - {
|
| - StopPlayingFile();
|
| - return -1;
|
| +
|
| + if (_fileModule.StartPlayingAudioFile(fileName, notification, loop,
|
| + _fileFormat, &codecInstL16,
|
| + startPosition, stopPosition) == -1) {
|
| + LOG(LS_WARNING) << "StartPlayingFile() failed to initialize "
|
| + << "pcm file " << fileName;
|
| + return -1;
|
| }
|
| - return 0;
|
| + SetAudioScaling(volumeScaling);
|
| + } else if (_fileFormat == kFileFormatPreencodedFile) {
|
| + if (_fileModule.StartPlayingAudioFile(fileName, notification, loop,
|
| + _fileFormat, codecInst) == -1) {
|
| + LOG(LS_WARNING) << "StartPlayingFile() failed to initialize "
|
| + << "pre-encoded file " << fileName;
|
| + return -1;
|
| + }
|
| + } else {
|
| + CodecInst* no_inst = NULL;
|
| + if (_fileModule.StartPlayingAudioFile(fileName, notification, loop,
|
| + _fileFormat, no_inst, startPosition,
|
| + stopPosition) == -1) {
|
| + LOG(LS_WARNING) << "StartPlayingFile() failed to initialize file "
|
| + << fileName;
|
| + return -1;
|
| + }
|
| + SetAudioScaling(volumeScaling);
|
| + }
|
| + if (SetUpAudioDecoder() == -1) {
|
| + StopPlayingFile();
|
| + return -1;
|
| + }
|
| + return 0;
|
| }
|
|
|
| int32_t FilePlayerImpl::StartPlayingFile(InStream& sourceStream,
|
| @@ -288,115 +238,96 @@ int32_t FilePlayerImpl::StartPlayingFile(InStream& sourceStream,
|
| float volumeScaling,
|
| uint32_t notification,
|
| uint32_t stopPosition,
|
| - const CodecInst* codecInst)
|
| -{
|
| - if (_fileFormat == kFileFormatPcm16kHzFile ||
|
| - _fileFormat == kFileFormatPcm32kHzFile ||
|
| - _fileFormat == kFileFormatPcm8kHzFile)
|
| - {
|
| - CodecInst codecInstL16;
|
| - strncpy(codecInstL16.plname,"L16",32);
|
| - codecInstL16.pltype = 93;
|
| - codecInstL16.channels = 1;
|
| -
|
| - if (_fileFormat == kFileFormatPcm8kHzFile)
|
| - {
|
| - codecInstL16.rate = 128000;
|
| - codecInstL16.plfreq = 8000;
|
| - codecInstL16.pacsize = 80;
|
| -
|
| - }else if (_fileFormat == kFileFormatPcm16kHzFile)
|
| - {
|
| - codecInstL16.rate = 256000;
|
| - codecInstL16.plfreq = 16000;
|
| - codecInstL16.pacsize = 160;
|
| -
|
| - }else if (_fileFormat == kFileFormatPcm32kHzFile)
|
| - {
|
| - codecInstL16.rate = 512000;
|
| - codecInstL16.plfreq = 32000;
|
| - codecInstL16.pacsize = 160;
|
| - }else
|
| - {
|
| - LOG(LS_ERROR) << "StartPlayingFile() sample frequency not "
|
| - << "supported for PCM format.";
|
| - return -1;
|
| - }
|
| - if (_fileModule.StartPlayingAudioStream(sourceStream, notification,
|
| - _fileFormat, &codecInstL16,
|
| - startPosition,
|
| - stopPosition) == -1)
|
| - {
|
| - LOG(LS_ERROR) << "StartPlayingFile() failed to initialize stream "
|
| - << "playout.";
|
| - return -1;
|
| - }
|
| -
|
| - }else if(_fileFormat == kFileFormatPreencodedFile)
|
| - {
|
| - if (_fileModule.StartPlayingAudioStream(sourceStream, notification,
|
| - _fileFormat, codecInst) == -1)
|
| - {
|
| - LOG(LS_ERROR) << "StartPlayingFile() failed to initialize stream "
|
| - << "playout.";
|
| - return -1;
|
| - }
|
| + const CodecInst* codecInst) {
|
| + if (_fileFormat == kFileFormatPcm16kHzFile ||
|
| + _fileFormat == kFileFormatPcm32kHzFile ||
|
| + _fileFormat == kFileFormatPcm8kHzFile) {
|
| + CodecInst codecInstL16;
|
| + strncpy(codecInstL16.plname, "L16", 32);
|
| + codecInstL16.pltype = 93;
|
| + codecInstL16.channels = 1;
|
| +
|
| + if (_fileFormat == kFileFormatPcm8kHzFile) {
|
| + codecInstL16.rate = 128000;
|
| + codecInstL16.plfreq = 8000;
|
| + codecInstL16.pacsize = 80;
|
| +
|
| + } else if (_fileFormat == kFileFormatPcm16kHzFile) {
|
| + codecInstL16.rate = 256000;
|
| + codecInstL16.plfreq = 16000;
|
| + codecInstL16.pacsize = 160;
|
| +
|
| + } else if (_fileFormat == kFileFormatPcm32kHzFile) {
|
| + codecInstL16.rate = 512000;
|
| + codecInstL16.plfreq = 32000;
|
| + codecInstL16.pacsize = 160;
|
| } else {
|
| - CodecInst* no_inst = NULL;
|
| - if (_fileModule.StartPlayingAudioStream(sourceStream, notification,
|
| - _fileFormat, no_inst,
|
| - startPosition,
|
| - stopPosition) == -1)
|
| - {
|
| - LOG(LS_ERROR) << "StartPlayingFile() failed to initialize stream "
|
| - << "playout.";
|
| - return -1;
|
| - }
|
| + LOG(LS_ERROR) << "StartPlayingFile() sample frequency not "
|
| + << "supported for PCM format.";
|
| + return -1;
|
| + }
|
| + if (_fileModule.StartPlayingAudioStream(
|
| + sourceStream, notification, _fileFormat, &codecInstL16,
|
| + startPosition, stopPosition) == -1) {
|
| + LOG(LS_ERROR) << "StartPlayingFile() failed to initialize stream "
|
| + << "playout.";
|
| + return -1;
|
| }
|
| - SetAudioScaling(volumeScaling);
|
|
|
| - if (SetUpAudioDecoder() == -1)
|
| - {
|
| - StopPlayingFile();
|
| - return -1;
|
| + } else if (_fileFormat == kFileFormatPreencodedFile) {
|
| + if (_fileModule.StartPlayingAudioStream(sourceStream, notification,
|
| + _fileFormat, codecInst) == -1) {
|
| + LOG(LS_ERROR) << "StartPlayingFile() failed to initialize stream "
|
| + << "playout.";
|
| + return -1;
|
| }
|
| - return 0;
|
| + } else {
|
| + CodecInst* no_inst = NULL;
|
| + if (_fileModule.StartPlayingAudioStream(sourceStream, notification,
|
| + _fileFormat, no_inst, startPosition,
|
| + stopPosition) == -1) {
|
| + LOG(LS_ERROR) << "StartPlayingFile() failed to initialize stream "
|
| + << "playout.";
|
| + return -1;
|
| + }
|
| + }
|
| + SetAudioScaling(volumeScaling);
|
| +
|
| + if (SetUpAudioDecoder() == -1) {
|
| + StopPlayingFile();
|
| + return -1;
|
| + }
|
| + return 0;
|
| }
|
|
|
| -int32_t FilePlayerImpl::StopPlayingFile()
|
| -{
|
| - memset(&_codec, 0, sizeof(CodecInst));
|
| - _numberOf10MsPerFrame = 0;
|
| - _numberOf10MsInDecoder = 0;
|
| - return _fileModule.StopPlaying();
|
| +int32_t FilePlayerImpl::StopPlayingFile() {
|
| + memset(&_codec, 0, sizeof(CodecInst));
|
| + _numberOf10MsPerFrame = 0;
|
| + _numberOf10MsInDecoder = 0;
|
| + return _fileModule.StopPlaying();
|
| }
|
|
|
| -bool FilePlayerImpl::IsPlayingFile() const
|
| -{
|
| - return _fileModule.IsPlaying();
|
| +bool FilePlayerImpl::IsPlayingFile() const {
|
| + return _fileModule.IsPlaying();
|
| }
|
|
|
| -int32_t FilePlayerImpl::GetPlayoutPosition(uint32_t& durationMs)
|
| -{
|
| - return _fileModule.PlayoutPositionMs(durationMs);
|
| +int32_t FilePlayerImpl::GetPlayoutPosition(uint32_t& durationMs) {
|
| + return _fileModule.PlayoutPositionMs(durationMs);
|
| }
|
|
|
| -int32_t FilePlayerImpl::SetUpAudioDecoder()
|
| -{
|
| - if ((_fileModule.codec_info(_codec) == -1))
|
| - {
|
| - LOG(LS_WARNING) << "Failed to retrieve codec info of file data.";
|
| - return -1;
|
| - }
|
| - if( STR_CASE_CMP(_codec.plname, "L16") != 0 &&
|
| - _audioDecoder.SetDecodeCodec(_codec) == -1)
|
| - {
|
| - LOG(LS_WARNING) << "SetUpAudioDecoder() codec " << _codec.plname
|
| - << " not supported.";
|
| - return -1;
|
| - }
|
| - _numberOf10MsPerFrame = _codec.pacsize / (_codec.plfreq / 100);
|
| - _numberOf10MsInDecoder = 0;
|
| - return 0;
|
| +int32_t FilePlayerImpl::SetUpAudioDecoder() {
|
| + if ((_fileModule.codec_info(_codec) == -1)) {
|
| + LOG(LS_WARNING) << "Failed to retrieve codec info of file data.";
|
| + return -1;
|
| + }
|
| + if (STR_CASE_CMP(_codec.plname, "L16") != 0 &&
|
| + _audioDecoder.SetDecodeCodec(_codec) == -1) {
|
| + LOG(LS_WARNING) << "SetUpAudioDecoder() codec " << _codec.plname
|
| + << " not supported.";
|
| + return -1;
|
| + }
|
| + _numberOf10MsPerFrame = _codec.pacsize / (_codec.plfreq / 100);
|
| + _numberOf10MsInDecoder = 0;
|
| + return 0;
|
| }
|
| } // namespace webrtc
|
|
|