}
else if ( mux_data->subtitle )
{
+ uint64_t duration;
timecode = buf->start * TIMECODE_SCALE;
if( mk_startFrame(m->file, mux_data->track) < 0)
{
hb_error( "Failed to write frame to output file, Disk Full?" );
*job->die = 1;
}
+
+ duration = buf->stop * TIMECODE_SCALE - timecode;
if( mux_data->sub_format == TEXTSUB )
{
- uint64_t duration;
-
- duration = buf->stop * TIMECODE_SCALE - timecode;
mk_addFrameData(m->file, mux_data->track, buf->data, buf->size);
mk_setFrameFlags(m->file, mux_data->track, timecode, 1, duration);
}
else
{
mk_addFrameData(m->file, mux_data->track, buf->data, buf->size);
- mk_setFrameFlags(m->file, mux_data->track, timecode, 1, 0);
+ mk_setFrameFlags(m->file, mux_data->track, timecode, 1, duration);
}
mk_flushFrame(m->file, mux_data->track);
return 0;
*/
if( sub->start < cur->start )
{
- uint64_t duration;
- duration = sub->stop - sub->start;
sub = hb_fifo_get( subtitle->fifo_raw );
hb_fifo_push( subtitle->fifo_out, sub );
} else {
} else {
/*
* Pass-Through, pop it off of the raw queue,
- * rewrite times and make it available to be
- * reencoded.
*/
- uint64_t sub_duration;
sub = hb_fifo_get( subtitle->fifo_raw );
- sub_duration = sub->stop - sub->start;
- sub->start = cur->start;
- buf_tmp = hb_fifo_see( job->fifo_raw );
- int64_t duration = buf_tmp->start - cur->start;
- sub->stop = sub->start + duration;
hb_fifo_push( subtitle->fifo_sync, sub );
}
} else {