Commit 0db2b225 authored by Laurent Aimar's avatar Laurent Aimar

Fixed wav audio channel order.

parent bf04f9a8
...@@ -202,11 +202,20 @@ static int Open( vlc_object_t * p_this ) ...@@ -202,11 +202,20 @@ static int Open( vlc_object_t * p_this )
if( i_channel_mask & pi_channels_src[i] ) if( i_channel_mask & pi_channels_src[i] )
p_sys->i_channel_mask |= pi_channels_in[i]; p_sys->i_channel_mask |= pi_channels_in[i];
} }
}
}
else if( GetWLE( &p_wf->wFormatTag ) == WAVE_FORMAT_PCM &&
p_sys->fmt.audio.i_channels > 2 && p_sys->fmt.audio.i_channels <= 9 )
{
for( int i = 0; i < p_sys->fmt.audio.i_channels; i++ )
p_sys->i_channel_mask |= pi_channels_in[i];
}
if( p_sys->i_channel_mask )
{
if( p_sys->fmt.i_codec == VLC_FOURCC('a','r','a','w') || if( p_sys->fmt.i_codec == VLC_FOURCC('a','r','a','w') ||
p_sys->fmt.i_codec == VLC_FOURCC('p','c','m',' ') || p_sys->fmt.i_codec == VLC_FOURCC('p','c','m',' ') ||
p_sys->fmt.i_codec == VLC_FOURCC('a','f','l','t') ) p_sys->fmt.i_codec == VLC_FOURCC('a','f','l','t') )
p_sys->b_chan_reorder = p_sys->b_chan_reorder =
aout_CheckChannelReorder( pi_channels_in, NULL, aout_CheckChannelReorder( pi_channels_in, NULL,
p_sys->i_channel_mask, p_sys->i_channel_mask,
...@@ -216,10 +225,9 @@ static int Open( vlc_object_t * p_this ) ...@@ -216,10 +225,9 @@ static int Open( vlc_object_t * p_this )
msg_Dbg( p_demux, "channel mask: %x, reordering: %i", msg_Dbg( p_demux, "channel mask: %x, reordering: %i",
p_sys->i_channel_mask, (int)p_sys->b_chan_reorder ); p_sys->i_channel_mask, (int)p_sys->b_chan_reorder );
} }
p_sys->fmt.audio.i_physical_channels = p_sys->fmt.audio.i_physical_channels =
p_sys->fmt.audio.i_original_channels = p_sys->fmt.audio.i_original_channels = p_sys->i_channel_mask;
p_sys->i_channel_mask;
}
if( p_sys->fmt.i_extra > 0 ) if( p_sys->fmt.i_extra > 0 )
{ {
......
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