From f955afd56c81b4202fc7ee279947749ec0619d7c Mon Sep 17 00:00:00 2001 From: nicodvb Date: Mon, 7 Mar 2005 07:36:27 +0000 Subject: fixed support for mp3 at <32000 sample_rate git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14928 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpdemux/muxer_mpeg.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'libmpdemux') diff --git a/libmpdemux/muxer_mpeg.c b/libmpdemux/muxer_mpeg.c index 0d73caf9d0..ba1cb71a04 100644 --- a/libmpdemux/muxer_mpeg.c +++ b/libmpdemux/muxer_mpeg.c @@ -999,7 +999,7 @@ static void patch_panscan(muxer_priv_t *priv, unsigned char *buf) static uint32_t get_audio_frame_size(muxer_headers_t *spriv, uint8_t *buf, int format, int samples_ps) { - uint32_t sz, tmp; + uint32_t sz, tmp, spf; #ifdef USE_LIBA52 #include "../liba52/a52.h" @@ -1011,7 +1011,14 @@ static uint32_t get_audio_frame_size(muxer_headers_t *spriv, uint8_t *buf, int f return sz; } #endif - tmp = spriv->bitrate * (format == 0x2000 ? 1536 : 1152); + if(format == 0x2000) + spf = 1536; + else if((format == 0x55) && (samples_ps < 32000)) + spf = 576; + else + spf = 1152; + + tmp = spriv->bitrate * spf; sz = tmp / samples_ps; if(sz % 2) sz++; -- cgit v1.2.3