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

Side by Side Diff: webrtc/modules/video_coding/video_sender_unittest.cc

Issue 1528503003: Lint enabled for webrtc/modules/video_coding folder. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Rebase Created 5 years 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 unified diff | Download patch
« no previous file with comments | « webrtc/modules/video_coding/video_sender.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2013 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 23 matching lines...) Expand all
34 using ::testing::NiceMock; 34 using ::testing::NiceMock;
35 using ::testing::Pointee; 35 using ::testing::Pointee;
36 using ::testing::Return; 36 using ::testing::Return;
37 using ::testing::FloatEq; 37 using ::testing::FloatEq;
38 using std::vector; 38 using std::vector;
39 using webrtc::test::FrameGenerator; 39 using webrtc::test::FrameGenerator;
40 40
41 namespace webrtc { 41 namespace webrtc {
42 namespace vcm { 42 namespace vcm {
43 namespace { 43 namespace {
44 enum { 44 enum { kMaxNumberOfTemporalLayers = 3 };
45 kMaxNumberOfTemporalLayers = 3
46 };
47 45
48 struct Vp8StreamInfo { 46 struct Vp8StreamInfo {
49 float framerate_fps[kMaxNumberOfTemporalLayers]; 47 float framerate_fps[kMaxNumberOfTemporalLayers];
50 int bitrate_kbps[kMaxNumberOfTemporalLayers]; 48 int bitrate_kbps[kMaxNumberOfTemporalLayers];
51 }; 49 };
52 50
53 MATCHER_P(MatchesVp8StreamInfo, expected, "") { 51 MATCHER_P(MatchesVp8StreamInfo, expected, "") {
54 bool res = true; 52 bool res = true;
55 for (int tl = 0; tl < kMaxNumberOfTemporalLayers; ++tl) { 53 for (int tl = 0; tl < kMaxNumberOfTemporalLayers; ++tl) {
56 if (fabs(expected.framerate_fps[tl] - arg.framerate_fps[tl]) > 0.5) { 54 if (fabs(expected.framerate_fps[tl] - arg.framerate_fps[tl]) > 0.5) {
(...skipping 23 matching lines...) Expand all
80 } 78 }
81 79
82 private: 80 private:
83 const int width_; 81 const int width_;
84 const int height_; 82 const int height_;
85 rtc::scoped_ptr<VideoFrame> frame_; 83 rtc::scoped_ptr<VideoFrame> frame_;
86 }; 84 };
87 85
88 class PacketizationCallback : public VCMPacketizationCallback { 86 class PacketizationCallback : public VCMPacketizationCallback {
89 public: 87 public:
90 PacketizationCallback(Clock* clock) 88 explicit PacketizationCallback(Clock* clock)
91 : clock_(clock), start_time_ms_(clock_->TimeInMilliseconds()) {} 89 : clock_(clock), start_time_ms_(clock_->TimeInMilliseconds()) {}
92 90
93 virtual ~PacketizationCallback() {} 91 virtual ~PacketizationCallback() {}
94 92
95 int32_t SendData(uint8_t payload_type, 93 int32_t SendData(uint8_t payload_type,
96 const EncodedImage& encoded_image, 94 const EncodedImage& encoded_image,
97 const RTPFragmentationHeader& fragmentation_header, 95 const RTPFragmentationHeader& fragmentation_header,
98 const RTPVideoHeader* rtp_video_header) override { 96 const RTPVideoHeader* rtp_video_header) override {
99 assert(rtp_video_header); 97 assert(rtp_video_header);
100 frame_data_.push_back(FrameData(encoded_image._length, *rtp_video_header)); 98 frame_data_.push_back(FrameData(encoded_image._length, *rtp_video_header));
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 static const int kNumberOfStreams = 3; 202 static const int kNumberOfStreams = 3;
205 static const int kNumberOfLayers = 3; 203 static const int kNumberOfLayers = 3;
206 static const int kUnusedPayloadType = 10; 204 static const int kUnusedPayloadType = 10;
207 205
208 void SetUp() override { 206 void SetUp() override {
209 TestVideoSender::SetUp(); 207 TestVideoSender::SetUp();
210 sender_->RegisterExternalEncoder(&encoder_, kUnusedPayloadType, false); 208 sender_->RegisterExternalEncoder(&encoder_, kUnusedPayloadType, false);
211 memset(&settings_, 0, sizeof(settings_)); 209 memset(&settings_, 0, sizeof(settings_));
212 EXPECT_EQ(0, VideoCodingModule::Codec(kVideoCodecVP8, &settings_)); 210 EXPECT_EQ(0, VideoCodingModule::Codec(kVideoCodecVP8, &settings_));
213 settings_.numberOfSimulcastStreams = kNumberOfStreams; 211 settings_.numberOfSimulcastStreams = kNumberOfStreams;
214 ConfigureStream(kDefaultWidth / 4, 212 ConfigureStream(kDefaultWidth / 4, kDefaultHeight / 4, 100,
215 kDefaultHeight / 4,
216 100,
217 &settings_.simulcastStream[0]); 213 &settings_.simulcastStream[0]);
218 ConfigureStream(kDefaultWidth / 2, 214 ConfigureStream(kDefaultWidth / 2, kDefaultHeight / 2, 500,
219 kDefaultHeight / 2,
220 500,
221 &settings_.simulcastStream[1]); 215 &settings_.simulcastStream[1]);
222 ConfigureStream( 216 ConfigureStream(kDefaultWidth, kDefaultHeight, 1200,
223 kDefaultWidth, kDefaultHeight, 1200, &settings_.simulcastStream[2]); 217 &settings_.simulcastStream[2]);
224 settings_.plType = kUnusedPayloadType; // Use the mocked encoder. 218 settings_.plType = kUnusedPayloadType; // Use the mocked encoder.
225 generator_.reset( 219 generator_.reset(
226 new EmptyFrameGenerator(settings_.width, settings_.height)); 220 new EmptyFrameGenerator(settings_.width, settings_.height));
227 EXPECT_EQ(0, sender_->RegisterSendCodec(&settings_, 1, 1200)); 221 EXPECT_EQ(0, sender_->RegisterSendCodec(&settings_, 1, 1200));
228 } 222 }
229 223
230 void TearDown() override { sender_.reset(); } 224 void TearDown() override { sender_.reset(); }
231 225
232 void ExpectIntraRequest(int stream) { 226 void ExpectIntraRequest(int stream) {
233 if (stream == -1) { 227 if (stream == -1) {
234 // No intra request expected. 228 // No intra request expected.
235 EXPECT_CALL( 229 EXPECT_CALL(
236 encoder_, 230 encoder_,
237 Encode(_, _, Pointee(ElementsAre(kVideoFrameDelta, kVideoFrameDelta, 231 Encode(_, _, Pointee(ElementsAre(kVideoFrameDelta, kVideoFrameDelta,
238 kVideoFrameDelta)))) 232 kVideoFrameDelta))))
239 .Times(1) 233 .Times(1)
240 .WillRepeatedly(Return(0)); 234 .WillRepeatedly(Return(0));
241 return; 235 return;
242 } 236 }
243 assert(stream >= 0); 237 assert(stream >= 0);
244 assert(stream < kNumberOfStreams); 238 assert(stream < kNumberOfStreams);
245 std::vector<FrameType> frame_types(kNumberOfStreams, kVideoFrameDelta); 239 std::vector<FrameType> frame_types(kNumberOfStreams, kVideoFrameDelta);
246 frame_types[stream] = kVideoFrameKey; 240 frame_types[stream] = kVideoFrameKey;
247 EXPECT_CALL( 241 EXPECT_CALL(encoder_,
248 encoder_, 242 Encode(_, _, Pointee(ElementsAreArray(&frame_types[0],
249 Encode(_, 243 frame_types.size()))))
250 _, 244 .Times(1)
251 Pointee(ElementsAreArray(&frame_types[0], frame_types.size())))) 245 .WillRepeatedly(Return(0));
252 .Times(1).WillRepeatedly(Return(0));
253 } 246 }
254 247
255 static void ConfigureStream(int width, 248 static void ConfigureStream(int width,
256 int height, 249 int height,
257 int max_bitrate, 250 int max_bitrate,
258 SimulcastStream* stream) { 251 SimulcastStream* stream) {
259 assert(stream); 252 assert(stream);
260 stream->width = width; 253 stream->width = width;
261 stream->height = height; 254 stream->height = height;
262 stream->maxBitrate = max_bitrate; 255 stream->maxBitrate = max_bitrate;
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after
480 } 473 }
481 { 474 {
482 // TODO(andresp): Find out why this fails with framerate = 7.5 475 // TODO(andresp): Find out why this fails with framerate = 7.5
483 Vp8StreamInfo expected = {{7.0, 7.0, 7.0}, {high_b, high_b, high_b}}; 476 Vp8StreamInfo expected = {{7.0, 7.0, 7.0}, {high_b, high_b, high_b}};
484 EXPECT_THAT(SimulateWithFramerate(7.0), MatchesVp8StreamInfo(expected)); 477 EXPECT_THAT(SimulateWithFramerate(7.0), MatchesVp8StreamInfo(expected));
485 } 478 }
486 } 479 }
487 } // namespace 480 } // namespace
488 } // namespace vcm 481 } // namespace vcm
489 } // namespace webrtc 482 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/modules/video_coding/video_sender.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698