summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVignesh Venkatasubramanian <vigneshv@google.com>2014-11-11 10:02:05 -0800
committerMichael Niedermayer <michaelni@gmx.at>2014-11-12 00:21:37 +0100
commit597d826123dc5fd1eb00ad1b84c7d1e1f6d8e346 (patch)
tree482f57bd00b676a47a6c6ff198d4e7fd1f60b29e
parentdadc1f5ee9d933cca94469604a15eb3d7bc939f0 (diff)
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@google.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavformat/webmdashenc.c3
-rw-r--r--tests/ref/fate/webm-dash-manifest4
2 files changed, 4 insertions, 3 deletions
diff --git a/libavformat/webmdashenc.c b/libavformat/webmdashenc.c
index 768b5d2383..4536b7d5a8 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 4b88040ff5..f5fc9121da 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">