Index: webrtc/voice_engine/output_mixer.cc |
diff --git a/webrtc/voice_engine/output_mixer.cc b/webrtc/voice_engine/output_mixer.cc |
index 05e6f84ec9cb8dc36ddab7464248431fc2c02ccf..4f1cc772c74856e582436988e9cd67ea69c4f994 100644 |
--- a/webrtc/voice_engine/output_mixer.cc |
+++ b/webrtc/voice_engine/output_mixer.cc |
@@ -99,7 +99,6 @@ OutputMixer::OutputMixer(uint32_t instanceId) : |
_panLeft(1.0f), |
_panRight(1.0f), |
_mixingFrequencyHz(8000), |
- _outputFileRecorderPtr(NULL), |
_outputFileRecording(false) |
{ |
WEBRTC_TRACE(kTraceMemory, kTraceVoice, VoEId(_instanceId,-1), |
@@ -133,12 +132,9 @@ OutputMixer::~OutputMixer() |
} |
{ |
rtc::CritScope cs(&_fileCritSect); |
- if (_outputFileRecorderPtr) |
- { |
- _outputFileRecorderPtr->RegisterModuleFileCallback(NULL); |
- _outputFileRecorderPtr->StopRecording(); |
- FileRecorder::DestroyFileRecorder(_outputFileRecorderPtr); |
- _outputFileRecorderPtr = NULL; |
+ if (output_file_recorder_) { |
+ output_file_recorder_->RegisterModuleFileCallback(NULL); |
+ output_file_recorder_->StopRecording(); |
} |
} |
_mixerModule.UnRegisterMixedStreamCallback(); |
@@ -295,38 +291,30 @@ int OutputMixer::StartRecordingPlayout(const char* fileName, |
rtc::CritScope cs(&_fileCritSect); |
// Destroy the old instance |
- if (_outputFileRecorderPtr) |
- { |
- _outputFileRecorderPtr->RegisterModuleFileCallback(NULL); |
- FileRecorder::DestroyFileRecorder(_outputFileRecorderPtr); |
- _outputFileRecorderPtr = NULL; |
+ if (output_file_recorder_) { |
+ output_file_recorder_->RegisterModuleFileCallback(NULL); |
+ output_file_recorder_.reset(); |
} |
- _outputFileRecorderPtr = FileRecorder::CreateFileRecorder( |
- _instanceId, |
- (const FileFormats)format); |
- if (_outputFileRecorderPtr == NULL) |
- { |
- _engineStatisticsPtr->SetLastError( |
- VE_INVALID_ARGUMENT, kTraceError, |
- "StartRecordingPlayout() fileRecorder format isnot correct"); |
- return -1; |
+ output_file_recorder_ = FileRecorder::CreateFileRecorder( |
+ _instanceId, (const FileFormats)format); |
+ if (!output_file_recorder_) { |
+ _engineStatisticsPtr->SetLastError( |
+ VE_INVALID_ARGUMENT, kTraceError, |
+ "StartRecordingPlayout() fileRecorder format isnot correct"); |
+ return -1; |
} |
- if (_outputFileRecorderPtr->StartRecordingAudioFile( |
- fileName, |
- (const CodecInst&)*codecInst, |
- notificationTime) != 0) |
- { |
- _engineStatisticsPtr->SetLastError( |
- VE_BAD_FILE, kTraceError, |
- "StartRecordingAudioFile() failed to start file recording"); |
- _outputFileRecorderPtr->StopRecording(); |
- FileRecorder::DestroyFileRecorder(_outputFileRecorderPtr); |
- _outputFileRecorderPtr = NULL; |
- return -1; |
+ if (output_file_recorder_->StartRecordingAudioFile( |
+ fileName, (const CodecInst&)*codecInst, notificationTime) != 0) { |
+ _engineStatisticsPtr->SetLastError( |
+ VE_BAD_FILE, kTraceError, |
+ "StartRecordingAudioFile() failed to start file recording"); |
+ output_file_recorder_->StopRecording(); |
+ output_file_recorder_.reset(); |
+ return -1; |
} |
- _outputFileRecorderPtr->RegisterModuleFileCallback(this); |
+ output_file_recorder_->RegisterModuleFileCallback(this); |
_outputFileRecording = true; |
return 0; |
@@ -375,37 +363,31 @@ int OutputMixer::StartRecordingPlayout(OutStream* stream, |
rtc::CritScope cs(&_fileCritSect); |
// Destroy the old instance |
- if (_outputFileRecorderPtr) |
- { |
- _outputFileRecorderPtr->RegisterModuleFileCallback(NULL); |
- FileRecorder::DestroyFileRecorder(_outputFileRecorderPtr); |
- _outputFileRecorderPtr = NULL; |
+ if (output_file_recorder_) { |
+ output_file_recorder_->RegisterModuleFileCallback(NULL); |
+ output_file_recorder_.reset(); |
} |
- _outputFileRecorderPtr = FileRecorder::CreateFileRecorder( |
- _instanceId, |
- (const FileFormats)format); |
- if (_outputFileRecorderPtr == NULL) |
- { |
- _engineStatisticsPtr->SetLastError( |
- VE_INVALID_ARGUMENT, kTraceError, |
- "StartRecordingPlayout() fileRecorder format isnot correct"); |
- return -1; |
+ output_file_recorder_ = FileRecorder::CreateFileRecorder( |
+ _instanceId, (const FileFormats)format); |
+ if (!output_file_recorder_) { |
+ _engineStatisticsPtr->SetLastError( |
+ VE_INVALID_ARGUMENT, kTraceError, |
+ "StartRecordingPlayout() fileRecorder format isnot correct"); |
+ return -1; |
} |
- if (_outputFileRecorderPtr->StartRecordingAudioFile(*stream, |
- *codecInst, |
- notificationTime) != 0) |
- { |
- _engineStatisticsPtr->SetLastError(VE_BAD_FILE, kTraceError, |
- "StartRecordingAudioFile() failed to start file recording"); |
- _outputFileRecorderPtr->StopRecording(); |
- FileRecorder::DestroyFileRecorder(_outputFileRecorderPtr); |
- _outputFileRecorderPtr = NULL; |
- return -1; |
+ if (output_file_recorder_->StartRecordingAudioFile(*stream, *codecInst, |
+ notificationTime) != 0) { |
+ _engineStatisticsPtr->SetLastError( |
+ VE_BAD_FILE, kTraceError, |
+ "StartRecordingAudioFile() failed to start file recording"); |
+ output_file_recorder_->StopRecording(); |
+ output_file_recorder_.reset(); |
+ return -1; |
} |
- _outputFileRecorderPtr->RegisterModuleFileCallback(this); |
+ output_file_recorder_->RegisterModuleFileCallback(this); |
_outputFileRecording = true; |
return 0; |
@@ -425,16 +407,14 @@ int OutputMixer::StopRecordingPlayout() |
rtc::CritScope cs(&_fileCritSect); |
- if (_outputFileRecorderPtr->StopRecording() != 0) |
- { |
- _engineStatisticsPtr->SetLastError( |
- VE_STOP_RECORDING_FAILED, kTraceError, |
- "StopRecording(), could not stop recording"); |
- return -1; |
+ if (output_file_recorder_->StopRecording() != 0) { |
+ _engineStatisticsPtr->SetLastError( |
+ VE_STOP_RECORDING_FAILED, kTraceError, |
+ "StopRecording(), could not stop recording"); |
+ return -1; |
} |
- _outputFileRecorderPtr->RegisterModuleFileCallback(NULL); |
- FileRecorder::DestroyFileRecorder(_outputFileRecorderPtr); |
- _outputFileRecorderPtr = NULL; |
+ output_file_recorder_->RegisterModuleFileCallback(NULL); |
+ output_file_recorder_.reset(); |
_outputFileRecording = false; |
return 0; |
@@ -451,8 +431,8 @@ int OutputMixer::GetMixedAudio(int sample_rate_hz, |
// --- Record playout if enabled |
{ |
rtc::CritScope cs(&_fileCritSect); |
- if (_outputFileRecording && _outputFileRecorderPtr) |
- _outputFileRecorderPtr->RecordAudioToFile(_audioFrame); |
+ if (_outputFileRecording && output_file_recorder_) |
+ output_file_recorder_->RecordAudioToFile(_audioFrame); |
} |
frame->num_channels_ = num_channels; |