From 69c1559ccb3cb3f30247354229af530f7f162ff1 Mon Sep 17 00:00:00 2001 From: arpi Date: Thu, 3 Jan 2002 23:14:13 +0000 Subject: iterated a52 channel setup git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3969 b3059339-0415-0410-9bf9-f77b7e298cf2 --- dec_audio.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'dec_audio.c') diff --git a/dec_audio.c b/dec_audio.c index 68d3328fac..248b83b5cb 100644 --- a/dec_audio.c +++ b/dec_audio.c @@ -563,10 +563,12 @@ case AFM_A52: { driver=0;break; } // 'a52 cannot upmix' hotfix: - sh_audio->channels=a52_printinfo(sh_audio); - if(audio_output_channelschannels) - sh_audio->channels=audio_output_channels; + a52_printinfo(sh_audio); +// if(audio_output_channelschannels) +// sh_audio->channels=audio_output_channels; // channels setup: + sh_audio->channels=audio_output_channels; +while(sh_audio->channels>0){ switch(sh_audio->channels){ case 1: a52_flags=A52_MONO; break; // case 2: a52_flags=A52_STEREO; break; @@ -586,7 +588,10 @@ case AFM_A52: { } mp_msg(MSGT_DECAUDIO,MSGL_V,"A52 flags after a52_frame: 0x%X\n",flags); // frame decoded, let's init resampler: - if(!a52_resample_init(a52_accel,flags,sh_audio->channels)){ + if(a52_resample_init(a52_accel,flags,sh_audio->channels)) break; + --sh_audio->channels; // try to decrease no. of channels +} + if(sh_audio->channels<=0){ mp_msg(MSGT_DECAUDIO,MSGL_ERR,"a52: no resampler. try different channel setup!\n"); driver=0;break; } -- cgit v1.2.3