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

Unified Diff: media/filters/chunk_demuxer_unittest.cc

Issue 17261029: Fix ChunkDemuxer seek and init callback dispatch. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address CR comment Created 7 years, 6 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 | « media/filters/chunk_demuxer.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/filters/chunk_demuxer_unittest.cc
diff --git a/media/filters/chunk_demuxer_unittest.cc b/media/filters/chunk_demuxer_unittest.cc
index 54285effbdf39b19bdea2f313878bcc5148a0324..c0f7ec061b7a50b2ad499213357e0c2f4dd81baa 100644
--- a/media/filters/chunk_demuxer_unittest.cc
+++ b/media/filters/chunk_demuxer_unittest.cc
@@ -460,8 +460,10 @@ class ChunkDemuxerTest : public testing::Test {
}
void ShutdownDemuxer() {
- if (demuxer_)
+ if (demuxer_) {
demuxer_->Shutdown();
+ message_loop_.RunUntilIdle();
+ }
}
void AddSimpleBlock(ClusterBuilder* cb, int track_num, int64 timecode) {
@@ -893,6 +895,8 @@ TEST_F(ChunkDemuxerTest, TestAppendDataAfterSeek) {
AppendData(cluster->data(), cluster->size());
+ message_loop_.RunUntilIdle();
+
Checkpoint(2);
}
@@ -1733,11 +1737,15 @@ TEST_F(ChunkDemuxerTest, TestEndOfStreamAfterPastEosSeek) {
demuxer_->StartWaitingForSeek();
demuxer_->Seek(base::TimeDelta::FromMilliseconds(110),
base::Bind(OnSeekDone_OKExpected, &seek_cb_was_called));
+ message_loop_.RunUntilIdle();
+
EXPECT_FALSE(seek_cb_was_called);
EXPECT_CALL(host_, SetDuration(
base::TimeDelta::FromMilliseconds(120)));
demuxer_->EndOfStream(PIPELINE_OK);
+ message_loop_.RunUntilIdle();
+
EXPECT_TRUE(seek_cb_was_called);
ShutdownDemuxer();
@@ -1767,11 +1775,15 @@ TEST_F(ChunkDemuxerTest, TestEndOfStreamDuringPendingSeek) {
demuxer_->StartWaitingForSeek();
demuxer_->Seek(base::TimeDelta::FromMilliseconds(160),
base::Bind(OnSeekDone_OKExpected, &seek_cb_was_called));
+ message_loop_.RunUntilIdle();
+
EXPECT_FALSE(seek_cb_was_called);
EXPECT_CALL(host_, SetDuration(
base::TimeDelta::FromMilliseconds(300)));
demuxer_->EndOfStream(PIPELINE_OK);
+ message_loop_.RunUntilIdle();
+
EXPECT_FALSE(seek_cb_was_called);
scoped_ptr<Cluster> cluster_a3(
@@ -1780,6 +1792,9 @@ TEST_F(ChunkDemuxerTest, TestEndOfStreamDuringPendingSeek) {
GenerateSingleStreamCluster(140, 180, kVideoTrackNum, 5));
AppendData(cluster_a3->data(), cluster_a3->size());
AppendData(cluster_v3->data(), cluster_v3->size());
+
+ message_loop_.RunUntilIdle();
+
EXPECT_TRUE(seek_cb_was_called);
ShutdownDemuxer();
« no previous file with comments | « media/filters/chunk_demuxer.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698