- if ( CAN_MIXDOWN( audio ) )
- {
- if ( STEREO_ONLY( audio ) )
- {
- if ( audio->config.out.mixdown < HB_AMIXDOWN_STEREO )
- {
- audio->config.out.mixdown = HB_AMIXDOWN_STEREO;
- }
- else if ( audio->config.out.mixdown > HB_AMIXDOWN_DOLBYPLII )
- {
- audio->config.out.mixdown = HB_AMIXDOWN_DOLBYPLII;
- }
- }
- else if ( ! ( audio->config.in.channel_layout &
- HB_INPUT_CH_LAYOUT_HAS_LFE ) )
- {
- // we don't do 5 channel discrete so mixdown to DPLII
- audio->config.out.mixdown = HB_AMIXDOWN_DOLBYPLII;
- }
- }
- else if ( ! ( audio->config.in.channel_layout &
- HB_INPUT_CH_LAYOUT_HAS_LFE ) )
- {
- // XXX we can't mixdown & don't have any way to specify
- // 5 channel discrete output so we're hosed.
- hb_log( "ERROR - can't handle 5 channel discrete audio stream "
- "%x - output will be messed up", audio->id );
- }
- else