aboutsummaryrefslogtreecommitdiffstats
path: root/libswscale/utils.c
diff options
context:
space:
mode:
authorwm4 <nfxjfg@googlemail.com>2017-04-06 17:35:32 +0200
committerwm4 <nfxjfg@googlemail.com>2017-04-06 17:46:53 +0200
commit15a23a83326d70e470a6b5c8d71e55257bffd97b (patch)
treec40eaad5315b3dfda18b55dd5c74ac3cb72ecba8 /libswscale/utils.c
parente5c11ab9cef60a6c9141d7a60145ea833dd88485 (diff)
downloadffmpeg-15a23a83326d70e470a6b5c8d71e55257bffd97b.tar.gz
pthread_frame: don't return stale error codes after flush
Consider the following sequence of events: - open a codec without AV_CODEC_CAP_DELAY - decode call fails with an error - ff_thread_flush() is called - drain packet is sent Then the last step would make ff_thread_decode_frame() return an error, because p->result can still be set to an error value. This is because submit_packet returns immediately if AV_CODEC_CAP_DELAY is not set, and no worker thread gets the chance to reset p->result, yet its value is trusted by ff_thread_decode_frame(). Fix this by clearing the error fields on flush.
Diffstat (limited to 'libswscale/utils.c')
0 files changed, 0 insertions, 0 deletions