Commit 4c19e527 authored by Laurent Aimar's avatar Laurent Aimar

* all: fixed sout-audio/video options.

parent 957af4c9
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* input_dec.c: Functions for the management of decoders * input_dec.c: Functions for the management of decoders
***************************************************************************** *****************************************************************************
* Copyright (C) 1999-2004 VideoLAN * Copyright (C) 1999-2004 VideoLAN
* $Id: input_dec.c,v 1.90 2004/02/22 16:08:47 fenrir Exp $ * $Id: input_dec.c,v 1.91 2004/02/25 12:38:33 fenrir Exp $
* *
* Authors: Christophe Massiot <massiot@via.ecp.fr> * Authors: Christophe Massiot <massiot@via.ecp.fr>
* Gildas Bazin <gbazin@netcourrier.com> * Gildas Bazin <gbazin@netcourrier.com>
...@@ -96,34 +96,17 @@ decoder_t * input_RunDecoder( input_thread_t * p_input, es_descriptor_t * p_es ) ...@@ -96,34 +96,17 @@ decoder_t * input_RunDecoder( input_thread_t * p_input, es_descriptor_t * p_es )
vlc_value_t val; vlc_value_t val;
/* If we are in sout mode, search for packetizer module */ /* If we are in sout mode, search for packetizer module */
var_Get( p_input, "sout", &val ); if( !p_es->b_force_decoder && p_input->stream.p_sout )
if( !p_es->b_force_decoder && val.psz_string && *val.psz_string )
{ {
free( val.psz_string ); /* Create the decoder configuration structure */
val.b_bool = VLC_TRUE; p_dec = CreateDecoder( p_input, p_es, VLC_OBJECT_PACKETIZER );
if( p_dec == NULL )
if( p_es->i_cat == AUDIO_ES )
{
var_Get( p_input, "sout-audio", &val );
}
else if( p_es->i_cat == VIDEO_ES )
{ {
var_Get( p_input, "sout-video", &val ); msg_Err( p_input, "could not create packetizer" );
return NULL;
} }
if( val.b_bool ) p_dec->p_module = module_Need( p_dec, "packetizer", "$packetizer" );
{
/* Create the decoder configuration structure */
p_dec = CreateDecoder( p_input, p_es, VLC_OBJECT_PACKETIZER );
if( p_dec == NULL )
{
msg_Err( p_input, "could not create packetizer" );
return NULL;
}
p_dec->p_module =
module_Need( p_dec, "packetizer", "$packetizer" );
}
} }
else else
{ {
...@@ -137,11 +120,9 @@ decoder_t * input_RunDecoder( input_thread_t * p_input, es_descriptor_t * p_es ) ...@@ -137,11 +120,9 @@ decoder_t * input_RunDecoder( input_thread_t * p_input, es_descriptor_t * p_es )
/* default Get a suitable decoder module */ /* default Get a suitable decoder module */
p_dec->p_module = module_Need( p_dec, "decoder", "$codec" ); p_dec->p_module = module_Need( p_dec, "decoder", "$codec" );
if( val.psz_string ) free( val.psz_string );
} }
if( !p_dec || !p_dec->p_module ) if( !p_dec->p_module )
{ {
msg_Err( p_dec, "no suitable decoder module for fourcc `%4.4s'.\n" msg_Err( p_dec, "no suitable decoder module for fourcc `%4.4s'.\n"
"VLC probably does not support this sound or video format.", "VLC probably does not support this sound or video format.",
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* input_programs.c: es_descriptor_t, pgrm_descriptor_t management * input_programs.c: es_descriptor_t, pgrm_descriptor_t management
***************************************************************************** *****************************************************************************
* Copyright (C) 1999-2004 VideoLAN * Copyright (C) 1999-2004 VideoLAN
* $Id: input_programs.c,v 1.132 2004/02/22 16:40:25 fenrir Exp $ * $Id: input_programs.c,v 1.133 2004/02/25 12:38:33 fenrir Exp $
* *
* Authors: Christophe Massiot <massiot@via.ecp.fr> * Authors: Christophe Massiot <massiot@via.ecp.fr>
* *
...@@ -845,6 +845,10 @@ int input_SelectES( input_thread_t * p_input, es_descriptor_t * p_es ) ...@@ -845,6 +845,10 @@ int input_SelectES( input_thread_t * p_input, es_descriptor_t * p_es )
if( p_es->i_cat == VIDEO_ES || p_es->i_cat == SPU_ES ) if( p_es->i_cat == VIDEO_ES || p_es->i_cat == SPU_ES )
{ {
var_Get( p_input, "video", &val ); var_Get( p_input, "video", &val );
if( val.b_bool && p_input->stream.p_sout )
{
var_Get( p_input, "sout-video", &val );
}
if( !val.b_bool ) if( !val.b_bool )
{ {
msg_Dbg( p_input, "video is disabled, not selecting ES 0x%x", msg_Dbg( p_input, "video is disabled, not selecting ES 0x%x",
...@@ -856,6 +860,10 @@ int input_SelectES( input_thread_t * p_input, es_descriptor_t * p_es ) ...@@ -856,6 +860,10 @@ int input_SelectES( input_thread_t * p_input, es_descriptor_t * p_es )
if( p_es->i_cat == AUDIO_ES ) if( p_es->i_cat == AUDIO_ES )
{ {
var_Get( p_input, "audio", &val ); var_Get( p_input, "audio", &val );
if( val.b_bool && p_input->stream.p_sout )
{
var_Get( p_input, "sout-audio", &val );
}
if( !val.b_bool ) if( !val.b_bool )
{ {
msg_Dbg( p_input, "audio is disabled, not selecting ES 0x%x", msg_Dbg( p_input, "audio is disabled, not selecting ES 0x%x",
......
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