else if(tag->id == ST_DEFINEBITSJPEG3 && tag->len>6) {
U32 end = GET32(&tag->data[2])+6;
int pos = findjpegboundary(&tag->data[6], tag->len-6);
- if(pos<0)
- return;
- pos+=6;
- fi = save_fopen(filename, "wb");
- fwrite(&tag->data[6], pos-6, 1, fi);
- fwrite(&tag->data[pos+4], end-(pos+4), 1, fi);
- fclose(fi);
+ if(pos<0) {
+ fi = save_fopen(filename, "wb");
+ fwrite(&tag->data[6], end-6, 1, fi);
+ fclose(fi);
+ } else {
+ pos+=6;
+ fi = save_fopen(filename, "wb");
+ fwrite(&tag->data[6], pos-6, 1, fi);
+ fwrite(&tag->data[pos+4], end-(pos+4), 1, fi);
+ fclose(fi);
+ }
}
else {
int id = GET16(tag->data);
}
#endif
-FILE*mp3file;
+static FILE*mp3file=0;
void handlesoundstream(TAG*tag)
{
char*filename = "output.mp3";
if (found)
extractTag(&swf, destfilename);
- if(mp3file)
+ if(mp3file) {
fclose(mp3file);
+ } else {
+ if(extractmp3) {
+ msg("<error> Didn't find a soundstream in file");
+ }
+ }
swf_FreeTags(&swf);
return 0;