Index: webrtc/pc/rtptransport.h |
diff --git a/webrtc/pc/rtptransport.h b/webrtc/pc/rtptransport.h |
index f9bee1b6cc7da03d6ad5a93680b0a70f004bf8cd..900865a0eae0975e15bdc603ccb2652f94308bca 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,24 @@ 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); |
+ |
+ bool received_media() const { return received_media_; } |
+ |
+ sigslot::signal0<> SignalFirstPacketReceived; |
+ |
+ 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 +92,18 @@ 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 PacketIsRtcp(const rtc::PacketTransportInternal* transport, |
+ const char* data, |
+ size_t len); |
+ |
+ bool WantsPacket(bool rtcp, const rtc::CopyOnWriteBuffer* packet); |
+ |
bool rtcp_mux_enabled_; |
rtc::PacketTransportInternal* rtp_packet_transport_ = nullptr; |
@@ -87,6 +114,11 @@ class RtpTransport : public RtpTransportInterface, public sigslot::has_slots<> { |
bool rtcp_ready_to_send_ = false; |
RtcpParameters rtcp_parameters_; |
+ |
+ cricket::BundleFilter bundle_filter_; |
+ |
+ bool has_received_packet_ = false; |
+ bool received_media_ = false; |
}; |
} // namespace webrtc |