From 231a73308f183484317c3fdfe098f543cd401898 Mon Sep 17 00:00:00 2001 From: James Almer Date: Wed, 21 Mar 2018 11:43:04 -0300 Subject: [PATCH] ffmpeg: pass reference counted packet on codec copy when possible Should prevent unnecessary copy of data in cases where new references to the packet are created within the muxer or a bitstream filter. Reviewed-by: Michael Niedermayer Signed-off-by: James Almer --- fftools/ffmpeg.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c index ec9ce29097..1b2e37b8d8 100644 --- a/fftools/ffmpeg.c +++ b/fftools/ffmpeg.c @@ -2049,6 +2049,11 @@ static void do_streamcopy(InputStream *ist, OutputStream *ost, const AVPacket *p opkt.flags = pkt->flags; + if (pkt->buf) { + opkt.buf = av_buffer_ref(pkt->buf); + if (!opkt.buf) + exit_program(1); + } opkt.data = pkt->data; opkt.size = pkt->size;