Commit 77d07c40 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

Don't compile sout code if sout is disabled

parent ea0c5c53
...@@ -200,6 +200,7 @@ EXTRA_libvlc_la_SOURCES = \ ...@@ -200,6 +200,7 @@ EXTRA_libvlc_la_SOURCES = \
$(SOURCES_libvlc_win32) \ $(SOURCES_libvlc_win32) \
$(SOURCES_libvlc_dirent) \ $(SOURCES_libvlc_dirent) \
$(SOURCES_libvlc_getopt) \ $(SOURCES_libvlc_getopt) \
$(SOURCES_libvlc_sout) \
$(NULL) $(NULL)
if HAVE_BEOS if HAVE_BEOS
libvlc_la_SOURCES += $(SOURCES_libvlc_beos) libvlc_la_SOURCES += $(SOURCES_libvlc_beos)
...@@ -219,6 +220,9 @@ endif ...@@ -219,6 +220,9 @@ endif
if BUILD_GETOPT if BUILD_GETOPT
libvlc_la_SOURCES += $(SOURCES_libvlc_getopt) libvlc_la_SOURCES += $(SOURCES_libvlc_getopt)
endif endif
if ENABLE_SOUT
libvlc_la_SOURCES += $(SOURCES_libvlc_sout)
endif
SOURCES_libvlc_beos = \ SOURCES_libvlc_beos = \
misc/beos_specific.cpp \ misc/beos_specific.cpp \
...@@ -292,12 +296,6 @@ SOURCES_libvlc_common = \ ...@@ -292,12 +296,6 @@ SOURCES_libvlc_common = \
audio_output/mixer.c \ audio_output/mixer.c \
audio_output/output.c \ audio_output/output.c \
audio_output/intf.c \ audio_output/intf.c \
stream_output/stream_output.c \
stream_output/stream_output.h \
stream_output/announce.c \
stream_output/profiles.c \
stream_output/sap.c \
stream_output/sdp.c \
osd/osd.c \ osd/osd.c \
osd/osd_text.c \ osd/osd_text.c \
osd/osd_widgets.c \ osd/osd_widgets.c \
...@@ -344,12 +342,21 @@ SOURCES_libvlc_common = \ ...@@ -344,12 +342,21 @@ SOURCES_libvlc_common = \
misc/variables.c \ misc/variables.c \
misc/error.c \ misc/error.c \
misc/update.c \ misc/update.c \
input/vlm.c \
misc/xml.c \ misc/xml.c \
misc/devices.c \ misc/devices.c \
extras/libc.c \ extras/libc.c \
$(NULL) $(NULL)
SOURCES_libvlc_sout = \
input/vlm.c \
stream_output/stream_output.c \
stream_output/stream_output.h \
stream_output/announce.c \
stream_output/profiles.c \
stream_output/sap.c \
stream_output/sdp.c \
$(NULL)
SOURCES_libvlc = \ SOURCES_libvlc = \
$(SOURCES_libvlc_common) \ $(SOURCES_libvlc_common) \
$(OPT_SOURCES_libvlc_beos) \ $(OPT_SOURCES_libvlc_beos) \
......
...@@ -153,6 +153,9 @@ decoder_t *input_DecoderNew( input_thread_t *p_input, ...@@ -153,6 +153,9 @@ decoder_t *input_DecoderNew( input_thread_t *p_input,
decoder_t *p_dec = NULL; decoder_t *p_dec = NULL;
vlc_value_t val; vlc_value_t val;
#ifndef ENABLE_SOUT
(void)b_force_decoder;
#else
/* If we are in sout mode, search for packetizer module */ /* If we are in sout mode, search for packetizer module */
if( p_input->p->p_sout && !b_force_decoder ) if( p_input->p->p_sout && !b_force_decoder )
{ {
...@@ -167,6 +170,7 @@ decoder_t *input_DecoderNew( input_thread_t *p_input, ...@@ -167,6 +170,7 @@ decoder_t *input_DecoderNew( input_thread_t *p_input,
} }
} }
else else
#endif
{ {
/* Create the decoder configuration structure */ /* Create the decoder configuration structure */
p_dec = CreateDecoder( p_input, fmt, VLC_OBJECT_DECODER ); p_dec = CreateDecoder( p_input, fmt, VLC_OBJECT_DECODER );
...@@ -775,6 +779,7 @@ static int DecoderDecode( decoder_t *p_dec, block_t *p_block ) ...@@ -775,6 +779,7 @@ static int DecoderDecode( decoder_t *p_dec, block_t *p_block )
return VLC_SUCCESS; return VLC_SUCCESS;
} }
#ifdef ENABLE_SOUT
if( p_dec->i_object_type == VLC_OBJECT_PACKETIZER ) if( p_dec->i_object_type == VLC_OBJECT_PACKETIZER )
{ {
block_t *p_sout_block; block_t *p_sout_block;
...@@ -829,7 +834,7 @@ static int DecoderDecode( decoder_t *p_dec, block_t *p_block ) ...@@ -829,7 +834,7 @@ static int DecoderDecode( decoder_t *p_dec, block_t *p_block )
p_sout_block = p_next; p_sout_block = p_next;
} }
/* For now it's enough, as only sout inpact on this flag */ /* For now it's enough, as only sout impact on this flag */
if( p_dec->p_owner->p_sout->i_out_pace_nocontrol > 0 && if( p_dec->p_owner->p_sout->i_out_pace_nocontrol > 0 &&
p_dec->p_owner->p_input->p->b_out_pace_control ) p_dec->p_owner->p_input->p->b_out_pace_control )
{ {
...@@ -844,7 +849,9 @@ static int DecoderDecode( decoder_t *p_dec, block_t *p_block ) ...@@ -844,7 +849,9 @@ static int DecoderDecode( decoder_t *p_dec, block_t *p_block )
} }
} }
} }
else if( p_dec->fmt_in.i_cat == AUDIO_ES ) else
#endif
if( p_dec->fmt_in.i_cat == AUDIO_ES )
{ {
if( p_block ) if( p_block )
DecoderUpdatePreroll( &p_dec->p_owner->i_preroll_end, p_block ); DecoderUpdatePreroll( &p_dec->p_owner->i_preroll_end, p_block );
...@@ -1000,11 +1007,13 @@ static void DeleteDecoder( decoder_t * p_dec ) ...@@ -1000,11 +1007,13 @@ static void DeleteDecoder( decoder_t * p_dec )
vout_Request( p_dec, p_dec->p_owner->p_vout, 0 ); vout_Request( p_dec, p_dec->p_owner->p_vout, 0 );
} }
#ifdef ENABLE_SOUT
if( p_dec->p_owner->p_sout_input ) if( p_dec->p_owner->p_sout_input )
{ {
sout_InputDelete( p_dec->p_owner->p_sout_input ); sout_InputDelete( p_dec->p_owner->p_sout_input );
es_format_Clean( &p_dec->p_owner->sout ); es_format_Clean( &p_dec->p_owner->sout );
} }
#endif
if( p_dec->fmt_in.i_cat == SPU_ES ) if( p_dec->fmt_in.i_cat == SPU_ES )
{ {
......
...@@ -319,7 +319,7 @@ static void Destructor( input_thread_t * p_input ) ...@@ -319,7 +319,7 @@ static void Destructor( input_thread_t * p_input )
stats_TimerDump( p_input, STATS_TIMER_INPUT_LAUNCHING ); stats_TimerDump( p_input, STATS_TIMER_INPUT_LAUNCHING );
stats_TimerClean( p_input, STATS_TIMER_INPUT_LAUNCHING ); stats_TimerClean( p_input, STATS_TIMER_INPUT_LAUNCHING );
#ifdef ENABLE_SOUT
if( priv->b_owns_its_sout && priv->p_sout ) if( priv->b_owns_its_sout && priv->p_sout )
{ {
if( priv->b_sout_keep ) if( priv->b_sout_keep )
...@@ -330,7 +330,7 @@ static void Destructor( input_thread_t * p_input ) ...@@ -330,7 +330,7 @@ static void Destructor( input_thread_t * p_input )
priv->p_sout = NULL; priv->p_sout = NULL;
} }
} }
#endif
vlc_gc_decref( p_input->p->input.p_item ); vlc_gc_decref( p_input->p->input.p_item );
vlc_mutex_destroy( &p_input->p->counters.counters_lock ); vlc_mutex_destroy( &p_input->p->counters.counters_lock );
...@@ -819,6 +819,7 @@ static void InitStatistics( input_thread_t * p_input ) ...@@ -819,6 +819,7 @@ static void InitStatistics( input_thread_t * p_input )
} }
} }
#ifdef ENABLE_SOUT
static int InitSout( input_thread_t * p_input ) static int InitSout( input_thread_t * p_input )
{ {
char *psz; char *psz;
...@@ -883,6 +884,7 @@ static int InitSout( input_thread_t * p_input ) ...@@ -883,6 +884,7 @@ static int InitSout( input_thread_t * p_input )
return VLC_SUCCESS; return VLC_SUCCESS;
} }
#endif
static void InitTitle( input_thread_t * p_input ) static void InitTitle( input_thread_t * p_input )
{ {
...@@ -1161,10 +1163,11 @@ static int Init( input_thread_t * p_input ) ...@@ -1161,10 +1163,11 @@ static int Init( input_thread_t * p_input )
} }
InitStatistics( p_input ); InitStatistics( p_input );
#ifdef ENABLE_SOUT
ret = InitSout( p_input ); ret = InitSout( p_input );
if( ret != VLC_SUCCESS ) if( ret != VLC_SUCCESS )
return ret; /* FIXME: goto error; should be better here */ return ret; /* FIXME: goto error; should be better here */
#endif
/* Create es out */ /* Create es out */
p_input->p->p_es_out = input_EsOutNew( p_input, p_input->p->i_rate ); p_input->p->p_es_out = input_EsOutNew( p_input, p_input->p->i_rate );
...@@ -1249,13 +1252,13 @@ error: ...@@ -1249,13 +1252,13 @@ error:
if( p_input->p->p_es_out ) if( p_input->p->p_es_out )
input_EsOutDelete( p_input->p->p_es_out ); input_EsOutDelete( p_input->p->p_es_out );
#ifdef ENABLE_SOUT
if( p_input->p->p_sout ) if( p_input->p->p_sout )
{ {
vlc_object_detach( p_input->p->p_sout ); vlc_object_detach( p_input->p->p_sout );
sout_DeleteInstance( p_input->p->p_sout ); sout_DeleteInstance( p_input->p->p_sout );
} }
#endif
if( !p_input->b_preparsing && p_input->p_libvlc->b_stats ) if( !p_input->b_preparsing && p_input->p_libvlc->b_stats )
{ {
......
...@@ -778,6 +778,7 @@ int libvlc_InternalInit( libvlc_int_t *p_libvlc, int i_argc, ...@@ -778,6 +778,7 @@ int libvlc_InternalInit( libvlc_int_t *p_libvlc, int i_argc,
} }
free( psz_modules ); free( psz_modules );
#ifdef ENABLE_SOUT
/* Initialize VLM if vlm-conf is specified */ /* Initialize VLM if vlm-conf is specified */
psz_parser = config_GetPsz( p_libvlc, "vlm-conf" ); psz_parser = config_GetPsz( p_libvlc, "vlm-conf" );
if( psz_parser && *psz_parser ) if( psz_parser && *psz_parser )
...@@ -787,6 +788,7 @@ int libvlc_InternalInit( libvlc_int_t *p_libvlc, int i_argc, ...@@ -787,6 +788,7 @@ int libvlc_InternalInit( libvlc_int_t *p_libvlc, int i_argc,
msg_Err( p_libvlc, "VLM initialization failed" ); msg_Err( p_libvlc, "VLM initialization failed" );
} }
free( psz_parser ); free( psz_parser );
#endif
/* /*
* Load background interfaces * Load background interfaces
...@@ -944,8 +946,6 @@ int libvlc_InternalCleanup( libvlc_int_t *p_libvlc ) ...@@ -944,8 +946,6 @@ int libvlc_InternalCleanup( libvlc_int_t *p_libvlc )
intf_thread_t * p_intf = NULL; intf_thread_t * p_intf = NULL;
vout_thread_t * p_vout = NULL; vout_thread_t * p_vout = NULL;
aout_instance_t * p_aout = NULL; aout_instance_t * p_aout = NULL;
announce_handler_t * p_announce = NULL;
sout_instance_t * p_sout = NULL;
/* Ask the interfaces to stop and destroy them */ /* Ask the interfaces to stop and destroy them */
msg_Dbg( p_libvlc, "removing all interfaces" ); msg_Dbg( p_libvlc, "removing all interfaces" );
...@@ -980,6 +980,9 @@ int libvlc_InternalCleanup( libvlc_int_t *p_libvlc ) ...@@ -980,6 +980,9 @@ int libvlc_InternalCleanup( libvlc_int_t *p_libvlc )
aout_Delete( p_aout ); aout_Delete( p_aout );
} }
#ifdef ENABLE_SOUT
sout_instance_t * p_sout;
p_sout = vlc_object_find( p_libvlc, VLC_OBJECT_SOUT, FIND_CHILD ); p_sout = vlc_object_find( p_libvlc, VLC_OBJECT_SOUT, FIND_CHILD );
if( p_sout ) if( p_sout )
{ {
...@@ -994,6 +997,7 @@ int libvlc_InternalCleanup( libvlc_int_t *p_libvlc ) ...@@ -994,6 +997,7 @@ int libvlc_InternalCleanup( libvlc_int_t *p_libvlc )
{ {
vlm_Delete( p_libvlc->p_vlm ); vlm_Delete( p_libvlc->p_vlm );
} }
#endif
/* Free interaction */ /* Free interaction */
msg_Dbg( p_libvlc, "removing interaction" ); msg_Dbg( p_libvlc, "removing interaction" );
...@@ -1002,6 +1006,9 @@ int libvlc_InternalCleanup( libvlc_int_t *p_libvlc ) ...@@ -1002,6 +1006,9 @@ int libvlc_InternalCleanup( libvlc_int_t *p_libvlc )
stats_TimersDumpAll( p_libvlc ); stats_TimersDumpAll( p_libvlc );
stats_TimersCleanAll( p_libvlc ); stats_TimersCleanAll( p_libvlc );
#ifdef ENABLE_SOUT
announce_handler_t * p_announce;
/* Free announce handler(s?) */ /* Free announce handler(s?) */
while( (p_announce = vlc_object_find( p_libvlc, VLC_OBJECT_ANNOUNCE, while( (p_announce = vlc_object_find( p_libvlc, VLC_OBJECT_ANNOUNCE,
FIND_CHILD ) ) ) FIND_CHILD ) ) )
...@@ -1011,6 +1018,7 @@ int libvlc_InternalCleanup( libvlc_int_t *p_libvlc ) ...@@ -1011,6 +1018,7 @@ int libvlc_InternalCleanup( libvlc_int_t *p_libvlc )
vlc_object_release( p_announce ); vlc_object_release( p_announce );
announce_HandlerDestroy( p_announce ); announce_HandlerDestroy( p_announce );
} }
#endif
bool b_clean = true; bool b_clean = true;
FOREACH_ARRAY( input_item_t *p_del, p_libvlc->input_items ) FOREACH_ARRAY( input_item_t *p_del, p_libvlc->input_items )
......
...@@ -231,6 +231,7 @@ static void ObjectGarbageCollector( playlist_t *p_playlist, bool b_force ) ...@@ -231,6 +231,7 @@ static void ObjectGarbageCollector( playlist_t *p_playlist, bool b_force )
vlc_object_release( p_obj ); vlc_object_release( p_obj );
vout_Destroy( (vout_thread_t *)p_obj ); vout_Destroy( (vout_thread_t *)p_obj );
} }
#ifdef ENABLE_SOUT
while( ( p_obj = vlc_object_find( p_playlist, VLC_OBJECT_SOUT, while( ( p_obj = vlc_object_find( p_playlist, VLC_OBJECT_SOUT,
FIND_CHILD ) ) ) FIND_CHILD ) ) )
{ {
...@@ -244,6 +245,7 @@ static void ObjectGarbageCollector( playlist_t *p_playlist, bool b_force ) ...@@ -244,6 +245,7 @@ static void ObjectGarbageCollector( playlist_t *p_playlist, bool b_force )
vlc_object_release( p_obj ); vlc_object_release( p_obj );
sout_DeleteInstance( (sout_instance_t*)p_obj ); sout_DeleteInstance( (sout_instance_t*)p_obj );
} }
#endif
p_playlist->b_cant_sleep = false; p_playlist->b_cant_sleep = false;
vlc_mutex_unlock( &p_playlist->gc_lock ); vlc_mutex_unlock( &p_playlist->gc_lock );
} }
...@@ -447,6 +449,7 @@ void playlist_LastLoop( playlist_t *p_playlist ) ...@@ -447,6 +449,7 @@ void playlist_LastLoop( playlist_t *p_playlist )
msleep( INTF_IDLE_SLEEP ); msleep( INTF_IDLE_SLEEP );
} }
#ifdef ENABLE_SOUT
/* close all remaining sout */ /* close all remaining sout */
while( ( p_obj = vlc_object_find( p_playlist, while( ( p_obj = vlc_object_find( p_playlist,
VLC_OBJECT_SOUT, FIND_CHILD ) ) ) VLC_OBJECT_SOUT, FIND_CHILD ) ) )
...@@ -455,6 +458,7 @@ void playlist_LastLoop( playlist_t *p_playlist ) ...@@ -455,6 +458,7 @@ void playlist_LastLoop( playlist_t *p_playlist )
vlc_object_release( p_obj ); vlc_object_release( p_obj );
sout_DeleteInstance( (sout_instance_t*)p_obj ); sout_DeleteInstance( (sout_instance_t*)p_obj );
} }
#endif
/* close all remaining vout */ /* close all remaining vout */
while( ( p_obj = vlc_object_find( p_playlist, while( ( p_obj = vlc_object_find( p_playlist,
......
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