summaryrefslogtreecommitdiffstats
path: root/command.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2012-09-01 19:49:04 +0200
committerwm4 <wm4@nowhere>2012-09-18 21:04:46 +0200
commitb554a59b5818640734486555064af86383154ace (patch)
tree69fb972ec4bf24d01e01ac9e9b296df2f48fd69f /command.c
parentfd52cb65f43d262493724899c7b0fb49971f745d (diff)
downloadmpv-b554a59b5818640734486555064af86383154ace.tar.bz2
mpv-b554a59b5818640734486555064af86383154ace.tar.xz
subs: restore support for sub_step command with libass
This was destroyed by Uoti Urpala in commit "subs: always use sub...". Features should be either kept working or completely removed, but not just crippled, which only inflates the code and frustrates users.
Diffstat (limited to 'command.c')
-rw-r--r--command.c24
1 files changed, 14 insertions, 10 deletions
diff --git a/command.c b/command.c
index cbac7ebb1a..1b0ff9dfeb 100644
--- a/command.c
+++ b/command.c
@@ -2365,18 +2365,22 @@ void run_command(MPContext *mpctx, mp_cmd_t *cmd)
if (sh_video) {
int movement = cmd->args[0].v.i;
struct track *track = mpctx->current_track[STREAM_SUB];
- if (track && track->subdata)
+ bool available = false;
+ if (track && track->subdata) {
+ available = true;
step_sub(track->subdata, mpctx->video_pts, movement);
-#if 0
- // currently not implemented with libass
- if (mpctx->osd->ass_track)
- sub_delay +=
- ass_step_sub(mpctx->osd->ass_track,
- (mpctx->video_pts +
- sub_delay) * 1000 + .5, movement) / 1000.;
+ }
+#ifdef CONFIG_ASS
+ struct ass_track *ass_track = sub_get_ass_track(mpctx->osd);
+ if (ass_track) {
+ available = true;
+ sub_delay += ass_step_sub(ass_track,
+ (mpctx->video_pts + sub_delay) * 1000 + .5, movement) / 1000.;
+ }
#endif
- set_osd_tmsg(mpctx, OSD_MSG_SUB_DELAY, 1, osd_duration,
- "Sub delay: %d ms", ROUND(sub_delay * 1000));
+ if (available)
+ set_osd_tmsg(mpctx, OSD_MSG_SUB_DELAY, 1, osd_duration,
+ "Sub delay: %d ms", ROUND(sub_delay * 1000));
}
break;