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

Unified Diff: webrtc/modules/video_coding/codecs/test/video_codec_test.cc

Issue 2833493003: Don't re-randomize picture_id/tl0_pic_idx when re-initializing internal encoders. (Closed)
Patch Set: Change back TimeMills() -> TimeMicros(). 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/modules/video_coding/codecs/test/video_codec_test.cc
diff --git a/webrtc/modules/video_coding/codecs/test/video_codec_test.cc b/webrtc/modules/video_coding/codecs/test/video_codec_test.cc
index d94c215281bd7ec3f8e01f2c2df4a9fec9241b56..1a14750f2221c5ae95ce4ca2e12ccdb0e4cfa433 100644
--- a/webrtc/modules/video_coding/codecs/test/video_codec_test.cc
+++ b/webrtc/modules/video_coding/codecs/test/video_codec_test.cc
@@ -34,6 +34,11 @@ VideoCodecTest::FakeEncodeCompleteCallback::OnEncodedImage(
const RTPFragmentationHeader* fragmentation) {
rtc::CritScope lock(&test_->encoded_frame_section_);
test_->encoded_frame_.emplace(frame);
+ RTC_DCHECK(codec_specific_info);
+ test_->codec_specific_info_.codecType = codec_specific_info->codecType;
+ // Skip |codec_name|, to avoid allocating.
+ test_->codec_specific_info_.codecSpecific =
+ codec_specific_info->codecSpecific;
test_->encoded_frame_event_.Set();
return Result(Result::OK);
}
@@ -66,7 +71,9 @@ void VideoCodecTest::SetUp() {
InitCodecs();
}
-bool VideoCodecTest::WaitForEncodedFrame(EncodedImage* frame) {
+bool VideoCodecTest::WaitForEncodedFrame(
+ EncodedImage* frame,
+ CodecSpecificInfo* codec_specific_info) {
bool ret = encoded_frame_event_.Wait(kEncodeTimeoutMs);
EXPECT_TRUE(ret) << "Timed out while waiting for an encoded frame.";
// This becomes unsafe if there are multiple threads waiting for frames.
@@ -75,6 +82,9 @@ bool VideoCodecTest::WaitForEncodedFrame(EncodedImage* frame) {
if (encoded_frame_) {
*frame = std::move(*encoded_frame_);
encoded_frame_.reset();
+ RTC_DCHECK(codec_specific_info);
+ codec_specific_info->codecType = codec_specific_info_.codecType;
+ codec_specific_info->codecSpecific = codec_specific_info_.codecSpecific;
return true;
} else {
return false;
@@ -99,18 +109,18 @@ bool VideoCodecTest::WaitForDecodedFrame(std::unique_ptr<VideoFrame>* frame,
}
void VideoCodecTest::InitCodecs() {
- VideoCodec codec_inst = codec_settings();
- codec_inst.startBitrate = kStartBitrate;
- codec_inst.targetBitrate = kTargetBitrate;
- codec_inst.maxBitrate = kMaxBitrate;
- codec_inst.maxFramerate = kMaxFramerate;
- codec_inst.width = kWidth;
- codec_inst.height = kHeight;
+ codec_settings_ = codec_settings();
+ codec_settings_.startBitrate = kStartBitrate;
+ codec_settings_.targetBitrate = kTargetBitrate;
+ codec_settings_.maxBitrate = kMaxBitrate;
+ codec_settings_.maxFramerate = kMaxFramerate;
+ codec_settings_.width = kWidth;
+ codec_settings_.height = kHeight;
EXPECT_EQ(WEBRTC_VIDEO_CODEC_OK,
- encoder_->InitEncode(&codec_inst, 1 /* number of cores */,
+ encoder_->InitEncode(&codec_settings_, 1 /* number of cores */,
0 /* max payload size (unused) */));
EXPECT_EQ(WEBRTC_VIDEO_CODEC_OK,
- decoder_->InitDecode(&codec_inst, 1 /* number of cores */));
+ decoder_->InitDecode(&codec_settings_, 1 /* number of cores */));
}
} // namespace webrtc

Powered by Google App Engine
This is Rietveld 408576698