Browse Source

avformat/subtitles: treat negative duration like unknown duration

Fixes a specific srt sample, which has an event with negative duration.
libavcodec will convert an event with negative duration to an ASS event
which will be displayed forever, which is not wanted here.

Treat negative duration always as unknown duration instead, and show it
until the next subtitle event.
tags/n3.0
wm4 10 years ago
parent
commit
a0ec4aebab
1 changed files with 1 additions and 1 deletions
  1. +1
    -1
      libavformat/subtitles.c

+ 1
- 1
libavformat/subtitles.c View File

@@ -198,7 +198,7 @@ void ff_subtitles_queue_finalize(void *log_ctx, FFDemuxSubtitlesQueue *q)
q->sort == SUB_SORT_TS_POS ? cmp_pkt_sub_ts_pos
: cmp_pkt_sub_pos_ts);
for (i = 0; i < q->nb_subs; i++)
if (q->subs[i].duration == -1 && i < q->nb_subs - 1)
if (q->subs[i].duration < 0 && i < q->nb_subs - 1)
q->subs[i].duration = q->subs[i + 1].pts - q->subs[i].pts;

if (!q->keep_duplicates)


Loading…
Cancel
Save