[MPlayer-users] Re: disappearing subtitles at dvd chapter intervals

Robert Henney robh at rut.org
Mon Mar 24 11:28:36 CET 2003


More details.  If I start mplayer at a point as close to the beginning of 
the next segment as I can get it (like 0.2 into the segment), I get slightly
different output:

Start display! pts100=0 date=0
Stop display! pts100=0 date=2048
Start display! pts100=78078 date=0
Stop display! pts100=78078 date=320512

That first Start/Stop pair seems to be bogus.  The second pair has the
correct data, and will display the subtitle fine even without my hack.
btw, the 2048 I mentioned last time as the begin date of the subtitle
was wrong; 78078 seems to actually be the right date offset.

<speculation>
without understanding the rest of the workings of spudec.c, I would make
a guess that either spudec.c is choking on data left from the previous
segment that it should have thrown away or adjusted for the new segment, 
or is not entering the new segment stream correctly.  but again, I don't
know much of spudec.c and how it works yet.  perhaps the stream being 
fed to spudec.c already corrupted?
</speculation>


On Mon, Mar 24, 2003 at 04:41:58AM -0500, Robert Henney wrote:
> [Automatic answer: RTFM (read DOCS, FAQ), also read DOCS/bugreports.html]
> 
> enabling debugging in spudec.c turned up something.
> 
> Start display! pts100=704573 date=0
> Start display! pts100=0      date=0
> Stop display!  pts100=0      date=2048
> Start display! pts100=0      date=0
> Stop display!  pts100=0      date=320512
> 
> That first "Start display" is the subtitle that is just before the missing 
> one.  Notice it lacks a Stop.  The next four lines are the missing subtitle, 
> believe it or not, which should begin on date=2048 and end on date=320512.
> Why it gets smeared across two Start/Stop pairs is a mystery, but that's
> definately confusing spudec.c.
> 
> I've hacked my copy of spudec.c to spot and reconstruct that Start/Stop pair
> when pts100==0, and the subtitle now appears to be displaying properly for
> me.  but that's probably not a proper fix.
> 
> 
> -- Start of PGP signed section.
> > Robert Henney wrote:
> > 
> > > Corrention.  What I've been referring to as 'chapters' do not appear to be
> > > chapters, but something else entirely.  The /boundary/ that I had been assuming 
> > > was a chapter boundary was the counter on the mplayer status line; the value
> > > represented by the 'V'.  At the point when that value resets to "0.0" during 
> > > playback, that is where a subtitle fails to display. 
> > > 
> > >  A:  20.1 V:  20.1 A-V:  0.001 ct: -0.212  2745/2741  44% 17% 21.1% 0 0 0%%
> > >           ^^^^^^^^
> > 
> > Could you try if this patch prints any messages when subtitles go
> > missing?
> > 
> > Index: spudec.c
> > ===================================================================
> > RCS file: /cvsroot/mplayer/main/spudec.c,v
> > retrieving revision 1.41
> > diff -u -r1.41 spudec.c
> > --- spudec.c	23 Feb 2003 22:05:35 -0000	1.41
> > +++ spudec.c	21 Mar 2003 21:09:17 -0000
> > @@ -581,6 +581,16 @@
> >  void spudec_heartbeat(void *this, unsigned int pts100)
> >  { 
> >    spudec_handle_t *spu = (spudec_handle_t*) this;
> > +  if (pts100 < spu->now_pts) {
> > +    mp_msg(MSGT_SPUDEC,MSGL_WARN,
> > +           "SPUheartbeat: Timewarp! Welcome in %d, traveler from %d.\n",
> > +           pts100, spu->now_pts);
> > +    if (spu->now_pts < spu->end_pts)
> > +      mp_msg(MSGT_SPUDEC,MSGL_WARN,
> > +             "Lost some subtitles on the way.\n");
> > +    else mp_msg(MSGT_SPUDEC,MSGL_WARN,
> > +                "Fear not, nothing is lost.\n");
> > +  }
> >    spu->now_pts = pts100;
> >  
> >    while (spu->queue_head != NULL && pts100 >= spu->queue_head->start_pts) {
> > 
> > -- 
> > Tobias								PGP: 0x9AC7E0BC
> > This mail is made of 100% recycled bits
> > np: aikawananase: Purana 02 - Trick
> -- End of PGP section, PGP failed!
> 
> _______________________________________________
> RTFM!!!  http://www.MPlayerHQ.hu/DOCS
> Search:  http://www.MPlayerHQ.hu/cgi-bin/htsearch
> http://mplayerhq.hu/mailman/listinfo/mplayer-users



More information about the MPlayer-users mailing list