Browse Source

avformat/dsddec: create audio stream before processing id3

This ensures stream[0] is always the audio stream (an assumption made
in dsf_read_packet).

Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.3
Peter Ross Michael Niedermayer 11 years ago
parent
commit
0a13487b1a
1 changed files with 5 additions and 4 deletions
  1. +5
    -4
      libavformat/dsfdec.c

+ 5
- 4
libavformat/dsfdec.c View File

@@ -70,6 +70,11 @@ static int dsf_read_header(AVFormatContext *s)
if (avio_rl64(pb) != 28)
return AVERROR_INVALIDDATA;

/* create primary stream before any id3 coverart streams */
st = avformat_new_stream(s, NULL);
if (!st)
return AVERROR(ENOMEM);

avio_skip(pb, 8);
id3pos = avio_rl64(pb);
if (pb->seekable) {
@@ -92,10 +97,6 @@ static int dsf_read_header(AVFormatContext *s)
return AVERROR_INVALIDDATA;
}

st = avformat_new_stream(s, NULL);
if (!st)
return AVERROR(ENOMEM);

channel_type = avio_rl32(pb);
if (channel_type < FF_ARRAY_ELEMS(dsf_channel_layout))
st->codec->channel_layout = dsf_channel_layout[channel_type];


Loading…
Cancel
Save