Commit 53f3c079 authored by Laurent Aimar's avatar Laurent Aimar

Obsoleted minimize-threads option.

It is not really needed and was complicating too much decoder code.
parent 4832631e
...@@ -77,8 +77,6 @@ static es_format_t null_es_format; ...@@ -77,8 +77,6 @@ static es_format_t null_es_format;
struct decoder_owner_sys_t struct decoder_owner_sys_t
{ {
bool b_own_thread;
int64_t i_preroll_end; int64_t i_preroll_end;
input_thread_t *p_input; input_thread_t *p_input;
...@@ -213,7 +211,7 @@ decoder_t *input_DecoderNew( input_thread_t *p_input, ...@@ -213,7 +211,7 @@ decoder_t *input_DecoderNew( input_thread_t *p_input,
es_format_t *fmt, input_clock_t *p_clock, sout_instance_t *p_sout ) es_format_t *fmt, input_clock_t *p_clock, sout_instance_t *p_sout )
{ {
decoder_t *p_dec = NULL; decoder_t *p_dec = NULL;
vlc_value_t val; int i_priority;
#ifndef ENABLE_SOUT #ifndef ENABLE_SOUT
(void)b_force_decoder; (void)b_force_decoder;
...@@ -256,20 +254,6 @@ decoder_t *input_DecoderNew( input_thread_t *p_input, ...@@ -256,20 +254,6 @@ decoder_t *input_DecoderNew( input_thread_t *p_input,
p_dec->p_owner->p_clock = p_clock; p_dec->p_owner->p_clock = p_clock;
if( p_sout && p_sout == p_input->p->p_sout && p_input->p->input.b_can_pace_control )
{
msg_Dbg( p_input, "stream out mode -> no decoder thread" );
p_dec->p_owner->b_own_thread = false;
}
else
{
var_Get( p_input, "minimize-threads", &val );
p_dec->p_owner->b_own_thread = !val.b_bool;
}
if( p_dec->p_owner->b_own_thread )
{
int i_priority;
if( fmt->i_cat == AUDIO_ES ) if( fmt->i_cat == AUDIO_ES )
i_priority = VLC_THREAD_PRIORITY_AUDIO; i_priority = VLC_THREAD_PRIORITY_AUDIO;
else else
...@@ -285,7 +269,6 @@ decoder_t *input_DecoderNew( input_thread_t *p_input, ...@@ -285,7 +269,6 @@ decoder_t *input_DecoderNew( input_thread_t *p_input,
vlc_object_release( p_dec ); vlc_object_release( p_dec );
return NULL; return NULL;
} }
}
return p_dec; return p_dec;
} }
...@@ -303,8 +286,6 @@ void input_DecoderDelete( decoder_t *p_dec ) ...@@ -303,8 +286,6 @@ void input_DecoderDelete( decoder_t *p_dec )
vlc_object_kill( p_dec ); vlc_object_kill( p_dec );
if( p_owner->b_own_thread )
{
/* Make sure we aren't paused anymore */ /* Make sure we aren't paused anymore */
vlc_mutex_lock( &p_owner->lock ); vlc_mutex_lock( &p_owner->lock );
if( p_owner->b_paused || p_owner->b_buffering ) if( p_owner->b_paused || p_owner->b_buffering )
...@@ -322,14 +303,6 @@ void input_DecoderDelete( decoder_t *p_dec ) ...@@ -322,14 +303,6 @@ void input_DecoderDelete( decoder_t *p_dec )
/* Don't module_unneed() here because of the dll loader that wants /* Don't module_unneed() here because of the dll loader that wants
* close() in the same thread than open()/decode() */ * close() in the same thread than open()/decode() */
}
else
{
/* Flush */
input_DecoderDecode( p_dec, NULL );
module_unneed( p_dec, p_dec->p_module );
}
/* */ /* */
if( p_dec->p_owner->cc.b_supported ) if( p_dec->p_owner->cc.b_supported )
...@@ -352,12 +325,10 @@ void input_DecoderDelete( decoder_t *p_dec ) ...@@ -352,12 +325,10 @@ void input_DecoderDelete( decoder_t *p_dec )
* \param p_dec the decoder object * \param p_dec the decoder object
* \param p_block the data block * \param p_block the data block
*/ */
void input_DecoderDecode( decoder_t * p_dec, block_t *p_block ) void input_DecoderDecode( decoder_t *p_dec, block_t *p_block )
{ {
decoder_owner_sys_t *p_owner = p_dec->p_owner; decoder_owner_sys_t *p_owner = p_dec->p_owner;
if( p_owner->b_own_thread )
{
if( p_owner->p_input->p->b_out_pace_control ) if( p_owner->p_input->p->b_out_pace_control )
{ {
/* FIXME !!!!! */ /* FIXME !!!!! */
...@@ -377,31 +348,14 @@ void input_DecoderDecode( decoder_t * p_dec, block_t *p_block ) ...@@ -377,31 +348,14 @@ void input_DecoderDecode( decoder_t * p_dec, block_t *p_block )
} }
block_FifoPut( p_owner->p_fifo, p_block ); block_FifoPut( p_owner->p_fifo, p_block );
}
else
{
if( p_dec->b_error || ( p_block && p_block->i_buffer <= 0 ) )
{
if( p_block )
block_Release( p_block );
}
else
{
DecoderProcess( p_dec, p_block );
}
}
} }
bool input_DecoderIsEmpty( decoder_t * p_dec ) bool input_DecoderIsEmpty( decoder_t * p_dec )
{ {
assert( !p_dec->p_owner->b_buffering ); assert( !p_dec->p_owner->b_buffering );
if( p_dec->p_owner->b_own_thread && /* FIXME that's not really true */
block_FifoCount( p_dec->p_owner->p_fifo ) > 0 ) return block_FifoCount( p_dec->p_owner->p_fifo ) <= 0;
{
return false;
}
return true;
} }
void input_DecoderIsCcPresent( decoder_t *p_dec, bool pb_present[4] ) void input_DecoderIsCcPresent( decoder_t *p_dec, bool pb_present[4] )
...@@ -496,12 +450,13 @@ void input_DecoderChangePause( decoder_t *p_dec, bool b_paused, mtime_t i_date ) ...@@ -496,12 +450,13 @@ void input_DecoderChangePause( decoder_t *p_dec, bool b_paused, mtime_t i_date )
vlc_mutex_lock( &p_owner->lock ); vlc_mutex_lock( &p_owner->lock );
assert( !p_owner->b_paused || !b_paused ); assert( !p_owner->b_paused || !b_paused );
p_owner->b_paused = b_paused; p_owner->b_paused = b_paused;
p_owner->pause.i_date = i_date; p_owner->pause.i_date = i_date;
if( p_owner->b_own_thread )
vlc_cond_signal( &p_owner->wait ); vlc_cond_signal( &p_owner->wait );
DecoderOutputChangePause( p_dec, b_paused, i_date ); DecoderOutputChangePause( p_dec, b_paused, i_date );
vlc_mutex_unlock( &p_owner->lock ); vlc_mutex_unlock( &p_owner->lock );
} }
...@@ -626,7 +581,6 @@ static decoder_t * CreateDecoder( input_thread_t *p_input, ...@@ -626,7 +581,6 @@ static decoder_t * CreateDecoder( input_thread_t *p_input,
vlc_object_release( p_dec ); vlc_object_release( p_dec );
return NULL; return NULL;
} }
p_dec->p_owner->b_own_thread = true;
p_dec->p_owner->i_preroll_end = -1; p_dec->p_owner->i_preroll_end = -1;
p_dec->p_owner->i_last_rate = INPUT_RATE_DEFAULT; p_dec->p_owner->i_last_rate = INPUT_RATE_DEFAULT;
p_dec->p_owner->p_input = p_input; p_dec->p_owner->p_input = p_input;
...@@ -795,8 +749,6 @@ static void DecoderFlush( decoder_t *p_dec ) ...@@ -795,8 +749,6 @@ static void DecoderFlush( decoder_t *p_dec )
decoder_owner_sys_t *p_owner = p_dec->p_owner; decoder_owner_sys_t *p_owner = p_dec->p_owner;
block_t *p_null; block_t *p_null;
if( p_owner->b_own_thread )
{
vlc_assert_locked( &p_owner->lock ); vlc_assert_locked( &p_owner->lock );
/* Empty the fifo */ /* Empty the fifo */
...@@ -805,7 +757,6 @@ static void DecoderFlush( decoder_t *p_dec ) ...@@ -805,7 +757,6 @@ static void DecoderFlush( decoder_t *p_dec )
/* Monitor for flush end */ /* Monitor for flush end */
p_owner->b_flushing = true; p_owner->b_flushing = true;
vlc_cond_signal( &p_owner->wait ); vlc_cond_signal( &p_owner->wait );
}
/* Send a special block */ /* Send a special block */
p_null = block_New( p_dec, 128 ); p_null = block_New( p_dec, 128 );
...@@ -820,11 +771,8 @@ static void DecoderFlush( decoder_t *p_dec ) ...@@ -820,11 +771,8 @@ static void DecoderFlush( decoder_t *p_dec )
input_DecoderDecode( p_dec, p_null ); input_DecoderDecode( p_dec, p_null );
/* */ /* */
if( p_owner->b_own_thread )
{
while( vlc_object_alive( p_dec ) && p_owner->b_flushing ) while( vlc_object_alive( p_dec ) && p_owner->b_flushing )
vlc_cond_wait( &p_owner->wait, &p_owner->lock ); vlc_cond_wait( &p_owner->wait, &p_owner->lock );
}
} }
static void DecoderSignalFlushed( decoder_t *p_dec ) static void DecoderSignalFlushed( decoder_t *p_dec )
...@@ -1598,7 +1546,7 @@ static void DecoderProcessSout( decoder_t *p_dec, block_t *p_block ) ...@@ -1598,7 +1546,7 @@ static void DecoderProcessSout( decoder_t *p_dec, block_t *p_block )
p_sout_block->p_next = NULL; p_sout_block->p_next = NULL;
DecoderPlaySout( p_dec, p_block, b_telx ); DecoderPlaySout( p_dec, p_sout_block, b_telx );
p_sout_block = p_next; p_sout_block = p_next;
} }
......
...@@ -454,9 +454,6 @@ void input_ConfigVarInit ( input_thread_t *p_input ) ...@@ -454,9 +454,6 @@ void input_ConfigVarInit ( input_thread_t *p_input )
var_Create( p_input, "input-slave", var_Create( p_input, "input-slave",
VLC_VAR_STRING | VLC_VAR_DOINHERIT ); VLC_VAR_STRING | VLC_VAR_DOINHERIT );
var_Create( p_input, "minimize-threads",
VLC_VAR_BOOL|VLC_VAR_DOINHERIT );
var_Create( p_input, "audio-desync", var_Create( p_input, "audio-desync",
VLC_VAR_INTEGER | VLC_VAR_DOINHERIT ); VLC_VAR_INTEGER | VLC_VAR_DOINHERIT );
var_Create( p_input, "cr-average", var_Create( p_input, "cr-average",
......
...@@ -1019,10 +1019,6 @@ static const char *const ppsz_clock_descriptions[] = ...@@ -1019,10 +1019,6 @@ static const char *const ppsz_clock_descriptions[] =
"priorities. You can use it to tune VLC priority against other " \ "priorities. You can use it to tune VLC priority against other " \
"programs, or against other VLC instances.") "programs, or against other VLC instances.")
#define MINIMIZE_THREADS_TEXT N_("Minimize number of threads")
#define MINIMIZE_THREADS_LONGTEXT N_( \
"This option minimizes the number of threads needed to run VLC.")
#define USE_STREAM_IMMEDIATE N_("(Experimental) Don't do caching at the access level.") #define USE_STREAM_IMMEDIATE N_("(Experimental) Don't do caching at the access level.")
#define USE_STREAM_IMMEDIATE_LONGTEXT N_( \ #define USE_STREAM_IMMEDIATE_LONGTEXT N_( \
"This option is useful if you want to lower the latency when " \ "This option is useful if you want to lower the latency when " \
...@@ -1872,9 +1868,7 @@ vlc_module_begin(); ...@@ -1872,9 +1868,7 @@ vlc_module_begin();
change_need_restart(); change_need_restart();
set_section( N_("Performance options"), NULL ); set_section( N_("Performance options"), NULL );
add_bool( "minimize-threads", 0, NULL, MINIMIZE_THREADS_TEXT, add_obsolete_bool( "minimize-threads" );
MINIMIZE_THREADS_LONGTEXT, true );
change_need_restart();
add_bool( "use-stream-immediate", false, NULL, add_bool( "use-stream-immediate", false, NULL,
USE_STREAM_IMMEDIATE, USE_STREAM_IMMEDIATE_LONGTEXT, true ); USE_STREAM_IMMEDIATE, USE_STREAM_IMMEDIATE_LONGTEXT, true );
......
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