[MPlayer-cvslog] r32035 - in branches/1.0rc4: . libmpdemux/demux_lavf.c

Aurelien Jacobs aurel at gnuage.org
Wed Sep 1 00:02:46 CEST 2010


On Tue, Aug 31, 2010 at 07:45:29AM +0200, Reimar Döffinger wrote:
> On Mon, Aug 30, 2010 at 10:07:34PM +0200, siretart wrote:
> > Author: siretart
> > Date: Mon Aug 30 22:07:34 2010
> > New Revision: 32035
> > 
> > Log:
> > Always use convergence_duration for subtitles otherwise
> > they will stay on screen forever for ASS subtitles in mkv
> > if no ASS renderer is used.
> > 
> > backport r32032 by reimar
> 
> Actually I noticed that only fixes non-ASS subtitles in MKV,
> for ASS subs convergence_duration is not set.
> We'd have to parse the end time out of the text,

Sure ! That's the only way to go.

> but I think that's ridiculous since the demuxer had the value
> as a number originally and sprintfs it explicitly.

No, the demuxer generally don't have the subtitle display duration
as a field. Matroska is really an exception here, but avi, nut and
others don't have such a field.
So you really can't expect to get this value from the demuxer.
You can give it a try with the following sample (with -demuxer lavf):
http://samples.mplayerhq.hu/avi/mewmew-ssa.avi

> Hope the lavf mkv demuxer will soon be improved on that.

It will be improved by not exporting text-only subtitles anymore.
There is actually no such thing as text-only subtitle in Matroska.
It is actually SubRip formatted subtitles (with html like tags, such
as <b>, <i>, etc...). So the mkv demuxer will export this as SubRip
event, and thus, won't have to misuse convergence_duration anymore,
because the duration will be contained in the SubRip text itself.

But hopefully, mplayer won't need to care about this. There will
also be a SubRip decoder, which will just output ASS event.
So mplayer will simply have to use lavc to decode subtitles packets
and be able to display ASS events.

Aurel


More information about the MPlayer-cvslog mailing list