+ switch( layout->mChannelDescriptions[i].mChannelLabel )
+ {
+ case kAudioChannelLabel_Left:
+ p_aout->output.output.i_physical_channels |= AOUT_CHAN_LEFT;
+ continue;
+ case kAudioChannelLabel_Right:
+ p_aout->output.output.i_physical_channels |= AOUT_CHAN_RIGHT;
+ continue;
+ case kAudioChannelLabel_Center:
+ p_aout->output.output.i_physical_channels |= AOUT_CHAN_CENTER;
+ continue;
+ case kAudioChannelLabel_LFEScreen:
+ p_aout->output.output.i_physical_channels |= AOUT_CHAN_LFE;
+ continue;
+ case kAudioChannelLabel_LeftSurround:
+ p_aout->output.output.i_physical_channels |= AOUT_CHAN_REARLEFT;
+ continue;
+ case kAudioChannelLabel_RightSurround:
+ p_aout->output.output.i_physical_channels |= AOUT_CHAN_REARRIGHT;
+ continue;
+ case kAudioChannelLabel_RearSurroundLeft:
+ p_aout->output.output.i_physical_channels |= AOUT_CHAN_MIDDLELEFT;
+ continue;
+ case kAudioChannelLabel_RearSurroundRight:
+ p_aout->output.output.i_physical_channels |= AOUT_CHAN_MIDDLERIGHT;
+ continue;
+ case kAudioChannelLabel_CenterSurround:
+ p_aout->output.output.i_physical_channels |= AOUT_CHAN_REARCENTER;
+ continue;
+ default:
+ msg_Warn( p_aout, "unrecognized channel form provided by driver: %d", (int)layout->mChannelDescriptions[i].mChannelLabel );
+ }
+ }
+ if( p_aout->output.output.i_physical_channels == 0 )