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

Unified Diff: media/filters/chunk_demuxer_unittest.cc

Issue 180153003: Implement core of compliant MediaSource coded frame processing (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: A couple nits, still not ready for review. Created 6 years, 9 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') | media/filters/frame_processor.h » ('j') | 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 7bc7385bc3828303a7e6cce7dacd5c060dd27aed..7f886341252513da3353ea71d2cf1cf278bc090e 100644
--- a/media/filters/chunk_demuxer_unittest.cc
+++ b/media/filters/chunk_demuxer_unittest.cc
@@ -1647,7 +1647,10 @@ TEST_F(ChunkDemuxerTest, AppendingInPieces) {
GenerateExpectedReads(0, 9);
}
-TEST_F(ChunkDemuxerTest, WebMFile_AudioAndVideo) {
+// TODO(acolwell/wolenetz): Re-enable for use with compliant coded frame
+// processor (see http://crbug.com/249422) once WebM stream parser fixed to
+// always emit frames with valid durations (see http://crbug.com/351166).
+TEST_F(ChunkDemuxerTest, DISABLED_WebMFile_AudioAndVideo) {
struct BufferTimestamps buffer_timestamps[] = {
{0, 0},
{33, 3},
@@ -1666,7 +1669,10 @@ TEST_F(ChunkDemuxerTest, WebMFile_AudioAndVideo) {
base::TimeDelta::FromMilliseconds(2768)));
}
-TEST_F(ChunkDemuxerTest, WebMFile_LiveAudioAndVideo) {
+// TODO(acolwell/wolenetz): Re-enable for use with compliant coded frame
+// processor (see http://crbug.com/249422) once WebM stream parser fixed to
+// always emit frames with valid durations (see http://crbug.com/351166).
+TEST_F(ChunkDemuxerTest, DISABLED_WebMFile_LiveAudioAndVideo) {
struct BufferTimestamps buffer_timestamps[] = {
{0, 0},
{33, 3},
@@ -1680,7 +1686,10 @@ TEST_F(ChunkDemuxerTest, WebMFile_LiveAudioAndVideo) {
kInfiniteDuration()));
}
-TEST_F(ChunkDemuxerTest, WebMFile_AudioOnly) {
+// TODO(acolwell/wolenetz): Re-enable for use with compliant coded frame
+// processor (see http://crbug.com/249422) once WebM stream parser fixed to
+// always emit frames with valid durations (see http://crbug.com/351166).
+TEST_F(ChunkDemuxerTest, DISABLED_WebMFile_AudioOnly) {
struct BufferTimestamps buffer_timestamps[] = {
{kSkip, 0},
{kSkip, 3},
@@ -1700,7 +1709,10 @@ TEST_F(ChunkDemuxerTest, WebMFile_AudioOnly) {
HAS_AUDIO));
}
-TEST_F(ChunkDemuxerTest, WebMFile_VideoOnly) {
+// TODO(acolwell/wolenetz): Re-enable for use with compliant coded frame
+// processor (see http://crbug.com/249422) once WebM stream parser fixed to
+// always emit frames with valid durations (see http://crbug.com/351166).
+TEST_F(ChunkDemuxerTest, DISABLED_WebMFile_VideoOnly) {
struct BufferTimestamps buffer_timestamps[] = {
{0, kSkip},
{33, kSkip},
@@ -1720,7 +1732,10 @@ TEST_F(ChunkDemuxerTest, WebMFile_VideoOnly) {
HAS_VIDEO));
}
-TEST_F(ChunkDemuxerTest, WebMFile_AltRefFrames) {
+// TODO(acolwell/wolenetz): Re-enable for use with compliant coded frame
+// processor (see http://crbug.com/249422) once WebM stream parser fixed to
+// always emit frames with valid durations (see http://crbug.com/351166).
+TEST_F(ChunkDemuxerTest, DISABLED_WebMFile_AltRefFrames) {
struct BufferTimestamps buffer_timestamps[] = {
{0, 0},
{33, 3},
@@ -2502,7 +2517,10 @@ TEST_F(ChunkDemuxerTest, EndOfStreamDuringSeek) {
end_of_stream_helper.CheckIfReadDonesWereCalled(true);
}
-TEST_F(ChunkDemuxerTest, ConfigChange_Video) {
+// TODO(acolwell/wolenetz): Re-enable for use with compliant coded frame
+// processor (see http://crbug.com/249422) once WebM stream parser fixed to
+// always emit frames with valid durations (see http://crbug.com/351166).
+TEST_F(ChunkDemuxerTest, DISABLED_ConfigChange_Video) {
InSequence s;
ASSERT_TRUE(InitDemuxerWithConfigChangeData());
@@ -2549,7 +2567,10 @@ TEST_F(ChunkDemuxerTest, ConfigChange_Video) {
ASSERT_EQ(status, DemuxerStream::kOk);
}
-TEST_F(ChunkDemuxerTest, ConfigChange_Audio) {
+// TODO(acolwell/wolenetz): Re-enable for use with compliant coded frame
+// processor (see http://crbug.com/249422) once WebM stream parser fixed to
+// always emit frames with valid durations (see http://crbug.com/351166).
+TEST_F(ChunkDemuxerTest, DISABLED_ConfigChange_Audio) {
InSequence s;
ASSERT_TRUE(InitDemuxerWithConfigChangeData());
@@ -2596,7 +2617,10 @@ TEST_F(ChunkDemuxerTest, ConfigChange_Audio) {
ASSERT_EQ(status, DemuxerStream::kOk);
}
-TEST_F(ChunkDemuxerTest, ConfigChange_Seek) {
+// TODO(acolwell/wolenetz): Re-enable for use with compliant coded frame
+// processor (see http://crbug.com/249422) once WebM stream parser fixed to
+// always emit frames with valid durations (see http://crbug.com/351166).
+TEST_F(ChunkDemuxerTest, DISABLED_ConfigChange_Seek) {
InSequence s;
ASSERT_TRUE(InitDemuxerWithConfigChangeData());
@@ -2753,12 +2777,6 @@ TEST_F(ChunkDemuxerTest, DurationChange) {
// Add data beginning at the currently set duration and expect a new duration
// to be signaled. Note that the last video block will have a higher end
// timestamp than the last audio block.
- // TODO(wolenetz): Compliant coded frame processor will emit a max of one
- // duration change per each ProcessFrames(). Remove the first expectation here
- // once compliant coded frame processor is used. See http://crbug.com/249422.
- const int kNewStreamDurationAudio = kStreamDuration + kAudioBlockDuration;
- EXPECT_CALL(host_, SetDuration(
- base::TimeDelta::FromMilliseconds(kNewStreamDurationAudio)));
const int kNewStreamDurationVideo = kStreamDuration + kVideoBlockDuration;
EXPECT_CALL(host_, SetDuration(
base::TimeDelta::FromMilliseconds(kNewStreamDurationVideo)));
@@ -2785,12 +2803,6 @@ TEST_F(ChunkDemuxerTest, DurationChangeTimestampOffset) {
ASSERT_TRUE(SetTimestampOffset(kSourceId, kDefaultDuration()));
- // TODO(wolenetz): Compliant coded frame processor will emit a max of one
- // duration change per each ProcessFrames(). Remove the first expectation here
- // once compliant coded frame processor is used. See http://crbug.com/249422.
- EXPECT_CALL(host_, SetDuration(
- kDefaultDuration() + base::TimeDelta::FromMilliseconds(
- kAudioBlockDuration * 2)));
EXPECT_CALL(host_, SetDuration(
kDefaultDuration() + base::TimeDelta::FromMilliseconds(
kVideoBlockDuration * 2)));
@@ -3172,8 +3184,13 @@ TEST_F(ChunkDemuxerTest, SeekCompletesWithoutTextCues) {
EXPECT_FALSE(text_read_done);
// Read some audio & video buffers to further verify seek completion.
- CheckExpectedBuffers(audio_stream, "120 140");
- CheckExpectedBuffers(video_stream, "120 150");
+ // Note that audio frame duration is 23ms, so post-seek, the first audio
wolenetz 2014/03/20 19:36:40 acolwell@: Note, this is the interesting discrepan
wolenetz 2014/03/28 19:36:38 Once rebased onto my webm frame duration deriver/e
+ // frame returned is the one beginning at time 100 (that is end-overlapped
+ // by the next frame at time 120). Similarly, the first video frame returned
+ // is the one beginning at time 90 (that is end-overlapped by the next frame
+ // at time 120).
+ CheckExpectedBuffers(audio_stream, "100 120 140");
+ CheckExpectedBuffers(video_stream, "90 120 150");
EXPECT_FALSE(text_read_done);
« no previous file with comments | « media/filters/chunk_demuxer.cc ('k') | media/filters/frame_processor.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698