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

Unified Diff: content/renderer/media/rtc_video_decoder_unittest.cc

Issue 19534002: Make RendererGpuVideoDecoderFactories live on arbitrary threads. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 7 years, 5 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
« no previous file with comments | « content/renderer/media/rtc_video_decoder_factory.cc ('k') | content/renderer/media/webmediaplayer_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/media/rtc_video_decoder_unittest.cc
diff --git a/content/renderer/media/rtc_video_decoder_unittest.cc b/content/renderer/media/rtc_video_decoder_unittest.cc
index 457f7b2085e776ff8a388ea3fb8fcca296cf68d2..e23e91b9aaca253695a813b5e27b0079c2d2d3d3 100644
--- a/content/renderer/media/rtc_video_decoder_unittest.cc
+++ b/content/renderer/media/rtc_video_decoder_unittest.cc
@@ -36,19 +36,25 @@ class RTCVideoDecoderTest : public ::testing::Test,
mock_vda_ = new media::MockVideoDecodeAccelerator;
EXPECT_CALL(*mock_gpu_factories_, GetMessageLoop())
.WillRepeatedly(Return(vda_loop_proxy_));
+ EXPECT_CALL(*mock_gpu_factories_, CreateVideoDecodeAccelerator(_, _))
+ .WillRepeatedly(
+ Return(static_cast<media::VideoDecodeAccelerator*>(NULL)));
EXPECT_CALL(*mock_gpu_factories_,
CreateVideoDecodeAccelerator(media::VP8PROFILE_MAIN, _))
- .WillOnce(Return(mock_vda_));
+ .WillRepeatedly(Return(mock_vda_));
EXPECT_CALL(*mock_gpu_factories_, Abort()).WillRepeatedly(Return());
EXPECT_CALL(*mock_gpu_factories_, CreateSharedMemory(_))
.WillRepeatedly(Return(static_cast<base::SharedMemory*>(NULL)));
EXPECT_CALL(*mock_vda_, Destroy());
- rtc_decoder_ = RTCVideoDecoder::Create(mock_gpu_factories_);
+ rtc_decoder_ =
+ RTCVideoDecoder::Create(webrtc::kVideoCodecVP8, mock_gpu_factories_);
}
virtual void TearDown() OVERRIDE {
VLOG(2) << "TearDown";
if (vda_thread_.IsRunning()) {
+ if (rtc_decoder_)
+ rtc_decoder_->Release();
RunUntilIdle(); // Wait until all callbascks complete.
vda_loop_proxy_->DeleteSoon(FROM_HERE, rtc_decoder_.release());
// Make sure the decoder is released before stopping the thread.
@@ -102,6 +108,12 @@ class RTCVideoDecoderTest : public ::testing::Test,
base::WaitableEvent idle_waiter_;
};
+TEST_F(RTCVideoDecoderTest, CreateReturnsNullOnUnsupportedCodec) {
+ scoped_ptr<RTCVideoDecoder> null_rtc_decoder(
+ RTCVideoDecoder::Create(webrtc::kVideoCodecI420, mock_gpu_factories_));
+ EXPECT_EQ(NULL, null_rtc_decoder.get());
+}
+
TEST_F(RTCVideoDecoderTest, InitDecodeReturnsErrorOnFeedbackMode) {
codec_.codecType = webrtc::kVideoCodecVP8;
codec_.codecSpecific.VP8.feedbackModeOn = true;
@@ -140,8 +152,6 @@ TEST_F(RTCVideoDecoderTest, ResetReturnsOk) {
TEST_F(RTCVideoDecoderTest, ReleaseReturnsOk) {
Initialize();
- EXPECT_CALL(*mock_vda_, Reset())
- .WillOnce(Invoke(this, &RTCVideoDecoderTest::NotifyResetDone));
EXPECT_EQ(WEBRTC_VIDEO_CODEC_OK, rtc_decoder_->Release());
}
« no previous file with comments | « content/renderer/media/rtc_video_decoder_factory.cc ('k') | content/renderer/media/webmediaplayer_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698