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

Unified Diff: webrtc/audio/audio_receive_stream.cc

Issue 2709723003: Initial implementation of RtpTransportControllerReceive and related interfaces.
Patch Set: Rename foo_audio --> audio_foo. Created 3 years, 8 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 | « webrtc/audio/audio_receive_stream.h ('k') | webrtc/audio/audio_receive_stream_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/audio/audio_receive_stream.cc
diff --git a/webrtc/audio/audio_receive_stream.cc b/webrtc/audio/audio_receive_stream.cc
index cb90a68a0f72e6898fe11726d31d2b99c9770c98..9f95362f213f645b004ca9b86ebb8a336e9805db 100644
--- a/webrtc/audio/audio_receive_stream.cc
+++ b/webrtc/audio/audio_receive_stream.cc
@@ -23,6 +23,7 @@
#include "webrtc/modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h"
#include "webrtc/modules/rtp_rtcp/include/rtp_receiver.h"
#include "webrtc/modules/rtp_rtcp/include/rtp_rtcp.h"
+#include "webrtc/modules/rtp_rtcp/source/rtp_packet_received.h"
#include "webrtc/voice_engine/channel_proxy.h"
#include "webrtc/voice_engine/include/voe_base.h"
#include "webrtc/voice_engine/voice_engine_impl.h"
@@ -67,6 +68,7 @@ AudioReceiveStream::AudioReceiveStream(
const rtc::scoped_refptr<webrtc::AudioState>& audio_state,
webrtc::RtcEventLog* event_log)
: config_(config),
+ rtp_header_extensions_(config.rtp.extensions),
audio_state_(audio_state) {
LOG(LS_INFO) << "AudioReceiveStream: " << config_.ToString();
RTC_DCHECK_NE(config_.voe_channel_id, -1);
@@ -96,15 +98,6 @@ AudioReceiveStream::AudioReceiveStream(
channel_proxy_->RegisterExternalTransport(config.rtcp_send_transport);
channel_proxy_->SetReceiveCodecs(config.decoder_map);
- for (const auto& extension : config.rtp.extensions) {
- if (extension.uri == RtpExtension::kAudioLevelUri) {
- channel_proxy_->SetReceiveAudioLevelIndicationStatus(true, extension.id);
- } else if (extension.uri == RtpExtension::kTransportSequenceNumberUri) {
- channel_proxy_->EnableReceiveTransportSequenceNumber(extension.id);
- } else {
- RTC_NOTREACHED() << "Unsupported RTP extension.";
- }
- }
// Configure bandwidth estimation.
channel_proxy_->RegisterReceiverCongestionControlObjects(packet_router);
}
@@ -305,12 +298,14 @@ bool AudioReceiveStream::DeliverRtcp(const uint8_t* packet, size_t length) {
return channel_proxy_->ReceivedRTCPPacket(packet, length);
}
-void AudioReceiveStream::OnRtpPacket(const RtpPacketReceived& packet) {
+bool AudioReceiveStream::OnRtpPacketReceive(RtpPacketReceived* packet) {
// TODO(solenberg): Tests call this function on a network thread, libjingle
// calls on the worker thread. We should move towards always using a network
// thread. Then this check can be enabled.
// RTC_DCHECK(!thread_checker_.CalledOnValidThread());
- channel_proxy_->OnRtpPacket(packet);
+ packet->IdentifyExtensions(rtp_header_extensions_);
+ channel_proxy_->OnRtpPacket(*packet);
+ return true;
}
const webrtc::AudioReceiveStream::Config& AudioReceiveStream::config() const {
« no previous file with comments | « webrtc/audio/audio_receive_stream.h ('k') | webrtc/audio/audio_receive_stream_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698