Commit 82641ce4 authored by Thomas Guillem's avatar Thomas Guillem

videotoolbox: fix drain when session is not feed

Since Drain() can now be called when a flush is not requested.
parent 7fe8c564
......@@ -1719,11 +1719,8 @@ static void RequestFlush(decoder_t *p_dec)
{
decoder_sys_t *p_sys = p_dec->p_sys;
/* There is no Flush in VT api, ask to restart VT from next DecodeBlock if
* we already feed some input blocks (it's better to not restart here in
* order to avoid useless restart just before a close). */
vlc_mutex_lock(&p_sys->lock);
p_sys->b_vt_flush = p_sys->b_vt_feed;
p_sys->b_vt_flush = true;
vlc_mutex_unlock(&p_sys->lock);
}
......@@ -1737,7 +1734,7 @@ static void Drain(decoder_t *p_dec, bool flush)
DrainDPBLocked(p_dec, flush);
vlc_mutex_unlock(&p_sys->lock);
if (p_sys->session)
if (p_sys->session && p_sys->b_vt_feed)
VTDecompressionSessionWaitForAsynchronousFrames(p_sys->session);
vlc_mutex_lock(&p_sys->lock);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment