Hopefully fix crash when the same frame is encoded twice. prores-debug
authorCarl Hetherington <cth@carlh.net>
Mon, 24 Oct 2022 18:37:02 +0000 (20:37 +0200)
committerCarl Hetherington <cth@carlh.net>
Mon, 24 Oct 2022 21:50:44 +0000 (23:50 +0200)
commit01a24fe341fcd6a7265e118806827f006d4f84f8
tree04446ecc753842206b034a57bfcdbf395ceb0c62
parentf2e3522a9dcf7bd0a7a1f1073e45b4450e3b68f0
Hopefully fix crash when the same frame is encoded twice.

Previously if some frame X was passed to the encoder twice
I think this would happen:

X1 written; X stored to _pending_images
X2 written; _pending_images remains the same
X1 encode finishes; X is discarded from _pending_images
Data for X2 is read by the encoder but was just freed

I think this might have resulted in intermittent crashes, which were
fairly common in the 2.17.x branch with the test
ffmpeg_encoder_prores_regression_1

But I didn't conclusively prove it.
src/lib/ffmpeg_file_encoder.cc
src/lib/ffmpeg_file_encoder.h