From 1280614c9f3dd85ba1fa2f19f0b4d40f011bb8ee Mon Sep 17 00:00:00 2001 From: reimar Date: Sun, 1 Nov 2009 09:48:34 +0000 Subject: Unbreak the demuxer-specific code in video.c with e.g. -audiofile by moving the code to manually interleave subtitles to mp_common.c. video.c should still be changed to not be demuxer-specific anymore, it is bad practice but fully fixing it is non-trivial. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29810 b3059339-0415-0410-9bf9-f77b7e298cf2 --- mpcommon.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'mpcommon.c') diff --git a/mpcommon.c b/mpcommon.c index 442fba9560..ed0c11e725 100644 --- a/mpcommon.c +++ b/mpcommon.c @@ -145,6 +145,8 @@ void update_subtitles(sh_video_t *sh_video, double refpts, demux_stream_t *d_dvd } else if (dvdsub_id >= 0 && (type == 't' || type == 'm' || type == 'a')) { double curpts = refpts + sub_delay; double endpts; + if (d_dvdsub->non_interleaved) + ds_get_next_pts(d_dvdsub); while (d_dvdsub->first) { double subpts = ds_get_next_pts(d_dvdsub); if (subpts > curpts) @@ -195,6 +197,8 @@ void update_subtitles(sh_video_t *sh_video, double refpts, demux_stream_t *d_dvd sub_add_text(&subs, packet, len, endpts); set_osd_subtitle(&subs); } + if (d_dvdsub->non_interleaved) + ds_get_next_pts(d_dvdsub); } if (sub_clear_text(&subs, curpts)) set_osd_subtitle(&subs); -- cgit v1.2.3