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

Unified Diff: webrtc/test/direct_transport.h

Issue 2794243002: Making FakeNetworkPipe demux audio and video packets. (Closed)
Patch Set: on other comments 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
Index: webrtc/test/direct_transport.h
diff --git a/webrtc/test/direct_transport.h b/webrtc/test/direct_transport.h
index 20a6857182b71d545b0d742df3aea61aa31138df..adf1405818549b4de4e7c0ca59aa9f6d988eb9e7 100644
--- a/webrtc/test/direct_transport.h
+++ b/webrtc/test/direct_transport.h
@@ -30,9 +30,26 @@ namespace test {
class DirectTransport : public Transport {
public:
- DirectTransport(Call* send_call, MediaType media_type);
- DirectTransport(const FakeNetworkPipe::Config& config, Call* send_call,
- MediaType media_type);
+ DirectTransport(Call* send_call,
+ const std::map<uint8_t, MediaType>& payload_type_map);
+ DirectTransport(const FakeNetworkPipe::Config& config,
+ Call* send_call,
+ const std::map<uint8_t, MediaType>& payload_type_map);
+ DirectTransport(const FakeNetworkPipe::Config& config,
+ Call* send_call,
+ std::unique_ptr<Demuxer> demuxer);
+
+ // These deprecated variants always use ForceDemuxer.
+ RTC_DEPRECATED DirectTransport(Call* send_call, MediaType media_type)
+ : DirectTransport(FakeNetworkPipe::Config(), send_call, media_type) {}
+ RTC_DEPRECATED DirectTransport(const FakeNetworkPipe::Config& config,
+ Call* send_call,
+ MediaType media_type)
+ : DirectTransport(
+ config,
+ send_call,
+ std::unique_ptr<Demuxer>(new ForceDemuxer(media_type))) {}
+
// These deprecated variants always use MediaType::VIDEO.
RTC_DEPRECATED explicit DirectTransport(Call* send_call)
: DirectTransport(send_call, MediaType::VIDEO) {}
@@ -57,6 +74,20 @@ class DirectTransport : public Transport {
int GetAverageDelayMs();
private:
+ // TODO(minyue): remove when the deprecate ctors are removed.
stefan-webrtc 2017/04/10 07:45:26 deprecated
minyue-webrtc 2017/04/10 09:56:10 Done. and since there are several deprecated ctors
+ class ForceDemuxer : public Demuxer {
+ public:
+ explicit ForceDemuxer(MediaType media_type);
+ void SetReceiver(PacketReceiver* receiver) override;
+ void DeliverPacket(const NetworkPacket* packet,
+ const PacketTime& packet_time) override;
+
+ private:
+ const MediaType media_type_;
+ PacketReceiver* packet_receiver_;
+ RTC_DISALLOW_COPY_AND_ASSIGN(ForceDemuxer);
+ };
+
static bool NetworkProcess(void* transport);
bool SendPackets();

Powered by Google App Engine
This is Rietveld 408576698