[MPlayer-cvslog] r32032 - trunk/libmpdemux/demux_lavf.c

reimar subversion at mplayerhq.hu
Sun Aug 29 08:51:05 CEST 2010


Author: reimar
Date: Sun Aug 29 08:51:05 2010
New Revision: 32032

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.

Modified:
   trunk/libmpdemux/demux_lavf.c

Modified: trunk/libmpdemux/demux_lavf.c
==============================================================================
--- trunk/libmpdemux/demux_lavf.c	Sun Aug 29 08:46:06 2010	(r32031)
+++ trunk/libmpdemux/demux_lavf.c	Sun Aug 29 08:51:05 2010	(r32032)
@@ -628,7 +628,10 @@ static int demux_lavf_fill_buffer(demuxe
     if(pkt.pts != AV_NOPTS_VALUE){
         dp->pts=pkt.pts * av_q2d(priv->avfc->streams[id]->time_base);
         priv->last_pts= dp->pts * AV_TIME_BASE;
-        if(pkt.flags & PKT_FLAG_KEY && pkt.convergence_duration > 0)
+        // always set endpts for subtitles, even if PKT_FLAG_KEY is not set,
+        // otherwise they will stay on screen to long if e.g. ASS is demuxed from mkv
+        if((ds == demux->sub || (pkt.flags & PKT_FLAG_KEY)) &&
+           pkt.convergence_duration > 0)
             dp->endpts = dp->pts + pkt.convergence_duration * av_q2d(priv->avfc->streams[id]->time_base);
     }
     dp->pos=demux->filepos;


More information about the MPlayer-cvslog mailing list