diff options
Diffstat (limited to 'libavformat/subtitles.c')
-rw-r--r-- | libavformat/subtitles.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/libavformat/subtitles.c b/libavformat/subtitles.c index 37ba0cb..2af0450 100644 --- a/libavformat/subtitles.c +++ b/libavformat/subtitles.c @@ -20,6 +20,7 @@ #include "avformat.h" #include "subtitles.h" +#include "libavutil/avassert.h" #include "libavutil/avstring.h" AVPacket *ff_subtitles_queue_insert(FFDemuxSubtitlesQueue *q, @@ -49,7 +50,6 @@ AVPacket *ff_subtitles_queue_insert(FFDemuxSubtitlesQueue *q, sub = &subs[q->nb_subs++]; if (av_new_packet(sub, len) < 0) return NULL; - sub->destruct = NULL; sub->flags |= AV_PKT_FLAG_KEY; sub->pts = sub->dts = 0; memcpy(sub->data, event, len); @@ -85,7 +85,8 @@ int ff_subtitles_queue_read_packet(FFDemuxSubtitlesQueue *q, AVPacket *pkt) if (q->current_sub_idx == q->nb_subs) return AVERROR_EOF; - *pkt = *sub; + av_copy_packet(pkt, sub); + pkt->dts = pkt->pts; q->current_sub_idx++; return 0; @@ -135,7 +136,7 @@ void ff_subtitles_queue_clean(FFDemuxSubtitlesQueue *q) int i; for (i = 0; i < q->nb_subs; i++) - av_destruct_packet(&q->subs[i]); + av_free_packet(&q->subs[i]); av_freep(&q->subs); q->nb_subs = q->allocated_size = q->current_sub_idx = 0; } |