| Index: media/filters/ffmpeg_demuxer_unittest.cc
|
| diff --git a/media/filters/ffmpeg_demuxer_unittest.cc b/media/filters/ffmpeg_demuxer_unittest.cc
|
| index 97631d49e2366853fee83444869f508d0e1f13f4..0bb21c07ecc594be28ea0bd862ebb0f3d72aecb2 100644
|
| --- a/media/filters/ffmpeg_demuxer_unittest.cc
|
| +++ b/media/filters/ffmpeg_demuxer_unittest.cc
|
| @@ -1,12 +1,12 @@
|
| -// Copyright (c) 2010 The Chromium Authors. All rights reserved.
|
| +// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| #include <deque>
|
|
|
| -#include "base/callback.h"
|
| #include "base/threading/thread.h"
|
| #include "media/base/filters.h"
|
| +#include "media/base/mock_callback.h"
|
| #include "media/base/mock_ffmpeg.h"
|
| #include "media/base/mock_filter_host.h"
|
| #include "media/base/mock_filters.h"
|
| @@ -113,9 +113,7 @@ class FFmpegDemuxerTest : public testing::Test {
|
|
|
| virtual ~FFmpegDemuxerTest() {
|
| // Call Stop() to shut down internal threads.
|
| - EXPECT_CALL(callback_, OnFilterCallback());
|
| - EXPECT_CALL(callback_, OnCallbackDestroyed());
|
| - demuxer_->Stop(callback_.NewCallback());
|
| + demuxer_->Stop(NewExpectedCallback());
|
|
|
| // Finish up any remaining tasks.
|
| message_loop_.RunAllPending();
|
| @@ -140,17 +138,13 @@ class FFmpegDemuxerTest : public testing::Test {
|
| void InitializeDemuxer() {
|
| InitializeDemuxerMocks();
|
|
|
| - // We expect a successful initialization.
|
| - EXPECT_CALL(callback_, OnFilterCallback());
|
| - EXPECT_CALL(callback_, OnCallbackDestroyed());
|
| -
|
| // Since we ignore data streams, the duration should be equal to the longest
|
| // supported stream's duration (audio, in this case).
|
| base::TimeDelta expected_duration =
|
| base::TimeDelta::FromMicroseconds(kDurations[AV_STREAM_AUDIO]);
|
| EXPECT_CALL(host_, SetDuration(expected_duration));
|
|
|
| - demuxer_->Initialize(data_source_.get(), callback_.NewCallback());
|
| + demuxer_->Initialize(data_source_.get(), NewExpectedCallback());
|
| message_loop_.RunAllPending();
|
| }
|
|
|
| @@ -158,7 +152,6 @@ class FFmpegDemuxerTest : public testing::Test {
|
| scoped_refptr<FFmpegDemuxer> demuxer_;
|
| scoped_refptr<StrictMock<MockDataSource> > data_source_;
|
| StrictMock<MockFilterHost> host_;
|
| - StrictMock<MockFilterCallback> callback_;
|
| MessageLoop message_loop_;
|
|
|
| // FFmpeg fixtures.
|
| @@ -190,10 +183,8 @@ TEST_F(FFmpegDemuxerTest, Initialize_OpenFails) {
|
| EXPECT_CALL(*MockFFmpeg::get(), AVOpenInputFile(_, _, NULL, 0, NULL))
|
| .WillOnce(Return(-1));
|
| EXPECT_CALL(host_, SetError(DEMUXER_ERROR_COULD_NOT_OPEN));
|
| - EXPECT_CALL(callback_, OnFilterCallback());
|
| - EXPECT_CALL(callback_, OnCallbackDestroyed());
|
|
|
| - demuxer_->Initialize(data_source_.get(), callback_.NewCallback());
|
| + demuxer_->Initialize(data_source_.get(), NewExpectedCallback());
|
| message_loop_.RunAllPending();
|
| }
|
|
|
| @@ -205,10 +196,8 @@ TEST_F(FFmpegDemuxerTest, Initialize_ParseFails) {
|
| .WillOnce(Return(AVERROR_IO));
|
| EXPECT_CALL(*MockFFmpeg::get(), AVCloseInputFile(&format_context_));
|
| EXPECT_CALL(host_, SetError(DEMUXER_ERROR_COULD_NOT_PARSE));
|
| - EXPECT_CALL(callback_, OnFilterCallback());
|
| - EXPECT_CALL(callback_, OnCallbackDestroyed());
|
|
|
| - demuxer_->Initialize(data_source_.get(), callback_.NewCallback());
|
| + demuxer_->Initialize(data_source_.get(), NewExpectedCallback());
|
| message_loop_.RunAllPending();
|
| }
|
|
|
| @@ -219,11 +208,9 @@ TEST_F(FFmpegDemuxerTest, Initialize_NoStreams) {
|
| InitializeDemuxerMocks();
|
| }
|
| EXPECT_CALL(host_, SetError(DEMUXER_ERROR_NO_SUPPORTED_STREAMS));
|
| - EXPECT_CALL(callback_, OnFilterCallback());
|
| - EXPECT_CALL(callback_, OnCallbackDestroyed());
|
| format_context_.nb_streams = 0;
|
|
|
| - demuxer_->Initialize(data_source_.get(), callback_.NewCallback());
|
| + demuxer_->Initialize(data_source_.get(), NewExpectedCallback());
|
| message_loop_.RunAllPending();
|
| }
|
|
|
| @@ -234,12 +221,10 @@ TEST_F(FFmpegDemuxerTest, Initialize_DataStreamOnly) {
|
| InitializeDemuxerMocks();
|
| }
|
| EXPECT_CALL(host_, SetError(DEMUXER_ERROR_NO_SUPPORTED_STREAMS));
|
| - EXPECT_CALL(callback_, OnFilterCallback());
|
| - EXPECT_CALL(callback_, OnCallbackDestroyed());
|
| EXPECT_EQ(format_context_.streams[0], &streams_[AV_STREAM_DATA]);
|
| format_context_.nb_streams = 1;
|
|
|
| - demuxer_->Initialize(data_source_.get(), callback_.NewCallback());
|
| + demuxer_->Initialize(data_source_.get(), NewExpectedCallback());
|
| message_loop_.RunAllPending();
|
| }
|
|
|
| @@ -447,9 +432,7 @@ TEST_F(FFmpegDemuxerTest, Seek) {
|
| .WillOnce(Return(0));
|
|
|
| // ...then our callback will be executed...
|
| - StrictMock<MockFilterCallback> seek_callback;
|
| - EXPECT_CALL(seek_callback, OnFilterCallback());
|
| - EXPECT_CALL(seek_callback, OnCallbackDestroyed());
|
| + FilterCallback* seek_callback = NewExpectedCallback();
|
| EXPECT_CALL(*MockFFmpeg::get(), CheckPoint(2));
|
|
|
| // ...followed by two audio packet reads we'll trigger...
|
| @@ -492,7 +475,7 @@ TEST_F(FFmpegDemuxerTest, Seek) {
|
|
|
| // Issue a simple forward seek, which should discard queued packets.
|
| demuxer_->Seek(base::TimeDelta::FromMicroseconds(kExpectedTimestamp),
|
| - seek_callback.NewCallback());
|
| + seek_callback);
|
| message_loop_.RunAllPending();
|
| MockFFmpeg::get()->CheckPoint(2);
|
|
|
| @@ -578,9 +561,7 @@ TEST_F(FFmpegDemuxerTest, Stop) {
|
| ASSERT_TRUE(audio);
|
|
|
| // Stop the demuxer.
|
| - EXPECT_CALL(callback_, OnFilterCallback());
|
| - EXPECT_CALL(callback_, OnCallbackDestroyed());
|
| - demuxer_->Stop(callback_.NewCallback());
|
| + demuxer_->Stop(NewExpectedCallback());
|
|
|
| // Expect all calls in sequence.
|
| InSequence s;
|
| @@ -705,9 +686,7 @@ TEST_F(FFmpegDemuxerTest, ProtocolRead) {
|
|
|
| // This read complete signal is generated when demuxer is stopped.
|
| EXPECT_CALL(*demuxer, SignalReadCompleted(DataSource::kReadError));
|
| - EXPECT_CALL(callback_, OnFilterCallback());
|
| - EXPECT_CALL(callback_, OnCallbackDestroyed());
|
| - demuxer->Stop(callback_.NewCallback());
|
| + demuxer->Stop(NewExpectedCallback());
|
| message_loop_.RunAllPending();
|
| }
|
|
|
|
|