[FFmpeg-devel] [PATCH] lavf/webmdashenc: Representation IDs should be unique.

Vignesh Venkatasubramanian vigneshv at google.com
Tue Nov 11 19:02:05 CET 2014


According to the DASH spec, Representation IDs should be unique
across all adaptation sets. Fixing that and updating the fate
reference file to reflect this change.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv at google.com>
---
 libavformat/webmdashenc.c         | 3 ++-
 tests/ref/fate/webm-dash-manifest | 4 ++--
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/libavformat/webmdashenc.c b/libavformat/webmdashenc.c
index 768b5d2..4536b7d 100644
--- a/libavformat/webmdashenc.c
+++ b/libavformat/webmdashenc.c
@@ -46,6 +46,7 @@ typedef struct WebMDashMuxContext {
     char *adaptation_sets;
     AdaptationSet *as;
     int nb_as;
+    int representation_id;
 } WebMDashMuxContext;
 
 static const char *get_codec_name(int codec_id)
@@ -259,7 +260,7 @@ static int write_adaptation_set(AVFormatContext *s, int as_index)
     avio_printf(s->pb, ">\n");
 
     for (i = 0; i < as->nb_streams; i++) {
-        write_representation(s, s->streams[as->streams[i]], i,
+        write_representation(s, s->streams[as->streams[i]], w->representation_id++,
                              !width_in_as, !height_in_as, !sample_rate_in_as);
     }
     avio_printf(s->pb, "</AdaptationSet>\n");
diff --git a/tests/ref/fate/webm-dash-manifest b/tests/ref/fate/webm-dash-manifest
index 4b88040..f5fc912 100644
--- a/tests/ref/fate/webm-dash-manifest
+++ b/tests/ref/fate/webm-dash-manifest
@@ -27,7 +27,7 @@
 </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">
+<Representation id="2" bandwidth="82867">
 <BaseURL>dash_audio1.webm</BaseURL>
 <SegmentBase
   indexRange="335488-335612">
@@ -35,7 +35,7 @@
   range="0-4103" />
 </SegmentBase>
 </Representation>
-<Representation id="1" bandwidth="82814">
+<Representation id="3" bandwidth="82814">
 <BaseURL>dash_audio2.webm</BaseURL>
 <SegmentBase
   indexRange="335312-335425">
-- 
2.1.0.rc2.206.gedb03e5



More information about the ffmpeg-devel mailing list