From ad072b17ce7d4ae8f5e6605cf7237c5fd15d283d Mon Sep 17 00:00:00 2001 From: wm4 Date: Thu, 31 Dec 2015 16:43:57 +0100 Subject: sub: do not check for duplicates if --sub-clear-on-seek is set --- sub/sd_ass.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'sub/sd_ass.c') 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++) -- cgit v1.2.3