ffmpeg: fix streamcopy with side data
authorChristophe Gisquet <christophe.gisquet@gmail.com>
Wed, 13 Aug 2014 16:40:17 +0000 (18:40 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 15 Aug 2014 01:43:17 +0000 (03:43 +0200)
commit33fefdb44992bce18acb4548f28c9cd5b31de11f
treee76261422d0185860bc0ccb8148cb7eaa2418d40
parent6c1ee1a11446abbe662fc89b9dff0f0a3d5fdd55
ffmpeg: fix streamcopy with side data

The issue is that, when the main packet data buffer is changed, streamcopy
uses a temporary new packet to store that buffer, frees the old packet, and
replace it with the new packet.

However, in doing so, it forgets about the side data, which gets freed, but
is still needed and referenced. Then, when the packet gets freed again in
the normal code path, it attempts to free its side data which has already
been freed.

Therefore, simply avoid the first free on side data by removing that side
data from the packet.

Fixes ticket #3773.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
ffmpeg.c