ffplay: do not wait for the picture allocation to finish on exit
When SDL could not allocate a YUV overlay or open a window, the video thread got locked up because it waited for the allocation to finish forever. Reported-by: Carl Eugen Hoyos <cehoyos@ag.or.at> Signed-off-by: Marton Balint <cus@passwd.hu>
This commit is contained in:
parent
e90aef9195
commit
ac7b4bfdeb
2
ffplay.c
2
ffplay.c
@ -1610,7 +1610,7 @@ static int queue_picture(VideoState *is, AVFrame *src_frame, double pts, double
|
|||||||
}
|
}
|
||||||
/* if the queue is aborted, we have to pop the pending ALLOC event or wait for the allocation to complete */
|
/* if the queue is aborted, we have to pop the pending ALLOC event or wait for the allocation to complete */
|
||||||
if (is->videoq.abort_request && SDL_PeepEvents(&event, 1, SDL_GETEVENT, SDL_EVENTMASK(FF_ALLOC_EVENT)) != 1) {
|
if (is->videoq.abort_request && SDL_PeepEvents(&event, 1, SDL_GETEVENT, SDL_EVENTMASK(FF_ALLOC_EVENT)) != 1) {
|
||||||
while (!vp->allocated) {
|
while (!vp->allocated && !is->abort_request) {
|
||||||
SDL_CondWait(is->pictq_cond, is->pictq_mutex);
|
SDL_CondWait(is->pictq_cond, is->pictq_mutex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user