The old check didn't cause any issues in practice, but wasn't 100% correct.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4429
b64f7644-9d1e-0410-96f1-
a4d463321fa5
}
else if( ( !pv->context->channels || !pv->context->channel_layout ) &&
( w->audio->config.in.codec == HB_ACODEC_DCA_HD ) &&
- ( ( w->audio->config.in.channel_layout & HB_INPUT_CH_LAYOUT_3F2R ) == HB_INPUT_CH_LAYOUT_3F2R ) )
+ ( ( w->audio->config.in.channel_layout & ~HB_INPUT_CH_LAYOUT_HAS_LFE ) == HB_INPUT_CH_LAYOUT_3F2R ) )
{
/* XXX: when we are demuxing the stream ourselves, it seems we have no
* channel count/layout info in the context until we decode audio for
int hb_ff_dts_disable_xch( AVCodecContext *c )
{
if( ( c->codec_id == CODEC_ID_DTS ) &&
- ( c->channel_layout & ( AV_CH_LAYOUT_5POINT0|AV_CH_BACK_CENTER ) ) )
+ ( ( c->channel_layout & ~AV_CH_LOW_FREQUENCY ) == ( AV_CH_LAYOUT_5POINT0|AV_CH_BACK_CENTER ) ) )
{
c->request_channels = --c->channels;
c->channel_layout &= ~AV_CH_BACK_CENTER;