[FFmpeg-devel] [PATCH 2/2] fate: Add basic tests for WebM Dash Manifest

Vignesh Venkatasubramanian vigneshv at google.com
Tue Aug 26 00:03:45 CEST 2014


Add fate tests that test out the functionality of WebM DASH
Manifest XML generation. This patch contains the vpx.mak file
changes and the reference gold XML files.
---
 tests/fate/vpx.mak                                 |  9 ++++
 tests/ref/fate/webm-dash-manifest                  | 48 ++++++++++++++++++++++
 .../webm-dash-manifest-unaligned-audio-streams     | 30 ++++++++++++++
 .../webm-dash-manifest-unaligned-video-streams     | 30 ++++++++++++++
 4 files changed, 117 insertions(+)
 create mode 100644 tests/ref/fate/webm-dash-manifest
 create mode 100644 tests/ref/fate/webm-dash-manifest-unaligned-audio-streams
 create mode 100644 tests/ref/fate/webm-dash-manifest-unaligned-video-streams

diff --git a/tests/fate/vpx.mak b/tests/fate/vpx.mak
index 54be950..77c7c76 100644
--- a/tests/fate/vpx.mak
+++ b/tests/fate/vpx.mak
@@ -28,6 +28,15 @@ fate-vp6f: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/flash-vp6/clip10
 FATE_VP8-$(call DEMDEC, FLV, VP8) += fate-vp8-alpha
 fate-vp8-alpha: CMD = framecrc -i $(TARGET_SAMPLES)/vp8_alpha/vp8_video_with_alpha.webm -vcodec copy
 
+FATE_VP8-$(call DEMDEC, FLV, VP8) += fate-webm-dash-manifest
+fate-webm-dash-manifest: CMD = run ffmpeg -f webm_dash_manifest -i $(TARGET_SAMPLES)/vp8/dash_video1.webm -f webm_dash_manifest -i $(TARGET_SAMPLES)/vp8/dash_video2.webm -f webm_dash_manifest -i $(TARGET_SAMPLES)/vp8/dash_audio1.webm -f webm_dash_manifest -i $(TARGET_SAMPLES)/vp8/dash_audio2.webm -c copy -map 0 -map 1 -map 2 -map 3 -f webm_dash_manifest -adaptation_sets "id=0,streams=0,1 id=1,streams=2,3" -
+
+FATE_VP8-$(call DEMDEC, FLV, VP8) += fate-webm-dash-manifest-unaligned-video-streams
+fate-webm-dash-manifest-unaligned-video-streams: CMD = run ffmpeg -f webm_dash_manifest -i $(TARGET_SAMPLES)/vp8/dash_video1.webm -f webm_dash_manifest -i $(TARGET_SAMPLES)/vp8/dash_video3.webm -c copy -map 0 -map 1 -f webm_dash_manifest -adaptation_sets "id=0,streams=0,1" -
+
+FATE_VP8-$(call DEMDEC, FLV, VP8) += fate-webm-dash-manifest-unaligned-audio-streams
+fate-webm-dash-manifest-unaligned-audio-streams: CMD = run ffmpeg -f webm_dash_manifest -i $(TARGET_SAMPLES)/vp8/dash_audio1.webm -f webm_dash_manifest -i $(TARGET_SAMPLES)/vp8/dash_audio3.webm -c copy -map 0 -map 1 -f webm_dash_manifest -adaptation_sets "id=0,streams=0,1" -
+
 FATE_SAMPLES_AVCONV += $(FATE_VP6-yes)
 fate-vp6: $(FATE_VP6-yes)
 
