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

Unified Diff: voice_engine/transmit_mixer.cc

Issue 3013033002: Remove VoEFile (Closed)
Patch Set: rebase Created 3 years, 3 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
« no previous file with comments | « voice_engine/transmit_mixer.h ('k') | voice_engine/utility.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: voice_engine/transmit_mixer.cc
diff --git a/voice_engine/transmit_mixer.cc b/voice_engine/transmit_mixer.cc
index fefbc47c3c587b53a6dd2f8f733eca7fc1dd89f8..a888eb1887167e8da09496c6f70b0679f26b8f94 100644
--- a/voice_engine/transmit_mixer.cc
+++ b/voice_engine/transmit_mixer.cc
@@ -67,64 +67,6 @@ void TransmitMixer::OnPeriodicProcess()
}
#endif // WEBRTC_VOICE_ENGINE_TYPING_DETECTION
-void TransmitMixer::PlayNotification(int32_t id,
- uint32_t durationMs)
-{
- WEBRTC_TRACE(kTraceStream, kTraceVoice, VoEId(_instanceId, -1),
- "TransmitMixer::PlayNotification(id=%d, durationMs=%d)",
- id, durationMs);
-
- // Not implement yet
-}
-
-void TransmitMixer::RecordNotification(int32_t id,
- uint32_t durationMs)
-{
- WEBRTC_TRACE(kTraceStream, kTraceVoice, VoEId(_instanceId,-1),
- "TransmitMixer::RecordNotification(id=%d, durationMs=%d)",
- id, durationMs);
-
- // Not implement yet
-}
-
-void TransmitMixer::PlayFileEnded(int32_t id)
-{
- WEBRTC_TRACE(kTraceStream, kTraceVoice, VoEId(_instanceId, -1),
- "TransmitMixer::PlayFileEnded(id=%d)", id);
-
- assert(id == _filePlayerId);
-
- rtc::CritScope cs(&_critSect);
-
- _filePlaying = false;
- WEBRTC_TRACE(kTraceStateInfo, kTraceVoice, VoEId(_instanceId, -1),
- "TransmitMixer::PlayFileEnded() =>"
- "file player module is shutdown");
-}
-
-void
-TransmitMixer::RecordFileEnded(int32_t id)
-{
- WEBRTC_TRACE(kTraceStream, kTraceVoice, VoEId(_instanceId, -1),
- "TransmitMixer::RecordFileEnded(id=%d)", id);
-
- if (id == _fileRecorderId)
- {
- rtc::CritScope cs(&_critSect);
- _fileRecording = false;
- WEBRTC_TRACE(kTraceStateInfo, kTraceVoice, VoEId(_instanceId, -1),
- "TransmitMixer::RecordFileEnded() => fileRecorder module"
- "is shutdown");
- } else if (id == _fileCallRecorderId)
- {
- rtc::CritScope cs(&_critSect);
- _fileCallRecording = false;
- WEBRTC_TRACE(kTraceStateInfo, kTraceVoice, VoEId(_instanceId, -1),
- "TransmitMixer::RecordFileEnded() => fileCallRecorder"
- "module is shutdown");
- }
-}
-
int32_t
TransmitMixer::Create(TransmitMixer*& mixer, uint32_t instanceId)
{
@@ -152,11 +94,6 @@ TransmitMixer::Destroy(TransmitMixer*& mixer)
}
TransmitMixer::TransmitMixer(uint32_t instanceId) :
- // Avoid conflict with other channels by adding 1024 - 1026,
- // won't use as much as 1024 channels.
- _filePlayerId(instanceId + 1024),
- _fileRecorderId(instanceId + 1025),
- _fileCallRecorderId(instanceId + 1026),
#if WEBRTC_VOICE_ENGINE_TYPING_DETECTION
_monitorModule(this),
#endif
@@ -174,21 +111,6 @@ TransmitMixer::~TransmitMixer()
if (_processThreadPtr)
_processThreadPtr->DeRegisterModule(&_monitorModule);
#endif
- {
- rtc::CritScope cs(&_critSect);
- if (file_recorder_) {
- file_recorder_->RegisterModuleFileCallback(NULL);
- file_recorder_->StopRecording();
- }
- if (file_call_recorder_) {
- file_call_recorder_->RegisterModuleFileCallback(NULL);
- file_call_recorder_->StopRecording();
- }
- if (file_player_) {
- file_player_->RegisterModuleFileCallback(NULL);
- file_player_->StopPlayingFile();
- }
- }
}
int32_t
@@ -295,23 +217,6 @@ TransmitMixer::PrepareDemux(const void* audioSamples,
TypingDetection(keyPressed);
#endif
- // --- Mix with file (does not affect the mixing frequency)
- if (_filePlaying)
- {
- MixOrReplaceAudioWithFile(_audioFrame.sample_rate_hz_);
- }
-
- // --- Record to file
- bool file_recording = false;
- {
- rtc::CritScope cs(&_critSect);
- file_recording = _fileRecording;
- }
- if (file_recording)
- {
- RecordAudioToFile(_audioFrame.sample_rate_hz_);
- }
-
// --- Measure audio level of speech after all processing.
double sample_duration = static_cast<double>(nSamples) / samplesPerSec;
_audioLevel.ComputeLevel(_audioFrame, sample_duration);
@@ -344,509 +249,6 @@ TransmitMixer::StopSend()
return 0;
}
-int TransmitMixer::StartPlayingFileAsMicrophone(const char* fileName,
- bool loop,
- FileFormats format,
- int startPosition,
- float volumeScaling,
- int stopPosition,
- const CodecInst* codecInst)
-{
- WEBRTC_TRACE(kTraceInfo, kTraceVoice, VoEId(_instanceId, -1),
- "TransmitMixer::StartPlayingFileAsMicrophone("
- "fileNameUTF8[]=%s,loop=%d, format=%d, volumeScaling=%5.3f,"
- " startPosition=%d, stopPosition=%d)", fileName, loop,
- format, volumeScaling, startPosition, stopPosition);
-
- if (_filePlaying)
- {
- _engineStatisticsPtr->SetLastError(
- VE_ALREADY_PLAYING, kTraceWarning,
- "StartPlayingFileAsMicrophone() is already playing");
- return 0;
- }
-
- rtc::CritScope cs(&_critSect);
-
- // Destroy the old instance
- if (file_player_) {
- file_player_->RegisterModuleFileCallback(NULL);
- file_player_.reset();
- }
-
- // Dynamically create the instance
- file_player_ =
- FilePlayer::CreateFilePlayer(_filePlayerId, (const FileFormats)format);
-
- if (!file_player_) {
- _engineStatisticsPtr->SetLastError(
- VE_INVALID_ARGUMENT, kTraceError,
- "StartPlayingFileAsMicrophone() filePlayer format isnot correct");
- return -1;
- }
-
- const uint32_t notificationTime(0);
-
- if (file_player_->StartPlayingFile(
- fileName, loop, startPosition, volumeScaling, notificationTime,
- stopPosition, (const CodecInst*)codecInst) != 0) {
- _engineStatisticsPtr->SetLastError(
- VE_BAD_FILE, kTraceError,
- "StartPlayingFile() failed to start file playout");
- file_player_->StopPlayingFile();
- file_player_.reset();
- return -1;
- }
-
- file_player_->RegisterModuleFileCallback(this);
- _filePlaying = true;
-
- return 0;
-}
-
-int TransmitMixer::StartPlayingFileAsMicrophone(InStream* stream,
- FileFormats format,
- int startPosition,
- float volumeScaling,
- int stopPosition,
- const CodecInst* codecInst)
-{
- WEBRTC_TRACE(kTraceInfo, kTraceVoice, VoEId(_instanceId,-1),
- "TransmitMixer::StartPlayingFileAsMicrophone(format=%d,"
- " volumeScaling=%5.3f, startPosition=%d, stopPosition=%d)",
- format, volumeScaling, startPosition, stopPosition);
-
- if (stream == NULL)
- {
- _engineStatisticsPtr->SetLastError(
- VE_BAD_FILE, kTraceError,
- "StartPlayingFileAsMicrophone() NULL as input stream");
- return -1;
- }
-
- if (_filePlaying)
- {
- _engineStatisticsPtr->SetLastError(
- VE_ALREADY_PLAYING, kTraceWarning,
- "StartPlayingFileAsMicrophone() is already playing");
- return 0;
- }
-
- rtc::CritScope cs(&_critSect);
-
- // Destroy the old instance
- if (file_player_) {
- file_player_->RegisterModuleFileCallback(NULL);
- file_player_.reset();
- }
-
- // Dynamically create the instance
- file_player_ =
- FilePlayer::CreateFilePlayer(_filePlayerId, (const FileFormats)format);
-
- if (!file_player_) {
- _engineStatisticsPtr->SetLastError(
- VE_INVALID_ARGUMENT, kTraceWarning,
- "StartPlayingFileAsMicrophone() filePlayer format isnot correct");
- return -1;
- }
-
- const uint32_t notificationTime(0);
-
- if (file_player_->StartPlayingFile(stream, startPosition, volumeScaling,
- notificationTime, stopPosition,
- (const CodecInst*)codecInst) != 0) {
- _engineStatisticsPtr->SetLastError(
- VE_BAD_FILE, kTraceError,
- "StartPlayingFile() failed to start file playout");
- file_player_->StopPlayingFile();
- file_player_.reset();
- return -1;
- }
- file_player_->RegisterModuleFileCallback(this);
- _filePlaying = true;
-
- return 0;
-}
-
-int TransmitMixer::StopPlayingFileAsMicrophone()
-{
- WEBRTC_TRACE(kTraceInfo, kTraceVoice, VoEId(_instanceId,-1),
- "TransmitMixer::StopPlayingFileAsMicrophone()");
-
- if (!_filePlaying)
- {
- return 0;
- }
-
- rtc::CritScope cs(&_critSect);
-
- if (file_player_->StopPlayingFile() != 0) {
- _engineStatisticsPtr->SetLastError(
- VE_CANNOT_STOP_PLAYOUT, kTraceError,
- "StopPlayingFile() couldnot stop playing file");
- return -1;
- }
-
- file_player_->RegisterModuleFileCallback(NULL);
- file_player_.reset();
- _filePlaying = false;
-
- return 0;
-}
-
-int TransmitMixer::IsPlayingFileAsMicrophone() const
-{
- WEBRTC_TRACE(kTraceInfo, kTraceVoice, VoEId(_instanceId, -1),
- "TransmitMixer::IsPlayingFileAsMicrophone()");
- return _filePlaying;
-}
-
-int TransmitMixer::StartRecordingMicrophone(const char* fileName,
- const CodecInst* codecInst)
-{
- WEBRTC_TRACE(kTraceInfo, kTraceVoice, VoEId(_instanceId, -1),
- "TransmitMixer::StartRecordingMicrophone(fileName=%s)",
- fileName);
-
- rtc::CritScope cs(&_critSect);
-
- if (_fileRecording)
- {
- WEBRTC_TRACE(kTraceWarning, kTraceVoice, VoEId(_instanceId, -1),
- "StartRecordingMicrophone() is already recording");
- return 0;
- }
-
- FileFormats format;
- const uint32_t notificationTime(0); // Not supported in VoE
- CodecInst dummyCodec = { 100, "L16", 16000, 320, 1, 320000 };
-
- if (codecInst != NULL && codecInst->channels > 2)
- {
- _engineStatisticsPtr->SetLastError(
- VE_BAD_ARGUMENT, kTraceError,
- "StartRecordingMicrophone() invalid compression");
- return (-1);
- }
- if (codecInst == NULL)
- {
- format = kFileFormatPcm16kHzFile;
- codecInst = &dummyCodec;
- } else if ((STR_CASE_CMP(codecInst->plname,"L16") == 0) ||
- (STR_CASE_CMP(codecInst->plname,"PCMU") == 0) ||
- (STR_CASE_CMP(codecInst->plname,"PCMA") == 0))
- {
- format = kFileFormatWavFile;
- } else
- {
- format = kFileFormatCompressedFile;
- }
-
- // Destroy the old instance
- if (file_recorder_) {
- file_recorder_->RegisterModuleFileCallback(NULL);
- file_recorder_.reset();
- }
-
- file_recorder_ = FileRecorder::CreateFileRecorder(
- _fileRecorderId, (const FileFormats)format);
- if (!file_recorder_) {
- _engineStatisticsPtr->SetLastError(
- VE_INVALID_ARGUMENT, kTraceError,
- "StartRecordingMicrophone() fileRecorder format isnot correct");
- return -1;
- }
-
- if (file_recorder_->StartRecordingAudioFile(
- fileName, (const CodecInst&)*codecInst, notificationTime) != 0) {
- _engineStatisticsPtr->SetLastError(
- VE_BAD_FILE, kTraceError,
- "StartRecordingAudioFile() failed to start file recording");
- file_recorder_->StopRecording();
- file_recorder_.reset();
- return -1;
- }
- file_recorder_->RegisterModuleFileCallback(this);
- _fileRecording = true;
-
- return 0;
-}
-
-int TransmitMixer::StartRecordingMicrophone(OutStream* stream,
- const CodecInst* codecInst)
-{
- WEBRTC_TRACE(kTraceInfo, kTraceVoice, VoEId(_instanceId, -1),
- "TransmitMixer::StartRecordingMicrophone()");
-
- rtc::CritScope cs(&_critSect);
-
- if (_fileRecording)
- {
- WEBRTC_TRACE(kTraceWarning, kTraceVoice, VoEId(_instanceId, -1),
- "StartRecordingMicrophone() is already recording");
- return 0;
- }
-
- FileFormats format;
- const uint32_t notificationTime(0); // Not supported in VoE
- CodecInst dummyCodec = { 100, "L16", 16000, 320, 1, 320000 };
-
- if (codecInst != NULL && codecInst->channels != 1)
- {
- _engineStatisticsPtr->SetLastError(
- VE_BAD_ARGUMENT, kTraceError,
- "StartRecordingMicrophone() invalid compression");
- return (-1);
- }
- if (codecInst == NULL)
- {
- format = kFileFormatPcm16kHzFile;
- codecInst = &dummyCodec;
- } else if ((STR_CASE_CMP(codecInst->plname,"L16") == 0) ||
- (STR_CASE_CMP(codecInst->plname,"PCMU") == 0) ||
- (STR_CASE_CMP(codecInst->plname,"PCMA") == 0))
- {
- format = kFileFormatWavFile;
- } else
- {
- format = kFileFormatCompressedFile;
- }
-
- // Destroy the old instance
- if (file_recorder_) {
- file_recorder_->RegisterModuleFileCallback(NULL);
- file_recorder_.reset();
- }
-
- file_recorder_ = FileRecorder::CreateFileRecorder(
- _fileRecorderId, (const FileFormats)format);
- if (!file_recorder_) {
- _engineStatisticsPtr->SetLastError(
- VE_INVALID_ARGUMENT, kTraceError,
- "StartRecordingMicrophone() fileRecorder format isnot correct");
- return -1;
- }
-
- if (file_recorder_->StartRecordingAudioFile(stream, *codecInst,
- notificationTime) != 0) {
- _engineStatisticsPtr->SetLastError(
- VE_BAD_FILE, kTraceError,
- "StartRecordingAudioFile() failed to start file recording");
- file_recorder_->StopRecording();
- file_recorder_.reset();
- return -1;
- }
-
- file_recorder_->RegisterModuleFileCallback(this);
- _fileRecording = true;
-
- return 0;
-}
-
-
-int TransmitMixer::StopRecordingMicrophone()
-{
- WEBRTC_TRACE(kTraceInfo, kTraceVoice, VoEId(_instanceId, -1),
- "TransmitMixer::StopRecordingMicrophone()");
-
- rtc::CritScope cs(&_critSect);
-
- if (!_fileRecording)
- {
- WEBRTC_TRACE(kTraceWarning, kTraceVoice, VoEId(_instanceId, -1),
- "StopRecordingMicrophone() isnot recording");
- return 0;
- }
-
- if (file_recorder_->StopRecording() != 0) {
- _engineStatisticsPtr->SetLastError(
- VE_STOP_RECORDING_FAILED, kTraceError,
- "StopRecording(), could not stop recording");
- return -1;
- }
- file_recorder_->RegisterModuleFileCallback(NULL);
- file_recorder_.reset();
- _fileRecording = false;
-
- return 0;
-}
-
-int TransmitMixer::StartRecordingCall(const char* fileName,
- const CodecInst* codecInst)
-{
- WEBRTC_TRACE(kTraceInfo, kTraceVoice, VoEId(_instanceId, -1),
- "TransmitMixer::StartRecordingCall(fileName=%s)", fileName);
-
- if (_fileCallRecording)
- {
- WEBRTC_TRACE(kTraceWarning, kTraceVoice, VoEId(_instanceId, -1),
- "StartRecordingCall() is already recording");
- return 0;
- }
-
- FileFormats format;
- const uint32_t notificationTime(0); // Not supported in VoE
- CodecInst dummyCodec = { 100, "L16", 16000, 320, 1, 320000 };
-
- if (codecInst != NULL && codecInst->channels != 1)
- {
- _engineStatisticsPtr->SetLastError(
- VE_BAD_ARGUMENT, kTraceError,
- "StartRecordingCall() invalid compression");
- return (-1);
- }
- if (codecInst == NULL)
- {
- format = kFileFormatPcm16kHzFile;
- codecInst = &dummyCodec;
- } else if ((STR_CASE_CMP(codecInst->plname,"L16") == 0) ||
- (STR_CASE_CMP(codecInst->plname,"PCMU") == 0) ||
- (STR_CASE_CMP(codecInst->plname,"PCMA") == 0))
- {
- format = kFileFormatWavFile;
- } else
- {
- format = kFileFormatCompressedFile;
- }
-
- rtc::CritScope cs(&_critSect);
-
- // Destroy the old instance
- if (file_call_recorder_) {
- file_call_recorder_->RegisterModuleFileCallback(NULL);
- file_call_recorder_.reset();
- }
-
- file_call_recorder_ = FileRecorder::CreateFileRecorder(
- _fileCallRecorderId, (const FileFormats)format);
- if (!file_call_recorder_) {
- _engineStatisticsPtr->SetLastError(
- VE_INVALID_ARGUMENT, kTraceError,
- "StartRecordingCall() fileRecorder format isnot correct");
- return -1;
- }
-
- if (file_call_recorder_->StartRecordingAudioFile(
- fileName, (const CodecInst&)*codecInst, notificationTime) != 0) {
- _engineStatisticsPtr->SetLastError(
- VE_BAD_FILE, kTraceError,
- "StartRecordingAudioFile() failed to start file recording");
- file_call_recorder_->StopRecording();
- file_call_recorder_.reset();
- return -1;
- }
- file_call_recorder_->RegisterModuleFileCallback(this);
- _fileCallRecording = true;
-
- return 0;
-}
-
-int TransmitMixer::StartRecordingCall(OutStream* stream,
- const CodecInst* codecInst)
-{
- WEBRTC_TRACE(kTraceInfo, kTraceVoice, VoEId(_instanceId, -1),
- "TransmitMixer::StartRecordingCall()");
-
- if (_fileCallRecording)
- {
- WEBRTC_TRACE(kTraceWarning, kTraceVoice, VoEId(_instanceId, -1),
- "StartRecordingCall() is already recording");
- return 0;
- }
-
- FileFormats format;
- const uint32_t notificationTime(0); // Not supported in VoE
- CodecInst dummyCodec = { 100, "L16", 16000, 320, 1, 320000 };
-
- if (codecInst != NULL && codecInst->channels != 1)
- {
- _engineStatisticsPtr->SetLastError(
- VE_BAD_ARGUMENT, kTraceError,
- "StartRecordingCall() invalid compression");
- return (-1);
- }
- if (codecInst == NULL)
- {
- format = kFileFormatPcm16kHzFile;
- codecInst = &dummyCodec;
- } else if ((STR_CASE_CMP(codecInst->plname,"L16") == 0) ||
- (STR_CASE_CMP(codecInst->plname,"PCMU") == 0) ||
- (STR_CASE_CMP(codecInst->plname,"PCMA") == 0))
- {
- format = kFileFormatWavFile;
- } else
- {
- format = kFileFormatCompressedFile;
- }
-
- rtc::CritScope cs(&_critSect);
-
- // Destroy the old instance
- if (file_call_recorder_) {
- file_call_recorder_->RegisterModuleFileCallback(NULL);
- file_call_recorder_.reset();
- }
-
- file_call_recorder_ = FileRecorder::CreateFileRecorder(
- _fileCallRecorderId, (const FileFormats)format);
- if (!file_call_recorder_) {
- _engineStatisticsPtr->SetLastError(
- VE_INVALID_ARGUMENT, kTraceError,
- "StartRecordingCall() fileRecorder format isnot correct");
- return -1;
- }
-
- if (file_call_recorder_->StartRecordingAudioFile(stream, *codecInst,
- notificationTime) != 0) {
- _engineStatisticsPtr->SetLastError(
- VE_BAD_FILE, kTraceError,
- "StartRecordingAudioFile() failed to start file recording");
- file_call_recorder_->StopRecording();
- file_call_recorder_.reset();
- return -1;
- }
-
- file_call_recorder_->RegisterModuleFileCallback(this);
- _fileCallRecording = true;
-
- return 0;
-}
-
-int TransmitMixer::StopRecordingCall()
-{
- WEBRTC_TRACE(kTraceInfo, kTraceVoice, VoEId(_instanceId, -1),
- "TransmitMixer::StopRecordingCall()");
-
- if (!_fileCallRecording)
- {
- WEBRTC_TRACE(kTraceError, kTraceVoice, VoEId(_instanceId, -1),
- "StopRecordingCall() file isnot recording");
- return -1;
- }
-
- rtc::CritScope cs(&_critSect);
-
- if (file_call_recorder_->StopRecording() != 0) {
- _engineStatisticsPtr->SetLastError(
- VE_STOP_RECORDING_FAILED, kTraceError,
- "StopRecording(), could not stop recording");
- return -1;
- }
-
- file_call_recorder_->RegisterModuleFileCallback(NULL);
- file_call_recorder_.reset();
- _fileCallRecording = false;
-
- return 0;
-}
-
-void
-TransmitMixer::SetMixWithMicStatus(bool mix)
-{
- _mixFileWithMicrophone = mix;
-}
-
int8_t TransmitMixer::AudioLevel() const
{
// Speech + file level [0,9]
@@ -867,17 +269,6 @@ double TransmitMixer::GetTotalInputDuration() const {
return _audioLevel.TotalDuration();
}
-bool TransmitMixer::IsRecordingCall()
-{
- return _fileCallRecording;
-}
-
-bool TransmitMixer::IsRecordingMic()
-{
- rtc::CritScope cs(&_critSect);
- return _fileRecording;
-}
-
void TransmitMixer::GenerateAudioFrame(const int16_t* audio,
size_t samples_per_channel,
size_t num_channels,
@@ -901,79 +292,6 @@ void TransmitMixer::GenerateAudioFrame(const int16_t* audio,
&resampler_, &_audioFrame);
}
-int32_t TransmitMixer::RecordAudioToFile(
- uint32_t mixingFrequency)
-{
- rtc::CritScope cs(&_critSect);
- if (!file_recorder_) {
- WEBRTC_TRACE(kTraceWarning, kTraceVoice, VoEId(_instanceId, -1),
- "TransmitMixer::RecordAudioToFile() filerecorder doesnot"
- "exist");
- return -1;
- }
-
- if (file_recorder_->RecordAudioToFile(_audioFrame) != 0) {
- WEBRTC_TRACE(kTraceWarning, kTraceVoice, VoEId(_instanceId, -1),
- "TransmitMixer::RecordAudioToFile() file recording"
- "failed");
- return -1;
- }
-
- return 0;
-}
-
-int32_t TransmitMixer::MixOrReplaceAudioWithFile(
- int mixingFrequency)
-{
- std::unique_ptr<int16_t[]> fileBuffer(new int16_t[640]);
-
- size_t fileSamples(0);
- {
- rtc::CritScope cs(&_critSect);
- if (!file_player_) {
- WEBRTC_TRACE(kTraceWarning, kTraceVoice, VoEId(_instanceId, -1),
- "TransmitMixer::MixOrReplaceAudioWithFile()"
- "fileplayer doesnot exist");
- return -1;
- }
-
- if (file_player_->Get10msAudioFromFile(fileBuffer.get(), &fileSamples,
- mixingFrequency) == -1) {
- WEBRTC_TRACE(kTraceWarning, kTraceVoice, VoEId(_instanceId, -1),
- "TransmitMixer::MixOrReplaceAudioWithFile() file"
- " mixing failed");
- return -1;
- }
- }
-
- assert(_audioFrame.samples_per_channel_ == fileSamples);
-
- if (_mixFileWithMicrophone)
- {
- // Currently file stream is always mono.
- // TODO(xians): Change the code when FilePlayer supports real stereo.
- MixWithSat(_audioFrame.mutable_data(),
- _audioFrame.num_channels_,
- fileBuffer.get(),
- 1,
- fileSamples);
- } else
- {
- // Replace ACM audio with file.
- // Currently file stream is always mono.
- // TODO(xians): Change the code when FilePlayer supports real stereo.
- _audioFrame.UpdateFrame(-1,
- 0xFFFFFFFF,
- fileBuffer.get(),
- fileSamples,
- mixingFrequency,
- AudioFrame::kNormalSpeech,
- AudioFrame::kVadUnknown,
- 1);
- }
- return 0;
-}
-
void TransmitMixer::ProcessAudio(int delay_ms, int clock_drift,
int current_mic_level, bool key_pressed) {
if (audioproc_->set_stream_delay_ms(delay_ms) != 0) {
« no previous file with comments | « voice_engine/transmit_mixer.h ('k') | voice_engine/utility.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698