summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavformat/mux.c8
-rw-r--r--libavformat/mxfenc.c8
2 files changed, 3 insertions, 13 deletions
diff --git a/libavformat/mux.c b/libavformat/mux.c
index d93dc73f8e..3ba95d28c6 100644
--- a/libavformat/mux.c
+++ b/libavformat/mux.c
@@ -1014,15 +1014,9 @@ int ff_interleave_packet_per_dts(AVFormatContext *s, AVPacket *pkt,
AVStream *const st = s->streams[pktl->pkt.stream_index];
FFStream *const sti = ffstream(st);
- *pkt = pktl->pkt;
-
- si->packet_buffer = pktl->next;
- if (!si->packet_buffer)
- si->packet_buffer_end = NULL;
-
if (sti->last_in_packet_buffer == pktl)
sti->last_in_packet_buffer = NULL;
- av_freep(&pktl);
+ avpriv_packet_list_get(&si->packet_buffer, &si->packet_buffer_end, pkt);
return 1;
} else {
diff --git a/libavformat/mxfenc.c b/libavformat/mxfenc.c
index 873d64a5fd..4c02e3e264 100644
--- a/libavformat/mxfenc.c
+++ b/libavformat/mxfenc.c
@@ -3128,14 +3128,10 @@ static int mxf_interleave_get_packet(AVFormatContext *s, AVPacket *out, int flus
pktl = si->packet_buffer;
}
- *out = pktl->pkt;
- av_log(s, AV_LOG_TRACE, "out st:%d dts:%"PRId64"\n", (*out).stream_index, (*out).dts);
- si->packet_buffer = pktl->next;
if (ffstream(s->streams[pktl->pkt.stream_index])->last_in_packet_buffer == pktl)
ffstream(s->streams[pktl->pkt.stream_index])->last_in_packet_buffer = NULL;
- if (!si->packet_buffer)
- si->packet_buffer_end = NULL;
- av_freep(&pktl);
+ avpriv_packet_list_get(&si->packet_buffer, &si->packet_buffer_end, out);
+ av_log(s, AV_LOG_TRACE, "out st:%d dts:%"PRId64"\n", out->stream_index, out->dts);
return 1;
} else {
out: