diff options
author | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-01-03 23:14:13 +0000 |
---|---|---|
committer | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-01-03 23:14:13 +0000 |
commit | 69c1559ccb3cb3f30247354229af530f7f162ff1 (patch) | |
tree | 44b2e553504278eedec251c5d15c40c02dd06d76 /dec_audio.c | |
parent | e7ed9710f6b4594b16ff1e311024500bf2fcc629 (diff) | |
download | mpv-69c1559ccb3cb3f30247354229af530f7f162ff1.tar.bz2 mpv-69c1559ccb3cb3f30247354229af530f7f162ff1.tar.xz |
iterated a52 channel setup
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3969 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'dec_audio.c')
-rw-r--r-- | dec_audio.c | 13 |
1 files changed, 9 insertions, 4 deletions
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_channels<sh_audio->channels) - sh_audio->channels=audio_output_channels; + a52_printinfo(sh_audio); +// if(audio_output_channels<sh_audio->channels) +// 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; } |