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

Unified Diff: media/filters/chunk_demuxer_unittest.cc

Issue 10800041: Update media duration if data is appended after the previous duration (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 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
Index: media/filters/chunk_demuxer_unittest.cc
diff --git a/media/filters/chunk_demuxer_unittest.cc b/media/filters/chunk_demuxer_unittest.cc
index 927636acfc3827081cf6fceb2b607bcf775ffed8..1570beac5b8fc57a119404aa6e58819ab5ff54a4 100644
--- a/media/filters/chunk_demuxer_unittest.cc
+++ b/media/filters/chunk_demuxer_unittest.cc
@@ -2130,4 +2130,36 @@ TEST_F(ChunkDemuxerTest, TestTimestampOffsetMidParse) {
// Setting a timestamp should fail because we're in the middle of a cluster.
ASSERT_FALSE(demuxer_->SetTimestampOffset(kSourceId, 25));
}
+
+TEST_F(ChunkDemuxerTest, TestDurationChange) {
+ ASSERT_TRUE(InitDemuxer(true, true, false));
+
+ // Add data leading up to the currently set duration.
+ scoped_ptr<Cluster> first_cluster = GenerateCluster(
+ kDefaultDuration().InMilliseconds() - kAudioBlockDuration,
+ kDefaultDuration().InMilliseconds() - kVideoBlockDuration, 2);
+ ASSERT_TRUE(AppendData(first_cluster->data(), first_cluster->size()));
+
+ // Now add data past the duration and expect a new duration to be signalled.
+ scoped_ptr<Cluster> second_cluster = GenerateCluster(
+ kDefaultDuration().InMilliseconds(), 4);
+ EXPECT_CALL(host_, SetDuration(
+ kDefaultDuration() + base::TimeDelta::FromMilliseconds(
+ kAudioBlockDuration * 2)));
vrk (LEFT CHROMIUM) 2012/07/28 01:42:06 These values here and below are a bit weird... pro
+ ASSERT_TRUE(AppendData(second_cluster->data(), second_cluster->size()));
+}
+
+TEST_F(ChunkDemuxerTest, TestDurationChangeTimestampOffset) {
+ ASSERT_TRUE(InitDemuxer(true, true, false));
+
+ ASSERT_TRUE(demuxer_->SetTimestampOffset(kSourceId,
+ kDefaultDuration().InSecondsF()));
+ scoped_ptr<Cluster> cluster = GenerateCluster(0, 4);
+
+ EXPECT_CALL(host_, SetDuration(
+ kDefaultDuration() + base::TimeDelta::FromMilliseconds(
+ kAudioBlockDuration * 2)));
+ ASSERT_TRUE(AppendData(cluster->data(), cluster->size()));
+}
+
} // namespace media

Powered by Google App Engine
This is Rietveld 408576698