ffmpeg: make sure packets put into the muxing FIFO are refcounted
authorwm4 <nfxjfg@googlemail.com>
Wed, 8 Feb 2017 08:53:26 +0000 (09:53 +0100)
committerwm4 <nfxjfg@googlemail.com>
Fri, 3 Mar 2017 07:45:43 +0000 (08:45 +0100)
commit33580a8625c77591919b6155a48da04dccc8d398
treec5ec4ebb92ac9b6085e1242f38cda3bcf49e640a
parent9ae762da7e256aa4d3b645c614fcd1959e1cbb8d
ffmpeg: make sure packets put into the muxing FIFO are refcounted

Some callers (like do_subtitle_out()) call this with an AVPacket that is
not refcounted. This can cause undefined behavior.

Calling av_packet_move_ref() does not make a packet refcounted if it
isn't yet. (And it can't be made to, because it always succeeds,
and can't return ENOMEM.)

Call av_packet_ref() instead to make sure it's refcounted.

I couldn't find a case that is fixed by this with the current code. But
it will fix the fate-pva-demux test with the later patches applied.

Signed-off-by: wm4 <nfxjfg@googlemail.com>
ffmpeg.c