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

Side by Side Diff: webrtc/video/video_decoder_unittest.cc

Issue 1414693006: Add DecodedImageCallback::Decoded() function with custom decode time value. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: addressed comments. Created 5 years, 1 month 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/main/source/timing_unittest.cc ('k') | webrtc/video_decoder.h » ('j') | 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) 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
11 #include "webrtc/video_decoder.h" 11 #include "webrtc/video_decoder.h"
12 12
13 #include "testing/gtest/include/gtest/gtest.h" 13 #include "testing/gtest/include/gtest/gtest.h"
14 #include "webrtc/base/checks.h"
14 #include "webrtc/modules/video_coding/codecs/interface/video_error_codes.h" 15 #include "webrtc/modules/video_coding/codecs/interface/video_error_codes.h"
15 16
16 namespace webrtc { 17 namespace webrtc {
17 18
18 class VideoDecoderSoftwareFallbackWrapperTest : public ::testing::Test { 19 class VideoDecoderSoftwareFallbackWrapperTest : public ::testing::Test {
19 protected: 20 protected:
20 VideoDecoderSoftwareFallbackWrapperTest() 21 VideoDecoderSoftwareFallbackWrapperTest()
21 : fallback_wrapper_(kVideoCodecVP8, &fake_decoder_) {} 22 : fallback_wrapper_(kVideoCodecVP8, &fake_decoder_) {}
22 23
23 class CountingFakeDecoder : public VideoDecoder { 24 class CountingFakeDecoder : public VideoDecoder {
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 EXPECT_EQ(2, fake_decoder_.reset_count_) 142 EXPECT_EQ(2, fake_decoder_.reset_count_)
142 << "Reset not forwarded during fallback."; 143 << "Reset not forwarded during fallback.";
143 } 144 }
144 145
145 // TODO(pbos): Fake a VP8 frame well enough to actually receive a callback from 146 // TODO(pbos): Fake a VP8 frame well enough to actually receive a callback from
146 // the software encoder. 147 // the software encoder.
147 TEST_F(VideoDecoderSoftwareFallbackWrapperTest, 148 TEST_F(VideoDecoderSoftwareFallbackWrapperTest,
148 ForwardsRegisterDecodeCompleteCallback) { 149 ForwardsRegisterDecodeCompleteCallback) {
149 class FakeDecodedImageCallback : public DecodedImageCallback { 150 class FakeDecodedImageCallback : public DecodedImageCallback {
150 int32_t Decoded(VideoFrame& decodedImage) override { return 0; } 151 int32_t Decoded(VideoFrame& decodedImage) override { return 0; }
152 int32_t Decoded(
153 webrtc::VideoFrame& decodedImage, int64_t decode_time_ms) override {
154 RTC_NOTREACHED();
155 return -1;
156 }
151 } callback, callback2; 157 } callback, callback2;
152 158
153 VideoCodec codec = {}; 159 VideoCodec codec = {};
154 fallback_wrapper_.InitDecode(&codec, 2); 160 fallback_wrapper_.InitDecode(&codec, 2);
155 fallback_wrapper_.RegisterDecodeCompleteCallback(&callback); 161 fallback_wrapper_.RegisterDecodeCompleteCallback(&callback);
156 EXPECT_EQ(&callback, fake_decoder_.decode_complete_callback_); 162 EXPECT_EQ(&callback, fake_decoder_.decode_complete_callback_);
157 163
158 fake_decoder_.decode_return_code_ = WEBRTC_VIDEO_CODEC_FALLBACK_SOFTWARE; 164 fake_decoder_.decode_return_code_ = WEBRTC_VIDEO_CODEC_FALLBACK_SOFTWARE;
159 EncodedImage encoded_image; 165 EncodedImage encoded_image;
160 fallback_wrapper_.Decode(encoded_image, false, nullptr, nullptr, -1); 166 fallback_wrapper_.Decode(encoded_image, false, nullptr, nullptr, -1);
161 fallback_wrapper_.RegisterDecodeCompleteCallback(&callback2); 167 fallback_wrapper_.RegisterDecodeCompleteCallback(&callback2);
162 EXPECT_EQ(&callback2, fake_decoder_.decode_complete_callback_); 168 EXPECT_EQ(&callback2, fake_decoder_.decode_complete_callback_);
163 } 169 }
164 170
165 } // namespace webrtc 171 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/modules/video_coding/main/source/timing_unittest.cc ('k') | webrtc/video_decoder.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698