X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fswfdump.c;h=32570592fc2adff47a806c0fd28351c06e5b514c;hb=cb6d9eb04478802ef31bcd6f360a98fac9a406f9;hp=5da07fc327db5e109d639462156dcc2e24461fd0;hpb=000164d3bcc2e284c9e972655431a3562d037cd3;p=swftools.git diff --git a/src/swfdump.c b/src/swfdump.c index 5da07fc..3257059 100644 --- a/src/swfdump.c +++ b/src/swfdump.c @@ -167,6 +167,7 @@ void args_callback_usage(char *name) printf("-D , --full Show everything. Same as -atp\n"); printf("-V , --version Print version info and exit\n"); printf("-e , --html Print out html code for embedding the file\n"); + printf("-E , --xhtml Print out xhtml code for embedding the file\n"); printf("-a , --action Disassemble action tags\n"); printf("-t , --text Show text fields (like swfstrings).\n"); printf("-s , --shapes Show shape coordinates/styles\n"); @@ -302,7 +303,7 @@ void handleDefineSound(TAG*tag) { U16 id = swf_GetU16(tag); U8 flags = swf_GetU8(tag); - int compression = (flags>>4)&3; + int compression = (flags>>4)&7; int rate = (flags>>2)&3; int bits = flags&2?16:8; int stereo = flags&1; @@ -310,6 +311,8 @@ void handleDefineSound(TAG*tag) if(compression == 0) printf("Raw "); else if(compression == 1) printf("ADPCM "); else if(compression == 2) printf("MP3 "); + else if(compression == 3) printf("Raw little-endian "); + else if(compression == 6) printf("ASAO "); else printf("? "); if(rate == 0) printf("5.5Khz "); if(rate == 1) printf("11Khz "); @@ -924,11 +927,6 @@ int main (int argc,char ** argv) printf("[%03x] %9ld %s%s", tag->id, tag->len, prefix, swf_TagGetName(tag)); } - if(tag->id == ST_FREECHARACTER) { - U16 id = swf_GetU16(tag); - idtab[id] = 0; - } - if(swf_isDefiningTag(tag)) { U16 id = swf_GetDefineID(tag); printf(" defines id %04d", id); @@ -1175,6 +1173,13 @@ int main (int argc,char ** argv) printf("\n"); } } + + if(tag->id == ST_FREECHARACTER) { + U16 id; + swf_SetTagPos(tag, 0); + id = swf_GetU16(tag); + idtab[id] = 0; + } if(tag->len && hex) { hexdumpTag(tag, prefix);