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

Robert Henney robh at rut.org
Mon Mar 24 10:41:58 CET 2003


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!



More information about the MPlayer-users mailing list