Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1053)

Unified Diff: webrtc/voice_engine/output_mixer.cc

Issue 2049683003: FileRecorder + FilePlayer: Let Create functions return unique_ptr (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@remove3
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;

Powered by Google App Engine
This is Rietveld 408576698