Commit abdf248d authored by Christophe Massiot's avatar Christophe Massiot

Fixed a dozen bugs regarding mono audio files.

parent f42c15f0
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
* using MAD (MPEG Audio Decoder) * using MAD (MPEG Audio Decoder)
***************************************************************************** *****************************************************************************
* Copyright (C) 2001 by Jean-Paul Saman * Copyright (C) 2001 by Jean-Paul Saman
* $Id: mpgatofixed32.c,v 1.1 2003/01/15 10:58:47 massiot Exp $ * $Id: mpgatofixed32.c,v 1.2 2003/01/20 10:59:29 massiot Exp $
* *
* Authors: Christophe Massiot <massiot@via.ecp.fr> * Authors: Christophe Massiot <massiot@via.ecp.fr>
* Jean-Paul Saman <jpsaman@wxs.nl> * Jean-Paul Saman <jpsaman@wxs.nl>
...@@ -86,7 +86,7 @@ static int Create( vlc_object_t * _p_filter ) ...@@ -86,7 +86,7 @@ static int Create( vlc_object_t * _p_filter )
if ( p_filter->input.i_original_channels != if ( p_filter->input.i_original_channels !=
p_filter->output.i_original_channels p_filter->output.i_original_channels
&& p_filter->input.i_physical_channels != || p_filter->input.i_physical_channels !=
p_filter->output.i_physical_channels ) p_filter->output.i_physical_channels )
{ {
return -1; return -1;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* oss.c : OSS /dev/dsp module for vlc * oss.c : OSS /dev/dsp module for vlc
***************************************************************************** *****************************************************************************
* Copyright (C) 2000-2002 VideoLAN * Copyright (C) 2000-2002 VideoLAN
* $Id: oss.c,v 1.45 2003/01/14 22:44:29 sam Exp $ * $Id: oss.c,v 1.46 2003/01/20 10:59:29 massiot Exp $
* *
* Authors: Michel Kaempf <maxx@via.ecp.fr> * Authors: Michel Kaempf <maxx@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org> * Samuel Hocevar <sam@zoy.org>
...@@ -217,6 +217,10 @@ static void Probe( aout_instance_t * p_aout ) ...@@ -217,6 +217,10 @@ static void Probe( aout_instance_t * p_aout )
{ {
val.psz_string = N_("Mono"); val.psz_string = N_("Mono");
var_Change( p_aout, "audio-device", VLC_VAR_ADDCHOICE, &val ); var_Change( p_aout, "audio-device", VLC_VAR_ADDCHOICE, &val );
if ( p_aout->output.output.i_physical_channels == AOUT_CHAN_CENTER )
{
var_Set( p_aout, "audio-device", val );
}
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* common.c : audio output management of common data structures * common.c : audio output management of common data structures
***************************************************************************** *****************************************************************************
* Copyright (C) 2002 VideoLAN * Copyright (C) 2002 VideoLAN
* $Id: common.c,v 1.13 2003/01/15 10:58:48 massiot Exp $ * $Id: common.c,v 1.14 2003/01/20 10:59:29 massiot Exp $
* *
* Authors: Christophe Massiot <massiot@via.ecp.fr> * Authors: Christophe Massiot <massiot@via.ecp.fr>
* *
...@@ -171,7 +171,7 @@ const char * aout_FormatPrintChannels( const audio_sample_format_t * p_format ) ...@@ -171,7 +171,7 @@ const char * aout_FormatPrintChannels( const audio_sample_format_t * p_format )
else if ( p_format->i_original_channels & AOUT_CHAN_DUALMONO ) else if ( p_format->i_original_channels & AOUT_CHAN_DUALMONO )
return "Dual-mono"; return "Dual-mono";
else if ( p_format->i_original_channels == AOUT_CHAN_CENTER ) else if ( p_format->i_original_channels == AOUT_CHAN_CENTER )
return "Mono"; return "Stereo/Mono";
else if ( !(p_format->i_original_channels & AOUT_CHAN_RIGHT) ) else if ( !(p_format->i_original_channels & AOUT_CHAN_RIGHT) )
return "Stereo/Left"; return "Stereo/Left";
else if ( !(p_format->i_original_channels & AOUT_CHAN_LEFT) ) else if ( !(p_format->i_original_channels & AOUT_CHAN_LEFT) )
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* output.c : internal management of output streams for the audio output * output.c : internal management of output streams for the audio output
***************************************************************************** *****************************************************************************
* Copyright (C) 2002 VideoLAN * Copyright (C) 2002 VideoLAN
* $Id: output.c,v 1.28 2003/01/04 16:27:49 gbazin Exp $ * $Id: output.c,v 1.29 2003/01/20 10:59:29 massiot Exp $
* *
* Authors: Christophe Massiot <massiot@via.ecp.fr> * Authors: Christophe Massiot <massiot@via.ecp.fr>
* *
...@@ -89,7 +89,9 @@ int aout_OutputNew( aout_instance_t * p_aout, ...@@ -89,7 +89,9 @@ int aout_OutputNew( aout_instance_t * p_aout,
} }
free( val.psz_string ); free( val.psz_string );
} }
else if ( p_aout->output.output.i_physical_channels == AOUT_CHAN_CENTER ) else if ( p_aout->output.output.i_physical_channels == AOUT_CHAN_CENTER
&& (p_aout->output.output.i_original_channels
& AOUT_CHAN_PHYSMASK) == (AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT) )
{ {
/* Mono - create the audio-channels variable. */ /* Mono - create the audio-channels variable. */
var_Create( p_aout, "audio-channels", VLC_VAR_STRING | VLC_VAR_HASCHOICE ); var_Create( p_aout, "audio-channels", VLC_VAR_STRING | VLC_VAR_HASCHOICE );
...@@ -112,8 +114,8 @@ int aout_OutputNew( aout_instance_t * p_aout, ...@@ -112,8 +114,8 @@ int aout_OutputNew( aout_instance_t * p_aout,
} }
else if ( p_aout->output.output.i_physical_channels == else if ( p_aout->output.output.i_physical_channels ==
(AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT) (AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT)
&& p_aout->output.output.i_original_channels == && (p_aout->output.output.i_original_channels
(AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT) ) & AOUT_CHAN_PHYSMASK) == (AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT) )
{ {
/* Stereo - create the audio-channels variable. */ /* Stereo - create the audio-channels variable. */
var_Create( p_aout, "audio-channels", VLC_VAR_STRING | VLC_VAR_HASCHOICE ); var_Create( p_aout, "audio-channels", VLC_VAR_STRING | VLC_VAR_HASCHOICE );
......
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