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

Unified Diff: media/filters/ffmpeg_demuxer_unittest.cc

Issue 11316293: Replace WaitableEvents and ConditionalVariables in VideoRendererBase tests with MessageLoop. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix bustage Created 8 years 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 | « media/filters/ffmpeg_audio_decoder_unittest.cc ('k') | media/filters/ffmpeg_video_decoder_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/filters/ffmpeg_demuxer_unittest.cc
diff --git a/media/filters/ffmpeg_demuxer_unittest.cc b/media/filters/ffmpeg_demuxer_unittest.cc
index 9ce865938d8352ab565492e5a631b81354a7ea1e..e0dc371d26ca0cb18e3445d949001482a55fc4a5 100644
--- a/media/filters/ffmpeg_demuxer_unittest.cc
+++ b/media/filters/ffmpeg_demuxer_unittest.cc
@@ -11,8 +11,8 @@
#include "base/file_util.h"
#include "base/path_service.h"
#include "base/threading/thread.h"
-#include "media/base/mock_callback.h"
#include "media/base/mock_demuxer_host.h"
+#include "media/base/test_helpers.h"
#include "media/ffmpeg/ffmpeg_common.h"
#include "media/filters/ffmpeg_demuxer.h"
#include "media/filters/file_data_source.h"
@@ -87,8 +87,9 @@ class FFmpegDemuxerTest : public testing::Test {
void InitializeDemuxer() {
EXPECT_CALL(host_, SetDuration(_));
- demuxer_->Initialize(&host_, NewStatusCB(PIPELINE_OK));
- message_loop_.Run();
+ WaitableMessageLoopEvent event;
+ demuxer_->Initialize(&host_, event.GetPipelineStatusCB());
+ event.RunAndWaitForStatus(PIPELINE_OK);
}
MOCK_METHOD2(OnReadDoneCalled, void(int, int64));
@@ -122,18 +123,6 @@ class FFmpegDemuxerTest : public testing::Test {
location, size, timestampInMicroseconds);
}
- PipelineStatusCB NewStatusCB(PipelineStatus expected) {
- return base::Bind(&FFmpegDemuxerTest::OnStatusDone,
- base::Unretained(this), expected);
- }
-
- void OnStatusDone(PipelineStatus expected, PipelineStatus status) {
- EXPECT_EQ(expected, status);
-
- DCHECK_EQ(&message_loop_, MessageLoop::current());
- message_loop_.PostTask(FROM_HERE, MessageLoop::QuitWhenIdleClosure());
- }
-
// Accessor to demuxer internals.
void set_duration_known(bool duration_known) {
demuxer_->duration_known_ = duration_known;
@@ -192,8 +181,9 @@ class FFmpegDemuxerTest : public testing::Test {
TEST_F(FFmpegDemuxerTest, Initialize_OpenFails) {
// Simulate avformat_open_input() failing.
CreateDemuxer("ten_byte_file");
- demuxer_->Initialize(&host_, NewStatusCB(DEMUXER_ERROR_COULD_NOT_OPEN));
- message_loop_.Run();
+ WaitableMessageLoopEvent event;
+ demuxer_->Initialize(&host_, event.GetPipelineStatusCB());
+ event.RunAndWaitForStatus(DEMUXER_ERROR_COULD_NOT_OPEN);
}
// TODO(acolwell): Uncomment this test when we discover a file that passes
@@ -209,15 +199,17 @@ TEST_F(FFmpegDemuxerTest, Initialize_OpenFails) {
TEST_F(FFmpegDemuxerTest, Initialize_NoStreams) {
// Open a file with no streams whatsoever.
CreateDemuxer("no_streams.webm");
- demuxer_->Initialize(&host_, NewStatusCB(DEMUXER_ERROR_NO_SUPPORTED_STREAMS));
- message_loop_.Run();
+ WaitableMessageLoopEvent event;
+ demuxer_->Initialize(&host_, event.GetPipelineStatusCB());
+ event.RunAndWaitForStatus(DEMUXER_ERROR_NO_SUPPORTED_STREAMS);
}
TEST_F(FFmpegDemuxerTest, Initialize_NoAudioVideo) {
// Open a file containing streams but none of which are audio/video streams.
CreateDemuxer("no_audio_video.webm");
- demuxer_->Initialize(&host_, NewStatusCB(DEMUXER_ERROR_NO_SUPPORTED_STREAMS));
- message_loop_.Run();
+ WaitableMessageLoopEvent event;
+ demuxer_->Initialize(&host_, event.GetPipelineStatusCB());
+ event.RunAndWaitForStatus(DEMUXER_ERROR_NO_SUPPORTED_STREAMS);
}
TEST_F(FFmpegDemuxerTest, Initialize_Successful) {
@@ -380,9 +372,10 @@ TEST_F(FFmpegDemuxerTest, Seek) {
message_loop_.Run();
// Issue a simple forward seek, which should discard queued packets.
+ WaitableMessageLoopEvent event;
demuxer_->Seek(base::TimeDelta::FromMicroseconds(1000000),
- NewStatusCB(PIPELINE_OK));
- message_loop_.Run();
+ event.GetPipelineStatusCB());
+ event.RunAndWaitForStatus(PIPELINE_OK);
// Audio read #1.
audio->Read(NewReadCB(FROM_HERE, 145, 803000));
@@ -553,9 +546,10 @@ TEST_F(FFmpegDemuxerTest, SeekWithCuesBeforeFirstCluster) {
message_loop_.Run();
// Issue a simple forward seek, which should discard queued packets.
+ WaitableMessageLoopEvent event;
demuxer_->Seek(base::TimeDelta::FromMicroseconds(2500000),
- NewStatusCB(PIPELINE_OK));
- message_loop_.Run();
+ event.GetPipelineStatusCB());
+ event.RunAndWaitForStatus(PIPELINE_OK);
// Audio read #1.
audio->Read(NewReadCB(FROM_HERE, 40, 2403000));
« no previous file with comments | « media/filters/ffmpeg_audio_decoder_unittest.cc ('k') | media/filters/ffmpeg_video_decoder_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698