summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwm4 <nfxjfg@googlemail.com>2015-09-21 13:42:48 +0200
committerwm4 <nfxjfg@googlemail.com>2015-09-21 13:42:48 +0200
commitc216324a7f958f09a7ee68c5cca28fdd166fba9d (patch)
tree0c244894c03ec7e117bb3876ea23efa19c06175f
parenta47ad06baf6c0db6d47a5531d6d4ee0511f44eac (diff)
avformat/subtitles: make dropping duplicate events optional
-rw-r--r--libavformat/subtitles.c3
-rw-r--r--libavformat/subtitles.h1
2 files changed, 3 insertions, 1 deletions
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;
/**