[MPlayer-dev-eng] [PATCH] libass: fix parsing of tracks extracted from containers

Aurelien Jacobs aurel at gnuage.org
Thu Sep 11 01:05:26 CEST 2008


Uoti Urpala wrote:

> On Tue, 2008-09-09 at 16:32 +0200, Aurelien Jacobs wrote:
> > Here we have 2 different formats. One which can contain the subtitle display
> > duration through the mean of start time and end time (aka .ass format) and
> > one which can't store this information (aka matroska's ass format).
> 
> Actually we have only one existing muxed format: the Matroska one. What
> you called the ".ass" format and wanted to use internally in demuxer
> packets is [...]

parsed and decoded by any ASS decoder out there.

> > The only format left is standard .ass format (unless you can show me another
> > more popular format which can store display duration by itself).
> 
> As explained above your ".ass format" is only a popular format for
> complete files, not for subtitle packets.

And by the fact that any ASS decoder already have anything needed to
decode it.

> > I don't say that standard .ass is perfect or anything, but that's the least
> > worst format we have which contains display duration, and no one came up
> > with anything better up to now.
> 
> An obvious less-broken alternative for muxing into containers which
> cannot keep duration at the container level is to modify the Matroska
> format to add duration inside the packet. So instead of your absolute
> start time and absolute stop time there would be only duration relative
> to the start time, and start time would be specified by the
> container-level pts.

I agree that storing only the duration instead of start and end time
in muxed packet would have some small advantages. And if there were a
specification and wild acceptance for such a format in the ASS community,
I would probably have picked this one.
But I certainly don't want of a new ffmpeg/MPlayer specific format that
won't be recognized by most ASS parser/muxers/...

I'm definitely fed-up with this discussion which won't bring us anywhere,
so I will sum-up my position one last time:
 - I won't accept using format that don't contain display_duration
   (in one way or another) as an interchange format between
   muxers/demuxers/decoders.
 - I also won't accept a format that don't have a formal spec and a
   wild acceptance.
 - I am totally open to a format containing a duration (instead of start
   and end time) and a ReadOrder, as long as it meats above requirements.

Now, if you really care that much about this issue, you can simply
write some spec for the perfect format of your dream (ensuring it meats
above requirements), promote it and get it accepted by the ASS
development community. I will then be happy to implement this new
superior format in lavf.
And if you don't care enough... Why should I ?

I'm now awaiting for your formal spec and switching to other tasks
in the meantime.

Aurel



More information about the MPlayer-dev-eng mailing list