diff options
author | wm4 <wm4@nowhere> | 2015-12-31 16:43:57 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2015-12-31 16:43:57 +0100 |
commit | ad072b17ce7d4ae8f5e6605cf7237c5fd15d283d (patch) | |
tree | 09c96f549c7829b1469eeaf03260f01a3cbd390b | |
parent | 2059ba2c40c4c696713f56c7e69285a265a8adb4 (diff) | |
download | mpv-ad072b17ce7d4ae8f5e6605cf7237c5fd15d283d.tar.bz2 mpv-ad072b17ce7d4ae8f5e6605cf7237c5fd15d283d.tar.xz |
sub: do not check for duplicates if --sub-clear-on-seek is set
-rw-r--r-- | sub/sd_ass.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sub/sd_ass.c b/sub/sd_ass.c index 564a62133d..b44878da5a 100644 --- a/sub/sd_ass.c +++ b/sub/sd_ass.c @@ -199,6 +199,10 @@ static int init(struct sd *sd) mp_ass_add_default_styles(ctx->ass_track, opts); +#if LIBASS_VERSION >= 0x01302000 + ass_set_check_readorder(ctx->ass_track, sd->opts->sub_clear_on_seek ? 0 : 1); +#endif + ctx->frame_fps = sd->sh->sub->frame_based; update_subtitle_speed(sd); @@ -235,7 +239,7 @@ static void decode(struct sd *sd, struct demux_packet *packet) struct sd_ass_priv *ctx = sd->priv; ASS_Track *track = ctx->ass_track; if (ctx->converter) { - if (check_packet_seen(sd, packet->pos)) + if (!sd->opts->sub_clear_on_seek && check_packet_seen(sd, packet->pos)) return; char **r = lavc_conv_decode(ctx->converter, packet); for (int n = 0; r && r[n]; n++) |