Changeset bf490f9f931c4ac5d36fe82331bc51bed4782b56

Show
Ignore:
Timestamp:
08/28/06 13:45:18 (2 years ago)
Author:
Jean-Paul Saman <jpsaman@videolan.org>
git-committer:
Jean-Paul Saman <jpsaman@videolan.org> 1156765518 +0000
git-parent:

[0290a00cb5d662d3635071c94ff9e867361d30b7]

git-author:
Jean-Paul Saman <jpsaman@videolan.org> 1156765518 +0000
Message:

Reenable channel selection for mono: -1 = stereo mix of both channels, 0 = left channel, 1 = right channel, etc.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • modules/audio_filter/converter/mono.c

    r88fbf53 rbf490f9  
    6262{ 
    6363    int i_nb_channels; /* number of float32 per sample */ 
    64     unsigned int i_channel_selected; 
     64    int i_channel_selected; 
    6565    int i_bitspersample; 
    6666}; 
     
    8989    set_capability( "audio filter2", 5 ); 
    9090 
    91     add_integer( MONO_CFG "mono-channel", 0, NULL, MONO_CHANNEL_TEXT, MONO_CHANNEL_LONGTEXT, VLC_FALSE ); 
     91    add_integer( MONO_CFG "mono-channel", -1, NULL, MONO_CHANNEL_TEXT, MONO_CHANNEL_LONGTEXT, VLC_FALSE ); 
    9292        change_integer_list( pi_pos_values, ppsz_pos_descriptions, 0 ); 
    9393 
     
    263263    { 
    264264        /* Fake real mono. */ 
    265         p_out[n] = p_out[n+1] = (p_in[n] + p_in[n+1]) >> 1; 
    266         n++; 
     265        if( p_sys->i_channel_selected == -1) 
     266        { 
     267            p_out[n] = p_out[n+1] = (p_in[n] + p_in[n+1]) >> 1; 
     268            n++; 
     269        } 
     270        else if( (n % p_sys->i_nb_channels) == p_sys->i_channel_selected ) 
     271        { 
     272            p_out[n] = p_out[n+1] = p_in[n]; 
     273        } 
    267274    } 
    268275    return n;