int prescale;
int scale;
+
+ int add_cut;
int domotion;
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;
}
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) {
i->keyframe_interval = 8;
i->quality = 20;
i->scale = 65536;
+ i->add_cut = 1;
i->samplerate = 11025;
i->prescale = 0;
i->head_done = 0;
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")) {