From 3323971944f7a887e4f68dd40ec52c11a7166b14 Mon Sep 17 00:00:00 2001 From: kramm Date: Sun, 20 Feb 2005 19:51:03 +0000 Subject: [PATCH] fixed "emai" bug. --- src/swfc.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/swfc.c b/src/swfc.c index 40f011f..49b3998 100644 --- a/src/swfc.c +++ b/src/swfc.c @@ -1178,6 +1178,7 @@ void s_sound(char*name, char*filename) U16*samples; int numsamples; int t; + int blocksize = 576; if(!readWAV(filename, &wav)) { warning("Couldn't read wav file \"%s\"", filename); @@ -1195,6 +1196,20 @@ void s_sound(char*name, char*filename) } #endif } + + if(numsamples%blocksize != 0) + { + // apply padding, so that block is a multiple of blocksize + int numblocks = (numsamples+blocksize-1)/blocksize; + int numsamples2; + U16* samples2; + numsamples2 = numblocks * blocksize; + samples2 = malloc(sizeof(U16)*numsamples2); + memcpy(samples2, samples, numsamples*sizeof(U16)); + memset(&samples2[numsamples], 0, sizeof(U16)*(numsamples2 - numsamples)); + numsamples = numsamples2; + samples = samples2; + } tag = swf_InsertTag(tag, ST_DEFINESOUND); swf_SetU16(tag, id); //id -- 1.7.10.4