removed old freetype workaround
[swftools.git] / avi2swf / v2swf.c
index db32c0c..70d639e 100644 (file)
@@ -82,6 +82,8 @@ typedef struct _v2swf_internal_t
     int prescale;
 
     int scale;
+
+    int add_cut;
     
     int domotion;
 
@@ -180,9 +182,10 @@ static int getSamples(videoreader_t*video, S16*data, int len, double speedup)
     int r = /*resampled len */ rlen * 
                  /* s16_le */ 2 * 
                               video->channels;
-    int l;
+    int l = 0;
     memset(tmp, 0, sizeof(tmp));
-    l = videoreader_getsamples(video, tmp, r);
+    if(r>0)
+       l = videoreader_getsamples(video, tmp, r);
     if(l <= 0) {
        return 0;
     }
@@ -414,8 +417,22 @@ static void finish(v2swf_internal_t*i)
     if(!i->finished) {
        msg("write endtag\n", i->finished);
 
+       if(i->add_cut) {
+           swf_ResetTag(i->tag, ST_SHOWFRAME);
+           i->filesize += swf_WriteTag2(&i->out, i->tag);
+
+           swf_ResetTag(i->tag, ST_REMOVEOBJECT2);
+           swf_SetU16(i->tag, 1); //depth
+           i->filesize += swf_WriteTag2(&i->out, i->tag);
+
+           swf_ResetTag(i->tag, ST_DOACTION);
+           swf_SetU16(i->tag, 0x0007);
+           i->filesize += swf_WriteTag2(&i->out, i->tag);
+       }
+
        swf_ResetTag(i->tag, ST_END);
        i->filesize += swf_WriteTag2(&i->out, i->tag);
+
        i->out.finish(&i->out);
 
        if(i->version>=6) {
@@ -835,6 +852,7 @@ int v2swf_init(v2swf_t*v2swf, videoreader_t * video)
     i->keyframe_interval = 8;
     i->quality = 20;
     i->scale = 65536;
+    i->add_cut = 1;
     i->samplerate = 11025;
     i->prescale = 0;
     i->head_done = 0;
@@ -916,6 +934,8 @@ void v2swf_setparameter(v2swf_t*v2swf, char*name, char*value)
        i->version = atoi(value);
     } else if(!strcmp(name, "audiosync")) {
        i->audio_fix = (int)(atof(value));
+    } else if(!strcmp(name, "addcut")) {
+       i->add_cut = atoi(value);
     } else if(!strcmp(name, "scale")) {
        i->scale = (int)(atof(value)*65536);
     } else if(!strcmp(name, "scale65536")) {