]> git.sesse.net Git - ffmpeg/commit
lavc/audiotoolboxenc: fix noise in encoded audio
authorJiejun Zhang <zhangjiejun1992@gmail.com>
Wed, 3 Jan 2018 04:54:20 +0000 (12:54 +0800)
committerJames Almer <jamrial@gmail.com>
Wed, 3 Jan 2018 20:32:55 +0000 (17:32 -0300)
commit677701c6b319d2d3b95a27179fde6ec2a863bf72
tree38ceedbc6c52c996056e0c95151ef302012b42bc
parent29b5f3115d9f217758bebd1d00e541aa3e739d2a
lavc/audiotoolboxenc: fix noise in encoded audio

This fixes #6940

Although undocumented, AudioToolbox seems to require the data supplied
by the callback (i.e. ffat_encode_callback) being unchanged until the
next time the callback is called. In the old implementation, the
AVBuffer backing the frame is recycled after the frame is freed, and
somebody else (maybe the decoder) will write into the AVBuffer and
change the data. AudioToolbox then encodes some wrong data and noise
is produced. Retaining a frame reference solves this problem.

Signed-off-by: James Almer <jamrial@gmail.com>
libavcodec/audiotoolboxenc.c