Andreas Rheinhardt: > Signed-off-by: Andreas Rheinhardt <andreas.rheinha...@outlook.com> > --- > libavformat/aeadec.c | 15 ++++++++++++--- > 1 file changed, 12 insertions(+), 3 deletions(-) > > diff --git a/libavformat/aeadec.c b/libavformat/aeadec.c > index 4cb2da6639..20170a89b3 100644 > --- a/libavformat/aeadec.c > +++ b/libavformat/aeadec.c > @@ -23,6 +23,7 @@ > #include "libavutil/channel_layout.h" > #include "libavutil/intreadwrite.h" > #include "avformat.h" > +#include "avio_internal.h" > #include "demux.h" > #include "pcm.h" > > @@ -59,12 +60,20 @@ static int aea_read_probe(const AVProbeData *p) > static int aea_read_header(AVFormatContext *s) > { > AVStream *st = avformat_new_stream(s, NULL); > - int channels; > + char title[256 + 1]; > + int channels, ret; > if (!st) > return AVERROR(ENOMEM); > > - /* Parse the amount of channels and skip to pos 2048(0x800) */ > - avio_skip(s->pb, 264); > + /* Read the title, parse the number of channels and skip to pos > 2048(0x800) */ > + avio_rl32(s->pb); // magic > + ret = ffio_read_size(s->pb, title, sizeof(title) - 1); > + if (ret < 0) > + return ret; > + title[sizeof(title) - 1] = '\0'; > + if (title[0] != '\0') > + av_dict_set(&st->metadata, "title", title, 0); > + avio_rl32(s->pb); // Block count > channels = avio_r8(s->pb); > avio_skip(s->pb, 1783); >
Will apply this patchset tonight unless there are objections. - Andreas _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".