From c216324a7f958f09a7ee68c5cca28fdd166fba9d Mon Sep 17 00:00:00 2001 From: wm4 Date: Mon, 21 Sep 2015 13:42:48 +0200 Subject: [PATCH] avformat/subtitles: make dropping duplicate events optional --- libavformat/subtitles.c | 3 ++- libavformat/subtitles.h | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/libavformat/subtitles.c b/libavformat/subtitles.c index 192043f917..bb8976682d 100644 --- a/libavformat/subtitles.c +++ b/libavformat/subtitles.c @@ -204,7 +204,8 @@ void ff_subtitles_queue_finalize(void *log_ctx, FFDemuxSubtitlesQueue *q) if (q->subs[i].duration == -1 && i < q->nb_subs - 1) q->subs[i].duration = q->subs[i + 1].pts - q->subs[i].pts; - drop_dups(log_ctx, q); + if (!q->keep_duplicates) + drop_dups(log_ctx, q); } int ff_subtitles_queue_read_packet(FFDemuxSubtitlesQueue *q, AVPacket *pkt) diff --git a/libavformat/subtitles.h b/libavformat/subtitles.h index c70f6fffde..ca78db224d 100644 --- a/libavformat/subtitles.h +++ b/libavformat/subtitles.h @@ -105,6 +105,7 @@ typedef struct { int allocated_size; ///< allocated size for subs int current_sub_idx; ///< current position for the read packet callback enum sub_sort sort; ///< sort method to use when finalizing subtitles + int keep_duplicates; ///< set to 1 to keep duplicated subtitle events } FFDemuxSubtitlesQueue; /**