- /* Reset all. */
- i_format = AFMT_S16_NE;
- if( ioctl( p_sys->i_fd, SNDCTL_DSP_RESET, NULL ) < 0 ||
- ioctl( p_sys->i_fd, SNDCTL_DSP_SETFMT, &i_format ) < 0 )
- {
- msg_Err( p_aout, "cannot reset OSS audio device" );
- var_Destroy( p_aout, "audio-device" );
- return;
- }
-
- if ( ioctl( p_sys->i_fd, SNDCTL_DSP_GETCHANNELMASK,
- &i_chanmask ) == 0 )
- {
- if ( !(i_chanmask & DSP_BIND_FRONT) )
- {
- msg_Err( p_aout, "no front channels! (%x)",
- i_chanmask );
- return;
- }
-
- if ( (i_chanmask & (DSP_BIND_SURR | DSP_BIND_CENTER_LFE))
- && (p_aout->output.output.i_physical_channels ==
- (AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT | AOUT_CHAN_CENTER
- | AOUT_CHAN_REARLEFT | AOUT_CHAN_REARRIGHT
- | AOUT_CHAN_LFE)) )
- {
- val.i_int = AOUT_VAR_5_1;
- text.psz_string = (char*) "5.1";
- var_Change( p_aout, "audio-device",
- VLC_VAR_ADDCHOICE, &val, &text );
- }
-
- if ( (i_chanmask & DSP_BIND_SURR)
- && (p_aout->output.output.i_physical_channels &
- (AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT
- | AOUT_CHAN_REARLEFT | AOUT_CHAN_REARRIGHT)) )
- {
- val.i_int = AOUT_VAR_2F2R;
- text.psz_string = _("2 Front 2 Rear");
- var_Change( p_aout, "audio-device",
- VLC_VAR_ADDCHOICE, &val, &text );
- }
- }
- }
-#endif