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

Aurelien Jacobs aurel at gnuage.org
Wed Sep 1 16:42:02 CEST 2010


On Wed, Sep 01, 2010 at 08:05:27AM +0200, Reimar Döffinger wrote:
> On Wed, Sep 01, 2010 at 12:02:46AM +0200, Aurelien Jacobs wrote:
> > 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.
> 
> Will you implement it?

Probably yes.
But only after I get the ASS and SubRip decoder in libavcodec (currently
working on it) and that I make use of them in av_sub.c.
The end_time parsing might be implemented in av_sub.c (I haven't checked
yet where is the best place).

> Because honestly I am a bit annoyed that you almost attack people
> who try to improve the mkv demuxer while several things are _still_
> broken with lavf and I seem to be the only one trying to make it
> work.

Huh ??? Didn't I worked on removing the MAX_STREAMS limit in lavf ?
And I'm also working on implementing ASS and SubRip decoder in lavc
so that all "text" subtitle comming from lavf (whatever container it
comes from) arrive in one single common format (AVSubtitle) to mplayer.

Are you aware of anything else broken in lavf (mkv related) ?

> > > 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.
> 
> That doesn't make it less silly to have to do a full sprintf->sscanf
> roundtrip when the value we want is already there.

So are you saying that every single lavf user should implement this

  if (lavf->subtitle_duration)
      duration = lavf->subtitle_duration;
  else
      sscanf("...", &duration);

instead of just this ?

  sscanf("...", &duration);

If so, I guess we have a different definition of what's silly...

I think one of the goal of lavf is to give access to all kind of media
formats under one common API. Providing a different API for every format
supported by lavf, would make it a hell to use.

Aurel


More information about the MPlayer-cvslog mailing list