diff options
Diffstat (limited to 'libhb')
-rw-r--r-- | libhb/muxmkv.c | 8 | ||||
-rw-r--r-- | libhb/sync.c | 10 |
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 { |