It's a long time to wait to decode next block in input thread
When parsing a large data packet, it often takes a long time to wait,this will cause the progress bar to report slowly. Can we set an upper limit for waiting?
here is source in input.c:
mtime_t i_deadline = i_wakeup;
/* Postpone seeking until ES buffering is complete or at most
* 125 ms. */
bool b_postpone = es_out_GetBuffering( input_priv(p_input)->p_es_out )
&& !input_priv(p_input)->master->b_eof;
if( b_postpone )
{
mtime_t now = mdate();
/* Recheck ES buffer level every 20 ms when seeking */
if( now < i_last_seek_mdate + INT64_C(125000)
&& (i_deadline < 0 || i_deadline > now + INT64_C(20000)) )
i_deadline = now + INT64_C(20000);
else
b_postpone = false;
}
int i_type;
vlc_value_t val;
if( ControlPop( p_input, &i_type, &val, i_deadline, b_postpone ) )
{
if( b_postpone )
continue;
break; /* Wake-up time reached */
}
Edited by huangjieNT