[FFmpeg-cvslog] r13242 - trunk/libavformat/matroskadec.c

Aurelien Jacobs aurel
Fri May 23 14:00:12 CEST 2008


Michael Niedermayer wrote:

> On Fri, May 23, 2008 at 01:04:02AM +0200, aurel wrote:
> > Author: aurel
> > Date: Fri May 23 01:04:02 2008
> > New Revision: 13242
> > 
> > Log:
> > matroskadec: allows inserting chapters with unspecified end
> > 
> > Modified:
> >    trunk/libavformat/matroskadec.c
> > 
> > Modified: trunk/libavformat/matroskadec.c
> > ==============================================================================
> > --- trunk/libavformat/matroskadec.c	(original)
> > +++ trunk/libavformat/matroskadec.c	Fri May 23 01:04:02 2008
> > @@ -2250,8 +2250,12 @@ matroska_parse_chapters(AVFormatContext 
> >                          }
> >                      }
> >  
> > -                    if(start != AV_NOPTS_VALUE && end != AV_NOPTS_VALUE)
> > -                        res = ff_new_chapter(s, start * AV_TIME_BASE / 1000000000 , end * AV_TIME_BASE / 1000000000, title ? title : "(unnamed)");
> > +                    if (start != AV_NOPTS_VALUE) {
> > +                        start = start * AV_TIME_BASE / 1000000000;
> > +                        if (end != AV_NOPTS_VALUE)
> > +                            end = end * AV_TIME_BASE / 1000000000;
> > +                        res = ff_new_chapter(s, start, end, title ? title : "(unnamed)");
> > +                    }
> >                      av_free(title);
> 
> What does a chapter with no end mean?

It means that the end is unknown.
This is not a problem for players who only allow users to seek
to the start of chapters. They don't use the end information.
Chapters can be use as a kind of track index, pointing to the
start of every audio tracks present in one stream.
Obviously, a video editor software which would allows extracting
one chapter out of a file couldn't use such partial chapters
information.

> Can there be more than one?

Sure.

> Does it end with the start of the next?

That's left to the appreciation of the software using lavf.
But that's should generally be a safe assumption.

> If so we need code to fix up these missing ends.

That could be nice. Still I'm not sure whether this fix up
should be done automatically by lavf, or if the calling
software have to explicitly call the fix_up function.

Aurel




More information about the ffmpeg-cvslog mailing list