Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * libjingle | 2 * libjingle |
| 3 * Copyright 2009 Google Inc. | 3 * Copyright 2009 Google Inc. |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions are met: | 6 * modification, are permitted provided that the following conditions are met: |
| 7 * | 7 * |
| 8 * 1. Redistributions of source code must retain the above copyright notice, | 8 * 1. Redistributions of source code must retain the above copyright notice, |
| 9 * this list of conditions and the following disclaimer. | 9 * this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright notice, | 10 * 2. Redistributions in binary form must reproduce the above copyright notice, |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 119 rtc::Pathname(path), "wb"); | 119 rtc::Pathname(path), "wb"); |
| 120 } | 120 } |
| 121 | 121 |
| 122 // Base class for Voice/VideoChannel tests | 122 // Base class for Voice/VideoChannel tests |
| 123 template<class T> | 123 template<class T> |
| 124 class ChannelTest : public testing::Test, public sigslot::has_slots<> { | 124 class ChannelTest : public testing::Test, public sigslot::has_slots<> { |
| 125 public: | 125 public: |
| 126 enum Flags { RTCP = 0x1, RTCP_MUX = 0x2, SECURE = 0x4, SSRC_MUX = 0x8, | 126 enum Flags { RTCP = 0x1, RTCP_MUX = 0x2, SECURE = 0x4, SSRC_MUX = 0x8, |
| 127 DTLS = 0x10 }; | 127 DTLS = 0x10 }; |
| 128 | 128 |
| 129 ChannelTest(const uint8* rtp_data, | 129 ChannelTest(bool verify_playout, |
| 130 const uint8* rtp_data, | |
| 130 int rtp_len, | 131 int rtp_len, |
| 131 const uint8* rtcp_data, | 132 const uint8* rtcp_data, |
| 132 int rtcp_len) | 133 int rtcp_len) |
| 133 : transport_controller1_(cricket::ICEROLE_CONTROLLING), | 134 : verify_playout_(verify_playout), |
| 135 transport_controller1_(cricket::ICEROLE_CONTROLLING), | |
| 134 transport_controller2_(cricket::ICEROLE_CONTROLLED), | 136 transport_controller2_(cricket::ICEROLE_CONTROLLED), |
| 135 media_channel1_(NULL), | 137 media_channel1_(NULL), |
| 136 media_channel2_(NULL), | 138 media_channel2_(NULL), |
| 137 rtp_packet_(reinterpret_cast<const char*>(rtp_data), rtp_len), | 139 rtp_packet_(reinterpret_cast<const char*>(rtp_data), rtp_len), |
| 138 rtcp_packet_(reinterpret_cast<const char*>(rtcp_data), rtcp_len), | 140 rtcp_packet_(reinterpret_cast<const char*>(rtcp_data), rtcp_len), |
| 139 media_info_callbacks1_(), | 141 media_info_callbacks1_(), |
| 140 media_info_callbacks2_(), | 142 media_info_callbacks2_(), |
| 141 ssrc_(0), | 143 ssrc_(0), |
| 142 error_(T::MediaChannel::ERROR_NONE) {} | 144 error_(T::MediaChannel::ERROR_NONE) {} |
| 143 | 145 |
| (...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 482 // Base implementation. | 484 // Base implementation. |
| 483 } | 485 } |
| 484 | 486 |
| 485 // Tests that can be used by derived classes. | 487 // Tests that can be used by derived classes. |
| 486 | 488 |
| 487 // Basic sanity check. | 489 // Basic sanity check. |
| 488 void TestInit() { | 490 void TestInit() { |
| 489 CreateChannels(0, 0); | 491 CreateChannels(0, 0); |
| 490 EXPECT_FALSE(channel1_->secure()); | 492 EXPECT_FALSE(channel1_->secure()); |
| 491 EXPECT_FALSE(media_channel1_->sending()); | 493 EXPECT_FALSE(media_channel1_->sending()); |
| 492 EXPECT_FALSE(media_channel1_->playout()); | 494 if (verify_playout_) |
|
pthatcher1
2015/09/24 16:46:52
{}s
pbos-webrtc
2015/09/24 16:53:44
Done, woo!
| |
| 495 EXPECT_FALSE(media_channel1_->playout()); | |
| 493 EXPECT_TRUE(media_channel1_->codecs().empty()); | 496 EXPECT_TRUE(media_channel1_->codecs().empty()); |
| 494 EXPECT_TRUE(media_channel1_->recv_streams().empty()); | 497 EXPECT_TRUE(media_channel1_->recv_streams().empty()); |
| 495 EXPECT_TRUE(media_channel1_->rtp_packets().empty()); | 498 EXPECT_TRUE(media_channel1_->rtp_packets().empty()); |
| 496 EXPECT_TRUE(media_channel1_->rtcp_packets().empty()); | 499 EXPECT_TRUE(media_channel1_->rtcp_packets().empty()); |
| 497 } | 500 } |
| 498 | 501 |
| 499 // Test that SetLocalContent and SetRemoteContent properly configure | 502 // Test that SetLocalContent and SetRemoteContent properly configure |
| 500 // the codecs. | 503 // the codecs. |
| 501 void TestSetContents() { | 504 void TestSetContents() { |
| 502 CreateChannels(0, 0); | 505 CreateChannels(0, 0); |
| (...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 809 | 812 |
| 810 EXPECT_TRUE(channel1_->secure()); | 813 EXPECT_TRUE(channel1_->secure()); |
| 811 EXPECT_TRUE(channel2_->secure()); | 814 EXPECT_TRUE(channel2_->secure()); |
| 812 EXPECT_TRUE(SendCustomRtp2(kSsrc2, 0)); | 815 EXPECT_TRUE(SendCustomRtp2(kSsrc2, 0)); |
| 813 EXPECT_TRUE(CheckCustomRtp1(kSsrc2, 0)); | 816 EXPECT_TRUE(CheckCustomRtp1(kSsrc2, 0)); |
| 814 } | 817 } |
| 815 | 818 |
| 816 // Test that we only start playout and sending at the right times. | 819 // Test that we only start playout and sending at the right times. |
| 817 void TestPlayoutAndSendingStates() { | 820 void TestPlayoutAndSendingStates() { |
| 818 CreateChannels(0, 0); | 821 CreateChannels(0, 0); |
| 819 EXPECT_FALSE(media_channel1_->playout()); | 822 if (verify_playout_) |
| 823 EXPECT_FALSE(media_channel1_->playout()); | |
| 820 EXPECT_FALSE(media_channel1_->sending()); | 824 EXPECT_FALSE(media_channel1_->sending()); |
| 821 EXPECT_FALSE(media_channel2_->playout()); | 825 if (verify_playout_) |
| 826 EXPECT_FALSE(media_channel2_->playout()); | |
| 822 EXPECT_FALSE(media_channel2_->sending()); | 827 EXPECT_FALSE(media_channel2_->sending()); |
| 823 EXPECT_TRUE(channel1_->Enable(true)); | 828 EXPECT_TRUE(channel1_->Enable(true)); |
| 824 EXPECT_FALSE(media_channel1_->playout()); | 829 if (verify_playout_) |
| 830 EXPECT_FALSE(media_channel1_->playout()); | |
| 825 EXPECT_FALSE(media_channel1_->sending()); | 831 EXPECT_FALSE(media_channel1_->sending()); |
| 826 EXPECT_TRUE(channel1_->SetLocalContent(&local_media_content1_, | 832 EXPECT_TRUE(channel1_->SetLocalContent(&local_media_content1_, |
| 827 CA_OFFER, NULL)); | 833 CA_OFFER, NULL)); |
| 828 EXPECT_TRUE(media_channel1_->playout()); | 834 if (verify_playout_) |
| 835 EXPECT_TRUE(media_channel1_->playout()); | |
| 829 EXPECT_FALSE(media_channel1_->sending()); | 836 EXPECT_FALSE(media_channel1_->sending()); |
| 830 EXPECT_TRUE(channel2_->SetRemoteContent(&local_media_content1_, | 837 EXPECT_TRUE(channel2_->SetRemoteContent(&local_media_content1_, |
| 831 CA_OFFER, NULL)); | 838 CA_OFFER, NULL)); |
| 832 EXPECT_FALSE(media_channel2_->playout()); | 839 if (verify_playout_) |
| 840 EXPECT_FALSE(media_channel2_->playout()); | |
| 833 EXPECT_FALSE(media_channel2_->sending()); | 841 EXPECT_FALSE(media_channel2_->sending()); |
| 834 EXPECT_TRUE(channel2_->SetLocalContent(&local_media_content2_, | 842 EXPECT_TRUE(channel2_->SetLocalContent(&local_media_content2_, |
| 835 CA_ANSWER, NULL)); | 843 CA_ANSWER, NULL)); |
| 836 EXPECT_FALSE(media_channel2_->playout()); | 844 if (verify_playout_) |
| 845 EXPECT_FALSE(media_channel2_->playout()); | |
| 837 EXPECT_FALSE(media_channel2_->sending()); | 846 EXPECT_FALSE(media_channel2_->sending()); |
| 838 transport_controller1_.Connect(&transport_controller2_); | 847 transport_controller1_.Connect(&transport_controller2_); |
| 839 EXPECT_TRUE(media_channel1_->playout()); | 848 if (verify_playout_) |
| 849 EXPECT_TRUE(media_channel1_->playout()); | |
| 840 EXPECT_FALSE(media_channel1_->sending()); | 850 EXPECT_FALSE(media_channel1_->sending()); |
| 841 EXPECT_FALSE(media_channel2_->playout()); | 851 if (verify_playout_) |
| 852 EXPECT_FALSE(media_channel2_->playout()); | |
| 842 EXPECT_FALSE(media_channel2_->sending()); | 853 EXPECT_FALSE(media_channel2_->sending()); |
| 843 EXPECT_TRUE(channel2_->Enable(true)); | 854 EXPECT_TRUE(channel2_->Enable(true)); |
| 844 EXPECT_TRUE(media_channel2_->playout()); | 855 if (verify_playout_) |
| 856 EXPECT_TRUE(media_channel2_->playout()); | |
| 845 EXPECT_TRUE(media_channel2_->sending()); | 857 EXPECT_TRUE(media_channel2_->sending()); |
| 846 EXPECT_TRUE(channel1_->SetRemoteContent(&local_media_content2_, | 858 EXPECT_TRUE(channel1_->SetRemoteContent(&local_media_content2_, |
| 847 CA_ANSWER, NULL)); | 859 CA_ANSWER, NULL)); |
| 848 EXPECT_TRUE(media_channel1_->playout()); | 860 if (verify_playout_) |
| 861 EXPECT_TRUE(media_channel1_->playout()); | |
| 849 EXPECT_TRUE(media_channel1_->sending()); | 862 EXPECT_TRUE(media_channel1_->sending()); |
| 850 } | 863 } |
| 851 | 864 |
| 852 // Test that changing the MediaContentDirection in the local and remote | 865 // Test that changing the MediaContentDirection in the local and remote |
| 853 // session description start playout and sending at the right time. | 866 // session description start playout and sending at the right time. |
| 854 void TestMediaContentDirection() { | 867 void TestMediaContentDirection() { |
| 855 CreateChannels(0, 0); | 868 CreateChannels(0, 0); |
| 856 typename T::Content content1; | 869 typename T::Content content1; |
| 857 CreateContent(0, kPcmuCodec, kH264Codec, &content1); | 870 CreateContent(0, kPcmuCodec, kH264Codec, &content1); |
| 858 typename T::Content content2; | 871 typename T::Content content2; |
| 859 CreateContent(0, kPcmuCodec, kH264Codec, &content2); | 872 CreateContent(0, kPcmuCodec, kH264Codec, &content2); |
| 860 // Set |content2| to be InActive. | 873 // Set |content2| to be InActive. |
| 861 content2.set_direction(cricket::MD_INACTIVE); | 874 content2.set_direction(cricket::MD_INACTIVE); |
| 862 | 875 |
| 863 EXPECT_TRUE(channel1_->Enable(true)); | 876 EXPECT_TRUE(channel1_->Enable(true)); |
| 864 EXPECT_TRUE(channel2_->Enable(true)); | 877 EXPECT_TRUE(channel2_->Enable(true)); |
| 865 EXPECT_FALSE(media_channel1_->playout()); | 878 if (verify_playout_) |
| 879 EXPECT_FALSE(media_channel1_->playout()); | |
| 866 EXPECT_FALSE(media_channel1_->sending()); | 880 EXPECT_FALSE(media_channel1_->sending()); |
| 867 EXPECT_FALSE(media_channel2_->playout()); | 881 if (verify_playout_) |
| 882 EXPECT_FALSE(media_channel2_->playout()); | |
| 868 EXPECT_FALSE(media_channel2_->sending()); | 883 EXPECT_FALSE(media_channel2_->sending()); |
| 869 | 884 |
| 870 EXPECT_TRUE(channel1_->SetLocalContent(&content1, CA_OFFER, NULL)); | 885 EXPECT_TRUE(channel1_->SetLocalContent(&content1, CA_OFFER, NULL)); |
| 871 EXPECT_TRUE(channel2_->SetRemoteContent(&content1, CA_OFFER, NULL)); | 886 EXPECT_TRUE(channel2_->SetRemoteContent(&content1, CA_OFFER, NULL)); |
| 872 EXPECT_TRUE(channel2_->SetLocalContent(&content2, CA_PRANSWER, NULL)); | 887 EXPECT_TRUE(channel2_->SetLocalContent(&content2, CA_PRANSWER, NULL)); |
| 873 EXPECT_TRUE(channel1_->SetRemoteContent(&content2, CA_PRANSWER, NULL)); | 888 EXPECT_TRUE(channel1_->SetRemoteContent(&content2, CA_PRANSWER, NULL)); |
| 874 transport_controller1_.Connect(&transport_controller2_); | 889 transport_controller1_.Connect(&transport_controller2_); |
| 875 | 890 |
| 876 EXPECT_TRUE(media_channel1_->playout()); | 891 if (verify_playout_) |
| 892 EXPECT_TRUE(media_channel1_->playout()); | |
| 877 EXPECT_FALSE(media_channel1_->sending()); // remote InActive | 893 EXPECT_FALSE(media_channel1_->sending()); // remote InActive |
| 878 EXPECT_FALSE(media_channel2_->playout()); // local InActive | 894 if (verify_playout_) |
| 895 EXPECT_FALSE(media_channel2_->playout()); // local InActive | |
| 879 EXPECT_FALSE(media_channel2_->sending()); // local InActive | 896 EXPECT_FALSE(media_channel2_->sending()); // local InActive |
| 880 | 897 |
| 881 // Update |content2| to be RecvOnly. | 898 // Update |content2| to be RecvOnly. |
| 882 content2.set_direction(cricket::MD_RECVONLY); | 899 content2.set_direction(cricket::MD_RECVONLY); |
| 883 EXPECT_TRUE(channel2_->SetLocalContent(&content2, CA_PRANSWER, NULL)); | 900 EXPECT_TRUE(channel2_->SetLocalContent(&content2, CA_PRANSWER, NULL)); |
| 884 EXPECT_TRUE(channel1_->SetRemoteContent(&content2, CA_PRANSWER, NULL)); | 901 EXPECT_TRUE(channel1_->SetRemoteContent(&content2, CA_PRANSWER, NULL)); |
| 885 | 902 |
| 886 EXPECT_TRUE(media_channel1_->playout()); | 903 if (verify_playout_) |
| 904 EXPECT_TRUE(media_channel1_->playout()); | |
| 887 EXPECT_TRUE(media_channel1_->sending()); | 905 EXPECT_TRUE(media_channel1_->sending()); |
| 888 EXPECT_TRUE(media_channel2_->playout()); // local RecvOnly | 906 if (verify_playout_) |
| 907 EXPECT_TRUE(media_channel2_->playout()); // local RecvOnly | |
| 889 EXPECT_FALSE(media_channel2_->sending()); // local RecvOnly | 908 EXPECT_FALSE(media_channel2_->sending()); // local RecvOnly |
| 890 | 909 |
| 891 // Update |content2| to be SendRecv. | 910 // Update |content2| to be SendRecv. |
| 892 content2.set_direction(cricket::MD_SENDRECV); | 911 content2.set_direction(cricket::MD_SENDRECV); |
| 893 EXPECT_TRUE(channel2_->SetLocalContent(&content2, CA_ANSWER, NULL)); | 912 EXPECT_TRUE(channel2_->SetLocalContent(&content2, CA_ANSWER, NULL)); |
| 894 EXPECT_TRUE(channel1_->SetRemoteContent(&content2, CA_ANSWER, NULL)); | 913 EXPECT_TRUE(channel1_->SetRemoteContent(&content2, CA_ANSWER, NULL)); |
| 895 | 914 |
| 896 EXPECT_TRUE(media_channel1_->playout()); | 915 if (verify_playout_) |
| 916 EXPECT_TRUE(media_channel1_->playout()); | |
| 897 EXPECT_TRUE(media_channel1_->sending()); | 917 EXPECT_TRUE(media_channel1_->sending()); |
| 898 EXPECT_TRUE(media_channel2_->playout()); | 918 if (verify_playout_) |
| 919 EXPECT_TRUE(media_channel2_->playout()); | |
| 899 EXPECT_TRUE(media_channel2_->sending()); | 920 EXPECT_TRUE(media_channel2_->sending()); |
| 900 } | 921 } |
| 901 | 922 |
| 902 // Test setting up a call. | 923 // Test setting up a call. |
| 903 void TestCallSetup() { | 924 void TestCallSetup() { |
| 904 CreateChannels(0, 0); | 925 CreateChannels(0, 0); |
| 905 EXPECT_FALSE(channel1_->secure()); | 926 EXPECT_FALSE(channel1_->secure()); |
| 906 EXPECT_TRUE(SendInitiate()); | 927 EXPECT_TRUE(SendInitiate()); |
| 907 EXPECT_TRUE(media_channel1_->playout()); | 928 if (verify_playout_) |
| 929 EXPECT_TRUE(media_channel1_->playout()); | |
| 908 EXPECT_FALSE(media_channel1_->sending()); | 930 EXPECT_FALSE(media_channel1_->sending()); |
| 909 EXPECT_TRUE(SendAccept()); | 931 EXPECT_TRUE(SendAccept()); |
| 910 EXPECT_FALSE(channel1_->secure()); | 932 EXPECT_FALSE(channel1_->secure()); |
| 911 EXPECT_TRUE(media_channel1_->sending()); | 933 EXPECT_TRUE(media_channel1_->sending()); |
| 912 EXPECT_EQ(1U, media_channel1_->codecs().size()); | 934 EXPECT_EQ(1U, media_channel1_->codecs().size()); |
| 913 EXPECT_TRUE(media_channel2_->playout()); | 935 if (verify_playout_) |
| 936 EXPECT_TRUE(media_channel2_->playout()); | |
| 914 EXPECT_TRUE(media_channel2_->sending()); | 937 EXPECT_TRUE(media_channel2_->sending()); |
| 915 EXPECT_EQ(1U, media_channel2_->codecs().size()); | 938 EXPECT_EQ(1U, media_channel2_->codecs().size()); |
| 916 } | 939 } |
| 917 | 940 |
| 918 // Test that we don't crash if packets are sent during call teardown | 941 // Test that we don't crash if packets are sent during call teardown |
| 919 // when RTCP mux is enabled. This is a regression test against a specific | 942 // when RTCP mux is enabled. This is a regression test against a specific |
| 920 // race condition that would only occur when a RTCP packet was sent during | 943 // race condition that would only occur when a RTCP packet was sent during |
| 921 // teardown of a channel on which RTCP mux was enabled. | 944 // teardown of a channel on which RTCP mux was enabled. |
| 922 void TestCallTeardownRtcpMux() { | 945 void TestCallTeardownRtcpMux() { |
| 923 class LastWordMediaChannel : public T::MediaChannel { | 946 class LastWordMediaChannel : public T::MediaChannel { |
| (...skipping 807 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1731 EXPECT_FALSE(media_channel1_->ready_to_send()); | 1754 EXPECT_FALSE(media_channel1_->ready_to_send()); |
| 1732 // In the case of rtcp mux, the SignalReadyToSend() from rtp channel | 1755 // In the case of rtcp mux, the SignalReadyToSend() from rtp channel |
| 1733 // should trigger the MediaChannel's OnReadyToSend. | 1756 // should trigger the MediaChannel's OnReadyToSend. |
| 1734 rtp->SignalReadyToSend(rtp); | 1757 rtp->SignalReadyToSend(rtp); |
| 1735 EXPECT_TRUE(media_channel1_->ready_to_send()); | 1758 EXPECT_TRUE(media_channel1_->ready_to_send()); |
| 1736 channel1_->SetReadyToSend(false, false); | 1759 channel1_->SetReadyToSend(false, false); |
| 1737 EXPECT_FALSE(media_channel1_->ready_to_send()); | 1760 EXPECT_FALSE(media_channel1_->ready_to_send()); |
| 1738 } | 1761 } |
| 1739 | 1762 |
| 1740 protected: | 1763 protected: |
| 1764 // TODO(pbos): Remove playout from media engines, muting should be controlled | |
| 1765 // by the renderer. | |
| 1766 const bool verify_playout_; | |
| 1741 cricket::FakeTransportController transport_controller1_; | 1767 cricket::FakeTransportController transport_controller1_; |
| 1742 cricket::FakeTransportController transport_controller2_; | 1768 cricket::FakeTransportController transport_controller2_; |
| 1743 cricket::FakeMediaEngine media_engine_; | 1769 cricket::FakeMediaEngine media_engine_; |
| 1744 // The media channels are owned by the voice channel objects below. | 1770 // The media channels are owned by the voice channel objects below. |
| 1745 typename T::MediaChannel* media_channel1_; | 1771 typename T::MediaChannel* media_channel1_; |
| 1746 typename T::MediaChannel* media_channel2_; | 1772 typename T::MediaChannel* media_channel2_; |
| 1747 rtc::scoped_ptr<typename T::Channel> channel1_; | 1773 rtc::scoped_ptr<typename T::Channel> channel1_; |
| 1748 rtc::scoped_ptr<typename T::Channel> channel2_; | 1774 rtc::scoped_ptr<typename T::Channel> channel2_; |
| 1749 typename T::Content local_media_content1_; | 1775 typename T::Content local_media_content1_; |
| 1750 typename T::Content local_media_content2_; | 1776 typename T::Content local_media_content2_; |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1794 void ChannelTest<VoiceTraits>::AddLegacyStreamInContent( | 1820 void ChannelTest<VoiceTraits>::AddLegacyStreamInContent( |
| 1795 uint32 ssrc, int flags, cricket::AudioContentDescription* audio) { | 1821 uint32 ssrc, int flags, cricket::AudioContentDescription* audio) { |
| 1796 audio->AddLegacyStream(ssrc); | 1822 audio->AddLegacyStream(ssrc); |
| 1797 } | 1823 } |
| 1798 | 1824 |
| 1799 class VoiceChannelTest | 1825 class VoiceChannelTest |
| 1800 : public ChannelTest<VoiceTraits> { | 1826 : public ChannelTest<VoiceTraits> { |
| 1801 public: | 1827 public: |
| 1802 typedef ChannelTest<VoiceTraits> Base; | 1828 typedef ChannelTest<VoiceTraits> Base; |
| 1803 VoiceChannelTest() | 1829 VoiceChannelTest() |
| 1804 : Base(kPcmuFrame, sizeof(kPcmuFrame), kRtcpReport, sizeof(kRtcpReport)) { | 1830 : Base(true, |
| 1805 } | 1831 kPcmuFrame, |
| 1832 sizeof(kPcmuFrame), | |
| 1833 kRtcpReport, | |
| 1834 sizeof(kRtcpReport)) {} | |
| 1806 }; | 1835 }; |
| 1807 | 1836 |
| 1808 // override to add NULL parameter | 1837 // override to add NULL parameter |
| 1809 template <> | 1838 template <> |
| 1810 cricket::VideoChannel* ChannelTest<VideoTraits>::CreateChannel( | 1839 cricket::VideoChannel* ChannelTest<VideoTraits>::CreateChannel( |
| 1811 rtc::Thread* thread, | 1840 rtc::Thread* thread, |
| 1812 cricket::MediaEngineInterface* engine, | 1841 cricket::MediaEngineInterface* engine, |
| 1813 cricket::FakeVideoMediaChannel* ch, | 1842 cricket::FakeVideoMediaChannel* ch, |
| 1814 cricket::TransportController* transport_controller, | 1843 cricket::TransportController* transport_controller, |
| 1815 bool rtcp) { | 1844 bool rtcp) { |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1861 void ChannelTest<VideoTraits>::AddLegacyStreamInContent( | 1890 void ChannelTest<VideoTraits>::AddLegacyStreamInContent( |
| 1862 uint32 ssrc, int flags, cricket::VideoContentDescription* video) { | 1891 uint32 ssrc, int flags, cricket::VideoContentDescription* video) { |
| 1863 video->AddLegacyStream(ssrc); | 1892 video->AddLegacyStream(ssrc); |
| 1864 } | 1893 } |
| 1865 | 1894 |
| 1866 class VideoChannelTest | 1895 class VideoChannelTest |
| 1867 : public ChannelTest<VideoTraits> { | 1896 : public ChannelTest<VideoTraits> { |
| 1868 public: | 1897 public: |
| 1869 typedef ChannelTest<VideoTraits> Base; | 1898 typedef ChannelTest<VideoTraits> Base; |
| 1870 VideoChannelTest() | 1899 VideoChannelTest() |
| 1871 : Base(kH264Packet, | 1900 : Base(false, |
| 1901 kH264Packet, | |
| 1872 sizeof(kH264Packet), | 1902 sizeof(kH264Packet), |
| 1873 kRtcpReport, | 1903 kRtcpReport, |
| 1874 sizeof(kRtcpReport)) {} | 1904 sizeof(kRtcpReport)) {} |
| 1875 }; | 1905 }; |
| 1876 | 1906 |
| 1877 | 1907 |
| 1878 // VoiceChannelTest | 1908 // VoiceChannelTest |
| 1879 | 1909 |
| 1880 TEST_F(VoiceChannelTest, TestInit) { | 1910 TEST_F(VoiceChannelTest, TestInit) { |
| 1881 Base::TestInit(); | 1911 Base::TestInit(); |
| (...skipping 667 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2549 } | 2579 } |
| 2550 | 2580 |
| 2551 | 2581 |
| 2552 // DataChannelTest | 2582 // DataChannelTest |
| 2553 | 2583 |
| 2554 class DataChannelTest | 2584 class DataChannelTest |
| 2555 : public ChannelTest<DataTraits> { | 2585 : public ChannelTest<DataTraits> { |
| 2556 public: | 2586 public: |
| 2557 typedef ChannelTest<DataTraits> | 2587 typedef ChannelTest<DataTraits> |
| 2558 Base; | 2588 Base; |
| 2559 DataChannelTest() : Base(kDataPacket, sizeof(kDataPacket), | 2589 DataChannelTest() |
| 2560 kRtcpReport, sizeof(kRtcpReport)) { | 2590 : Base(true, |
| 2561 } | 2591 kDataPacket, |
| 2592 sizeof(kDataPacket), | |
| 2593 kRtcpReport, | |
| 2594 sizeof(kRtcpReport)) {} | |
| 2562 }; | 2595 }; |
| 2563 | 2596 |
| 2564 // Override to avoid engine channel parameter. | 2597 // Override to avoid engine channel parameter. |
| 2565 template <> | 2598 template <> |
| 2566 cricket::DataChannel* ChannelTest<DataTraits>::CreateChannel( | 2599 cricket::DataChannel* ChannelTest<DataTraits>::CreateChannel( |
| 2567 rtc::Thread* thread, | 2600 rtc::Thread* thread, |
| 2568 cricket::MediaEngineInterface* engine, | 2601 cricket::MediaEngineInterface* engine, |
| 2569 cricket::FakeDataMediaChannel* ch, | 2602 cricket::FakeDataMediaChannel* ch, |
| 2570 cricket::TransportController* transport_controller, | 2603 cricket::TransportController* transport_controller, |
| 2571 bool rtcp) { | 2604 bool rtcp) { |
| (...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2749 }; | 2782 }; |
| 2750 rtc::Buffer payload(data, 3); | 2783 rtc::Buffer payload(data, 3); |
| 2751 cricket::SendDataResult result; | 2784 cricket::SendDataResult result; |
| 2752 ASSERT_TRUE(media_channel1_->SendData(params, payload, &result)); | 2785 ASSERT_TRUE(media_channel1_->SendData(params, payload, &result)); |
| 2753 EXPECT_EQ(params.ssrc, | 2786 EXPECT_EQ(params.ssrc, |
| 2754 media_channel1_->last_sent_data_params().ssrc); | 2787 media_channel1_->last_sent_data_params().ssrc); |
| 2755 EXPECT_EQ("foo", media_channel1_->last_sent_data()); | 2788 EXPECT_EQ("foo", media_channel1_->last_sent_data()); |
| 2756 } | 2789 } |
| 2757 | 2790 |
| 2758 // TODO(pthatcher): TestSetReceiver? | 2791 // TODO(pthatcher): TestSetReceiver? |
| OLD | NEW |