summaryrefslogtreecommitdiffstats
path: root/libavformat/mxfenc.c
diff options
context:
space:
mode:
authorBaptiste Coudurier <baptiste.coudurier@gmail.com>2018-04-29 18:44:59 -0700
committerBaptiste Coudurier <baptiste.coudurier@gmail.com>2018-08-21 12:10:41 -0700
commit955a989341a5d43ba88f746b6325f5be35b48146 (patch)
treea44afbc542d0eee8a7979d74b680a54cae15b011 /libavformat/mxfenc.c
parentb8351ea0c335f082cba069accc7a3ec68f470ac9 (diff)
downloadffmpeg-streaming-955a989341a5d43ba88f746b6325f5be35b48146.zip
ffmpeg-streaming-955a989341a5d43ba88f746b6325f5be35b48146.tar.gz
avformat/mxfenc: fix muxing when audio tracks are longer than video track
Diffstat (limited to 'libavformat/mxfenc.c')
-rw-r--r--libavformat/mxfenc.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/libavformat/mxfenc.c b/libavformat/mxfenc.c
index 77f60f5..66fd096 100644
--- a/libavformat/mxfenc.c
+++ b/libavformat/mxfenc.c
@@ -2914,6 +2914,9 @@ static int mxf_interleave_get_packet(AVFormatContext *s, AVPacket *out, AVPacket
while (pktl) {
if (!stream_count || pktl->pkt.stream_index == 0)
break;
+ // update last packet in packet buffer
+ if (s->streams[pktl->pkt.stream_index]->last_in_packet_buffer != pktl)
+ s->streams[pktl->pkt.stream_index]->last_in_packet_buffer = pktl;
last = pktl;
pktl = pktl->next;
stream_count--;
@@ -2921,9 +2924,6 @@ static int mxf_interleave_get_packet(AVFormatContext *s, AVPacket *out, AVPacket
// purge packet queue
while (pktl) {
AVPacketList *next = pktl->next;
-
- if(s->streams[pktl->pkt.stream_index]->last_in_packet_buffer == pktl)
- s->streams[pktl->pkt.stream_index]->last_in_packet_buffer= NULL;
av_packet_unref(&pktl->pkt);
av_freep(&pktl);
pktl = next;
OpenPOWER on IntegriCloud