comparison dec_audio.c @ 2434:571538d73e08

audio channels nr is identified from libmad's channel mode
author alex
date Tue, 23 Oct 2001 17:26:20 +0000
parents b02c2679e5a9
children b2ce5d6d7d4f
comparison
equal deleted inserted replaced
2433:f6caecb14d6d 2434:571538d73e08
586 else 586 else
587 { 587 {
588 printf(__FILE__ ":%d:mad: frame decoding failed\n", __LINE__); 588 printf(__FILE__ ":%d:mad: frame decoding failed\n", __LINE__);
589 } 589 }
590 590
591 sh_audio->channels=2; // hack 591 switch (mad_frame.header.mode)
592 {
593 case MAD_MODE_SINGLE_CHANNEL:
594 sh_audio->channels=1;
595 break;
596 case MAD_MODE_DUAL_CHANNEL:
597 case MAD_MODE_JOINT_STEREO:
598 case MAD_MODE_STEREO:
599 sh_audio->channels=2;
600 break;
601 default:
602 mp_msg(MSGT_DECAUDIO, MSGL_FATAL, "mad: unknown number of channels\n");
603 }
604 mp_msg(MSGT_DECAUDIO, MSGL_HINT, "mad: channels: %d (mad channel mode: %d)\n",
605 sh_audio->channels, mad_frame.header.mode);
592 /* var. name changed in 0.13.0 (beta) (libmad/CHANGES) -- alex */ 606 /* var. name changed in 0.13.0 (beta) (libmad/CHANGES) -- alex */
593 #if (MAD_VERSION_MAJOR >= 0) && (MAD_VERSION_MINOR >= 13) 607 #if (MAD_VERSION_MAJOR >= 0) && (MAD_VERSION_MINOR >= 13)
594 sh_audio->samplerate=mad_frame.header.samplerate; 608 sh_audio->samplerate=mad_frame.header.samplerate;
595 #else 609 #else
596 sh_audio->samplerate=mad_frame.header.sfreq; 610 sh_audio->samplerate=mad_frame.header.sfreq;