]> git.sesse.net Git - vlc/commitdiff
* New --vlc-backwards-compat option, to go back to the old behavior with old
authorChristophe Massiot <massiot@videolan.org>
Mon, 23 Sep 2002 23:05:58 +0000 (23:05 +0000)
committerChristophe Massiot <massiot@videolan.org>
Mon, 23 Sep 2002 23:05:58 +0000 (23:05 +0000)
VLS's.
* Fixed a bug with non-ASCII characters in the OS X playlist.
* Fixed a warning on start-up.

include/vlc_symbols.h
modules/demux/mpeg/ts.c
modules/gui/macosx/playlist.m
src/audio_output/mixer.c

index 05d5f3c54de6252fe535f4db1e5af8fa4227885a..d302a4b0d64c70d64413ad1e4ee46710c4bdbc00 100644 (file)
@@ -37,6 +37,7 @@ struct module_symbols_t
     int (* __vlc_thread_create_inner) ( vlc_object_t *, char *, int, char *, void * ( * ) ( void * ), int, vlc_bool_t ) ;
     int (* __vlc_threads_end_inner) ( vlc_object_t * ) ;
     int (* __vlc_threads_init_inner) ( vlc_object_t * ) ;
+    int (* aout_BufferPlay_inner) ( aout_instance_t *, aout_input_t *, aout_buffer_t * ) ;
     int (* aout_FormatNbChannels_inner) ( audio_sample_format_t * p_format ) ;
     int (* aout_VolumeDown_inner) ( aout_instance_t *, int, audio_volume_t * ) ;
     int (* aout_VolumeGet_inner) ( aout_instance_t *, audio_volume_t * ) ;
@@ -111,7 +112,6 @@ struct module_symbols_t
     void (* __vlc_thread_join_inner) ( vlc_object_t *, char *, int ) ;
     void (* __vlc_thread_ready_inner) ( vlc_object_t * ) ;
     void (* aout_BufferDelete_inner) ( aout_instance_t *, aout_input_t *, aout_buffer_t * ) ;
-    void (* aout_BufferPlay_inner) ( aout_instance_t *, aout_input_t *, aout_buffer_t * ) ;
     void (* aout_DateInit_inner) ( audio_date_t *, u32 ) ;
     void (* aout_DateMove_inner) ( audio_date_t *, mtime_t ) ;
     void (* aout_DateSet_inner) ( audio_date_t *, mtime_t ) ;
index 188230a0c5e7a38bd88b0b1e2e3e14eb0262ff08..748f0ebbe98c79a8eaf9ad24da4f1aecfd4d8772 100644 (file)
@@ -2,7 +2,7 @@
  * mpeg_ts.c : Transport Stream input module for vlc
  *****************************************************************************
  * Copyright (C) 2000-2001 VideoLAN
- * $Id: ts.c,v 1.4 2002/08/30 22:22:24 massiot Exp $
+ * $Id: ts.c,v 1.5 2002/09/23 23:05:58 massiot Exp $
  *
  * Authors: Henri Fallon <henri@via.ecp.fr>
  *          Johan Bilien <jobi@via.ecp.fr>
@@ -90,6 +90,12 @@ static void TS_DVBPSI_HandlePMT ( input_thread_t *, dvbpsi_pmt_t * );
 /*****************************************************************************
  * Module descriptor
  *****************************************************************************/
+#define VLS_BACKWARDS_COMPAT_TEXT N_("compatibility with pre-0.4 VLS")
+#define VLS_BACKWARDS_COMPAT_LONGTEXT N_( \
+    "The protocol for transmitting A/52 audio streams changed between VLC " \
+    "0.3.x and 0.4. By default VLC assumes you have the latest VLS. In case " \
+    "you're using an old version, select this option.")
+
 vlc_module_begin();
 #if defined MODULE_NAME_IS_ts
     set_description( _("ISO 13818-1 MPEG Transport Stream input") );
@@ -100,6 +106,8 @@ vlc_module_begin();
     set_capability( "demux", 170 );
     add_shortcut( "ts_dvbpsi" );
 #endif
+    add_bool( "vls-backwards-compat", 0, NULL,
+              VLS_BACKWARDS_COMPAT_TEXT, VLS_BACKWARDS_COMPAT_LONGTEXT );
     set_callbacks( Activate, Deactivate );
 vlc_module_end();
 
@@ -545,6 +553,7 @@ static void TSDecodePMT( input_thread_t * p_input, es_descriptor_t * p_es )
 
     pgrm_ts_data_t            * p_pgrm_data;
     es_ts_data_t              * p_demux_data;
+    vlc_bool_t b_vls_compat = config_GetInt( p_input, "vls-backwards-compat" );
 
     p_demux_data = (es_ts_data_t *)p_es->p_demux_data;
     p_pgrm_data = (pgrm_ts_data_t *)p_es->p_pgrm->p_demux_data;
@@ -625,7 +634,10 @@ static void TSDecodePMT( input_thread_t * p_input, es_descriptor_t * p_es )
                             p_new_es->i_cat = AUDIO_ES;
                             break;
                         case A52_AUDIO_ES:
-                            p_new_es->i_fourcc = VLC_FOURCC('a','5','2',' ');
+                            if ( !b_vls_compat )
+                                p_new_es->i_fourcc = VLC_FOURCC('a','5','2',' ');
+                            else
+                                p_new_es->i_fourcc = VLC_FOURCC('a','5','2','b');
                             p_new_es->i_stream_id = 0xBD;
                             p_new_es->i_cat = AUDIO_ES;
                             break;
