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

Unified Diff: webrtc/pc/rtptransport.h

Issue 2890263003: Move RTP/RTCP demuxing logic from BaseChannel to RtpTransport. (Closed)
Patch Set: Remove dead signal and add test comments. Created 3 years, 7 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/pc/rtptransport.h
diff --git a/webrtc/pc/rtptransport.h b/webrtc/pc/rtptransport.h
index f9bee1b6cc7da03d6ad5a93680b0a70f004bf8cd..711f4c9b57c2a27a50a299114bae487729c226b1 100644
--- a/webrtc/pc/rtptransport.h
+++ b/webrtc/pc/rtptransport.h
@@ -13,11 +13,13 @@
#include "webrtc/api/ortc/rtptransportinterface.h"
#include "webrtc/base/sigslot.h"
+#include "webrtc/pc/bundlefilter.h"
namespace rtc {
class CopyOnWriteBuffer;
struct PacketOptions;
+struct PacketTime;
class PacketTransportInternal;
} // namespace rtc
@@ -64,11 +66,22 @@ class RtpTransport : public RtpTransportInterface, public sigslot::has_slots<> {
const rtc::PacketOptions& options,
int flags);
+ bool HandlesPayloadType(int payload_type) const;
+
+ void AddHandledPayloadType(int payload_type);
+
+ // TODO(zstein): Consider having two signals - RtcPacketReceived and
+ // RtcpPacketReceived.
Taylor Brandstetter 2017/05/31 08:25:03 Could mention that the first bool argument of the
Zach Stein 2017/06/01 03:45:58 Done.
+ sigslot::signal3<bool, rtc::CopyOnWriteBuffer&, const rtc::PacketTime&>
+ SignalPacketReceived;
+
protected:
// TODO(zstein): Remove this when we remove RtpTransportAdapter.
RtpTransportAdapter* GetInternal() override;
private:
+ bool HandlesPacket(const uint8_t* data, size_t len);
+
void OnReadyToSend(rtc::PacketTransportInternal* transport);
// Updates "ready to send" for an individual channel and fires
@@ -77,6 +90,14 @@ class RtpTransport : public RtpTransportInterface, public sigslot::has_slots<> {
void MaybeSignalReadyToSend();
+ void OnReadPacket(rtc::PacketTransportInternal* transport,
+ const char* data,
+ size_t len,
+ const rtc::PacketTime& packet_time,
+ int flags);
+
+ bool WantsPacket(bool rtcp, const rtc::CopyOnWriteBuffer* packet);
+
bool rtcp_mux_enabled_;
rtc::PacketTransportInternal* rtp_packet_transport_ = nullptr;
@@ -87,6 +108,8 @@ class RtpTransport : public RtpTransportInterface, public sigslot::has_slots<> {
bool rtcp_ready_to_send_ = false;
RtcpParameters rtcp_parameters_;
+
+ cricket::BundleFilter bundle_filter_;
};
} // namespace webrtc

Powered by Google App Engine
This is Rietveld 408576698