X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;ds=sidebyside;f=src%2Fswfc.c;h=d2105e03a4e13c3943fb818d9ca4ccddb11f7ca8;hb=ff67124256c14060ca10710eb167a971f221dd90;hp=40f011f5b4cc7b5e30ff025872f5f239b0b279ab;hpb=207ff1e0876ef04db4ab3e3cc34e49150aa33093;p=swftools.git diff --git a/src/swfc.c b/src/swfc.c index 40f011f..d2105e0 100644 --- a/src/swfc.c +++ b/src/swfc.c @@ -1156,6 +1156,10 @@ void s_font(char*name, char*filename) font->id = id; tag = swf_InsertTag(tag, ST_DEFINEFONT2); swf_FontSetDefine2(tag, font); + tag = swf_InsertTag(tag, ST_EXPORTASSETS); + swf_SetU16(tag, 1); + swf_SetU16(tag, id); + swf_SetString(tag, name); incrementid(); if(dictionary_lookup(&fonts, name)) @@ -1178,6 +1182,7 @@ void s_sound(char*name, char*filename) U16*samples; int numsamples; int t; + int blocksize = 1152; if(!readWAV(filename, &wav)) { warning("Couldn't read wav file \"%s\"", filename); @@ -1195,6 +1200,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