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

Unified Diff: webrtc/modules/rtp_rtcp/source/rtp_receiver_audio.cc

Issue 2362673002: Revert of Remove unnecessary interface TelephoneEventHandler (Closed)
Patch Set: Created 4 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
Index: webrtc/modules/rtp_rtcp/source/rtp_receiver_audio.cc
diff --git a/webrtc/modules/rtp_rtcp/source/rtp_receiver_audio.cc b/webrtc/modules/rtp_rtcp/source/rtp_receiver_audio.cc
index cd25d9ef87aebbf51fa59718c4b5573dd5cf340c..38b2830b79cbe9c3e903044b8c3b2eb746d49fdb 100644
--- a/webrtc/modules/rtp_rtcp/source/rtp_receiver_audio.cc
+++ b/webrtc/modules/rtp_rtcp/source/rtp_receiver_audio.cc
@@ -25,7 +25,9 @@
RTPReceiverAudio::RTPReceiverAudio(RtpData* data_callback)
: RTPReceiverStrategy(data_callback),
+ TelephoneEventHandler(),
last_received_frequency_(8000),
+ telephone_event_forward_to_decoder_(false),
telephone_event_payload_type_(-1),
cng_nb_payload_type_(-1),
cng_wb_payload_type_(-1),
@@ -38,6 +40,19 @@
current_remote_energy_() {
last_payload_.Audio.channels = 1;
memset(current_remote_energy_, 0, sizeof(current_remote_energy_));
+}
+
+// Outband TelephoneEvent(DTMF) detection
+void RTPReceiverAudio::SetTelephoneEventForwardToDecoder(
+ bool forward_to_decoder) {
+ rtc::CritScope lock(&crit_sect_);
+ telephone_event_forward_to_decoder_ = forward_to_decoder;
+}
+
+// Is forwarding of outband telephone events turned on/off?
+bool RTPReceiverAudio::TelephoneEventForwardToDecoder() const {
+ rtc::CritScope lock(&crit_sect_);
+ return telephone_event_forward_to_decoder_;
}
bool RTPReceiverAudio::TelephoneEventPayloadType(
@@ -341,6 +356,10 @@
// check if it's a DTMF event, hence something we can playout
if (telephone_event_packet) {
+ if (!telephone_event_forward_to_decoder_) {
+ // don't forward event to decoder
+ return 0;
+ }
std::set<uint8_t>::iterator first =
telephone_event_reported_.begin();
if (first != telephone_event_reported_.end() && *first > 15) {
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtp_receiver_audio.h ('k') | webrtc/modules/rtp_rtcp/source/rtp_receiver_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698