Chromium Code Reviews| Index: webrtc/test/direct_transport.h |
| diff --git a/webrtc/test/direct_transport.h b/webrtc/test/direct_transport.h |
| index 20a6857182b71d545b0d742df3aea61aa31138df..a865c83150c5dfed2a256316293157b60ccd00df 100644 |
| --- a/webrtc/test/direct_transport.h |
| +++ b/webrtc/test/direct_transport.h |
| @@ -30,16 +30,42 @@ 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( |
|
minyue-webrtc
2017/04/10 21:36:37
android bots do not allow a deprecated ctor calls
|
| + FakeNetworkPipe::Config(), |
| + send_call, |
| + std::unique_ptr<Demuxer>(new ForceDemuxer(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) {} |
| + : DirectTransport( |
| + FakeNetworkPipe::Config(), |
| + send_call, |
| + std::unique_ptr<Demuxer>(new ForceDemuxer(MediaType::VIDEO))) {} |
| RTC_DEPRECATED DirectTransport(const FakeNetworkPipe::Config& config, |
| Call* send_call) |
| - : DirectTransport(config, send_call, MediaType::VIDEO) {} |
| + : DirectTransport( |
| + config, |
| + send_call, |
| + std::unique_ptr<Demuxer>(new ForceDemuxer(MediaType::VIDEO))) {} |
| ~DirectTransport(); |
| @@ -57,6 +83,21 @@ class DirectTransport : public Transport { |
| int GetAverageDelayMs(); |
| private: |
| + // TODO(minyue): remove when the deprecated ctors of DirectTransport that |
| + // create ForceDemuxer are removed. |
| + 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(); |