summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/webrtc/voice_engine/voe_external_media_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/webrtc/voice_engine/voe_external_media_impl.cc')
-rw-r--r--chromium/third_party/webrtc/voice_engine/voe_external_media_impl.cc197
1 files changed, 0 insertions, 197 deletions
diff --git a/chromium/third_party/webrtc/voice_engine/voe_external_media_impl.cc b/chromium/third_party/webrtc/voice_engine/voe_external_media_impl.cc
index c76c280b05f..7c52692b682 100644
--- a/chromium/third_party/webrtc/voice_engine/voe_external_media_impl.cc
+++ b/chromium/third_party/webrtc/voice_engine/voe_external_media_impl.cc
@@ -143,203 +143,6 @@ int VoEExternalMediaImpl::DeRegisterExternalMediaProcessing(
return -1;
}
-int VoEExternalMediaImpl::SetExternalRecordingStatus(bool enable)
-{
- WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(shared_->instance_id(), -1),
- "SetExternalRecordingStatus(enable=%d)", enable);
-#ifdef WEBRTC_VOE_EXTERNAL_REC_AND_PLAYOUT
- if (shared_->audio_device()->Recording())
- {
- shared_->SetLastError(VE_ALREADY_SENDING, kTraceError,
- "SetExternalRecordingStatus() cannot set state while sending");
- return -1;
- }
- shared_->set_ext_recording(enable);
- return 0;
-#else
- shared_->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceError,
- "SetExternalRecordingStatus() external recording is not supported");
- return -1;
-#endif
-}
-
-int VoEExternalMediaImpl::ExternalRecordingInsertData(
- const int16_t speechData10ms[],
- int lengthSamples,
- int samplingFreqHz,
- int current_delay_ms)
-{
- WEBRTC_TRACE(kTraceStream, kTraceVoice, VoEId(shared_->instance_id(), -1),
- "ExternalRecordingInsertData(speechData10ms=0x%x,"
- " lengthSamples=%u, samplingFreqHz=%d, current_delay_ms=%d)",
- &speechData10ms[0], lengthSamples, samplingFreqHz,
- current_delay_ms);
-#ifdef WEBRTC_VOE_EXTERNAL_REC_AND_PLAYOUT
- if (!shared_->statistics().Initialized())
- {
- shared_->SetLastError(VE_NOT_INITED, kTraceError);
- return -1;
- }
- if (!shared_->ext_recording())
- {
- shared_->SetLastError(VE_INVALID_OPERATION, kTraceError,
- "ExternalRecordingInsertData() external recording is not enabled");
- return -1;
- }
- if (shared_->NumOfSendingChannels() == 0)
- {
- shared_->SetLastError(VE_ALREADY_SENDING, kTraceError,
- "SetExternalRecordingStatus() no channel is sending");
- return -1;
- }
- if ((16000 != samplingFreqHz) && (32000 != samplingFreqHz) &&
- (48000 != samplingFreqHz) && (44000 != samplingFreqHz))
- {
- shared_->SetLastError(VE_INVALID_ARGUMENT, kTraceError,
- "SetExternalRecordingStatus() invalid sample rate");
- return -1;
- }
- if ((0 == lengthSamples) ||
- ((lengthSamples % (samplingFreqHz / 100)) != 0))
- {
- shared_->SetLastError(VE_INVALID_ARGUMENT, kTraceError,
- "SetExternalRecordingStatus() invalid buffer size");
- return -1;
- }
- if (current_delay_ms < 0)
- {
- shared_->SetLastError(VE_INVALID_ARGUMENT, kTraceError,
- "SetExternalRecordingStatus() invalid delay)");
- return -1;
- }
-
- uint16_t blockSize = samplingFreqHz / 100;
- uint32_t nBlocks = lengthSamples / blockSize;
- int16_t totalDelayMS = 0;
- uint16_t playoutDelayMS = 0;
-
- for (uint32_t i = 0; i < nBlocks; i++)
- {
- if (!shared_->ext_playout())
- {
- // Use real playout delay if external playout is not enabled.
- if (shared_->audio_device()->PlayoutDelay(&playoutDelayMS) != 0) {
- shared_->SetLastError(VE_AUDIO_DEVICE_MODULE_ERROR, kTraceWarning,
- "PlayoutDelay() unable to get the playout delay");
- }
- totalDelayMS = current_delay_ms + playoutDelayMS;
- }
- else
- {
- // Use stored delay value given the last call
- // to ExternalPlayoutGetData.
- totalDelayMS = current_delay_ms + playout_delay_ms_;
- // Compensate for block sizes larger than 10ms
- totalDelayMS -= (int16_t)(i*10);
- if (totalDelayMS < 0)
- totalDelayMS = 0;
- }
- shared_->transmit_mixer()->PrepareDemux(
- (const int8_t*)(&speechData10ms[i*blockSize]),
- blockSize,
- 1,
- samplingFreqHz,
- totalDelayMS,
- 0,
- 0,
- false); // Typing detection not supported
-
- shared_->transmit_mixer()->DemuxAndMix();
- shared_->transmit_mixer()->EncodeAndSend();
- }
- return 0;
-#else
- shared_->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceError,
- "ExternalRecordingInsertData() external recording is not supported");
- return -1;
-#endif
-}
-
-int VoEExternalMediaImpl::SetExternalPlayoutStatus(bool enable)
-{
- WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(shared_->instance_id(), -1),
- "SetExternalPlayoutStatus(enable=%d)", enable);
-#ifdef WEBRTC_VOE_EXTERNAL_REC_AND_PLAYOUT
- if (shared_->audio_device()->Playing())
- {
- shared_->SetLastError(VE_ALREADY_SENDING, kTraceError,
- "SetExternalPlayoutStatus() cannot set state while playing");
- return -1;
- }
- shared_->set_ext_playout(enable);
- return 0;
-#else
- shared_->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceError,
- "SetExternalPlayoutStatus() external playout is not supported");
- return -1;
-#endif
-}
-
-int VoEExternalMediaImpl::ExternalPlayoutGetData(
- int16_t speechData10ms[],
- int samplingFreqHz,
- int current_delay_ms,
- int& lengthSamples)
-{
- WEBRTC_TRACE(kTraceStream, kTraceVoice, VoEId(shared_->instance_id(), -1),
- "ExternalPlayoutGetData(speechData10ms=0x%x, samplingFreqHz=%d"
- ", current_delay_ms=%d)", &speechData10ms[0], samplingFreqHz,
- current_delay_ms);
-#ifdef WEBRTC_VOE_EXTERNAL_REC_AND_PLAYOUT
- if (!shared_->statistics().Initialized())
- {
- shared_->SetLastError(VE_NOT_INITED, kTraceError);
- return -1;
- }
- if (!shared_->ext_playout())
- {
- shared_->SetLastError(VE_INVALID_OPERATION, kTraceError,
- "ExternalPlayoutGetData() external playout is not enabled");
- return -1;
- }
- if ((16000 != samplingFreqHz) && (32000 != samplingFreqHz) &&
- (48000 != samplingFreqHz) && (44000 != samplingFreqHz))
- {
- shared_->SetLastError(VE_INVALID_ARGUMENT, kTraceError,
- "ExternalPlayoutGetData() invalid sample rate");
- return -1;
- }
- if (current_delay_ms < 0)
- {
- shared_->SetLastError(VE_INVALID_ARGUMENT, kTraceError,
- "ExternalPlayoutGetData() invalid delay)");
- return -1;
- }
-
- AudioFrame audioFrame;
-
- // Retrieve mixed output at the specified rate
- shared_->output_mixer()->MixActiveChannels();
- shared_->output_mixer()->DoOperationsOnCombinedSignal();
- shared_->output_mixer()->GetMixedAudio(samplingFreqHz, 1, &audioFrame);
-
- // Deliver audio (PCM) samples to the external sink
- memcpy(speechData10ms,
- audioFrame.data_,
- sizeof(int16_t)*(audioFrame.samples_per_channel_));
- lengthSamples = audioFrame.samples_per_channel_;
-
- // Store current playout delay (to be used by ExternalRecordingInsertData).
- playout_delay_ms_ = current_delay_ms;
-
- return 0;
-#else
- shared_->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceError,
- "ExternalPlayoutGetData() external playout is not supported");
- return -1;
-#endif
-}
-
int VoEExternalMediaImpl::GetAudioFrame(int channel, int desired_sample_rate_hz,
AudioFrame* frame) {
WEBRTC_TRACE(kTraceApiCall, kTraceVoice,