| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  *  Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. | 2  *  Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. | 
| 3  * | 3  * | 
| 4  *  Use of this source code is governed by a BSD-style license | 4  *  Use of this source code is governed by a BSD-style license | 
| 5  *  that can be found in the LICENSE file in the root of the source | 5  *  that can be found in the LICENSE file in the root of the source | 
| 6  *  tree. An additional intellectual property rights grant can be found | 6  *  tree. An additional intellectual property rights grant can be found | 
| 7  *  in the file PATENTS.  All contributing project authors may | 7  *  in the file PATENTS.  All contributing project authors may | 
| 8  *  be found in the AUTHORS file in the root of the source tree. | 8  *  be found in the AUTHORS file in the root of the source tree. | 
| 9  */ | 9  */ | 
| 10 | 10 | 
| (...skipping 27 matching lines...) Expand all  Loading... | 
| 38   encoded_image._buffer = &payload; | 38   encoded_image._buffer = &payload; | 
| 39   encoded_image._length = 1; | 39   encoded_image._length = 1; | 
| 40 | 40 | 
| 41   PayloadRouter payload_router(modules, payload_type); | 41   PayloadRouter payload_router(modules, payload_type); | 
| 42 | 42 | 
| 43   EXPECT_CALL(rtp, SendOutgoingData(encoded_image._frameType, payload_type, | 43   EXPECT_CALL(rtp, SendOutgoingData(encoded_image._frameType, payload_type, | 
| 44                                     encoded_image._timeStamp, | 44                                     encoded_image._timeStamp, | 
| 45                                     encoded_image.capture_time_ms_, &payload, | 45                                     encoded_image.capture_time_ms_, &payload, | 
| 46                                     encoded_image._length, nullptr, _, _)) | 46                                     encoded_image._length, nullptr, _, _)) | 
| 47       .Times(0); | 47       .Times(0); | 
| 48   EXPECT_EQ(-1, payload_router.Encoded(encoded_image, nullptr, nullptr)); | 48   EXPECT_NE( | 
|  | 49       EncodedImageCallback::Result::OK, | 
|  | 50       payload_router.OnEncodedImage(encoded_image, nullptr, nullptr).error); | 
| 49 | 51 | 
| 50   payload_router.set_active(true); | 52   payload_router.set_active(true); | 
| 51   EXPECT_CALL(rtp, SendOutgoingData(encoded_image._frameType, payload_type, | 53   EXPECT_CALL(rtp, SendOutgoingData(encoded_image._frameType, payload_type, | 
| 52                                     encoded_image._timeStamp, | 54                                     encoded_image._timeStamp, | 
| 53                                     encoded_image.capture_time_ms_, &payload, | 55                                     encoded_image.capture_time_ms_, &payload, | 
| 54                                     encoded_image._length, nullptr, _, _)) | 56                                     encoded_image._length, nullptr, _, _)) | 
| 55       .Times(1); | 57       .Times(1); | 
| 56   EXPECT_EQ(0, payload_router.Encoded(encoded_image, nullptr, nullptr)); | 58   EXPECT_EQ( | 
|  | 59       EncodedImageCallback::Result::OK, | 
|  | 60       payload_router.OnEncodedImage(encoded_image, nullptr, nullptr).error); | 
| 57 | 61 | 
| 58   payload_router.set_active(false); | 62   payload_router.set_active(false); | 
| 59   EXPECT_CALL(rtp, SendOutgoingData(encoded_image._frameType, payload_type, | 63   EXPECT_CALL(rtp, SendOutgoingData(encoded_image._frameType, payload_type, | 
| 60                                     encoded_image._timeStamp, | 64                                     encoded_image._timeStamp, | 
| 61                                     encoded_image.capture_time_ms_, &payload, | 65                                     encoded_image.capture_time_ms_, &payload, | 
| 62                                     encoded_image._length, nullptr, _, _)) | 66                                     encoded_image._length, nullptr, _, _)) | 
| 63       .Times(0); | 67       .Times(0); | 
| 64   EXPECT_EQ(-1, payload_router.Encoded(encoded_image, nullptr, nullptr)); | 68   EXPECT_NE( | 
|  | 69       EncodedImageCallback::Result::OK, | 
|  | 70       payload_router.OnEncodedImage(encoded_image, nullptr, nullptr).error); | 
| 65 | 71 | 
| 66   payload_router.set_active(true); | 72   payload_router.set_active(true); | 
| 67   EXPECT_CALL(rtp, SendOutgoingData(encoded_image._frameType, payload_type, | 73   EXPECT_CALL(rtp, SendOutgoingData(encoded_image._frameType, payload_type, | 
| 68                                     encoded_image._timeStamp, | 74                                     encoded_image._timeStamp, | 
| 69                                     encoded_image.capture_time_ms_, &payload, | 75                                     encoded_image.capture_time_ms_, &payload, | 
| 70                                     encoded_image._length, nullptr, _, _)) | 76                                     encoded_image._length, nullptr, _, _)) | 
| 71       .Times(1); | 77       .Times(1); | 
| 72   EXPECT_EQ(0, payload_router.Encoded(encoded_image, nullptr, nullptr)); | 78   EXPECT_EQ( | 
|  | 79       EncodedImageCallback::Result::OK, | 
|  | 80       payload_router.OnEncodedImage(encoded_image, nullptr, nullptr).error); | 
| 73 } | 81 } | 
| 74 | 82 | 
| 75 TEST(PayloadRouterTest, SendSimulcast) { | 83 TEST(PayloadRouterTest, SendSimulcast) { | 
| 76   NiceMock<MockRtpRtcp> rtp_1; | 84   NiceMock<MockRtpRtcp> rtp_1; | 
| 77   NiceMock<MockRtpRtcp> rtp_2; | 85   NiceMock<MockRtpRtcp> rtp_2; | 
| 78   std::vector<RtpRtcp*> modules; | 86   std::vector<RtpRtcp*> modules; | 
| 79   modules.push_back(&rtp_1); | 87   modules.push_back(&rtp_1); | 
| 80   modules.push_back(&rtp_2); | 88   modules.push_back(&rtp_2); | 
| 81   std::vector<VideoStream> streams(2); | 89   std::vector<VideoStream> streams(2); | 
| 82 | 90 | 
| (...skipping 13 matching lines...) Expand all  Loading... | 
| 96   codec_info_1.codecType = kVideoCodecVP8; | 104   codec_info_1.codecType = kVideoCodecVP8; | 
| 97   codec_info_1.codecSpecific.VP8.simulcastIdx = 0; | 105   codec_info_1.codecSpecific.VP8.simulcastIdx = 0; | 
| 98 | 106 | 
| 99   payload_router.set_active(true); | 107   payload_router.set_active(true); | 
| 100   EXPECT_CALL(rtp_1, SendOutgoingData(encoded_image._frameType, payload_type, | 108   EXPECT_CALL(rtp_1, SendOutgoingData(encoded_image._frameType, payload_type, | 
| 101                                       encoded_image._timeStamp, | 109                                       encoded_image._timeStamp, | 
| 102                                       encoded_image.capture_time_ms_, &payload, | 110                                       encoded_image.capture_time_ms_, &payload, | 
| 103                                       encoded_image._length, nullptr, _, _)) | 111                                       encoded_image._length, nullptr, _, _)) | 
| 104       .Times(1); | 112       .Times(1); | 
| 105   EXPECT_CALL(rtp_2, SendOutgoingData(_, _, _, _, _, _, _, _, _)).Times(0); | 113   EXPECT_CALL(rtp_2, SendOutgoingData(_, _, _, _, _, _, _, _, _)).Times(0); | 
| 106   EXPECT_EQ(0, payload_router.Encoded(encoded_image, &codec_info_1, nullptr)); | 114   EXPECT_EQ(EncodedImageCallback::Result::OK, | 
|  | 115             payload_router.OnEncodedImage(encoded_image, &codec_info_1, nullptr) | 
|  | 116                 .error); | 
| 107 | 117 | 
| 108   CodecSpecificInfo codec_info_2; | 118   CodecSpecificInfo codec_info_2; | 
| 109   memset(&codec_info_2, 0, sizeof(CodecSpecificInfo)); | 119   memset(&codec_info_2, 0, sizeof(CodecSpecificInfo)); | 
| 110   codec_info_2.codecType = kVideoCodecVP8; | 120   codec_info_2.codecType = kVideoCodecVP8; | 
| 111   codec_info_2.codecSpecific.VP8.simulcastIdx = 1; | 121   codec_info_2.codecSpecific.VP8.simulcastIdx = 1; | 
| 112 | 122 | 
| 113   EXPECT_CALL(rtp_2, SendOutgoingData(encoded_image._frameType, payload_type, | 123   EXPECT_CALL(rtp_2, SendOutgoingData(encoded_image._frameType, payload_type, | 
| 114                                       encoded_image._timeStamp, | 124                                       encoded_image._timeStamp, | 
| 115                                       encoded_image.capture_time_ms_, &payload, | 125                                       encoded_image.capture_time_ms_, &payload, | 
| 116                                       encoded_image._length, nullptr, _, _)) | 126                                       encoded_image._length, nullptr, _, _)) | 
| 117       .Times(1); | 127       .Times(1); | 
| 118   EXPECT_CALL(rtp_1, SendOutgoingData(_, _, _, _, _, _, _, _, _)) | 128   EXPECT_CALL(rtp_1, SendOutgoingData(_, _, _, _, _, _, _, _, _)) | 
| 119       .Times(0); | 129       .Times(0); | 
| 120   EXPECT_EQ(0, payload_router.Encoded(encoded_image, &codec_info_2, nullptr)); | 130   EXPECT_EQ(EncodedImageCallback::Result::OK, | 
|  | 131             payload_router.OnEncodedImage(encoded_image, &codec_info_2, nullptr) | 
|  | 132                 .error); | 
| 121 | 133 | 
| 122   // Inactive. | 134   // Inactive. | 
| 123   payload_router.set_active(false); | 135   payload_router.set_active(false); | 
| 124   EXPECT_CALL(rtp_1, SendOutgoingData(_, _, _, _, _, _, _, _, _)) | 136   EXPECT_CALL(rtp_1, SendOutgoingData(_, _, _, _, _, _, _, _, _)) | 
| 125       .Times(0); | 137       .Times(0); | 
| 126   EXPECT_CALL(rtp_2, SendOutgoingData(_, _, _, _, _, _, _, _, _)) | 138   EXPECT_CALL(rtp_2, SendOutgoingData(_, _, _, _, _, _, _, _, _)) | 
| 127       .Times(0); | 139       .Times(0); | 
| 128   EXPECT_EQ(-1, payload_router.Encoded(encoded_image, &codec_info_1, nullptr)); | 140   EXPECT_NE(EncodedImageCallback::Result::OK, | 
| 129   EXPECT_EQ(-1, payload_router.Encoded(encoded_image, &codec_info_2, nullptr)); | 141             payload_router.OnEncodedImage(encoded_image, &codec_info_1, nullptr) | 
|  | 142                 .error); | 
|  | 143   EXPECT_NE(EncodedImageCallback::Result::OK, | 
|  | 144             payload_router.OnEncodedImage(encoded_image, &codec_info_2, nullptr) | 
|  | 145                 .error); | 
| 130 } | 146 } | 
| 131 | 147 | 
| 132 TEST(PayloadRouterTest, MaxPayloadLength) { | 148 TEST(PayloadRouterTest, MaxPayloadLength) { | 
| 133   // Without any limitations from the modules, verify we get the max payload | 149   // Without any limitations from the modules, verify we get the max payload | 
| 134   // length for IP/UDP/SRTP with a MTU of 150 bytes. | 150   // length for IP/UDP/SRTP with a MTU of 150 bytes. | 
| 135   const size_t kDefaultMaxLength = 1500 - 20 - 8 - 12 - 4; | 151   const size_t kDefaultMaxLength = 1500 - 20 - 8 - 12 - 4; | 
| 136   NiceMock<MockRtpRtcp> rtp_1; | 152   NiceMock<MockRtpRtcp> rtp_1; | 
| 137   NiceMock<MockRtpRtcp> rtp_2; | 153   NiceMock<MockRtpRtcp> rtp_2; | 
| 138   std::vector<RtpRtcp*> modules; | 154   std::vector<RtpRtcp*> modules; | 
| 139   modules.push_back(&rtp_1); | 155   modules.push_back(&rtp_1); | 
| (...skipping 16 matching lines...) Expand all  Loading... | 
| 156   const size_t kTestMinPayloadLength = 1001; | 172   const size_t kTestMinPayloadLength = 1001; | 
| 157   EXPECT_CALL(rtp_1, MaxDataPayloadLength()) | 173   EXPECT_CALL(rtp_1, MaxDataPayloadLength()) | 
| 158       .Times(1) | 174       .Times(1) | 
| 159       .WillOnce(Return(kTestMinPayloadLength + 10)); | 175       .WillOnce(Return(kTestMinPayloadLength + 10)); | 
| 160   EXPECT_CALL(rtp_2, MaxDataPayloadLength()) | 176   EXPECT_CALL(rtp_2, MaxDataPayloadLength()) | 
| 161       .Times(1) | 177       .Times(1) | 
| 162       .WillOnce(Return(kTestMinPayloadLength)); | 178       .WillOnce(Return(kTestMinPayloadLength)); | 
| 163   EXPECT_EQ(kTestMinPayloadLength, payload_router.MaxPayloadLength()); | 179   EXPECT_EQ(kTestMinPayloadLength, payload_router.MaxPayloadLength()); | 
| 164 } | 180 } | 
| 165 }  // namespace webrtc | 181 }  // namespace webrtc | 
| OLD | NEW | 
|---|