X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=blobdiff_plain;f=lib%2Fmodules%2Fswfsound.c;h=7032b0202a832525f8cfc5b4733e66b274b895bc;hp=428faec304c4c3aaa42436bbc5a485da1565ecb7;hb=053e755a7308d49d9d00cfc8a24d2adfa5cc9a80;hpb=aee9de2c6eb23628e54b6896f5b441d9b39317c1 diff --git a/lib/modules/swfsound.c b/lib/modules/swfsound.c index 428faec..7032b02 100644 --- a/lib/modules/swfsound.c +++ b/lib/modules/swfsound.c @@ -152,7 +152,7 @@ void swf_SetSoundStreamBlock(TAG*tag, S16*samples, int seek, char first) char*buf; int len = 0; int bufsize = 16384; - int numsamples = 576*(swf_mp3_in_samplerate/swf_mp3_out_samplerate); + int numsamples = (int)(((swf_mp3_out_samplerate > 22050) ? 1152 : 576) * ((double)swf_mp3_in_samplerate/swf_mp3_out_samplerate)); int fs = 0; buf = malloc(bufsize); @@ -194,7 +194,7 @@ void swf_SetSoundDefine(TAG*tag, S16*samples, int num) char*buf; int oldlen=0,len = 0; int bufsize = 16384; - int blocksize = 576*(swf_mp3_in_samplerate/swf_mp3_out_samplerate); + int blocksize = (int)(((swf_mp3_out_samplerate > 22050) ? 1152 : 576) * ((double)swf_mp3_in_samplerate/swf_mp3_out_samplerate)); int t; int blocks; @@ -213,8 +213,8 @@ void swf_SetSoundDefine(TAG*tag, S16*samples, int num) swf_SetU8(tag,(compression<<4)|(rate<<2)|(size<<1)|type); - swf_SetU32(tag,blocks*blocksize / - (swf_mp3_in_samplerate/swf_mp3_out_samplerate) // account for resampling + swf_SetU32(tag, (int)(tag,blocks*blocksize / + ((double)swf_mp3_in_samplerate/swf_mp3_out_samplerate)) // account for resampling ); buf = malloc(bufsize);