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

Side by Side Diff: media/video/ffmpeg_video_decode_engine_unittest.cc

Issue 6993042: ffmpeg chromium glue (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: once more new test_expectations.txt Created 9 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/memory/scoped_ptr.h" 5 #include "base/memory/scoped_ptr.h"
6 #include "base/message_loop.h" 6 #include "base/message_loop.h"
7 #include "media/base/data_buffer.h" 7 #include "media/base/data_buffer.h"
8 #include "media/base/mock_ffmpeg.h" 8 #include "media/base/mock_ffmpeg.h"
9 #include "media/base/mock_task.h" 9 #include "media/base/mock_task.h"
10 #include "media/base/pipeline.h" 10 #include "media/base/pipeline.h"
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 test_engine_.reset(); 79 test_engine_.reset();
80 } 80 }
81 81
82 void Initialize() { 82 void Initialize() {
83 EXPECT_CALL(mock_ffmpeg_, AVCodecAllocContext()) 83 EXPECT_CALL(mock_ffmpeg_, AVCodecAllocContext())
84 .WillOnce(Return(&codec_context_)); 84 .WillOnce(Return(&codec_context_));
85 EXPECT_CALL(mock_ffmpeg_, AVCodecFindDecoder(CODEC_ID_H264)) 85 EXPECT_CALL(mock_ffmpeg_, AVCodecFindDecoder(CODEC_ID_H264))
86 .WillOnce(Return(&codec_)); 86 .WillOnce(Return(&codec_));
87 EXPECT_CALL(mock_ffmpeg_, AVCodecAllocFrame()) 87 EXPECT_CALL(mock_ffmpeg_, AVCodecAllocFrame())
88 .WillOnce(Return(&yuv_frame_)); 88 .WillOnce(Return(&yuv_frame_));
89 EXPECT_CALL(mock_ffmpeg_, AVCodecThreadInit(&codec_context_, 2))
90 .WillOnce(Return(0));
91 EXPECT_CALL(mock_ffmpeg_, AVCodecOpen(&codec_context_, &codec_)) 89 EXPECT_CALL(mock_ffmpeg_, AVCodecOpen(&codec_context_, &codec_))
92 .WillOnce(Return(0)); 90 .WillOnce(Return(0));
93 EXPECT_CALL(mock_ffmpeg_, AVCodecClose(&codec_context_)) 91 EXPECT_CALL(mock_ffmpeg_, AVCodecClose(&codec_context_))
94 .WillOnce(Return(0)); 92 .WillOnce(Return(0));
95 EXPECT_CALL(mock_ffmpeg_, AVFree(&yuv_frame_)) 93 EXPECT_CALL(mock_ffmpeg_, AVFree(&yuv_frame_))
96 .Times(1); 94 .Times(1);
97 EXPECT_CALL(mock_ffmpeg_, AVFree(&codec_context_)) 95 EXPECT_CALL(mock_ffmpeg_, AVFree(&codec_context_))
98 .Times(1); 96 .Times(1);
99 97
100 EXPECT_CALL(*this, OnInitializeComplete(_)) 98 EXPECT_CALL(*this, OnInitializeComplete(_))
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 .Times(1); 180 .Times(1);
183 EXPECT_CALL(mock_ffmpeg_, AVFree(&codec_context_)) 181 EXPECT_CALL(mock_ffmpeg_, AVFree(&codec_context_))
184 .Times(1); 182 .Times(1);
185 183
186 EXPECT_CALL(*this, OnInitializeComplete(_)) 184 EXPECT_CALL(*this, OnInitializeComplete(_))
187 .WillOnce(SaveInitializeResult(this)); 185 .WillOnce(SaveInitializeResult(this));
188 test_engine_->Initialize(MessageLoop::current(), this, NULL, config_); 186 test_engine_->Initialize(MessageLoop::current(), this, NULL, config_);
189 EXPECT_FALSE(info_.success); 187 EXPECT_FALSE(info_.success);
190 } 188 }
191 189
192 // Note There are 2 threads for FFmpeg-mt.
193 TEST_F(FFmpegVideoDecodeEngineTest, Initialize_InitThreadFails) {
194 // Test avcodec_thread_init() failing.
195 EXPECT_CALL(mock_ffmpeg_, AVCodecAllocContext())
196 .WillOnce(Return(&codec_context_));
197 EXPECT_CALL(mock_ffmpeg_, AVCodecFindDecoder(CODEC_ID_H264))
198 .WillOnce(Return(&codec_));
199 EXPECT_CALL(mock_ffmpeg_, AVCodecAllocFrame())
200 .WillOnce(Return(&yuv_frame_));
201 EXPECT_CALL(mock_ffmpeg_, AVCodecThreadInit(&codec_context_, 2))
202 .WillOnce(Return(-1));
203 EXPECT_CALL(mock_ffmpeg_, AVCodecClose(&codec_context_))
204 .WillOnce(Return(0));
205 EXPECT_CALL(mock_ffmpeg_, AVFree(&yuv_frame_))
206 .Times(1);
207 EXPECT_CALL(mock_ffmpeg_, AVFree(&codec_context_))
208 .Times(1);
209
210 EXPECT_CALL(*this, OnInitializeComplete(_))
211 .WillOnce(SaveInitializeResult(this));
212 test_engine_->Initialize(MessageLoop::current(), this, NULL, config_);
213 EXPECT_FALSE(info_.success);
214 }
215
216 TEST_F(FFmpegVideoDecodeEngineTest, Initialize_OpenDecoderFails) { 190 TEST_F(FFmpegVideoDecodeEngineTest, Initialize_OpenDecoderFails) {
217 // Test avcodec_open() failing. 191 // Test avcodec_open() failing.
218 EXPECT_CALL(mock_ffmpeg_, AVCodecAllocContext()) 192 EXPECT_CALL(mock_ffmpeg_, AVCodecAllocContext())
219 .WillOnce(Return(&codec_context_)); 193 .WillOnce(Return(&codec_context_));
220 EXPECT_CALL(mock_ffmpeg_, AVCodecFindDecoder(CODEC_ID_H264)) 194 EXPECT_CALL(mock_ffmpeg_, AVCodecFindDecoder(CODEC_ID_H264))
221 .WillOnce(Return(&codec_)); 195 .WillOnce(Return(&codec_));
222 EXPECT_CALL(mock_ffmpeg_, AVCodecAllocFrame()) 196 EXPECT_CALL(mock_ffmpeg_, AVCodecAllocFrame())
223 .WillOnce(Return(&yuv_frame_)); 197 .WillOnce(Return(&yuv_frame_));
224 EXPECT_CALL(mock_ffmpeg_, AVCodecThreadInit(&codec_context_, 2))
225 .WillOnce(Return(0));
226 EXPECT_CALL(mock_ffmpeg_, AVCodecOpen(&codec_context_, &codec_)) 198 EXPECT_CALL(mock_ffmpeg_, AVCodecOpen(&codec_context_, &codec_))
227 .WillOnce(Return(-1)); 199 .WillOnce(Return(-1));
228 EXPECT_CALL(mock_ffmpeg_, AVCodecClose(&codec_context_)) 200 EXPECT_CALL(mock_ffmpeg_, AVCodecClose(&codec_context_))
229 .WillOnce(Return(0)); 201 .WillOnce(Return(0));
230 EXPECT_CALL(mock_ffmpeg_, AVFree(&yuv_frame_)) 202 EXPECT_CALL(mock_ffmpeg_, AVFree(&yuv_frame_))
231 .Times(1); 203 .Times(1);
232 EXPECT_CALL(mock_ffmpeg_, AVFree(&codec_context_)) 204 EXPECT_CALL(mock_ffmpeg_, AVFree(&codec_context_))
233 .Times(1); 205 .Times(1);
234 206
235 EXPECT_CALL(*this, OnInitializeComplete(_)) 207 EXPECT_CALL(*this, OnInitializeComplete(_))
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
335 EXPECT_EQ(VideoFrame::YV16, test_engine_->GetSurfaceFormat()); 307 EXPECT_EQ(VideoFrame::YV16, test_engine_->GetSurfaceFormat());
336 codec_context_.pix_fmt = PIX_FMT_YUVJ422P; 308 codec_context_.pix_fmt = PIX_FMT_YUVJ422P;
337 EXPECT_EQ(VideoFrame::YV16, test_engine_->GetSurfaceFormat()); 309 EXPECT_EQ(VideoFrame::YV16, test_engine_->GetSurfaceFormat());
338 310
339 // Invalid value. 311 // Invalid value.
340 codec_context_.pix_fmt = PIX_FMT_NONE; 312 codec_context_.pix_fmt = PIX_FMT_NONE;
341 EXPECT_EQ(VideoFrame::INVALID, test_engine_->GetSurfaceFormat()); 313 EXPECT_EQ(VideoFrame::INVALID, test_engine_->GetSurfaceFormat());
342 } 314 }
343 315
344 } // namespace media 316 } // namespace media
OLDNEW
« no previous file with comments | « media/video/ffmpeg_video_decode_engine.cc ('k') | webkit/tools/layout_tests/test_expectations.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698