From 955a989341a5d43ba88f746b6325f5be35b48146 Mon Sep 17 00:00:00 2001 From: Baptiste Coudurier Date: Sun, 29 Apr 2018 18:44:59 -0700 Subject: avformat/mxfenc: fix muxing when audio tracks are longer than video track --- libavformat/mxfenc.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'libavformat/mxfenc.c') 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; -- cgit v1.1