}
/* 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) {
- while (!vp->allocated) {
+ while (!vp->allocated && !is->abort_request) {
SDL_CondWait(is->pictq_cond, is->pictq_mutex);
}
}
event.type = FF_QUIT_EVENT;
event.user.data1 = is;
SDL_PushEvent(&event);
- av_free_packet(&pkt);
goto the_end;
}
filt_in = is->in_video_filter;
ret = av_buffersrc_add_frame(filt_in, frame);
if (ret < 0)
goto the_end;
- av_free_packet(&pkt);
while (ret >= 0) {
is->frame_last_returned_time = av_gettime() / 1000000.0;