summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libhb/muxmkv.c8
-rw-r--r--libhb/sync.c10
2 files changed, 4 insertions, 14 deletions
diff --git a/libhb/muxmkv.c b/libhb/muxmkv.c
index 2e8814ca9..f179cb755 100644
--- a/libhb/muxmkv.c
+++ b/libhb/muxmkv.c
@@ -404,24 +404,24 @@ static int MKVMux( hb_mux_object_t * m, hb_mux_data_t * mux_data,
}
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;
diff --git a/libhb/sync.c b/libhb/sync.c
index 1ceeee9c3..514b1fb43 100644
--- a/libhb/sync.c
+++ b/libhb/sync.c
@@ -483,8 +483,6 @@ static void SyncVideo( hb_work_object_t * w )
*/
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 {
@@ -664,16 +662,8 @@ static void SyncVideo( hb_work_object_t * w )
} 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 {