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

Unified Diff: media/filters/ffmpeg_demuxer_unittest.cc

Issue 2284923003: Implement support for multiple tracks in FFmpegDemuxer (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 3 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/ffmpeg_demuxer.cc ('k') | media/test/data/README » ('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 3e69f648ae816648813a568ae0a1288c95deefb7..a7407a1bb3394f515e5221095cde1f38df7acaf7 100644
--- a/media/filters/ffmpeg_demuxer_unittest.cc
+++ b/media/filters/ffmpeg_demuxer_unittest.cc
@@ -1311,8 +1311,70 @@ TEST_F(FFmpegDemuxerTest, Read_Mp4_Media_Track_Info) {
EXPECT_EQ(video_track.language(), "und");
}
+TEST_F(FFmpegDemuxerTest, Read_Mp4_Multiple_Tracks) {
+ CreateDemuxer("bbb-320x240-2video-2audio.mp4");
+ InitializeDemuxer();
+
+ EXPECT_EQ(media_tracks_->tracks().size(), 4u);
+
+ const MediaTrack& video_track = *(media_tracks_->tracks()[0]);
+ EXPECT_EQ(video_track.type(), MediaTrack::Video);
+ EXPECT_EQ(video_track.bytestream_track_id(), 1);
+ EXPECT_EQ(video_track.kind(), "main");
+ EXPECT_EQ(video_track.label(), "VideoHandler");
+ EXPECT_EQ(video_track.language(), "und");
+
+ const MediaTrack& audio_track = *(media_tracks_->tracks()[1]);
+ EXPECT_EQ(audio_track.type(), MediaTrack::Audio);
+ EXPECT_EQ(audio_track.bytestream_track_id(), 2);
+ EXPECT_EQ(audio_track.kind(), "main");
+ EXPECT_EQ(audio_track.label(), "SoundHandler");
+ EXPECT_EQ(audio_track.language(), "und");
+
+ const MediaTrack& video_track2 = *(media_tracks_->tracks()[2]);
+ EXPECT_EQ(video_track2.type(), MediaTrack::Video);
+ EXPECT_EQ(video_track2.bytestream_track_id(), 3);
+ EXPECT_EQ(video_track2.kind(), "main");
+ EXPECT_EQ(video_track2.label(), "VideoHandler");
+ EXPECT_EQ(video_track2.language(), "und");
+
+ const MediaTrack& audio_track2 = *(media_tracks_->tracks()[3]);
+ EXPECT_EQ(audio_track2.type(), MediaTrack::Audio);
+ EXPECT_EQ(audio_track2.bytestream_track_id(), 4);
+ EXPECT_EQ(audio_track2.kind(), "main");
+ EXPECT_EQ(audio_track2.label(), "SoundHandler");
+ EXPECT_EQ(audio_track2.language(), "und");
+}
+
#endif // defined(USE_PROPRIETARY_CODECS)
+TEST_F(FFmpegDemuxerTest, Read_Webm_Multiple_Tracks) {
+ CreateDemuxer("multitrack-3video-2audio.webm");
+ InitializeDemuxer();
+
+ EXPECT_EQ(media_tracks_->tracks().size(), 5u);
+
+ const MediaTrack& video_track1 = *(media_tracks_->tracks()[0]);
+ EXPECT_EQ(video_track1.type(), MediaTrack::Video);
+ EXPECT_EQ(video_track1.bytestream_track_id(), 1);
+
+ const MediaTrack& video_track2 = *(media_tracks_->tracks()[1]);
+ EXPECT_EQ(video_track2.type(), MediaTrack::Video);
+ EXPECT_EQ(video_track2.bytestream_track_id(), 2);
+
+ const MediaTrack& video_track3 = *(media_tracks_->tracks()[2]);
+ EXPECT_EQ(video_track3.type(), MediaTrack::Video);
+ EXPECT_EQ(video_track3.bytestream_track_id(), 3);
+
+ const MediaTrack& audio_track1 = *(media_tracks_->tracks()[3]);
+ EXPECT_EQ(audio_track1.type(), MediaTrack::Audio);
+ EXPECT_EQ(audio_track1.bytestream_track_id(), 4);
+
+ const MediaTrack& audio_track2 = *(media_tracks_->tracks()[4]);
+ EXPECT_EQ(audio_track2.type(), MediaTrack::Audio);
+ EXPECT_EQ(audio_track2.bytestream_track_id(), 5);
+}
+
TEST_F(FFmpegDemuxerTest, Read_Webm_Media_Track_Info) {
CreateDemuxer("bear.webm");
InitializeDemuxer();
« no previous file with comments | « media/filters/ffmpeg_demuxer.cc ('k') | media/test/data/README » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698