[FFmpeg-devel] [PATCH 2/3] lavf/aiffdec: don't stop parsing after SSND chunk
Matthieu Bouron
matthieu.bouron at gmail.com
Sun Jul 1 22:37:24 CEST 2012
On Sun, Jul 01, 2012 at 08:59:04PM +0200, Michael Niedermayer wrote:
> On Sun, Jul 01, 2012 at 08:10:45PM +0200, Matthieu Bouron wrote:
> > On Sun, Jul 01, 2012 at 04:18:58PM +0200, Michael Niedermayer wrote:
> > > On Sun, Jul 01, 2012 at 11:16:42AM +0200, Matthieu Bouron wrote:
> > > > Some file has ID3 chunk placed after SSND.
> > > > ---
> > > > libavformat/aiffdec.c | 2 --
> > > > 1 file changed, 2 deletions(-)
> > > >
> > > > diff --git a/libavformat/aiffdec.c b/libavformat/aiffdec.c
> > > > index 4083316..9764f82 100644
> > > > --- a/libavformat/aiffdec.c
> > > > +++ b/libavformat/aiffdec.c
> > > > @@ -251,8 +251,6 @@ static int aiff_read_header(AVFormatContext *s)
> > > > offset = avio_rb32(pb); /* Offset of sound data */
> > > > avio_rb32(pb); /* BlockSize... don't care */
> > > > offset += avio_tell(pb); /* Compute absolute data offset */
> > > > - if (st->codec->block_align) /* Assume COMM already parsed */
> > > > - goto got_sound;
> > > > if (!pb->seekable) {
> > > > av_log(s, AV_LOG_ERROR, "file is not seekable\n");
> > > > return -1;
> > >
> > > this will probably cause the whole file to be read in
> > > aiff_read_header() in some cases
> > >
> > Yes, this will cause ffmpeg to seek at the start of every chunks.
> > This is required for some file (for example aiff files purchased from
> > beatport.com) which has their ID3 chunk after the SSND chunk.
> >
> > Maybe a better solution would be to add an option which tell the demuxer to
> > look for other chunks after SSND ?
>
> where is the id3 chunk exactly in relation to the audio data and
> other chunks as well as offset ?
>
In my case, the ID3 chunk is placed after the entire SSND chunk (including
audio data). Anyway i didn't find any documentations which specify that
the ID3 chunk should be before or after the SSND chunk (or another type of
chunk).
Here is the documentation i used:
- http://www-mmsp.ece.mcgill.ca/documents/audioformats/aiff/aiff.html
- http://en.wikipedia.org/wiki/ID3 (Implementation in non-mp3s and
alternatives chapter)
More information about the ffmpeg-devel
mailing list