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

Vignesh Venkatasubramanian git at videolan.org
Wed Nov 12 00:33:15 CET 2014


ffmpeg | branch: master | Vignesh Venkatasubramanian <vigneshv at google.com> | Tue Nov 11 10:02:05 2014 -0800| [597d826123dc5fd1eb00ad1b84c7d1e1f6d8e346] | committer: Michael Niedermayer

lavf/webmdashenc: Representation IDs should be unique.

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>
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=597d826123dc5fd1eb00ad1b84c7d1e1f6d8e346
---

 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">



More information about the ffmpeg-cvslog mailing list