@@ -635,7 +647,10 @@ static void TSDecodePMT( input_thread_t * p_input, es_descriptor_t * p_es )
                             p_new_es->i_cat = AUDIO_ES;
                             break;
                         case DVD_SPU_ES:
-                            p_new_es->i_fourcc = VLC_FOURCC('s','p','u',' ');
+                            if ( !b_vls_compat )
+                                p_new_es->i_fourcc = VLC_FOURCC('s','p','u',' ');
+                            else
+                                p_new_es->i_fourcc = VLC_FOURCC('s','p','u','b');
                             p_new_es->i_stream_id = 0xBD;
                             p_new_es->i_cat = SPU_ES;
                             break;
@@ -840,6 +855,7 @@ void TS_DVBPSI_HandlePMT( input_thread_t * p_input, dvbpsi_pmt_t * p_new_pmt )
     pgrm_descriptor_t *     p_pgrm;
     es_descriptor_t *       p_new_es;
     pgrm_ts_data_t *        p_pgrm_demux;
+    vlc_bool_t b_vls_compat = config_GetInt( p_input, "vls-backwards-compat" );
    
     vlc_mutex_lock( &p_input->stream.stream_lock );
     
@@ -883,12 +899,19 @@ void TS_DVBPSI_HandlePMT( input_thread_t * p_input, dvbpsi_pmt_t * p_new_pmt )
                     p_new_es->i_cat = AUDIO_ES;
                     break;
                 case A52_AUDIO_ES:
-                    p_new_es->i_fourcc = VLC_FOURCC('a','5','2',' ');
+                    if ( !b_vls_compat )
+                        p_new_es->i_fourcc = VLC_FOURCC('a','5','2',' ');
+                    else
+                        p_new_es->i_fourcc = VLC_FOURCC('a','5','2','b');
                     p_new_es->i_cat = AUDIO_ES;
                     p_new_es->i_stream_id = 0xBD;
                     break;
                 case DVD_SPU_ES:
-                    p_new_es->i_fourcc = VLC_FOURCC('s','p','u',' ');
+                case A52_AUDIO_ES:
+                    if ( !b_vls_compat )
+                        p_new_es->i_fourcc = VLC_FOURCC('s','p','u',' ');
+                    else
+                        p_new_es->i_fourcc = VLC_FOURCC('s','p','u','b');
                     p_new_es->i_cat = SPU_ES;
                     p_new_es->i_stream_id = 0xBD;
                     break;
index d290a41d90f5604fcc8d7b4b020e47e2c362c7d0..c94fa56b3d0f5a06b0267c79d4f79029b6a57261 100644 (file)
@@ -2,7 +2,7 @@
  * playlist.m: MacOS X interface plugin
  *****************************************************************************
  * Copyright (C) 2002 VideoLAN
- * $Id: playlist.m,v 1.1 2002/08/04 17:23:43 sam Exp $
+ * $Id: playlist.m,v 1.2 2002/09/23 23:05:58 massiot Exp $
  *
  * Authors: Jon Lech Johansen <jon-vl@nanocrew.net>
  *
     }
 
     vlc_mutex_lock( &p_playlist->object_lock );
-    o_value = [NSString stringWithCString: 
+    o_value = [NSString stringWithUTF8String: 
         p_playlist->pp_items[i_row]->psz_name]; 
     vlc_mutex_unlock( &p_playlist->object_lock ); 
 
index c1d060f023fdd1625d9f8a8cf094b2a47af1d599..589346f93ca11dbb6db182907d1ff4d14ac1b62d 100644 (file)
@@ -2,7 +2,7 @@
  * mixer.c : audio output mixing operations
  *****************************************************************************
  * Copyright (C) 2002 VideoLAN
- * $Id: mixer.c,v 1.14 2002/09/20 23:27:04 massiot Exp $
+ * $Id: mixer.c,v 1.15 2002/09/23 23:05:58 massiot Exp $
  *
  * Authors: Christophe Massiot <massiot@via.ecp.fr>
  *
@@ -304,12 +304,6 @@ int aout_MixerMultiplierSet( aout_instance_t * p_aout, float f_multiplier )
 {
     float f_old = p_aout->mixer.f_multiplier;
 
-    if ( p_aout->mixer.mixer.i_format != AOUT_FMT_FLOAT32 )
-    {
-        msg_Warn( p_aout, "MixerMultiplierSet called for non-float32 mixer" );
-        return -1;
-    }
-
     aout_MixerDelete( p_aout );
 
     p_aout->mixer.f_multiplier = f_multiplier;
@@ -332,12 +326,6 @@ int aout_MixerMultiplierSet( aout_instance_t * p_aout, float f_multiplier )
  *****************************************************************************/
 int aout_MixerMultiplierGet( aout_instance_t * p_aout, float * pf_multiplier )
 {
-    if ( p_aout->mixer.mixer.i_format != AOUT_FMT_FLOAT32 )
-    {
-        msg_Warn( p_aout, "MixerMultiplierGet called for non-float32 mixer" );
-        return -1;
-    }
-
     *pf_multiplier = p_aout->mixer.f_multiplier;
     return 0;
 }