lavf/webmdashenc: Representation IDs should be unique.
authorVignesh Venkatasubramanian <vigneshv@google.com>
Tue, 11 Nov 2014 18:02:05 +0000 (10:02 -0800)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 11 Nov 2014 23:21:37 +0000 (00:21 +0100)
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@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/webmdashenc.c
tests/ref/fate/webm-dash-manifest

index 768b5d2..4536b7d 100644 (file)
@@ -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");
index 4b88040..f5fc912 100644 (file)
@@ -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">