Fix deadlock on exit if SKIP_FRAMES disabled

On exit, the renderer will not consume frames anymore, so signal the
condition variable to wake up the decoder.
This commit is contained in:
Romain Vimont
2018-02-09 08:42:39 +01:00
parent 629c296207
commit 127e56780a
5 changed files with 28 additions and 6 deletions

View File

@@ -14,6 +14,7 @@ struct frames {
AVFrame *rendering_frame;
SDL_mutex *mutex;
#ifndef SKIP_FRAMES
SDL_bool stopped;
SDL_cond *rendering_frame_consumed_cond;
#endif
SDL_bool rendering_frame_consumed;
@@ -33,4 +34,7 @@ SDL_bool frames_offer_decoded_frame(struct frames *frames);
// unlocking frames->mutex
const AVFrame *frames_consume_rendered_frame(struct frames *frames);
// wake up and avoid any blocking call
void frames_stop(struct frames *frames);
#endif