summaryrefslogtreecommitdiffstats
path: root/player
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2020-09-01 21:25:34 +0200
committerwm4 <wm4@nowhere>2020-09-01 21:28:13 +0200
commit99cd22af01be30db7462ab781c768dae7ddb2174 (patch)
tree41b6596d6261234e129800ca5d8436c2322d8816 /player
parentd96e2c731315daa3157f4892cc70267abf4d1a21 (diff)
downloadmpv-99cd22af01be30db7462ab781c768dae7ddb2174.tar.bz2
mpv-99cd22af01be30db7462ab781c768dae7ddb2174.tar.xz
audio: fix AVFrame allocation (crash with opus encoding)
AVFrame doesn't have public code for pool allocation, so mpv does it manually. AVFrame allocation is very tricky, so we added a bug. This crashed with libopus encoding, but not some other audio codecs, because the libopus libavcodec wrapper accesses AVFrame.data. Most code tries to avoid accessing AVFrame.data and uses AVFrame.extended_data, because using the former would subtly corrupt memory on more than 8 channels. The fact that this problem manifested only now shows that most AVFrame consuming FFmpeg code indeed uses extended_data for audio.
Diffstat (limited to 'player')
0 files changed, 0 insertions, 0 deletions