# HG changeset patch # User bcoudurier # Date 1168778852 0 # Node ID 8b62e4e730695ee4e10186c6c6963a1e4126eeb7 # Parent ea284c26b0f485665a9333deb885294e68b5db0b simplify diff -r ea284c26b0f4 -r 8b62e4e73069 swf.c --- a/swf.c Sun Jan 14 02:21:28 2007 +0000 +++ b/swf.c Sun Jan 14 12:47:32 2007 +0000 @@ -800,6 +800,7 @@ } } else if ( ( tag == TAG_STREAMHEAD || tag == TAG_STREAMHEAD2 ) && !ast) { /* streaming found */ + int sample_rate_code; get_byte(pb); v = get_byte(pb); swf->samples_per_frame = get_le16(pb); @@ -811,20 +812,10 @@ if (v & 0x20) ast->codec->codec_id = CODEC_ID_MP3; ast->need_parsing = 1; - switch((v>> 2) & 0x03) { - case 1: - ast->codec->sample_rate = 11025; - break; - case 2: - ast->codec->sample_rate = 22050; - break; - case 3: - ast->codec->sample_rate = 44100; - break; - default: + sample_rate_code= (v>>2) & 3; + if (!sample_rate_code) return AVERROR_IO; - } - + ast->codec->sample_rate = 11025 << (sample_rate_code-1); if (len > 4) url_fskip(pb,len-4);