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

Robert Henney robh at rut.org
Mon Mar 24 08:15:51 CET 2003


This may provide some clues.

I have the pts values printing on each entering of spudec_heartbeat().
end_pts gets a new value on the display of a new subtitle.  However,
when the subtitle that's immediately before the missing subtitle displays,
end_pts becomes -1 until the end of the pts segment and the missing 
subtitle stays missing.  When I jump (or start mplayer with -ss 768)
to the point immediately after the would-be appearance of the subtitle 
that's immediately before the missing subtitle, so that that particular
subtitle fails to display because I've jumped into the stream after it
would have started appearing, then the missing subtitle appears.  
also, end_pts is 0 until the end of the pts segment.

I wish I could determine which segment that missing subtitle was in.  Is
there any way to tell mplayer to play a particular segment?


On Fri, Mar 21, 2003 at 10:00:05PM +0100, Tobias Diedrich wrote:
> [Automatic answer: RTFM (read DOCS, FAQ), also read DOCS/bugreports.html]

> 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



> _______________________________________________
> 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