- Clean up unused methods in voe::Channel following removal of VoEDtmf APIs.

BUG=webrtc:4690

Review URL: https://codereview.webrtc.org/1785643006

Cr-Commit-Position: refs/heads/master@{#11976}
This commit is contained in:
solenberg 2016-03-14 03:25:09 -07:00 committed by Commit bot
parent 479a04cbb7
commit b2a24ecf44
9 changed files with 0 additions and 275 deletions

View File

@ -50,14 +50,6 @@ TwoWayCommunication::~TwoWayCommunication() {
delete _channel_B2A;
delete _channelRef_A2B;
delete _channelRef_B2A;
#ifdef WEBRTC_DTMF_DETECTION
if (_dtmfDetectorA != NULL) {
delete _dtmfDetectorA;
}
if (_dtmfDetectorB != NULL) {
delete _dtmfDetectorB;
}
#endif
_inFileA.Close();
_inFileB.Close();
_outFileA.Close();

View File

@ -18,8 +18,6 @@ source_set("voice_engine") {
"channel_proxy.h",
"dtmf_inband.cc",
"dtmf_inband.h",
"dtmf_inband_queue.cc",
"dtmf_inband_queue.h",
"include/voe_audio_processing.h",
"include/voe_base.h",
"include/voe_codec.h",

View File

@ -40,10 +40,6 @@
#include "webrtc/voice_engine/transmit_mixer.h"
#include "webrtc/voice_engine/utility.h"
#if defined(_WIN32)
#include <Qos.h>
#endif
namespace webrtc {
namespace voe {
@ -763,14 +759,11 @@ Channel::Channel(int32_t channelId,
_outputFilePlayerId(VoEModuleId(instanceId, channelId) + 1025),
_outputFileRecorderId(VoEModuleId(instanceId, channelId) + 1026),
_outputFileRecording(false),
_inbandDtmfQueue(VoEModuleId(instanceId, channelId)),
_inbandDtmfGenerator(VoEModuleId(instanceId, channelId)),
_outputExternalMedia(false),
_inputExternalMediaCallbackPtr(NULL),
_outputExternalMediaCallbackPtr(NULL),
_timeStamp(0), // This is just an offset, RTP module will add it's own
// random offset
_sendTelephoneEventPayloadType(106),
ntp_estimator_(Clock::GetRealTimeClock()),
jitter_buffer_playout_timestamp_(0),
playout_timestamp_rtp_(0),
@ -799,7 +792,6 @@ Channel::Channel(int32_t channelId,
_panRight(1.0f),
_outputGain(1.0f),
_playOutbandDtmfEvent(false),
_playInbandDtmfEvent(false),
_lastLocalTimeStamp(0),
_lastPayloadType(0),
_includeAudioLevelIndication(false),
@ -832,8 +824,6 @@ Channel::Channel(int32_t channelId,
config.Get<NetEqFastAccelerate>().enabled;
audio_coding_.reset(AudioCodingModule::Create(acm_config));
_inbandDtmfQueue.ResetDtmf();
_inbandDtmfGenerator.Init();
_outputAudioLevel.Clear();
RtpRtcp::Configuration configuration;
@ -2237,20 +2227,6 @@ int Channel::SendTelephoneEventOutband(int event, int duration_ms) {
return 0;
}
int Channel::SendTelephoneEventInband(unsigned char eventCode,
int lengthMs,
int attenuationDb,
bool playDtmfEvent) {
WEBRTC_TRACE(kTraceInfo, kTraceVoice, VoEId(_instanceId, _channelId),
"Channel::SendTelephoneEventInband(..., playDtmfEvent=%d)",
playDtmfEvent);
_playInbandDtmfEvent = playDtmfEvent;
_inbandDtmfQueue.AddDtmf(eventCode, lengthMs, attenuationDb);
return 0;
}
int Channel::SetSendTelephoneEventPayloadType(unsigned char type) {
WEBRTC_TRACE(kTraceInfo, kTraceVoice, VoEId(_instanceId, _channelId),
"Channel::SetSendTelephoneEventPayloadType()");
@ -2274,12 +2250,6 @@ int Channel::SetSendTelephoneEventPayloadType(unsigned char type) {
return -1;
}
}
_sendTelephoneEventPayloadType = type;
return 0;
}
int Channel::GetSendTelephoneEventPayloadType(unsigned char& type) {
type = _sendTelephoneEventPayloadType;
return 0;
}
@ -3029,8 +2999,6 @@ uint32_t Channel::PrepareEncodeAndSend(int mixingFrequency) {
}
}
InsertInbandDtmfTone();
if (_includeAudioLevelIndication) {
size_t length =
_audioFrame.samples_per_channel_ * _audioFrame.num_channels_;
@ -3350,64 +3318,6 @@ int32_t Channel::MixAudioWithFile(AudioFrame& audioFrame, int mixingFrequency) {
return 0;
}
int Channel::InsertInbandDtmfTone() {
// Check if we should start a new tone.
if (_inbandDtmfQueue.PendingDtmf() && !_inbandDtmfGenerator.IsAddingTone() &&
_inbandDtmfGenerator.DelaySinceLastTone() >
kMinTelephoneEventSeparationMs) {
int8_t eventCode(0);
uint16_t lengthMs(0);
uint8_t attenuationDb(0);
eventCode = _inbandDtmfQueue.NextDtmf(&lengthMs, &attenuationDb);
_inbandDtmfGenerator.AddTone(eventCode, lengthMs, attenuationDb);
if (_playInbandDtmfEvent) {
// Add tone to output mixer using a reduced length to minimize
// risk of echo.
_outputMixerPtr->PlayDtmfTone(eventCode, lengthMs - 80, attenuationDb);
}
}
if (_inbandDtmfGenerator.IsAddingTone()) {
uint16_t frequency(0);
_inbandDtmfGenerator.GetSampleRate(frequency);
if (frequency != _audioFrame.sample_rate_hz_) {
// Update sample rate of Dtmf tone since the mixing frequency
// has changed.
_inbandDtmfGenerator.SetSampleRate(
(uint16_t)(_audioFrame.sample_rate_hz_));
// Reset the tone to be added taking the new sample rate into
// account.
_inbandDtmfGenerator.ResetTone();
}
int16_t toneBuffer[320];
uint16_t toneSamples(0);
// Get 10ms tone segment and set time since last tone to zero
if (_inbandDtmfGenerator.Get10msTone(toneBuffer, toneSamples) == -1) {
WEBRTC_TRACE(kTraceWarning, kTraceVoice, VoEId(_instanceId, _channelId),
"Channel::EncodeAndSend() inserting Dtmf failed");
return -1;
}
// Replace mixed audio with DTMF tone.
for (size_t sample = 0; sample < _audioFrame.samples_per_channel_;
sample++) {
for (size_t channel = 0; channel < _audioFrame.num_channels_; channel++) {
const size_t index = sample * _audioFrame.num_channels_ + channel;
_audioFrame.data_[index] = toneBuffer[sample];
}
}
assert(_audioFrame.samples_per_channel_ == toneSamples);
} else {
// Add 10ms to "delay-since-last-tone" counter
_inbandDtmfGenerator.UpdateDelaySinceLastTone();
}
return 0;
}
void Channel::UpdatePlayoutTimestamp(bool rtcp) {
uint32_t playout_timestamp = 0;

View File

@ -25,8 +25,6 @@
#include "webrtc/modules/rtp_rtcp/include/rtp_rtcp.h"
#include "webrtc/modules/utility/include/file_player.h"
#include "webrtc/modules/utility/include/file_recorder.h"
#include "webrtc/voice_engine/dtmf_inband.h"
#include "webrtc/voice_engine/dtmf_inband_queue.h"
#include "webrtc/voice_engine/include/voe_audio_processing.h"
#include "webrtc/voice_engine/include/voe_network.h"
#include "webrtc/voice_engine/level_indicator.h"
@ -298,12 +296,7 @@ class Channel
// VoEDtmf
int SendTelephoneEventOutband(int event, int duration_ms);
int SendTelephoneEventInband(unsigned char eventCode,
int lengthMs,
int attenuationDb,
bool playDtmfEvent);
int SetSendTelephoneEventPayloadType(unsigned char type);
int GetSendTelephoneEventPayloadType(unsigned char& type);
// VoEAudioProcessingImpl
int UpdateRxVadDetection(AudioFrame& audioFrame);
@ -461,7 +454,6 @@ class Channel
bool IsPacketInOrder(const RTPHeader& header) const;
bool IsPacketRetransmitted(const RTPHeader& header, bool in_order) const;
int ResendPackets(const uint16_t* sequence_numbers, int length);
int InsertInbandDtmfTone();
int32_t MixOrReplaceAudioWithFile(int mixingFrequency);
int32_t MixAudioWithFile(AudioFrame& audioFrame, int mixingFrequency);
void UpdatePlayoutTimestamp(bool rtcp);
@ -507,13 +499,10 @@ class Channel
int _outputFilePlayerId;
int _outputFileRecorderId;
bool _outputFileRecording;
DtmfInbandQueue _inbandDtmfQueue;
DtmfInband _inbandDtmfGenerator;
bool _outputExternalMedia;
VoEMediaProcess* _inputExternalMediaCallbackPtr;
VoEMediaProcess* _outputExternalMediaCallbackPtr;
uint32_t _timeStamp;
uint8_t _sendTelephoneEventPayloadType;
RemoteNtpTimeEstimator ntp_estimator_ GUARDED_BY(ts_stats_lock_);
@ -559,7 +548,6 @@ class Channel
float _outputGain;
// VoEDtmf
bool _playOutbandDtmfEvent;
bool _playInbandDtmfEvent;
// VoeRTP_RTCP
uint32_t _lastLocalTimeStamp;
int8_t _lastPayloadType;

View File

@ -1,86 +0,0 @@
/*
* Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
#include "webrtc/system_wrappers/include/trace.h"
#include "webrtc/voice_engine/dtmf_inband_queue.h"
namespace webrtc {
DtmfInbandQueue::DtmfInbandQueue(int32_t id):
_id(id),
_nextEmptyIndex(0)
{
memset(_DtmfKey,0, sizeof(_DtmfKey));
memset(_DtmfLen,0, sizeof(_DtmfLen));
memset(_DtmfLevel,0, sizeof(_DtmfLevel));
}
DtmfInbandQueue::~DtmfInbandQueue()
{
}
int
DtmfInbandQueue::AddDtmf(uint8_t key, uint16_t len, uint8_t level)
{
rtc::CritScope lock(&_DtmfCritsect);
if (_nextEmptyIndex >= kDtmfInbandMax)
{
WEBRTC_TRACE(kTraceWarning, kTraceVoice, VoEId(_id,-1),
"DtmfInbandQueue::AddDtmf() unable to add Dtmf tone");
return -1;
}
int32_t index = _nextEmptyIndex;
_DtmfKey[index] = key;
_DtmfLen[index] = len;
_DtmfLevel[index] = level;
_nextEmptyIndex++;
return 0;
}
int8_t
DtmfInbandQueue::NextDtmf(uint16_t* len, uint8_t* level)
{
rtc::CritScope lock(&_DtmfCritsect);
if(!PendingDtmf())
{
return -1;
}
int8_t nextDtmf = _DtmfKey[0];
*len=_DtmfLen[0];
*level=_DtmfLevel[0];
memmove(&(_DtmfKey[0]), &(_DtmfKey[1]),
_nextEmptyIndex*sizeof(uint8_t));
memmove(&(_DtmfLen[0]), &(_DtmfLen[1]),
_nextEmptyIndex*sizeof(uint16_t));
memmove(&(_DtmfLevel[0]), &(_DtmfLevel[1]),
_nextEmptyIndex*sizeof(uint8_t));
_nextEmptyIndex--;
return nextDtmf;
}
bool
DtmfInbandQueue::PendingDtmf()
{
rtc::CritScope lock(&_DtmfCritsect);
return _nextEmptyIndex > 0;
}
void
DtmfInbandQueue::ResetDtmf()
{
rtc::CritScope lock(&_DtmfCritsect);
_nextEmptyIndex = 0;
}
} // namespace webrtc

View File

@ -1,50 +0,0 @@
/*
* Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
#ifndef WEBRTC_VOICE_ENGINE_DTMF_INBAND_QUEUE_H
#define WEBRTC_VOICE_ENGINE_DTMF_INBAND_QUEUE_H
#include "webrtc/base/criticalsection.h"
#include "webrtc/typedefs.h"
#include "webrtc/voice_engine/voice_engine_defines.h"
namespace webrtc {
class DtmfInbandQueue
{
public:
DtmfInbandQueue(int32_t id);
virtual ~DtmfInbandQueue();
int AddDtmf(uint8_t DtmfKey, uint16_t len, uint8_t level);
int8_t NextDtmf(uint16_t* len, uint8_t* level);
bool PendingDtmf();
void ResetDtmf();
private:
enum {kDtmfInbandMax = 20};
int32_t _id;
rtc::CriticalSection _DtmfCritsect;
uint8_t _nextEmptyIndex;
uint8_t _DtmfKey[kDtmfInbandMax];
uint16_t _DtmfLen[kDtmfInbandMax];
uint8_t _DtmfLevel[kDtmfInbandMax];
};
} // namespace webrtc
#endif // WEBRTC_VOICE_ENGINE_DTMF_INBAND_QUEUE_H

View File

@ -205,7 +205,6 @@ TransmitMixer::TransmitMixer(uint32_t instanceId) :
external_postproc_ptr_(NULL),
external_preproc_ptr_(NULL),
_mute(false),
_remainingMuteMicTimeMs(0),
stereo_codec_(false),
swap_stereo_channels_(false)
{
@ -359,17 +358,6 @@ TransmitMixer::PrepareDemux(const void* audioSamples,
TypingDetection(keyPressed);
#endif
// --- Mute during DTMF tone if direct feedback is enabled
if (_remainingMuteMicTimeMs > 0)
{
AudioFrameOperations::Mute(_audioFrame);
_remainingMuteMicTimeMs -= 10;
if (_remainingMuteMicTimeMs < 0)
{
_remainingMuteMicTimeMs = 0;
}
}
// --- Mute signal
if (_mute)
{
@ -477,15 +465,6 @@ uint32_t TransmitMixer::CaptureLevel() const
return _captureLevel;
}
void
TransmitMixer::UpdateMuteMicrophoneTime(uint32_t lengthMs)
{
WEBRTC_TRACE(kTraceInfo, kTraceVoice, VoEId(_instanceId, -1),
"TransmitMixer::UpdateMuteMicrophoneTime(lengthMs=%d)",
lengthMs);
_remainingMuteMicTimeMs = lengthMs;
}
int32_t
TransmitMixer::StopSend()
{

View File

@ -75,9 +75,6 @@ public:
int32_t StopSend();
// VoEDtmf
void UpdateMuteMicrophoneTime(uint32_t lengthMs);
// VoEExternalMedia
int RegisterExternalMediaProcessing(VoEMediaProcess* object,
ProcessingTypes type);
@ -226,7 +223,6 @@ private:
VoEMediaProcess* external_postproc_ptr_;
VoEMediaProcess* external_preproc_ptr_;
bool _mute;
int32_t _remainingMuteMicTimeMs;
bool stereo_codec_;
bool swap_stereo_channels_;
};

View File

@ -54,8 +54,6 @@
'channel_proxy.h',
'dtmf_inband.cc',
'dtmf_inband.h',
'dtmf_inband_queue.cc',
'dtmf_inband_queue.h',
'level_indicator.cc',
'level_indicator.h',
'monitor_module.cc',