diff --git a/tests/ref/fate/webm-dash-manifest b/tests/ref/fate/webm-dash-manifest
new file mode 100644
index 0000000..1c1a679
--- /dev/null
+++ b/tests/ref/fate/webm-dash-manifest
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<MPD
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xmlns="urn:mpeg:DASH:schema:MPD:2011"
+  xsi:schemaLocation="urn:mpeg:DASH:schema:MPD:2011"
+  type="static"
+  mediaPresentationDuration="PT32.501S"
+  minBufferTime="PT1S"
+  profiles="urn:webm:dash:profile:webm-on-demand:2012">
+<Period id="0" start="PT0S" duration="PT32.501S" >
+<AdaptationSet id="0" mimeType="video/webm" codecs="vp8" lang="eng" width="640" height="360" bitstreamSwitching="true" subsegmentAlignment="true" subsegmentStartsWithSAP="1">
+<Representation id="0" bandwidth="302355">
+<BaseURL>dash_video1.webm</BaseURL>
+<SegmentBase
+  indexRange="1115974-1116097">
+<Initialization
+  range="0-441" />
+</SegmentBase>
+</Representation>
+<Representation id="1" bandwidth="302355">
+<BaseURL>dash_video2.webm</BaseURL>
+<SegmentBase
+  indexRange="1115782-1115886">
+<Initialization
+  range="0-249" />
+</SegmentBase>
+</Representation>
+</AdaptationSet>
+<AdaptationSet id="1" mimeType="audio/webm" codecs="vorbis" lang="eng" audioSamplingRate="44100" bitstreamSwitching="true" subsegmentAlignment="false" subsegmentStartsWithSAP="1">
+<Representation id="0" bandwidth="82867">
+<BaseURL>dash_audio1.webm</BaseURL>
+<SegmentBase
+  indexRange="335488-335612">
+<Initialization
+  range="0-4103" />
+</SegmentBase>
+</Representation>
+<Representation id="1" bandwidth="82814">
+<BaseURL>dash_audio2.webm</BaseURL>
+<SegmentBase
+  indexRange="335312-335432">
+<Initialization
+  range="0-3927" />
+</SegmentBase>
+</Representation>
+</AdaptationSet>
+</Period>
+</MPD>
diff --git a/tests/ref/fate/webm-dash-manifest-unaligned-audio-streams b/tests/ref/fate/webm-dash-manifest-unaligned-audio-streams
new file mode 100644
index 0000000..be06c41
--- /dev/null
+++ b/tests/ref/fate/webm-dash-manifest-unaligned-audio-streams
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<MPD
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xmlns="urn:mpeg:DASH:schema:MPD:2011"
+  xsi:schemaLocation="urn:mpeg:DASH:schema:MPD:2011"
+  type="static"
+  mediaPresentationDuration="PT32.501S"
+  minBufferTime="PT1S"
+  profiles="urn:webm:dash:profile:webm-on-demand:2012">
+<Period id="0" start="PT0S" duration="PT32.501S" >
+<AdaptationSet id="0" mimeType="audio/webm" codecs="vorbis" lang="eng" audioSamplingRate="44100" bitstreamSwitching="false" subsegmentAlignment="false" subsegmentStartsWithSAP="1">
+<Representation id="0" bandwidth="82867">
+<BaseURL>dash_audio1.webm</BaseURL>
+<SegmentBase
+  indexRange="335488-335612">
+<Initialization
+  range="0-4103" />
+</SegmentBase>
+</Representation>
+<Representation id="1" bandwidth="83502">
+<BaseURL>dash_audio3.webm</BaseURL>
+<SegmentBase
+  indexRange="335312-335432">
+<Initialization
+  range="0-3927" />
+</SegmentBase>
+</Representation>
+</AdaptationSet>
+</Period>
+</MPD>
\ No newline at end of file
diff --git a/tests/ref/fate/webm-dash-manifest-unaligned-video-streams b/tests/ref/fate/webm-dash-manifest-unaligned-video-streams
new file mode 100644
index 0000000..96ca2b0
--- /dev/null
+++ b/tests/ref/fate/webm-dash-manifest-unaligned-video-streams
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<MPD
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xmlns="urn:mpeg:DASH:schema:MPD:2011"
+  xsi:schemaLocation="urn:mpeg:DASH:schema:MPD:2011"
+  type="static"
+  mediaPresentationDuration="PT32.48S"
+  minBufferTime="PT1S"
+  profiles="urn:webm:dash:profile:webm-on-demand:2012">
+<Period id="0" start="PT0S" duration="PT32.48S" >
+<AdaptationSet id="0" mimeType="video/webm" codecs="vp8" lang="eng" width="640" height="360" bitstreamSwitching="true" subsegmentAlignment="false" subsegmentStartsWithSAP="0">
+<Representation id="0" bandwidth="302355">
+<BaseURL>dash_video1.webm</BaseURL>
+<SegmentBase
+  indexRange="1115974-1116097">
+<Initialization
+  range="0-441" />
+</SegmentBase>
+</Representation>
+<Representation id="1" bandwidth="321574">
+<BaseURL>dash_video3.webm</BaseURL>
+<SegmentBase
+  indexRange="1116070-1116461">
+<Initialization
+  range="0-249" />
+</SegmentBase>
+</Representation>
+</AdaptationSet>
+</Period>
+</MPD>
\ No newline at end of file
-- 
2.0.0.526.g5318336



More information about the ffmpeg-devel mailing list