summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2012-12-12 22:56:41 +0100
committerwm4 <wm4@nowhere>2012-12-12 22:56:41 +0100
commit962a97a2dbf6997a7d1f92e63a7d5c1e25870464 (patch)
treeaf8a18aaa8c04d36165e16d45081ca958d25ba98 /core
parent0fba387f72808c0298b3c34874d1388d8fd34def (diff)
downloadmpv-962a97a2dbf6997a7d1f92e63a7d5c1e25870464.tar.bz2
mpv-962a97a2dbf6997a7d1f92e63a7d5c1e25870464.tar.xz
sd_lavc: keep subs on subtitle track switching
Keep the currently displayed subtitles even when the user cycles through subtitle tracks, and the subtitle is decoded by libavcodec (such as vobsubs). Do this by not clearing the subtitles on reset(). reset() is also called on seek, so check the start PTS whether the subtitle should really be displayed (there's already an end PTS). Note that sd_ass does essentially something similar. The existing code has checks for whether the PTS reported by the demuxer is invalid (MP_NOPTS_VALUE). I don't know under what circumstances this can happens, so fall back to the old behavior if the PTS is invalid.
Diffstat (limited to 'core')
-rw-r--r--core/mplayer.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/core/mplayer.c b/core/mplayer.c
index 3e58279b51..e18acf9eac 100644
--- a/core/mplayer.c
+++ b/core/mplayer.c
@@ -1839,7 +1839,7 @@ static void update_subtitles(struct MPContext *mpctx, double refpts_tl)
while (d_sub->first) {
double subpts_s = ds_get_next_pts(d_sub);
if (subpts_s > curpts_s) {
- mp_dbg(MSGT_CPLAYER, MSGL_V,
+ mp_dbg(MSGT_CPLAYER, MSGL_DBG2,
"Sub early: c_pts=%5.3f s_pts=%5.3f\n",
curpts_s, subpts_s);
// Libass handled subs can be fed to it in advance