]> git.sesse.net Git - vlc/commitdiff
* all: fixed sout-audio/video options.
authorLaurent Aimar <fenrir@videolan.org>
Wed, 25 Feb 2004 12:38:33 +0000 (12:38 +0000)
committerLaurent Aimar <fenrir@videolan.org>
Wed, 25 Feb 2004 12:38:33 +0000 (12:38 +0000)
src/input/input_dec.c
src/input/input_programs.c

index e6f42f03306842122d78595a3c5db386110b4f48..88b7eec03398dcedd1cc8f2681b5dc234b309f50 100644 (file)
@@ -2,7 +2,7 @@
  * input_dec.c: Functions for the management of decoders
  *****************************************************************************
  * 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>
  *          Gildas Bazin <gbazin@netcourrier.com>
@@ -96,34 +96,17 @@ decoder_t * input_RunDecoder( input_thread_t * p_input, es_descriptor_t * p_es )
     vlc_value_t    val;
 
     /* If we are in sout mode, search for packetizer module */
-    var_Get( p_input, "sout", &val );
-    if( !p_es->b_force_decoder && val.psz_string && *val.psz_string )
+    if( !p_es->b_force_decoder && p_input->stream.p_sout )
     {
-        free( val.psz_string );
-        val.b_bool = VLC_TRUE;
-
-        if( p_es->i_cat == AUDIO_ES )
-        {
-            var_Get( p_input, "sout-audio", &val );
-        }
-        else if( p_es->i_cat == VIDEO_ES )
+        /* Create the decoder configuration structure */
+        p_dec = CreateDecoder( p_input, p_es, VLC_OBJECT_PACKETIZER );
+        if( p_dec == NULL )
         {
-            var_Get( p_input, "sout-video", &val );
+            msg_Err( p_input, "could not create packetizer" );
+            return NULL;
         }
 
-        if( val.b_bool )
-        {
-            /* 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" );
-        }
+        p_dec->p_module = module_Need( p_dec, "packetizer", "$packetizer" );
     }
     else
     {
@@ -137,11 +120,9 @@ decoder_t * input_RunDecoder( input_thread_t * p_input, es_descriptor_t * p_es )
 
         /* default Get a suitable decoder module */
         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"
                  "VLC probably does not support this sound or video format.",
index 2f916488f91361f1445c7a94ef0301dd027e9ba5..33e7d60ca44aa2d5106773b22c44f630cdd672b8 100644 (file)
@@ -2,7 +2,7 @@
  * input_programs.c: es_descriptor_t, pgrm_descriptor_t management
  *****************************************************************************
  * 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>
  *
@@ -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 )
     {
         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 )
         {
             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 )
     if( p_es->i_cat == AUDIO_ES )
     {
         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 )
         {
             msg_Dbg( p_input, "audio is disabled, not selecting ES 0x%x",