diff options
Diffstat (limited to 'libhb/sync.c')
-rw-r--r-- | libhb/sync.c | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/libhb/sync.c b/libhb/sync.c index a0dfd6627..67093d1e6 100644 --- a/libhb/sync.c +++ b/libhb/sync.c @@ -416,17 +416,25 @@ static void SyncVideo( hb_work_object_t * w ) * * Bypass the sync fifo altogether. */ - if( sub->size == 0 || sub->start < cur->start ) + if( sub->size == 0 ) { - uint64_t duration; - duration = sub->stop - sub->start; sub = hb_fifo_get( subtitle->fifo_raw ); - sub->start = pv->next_start; - sub->stop = sub->start + duration; hb_fifo_push( subtitle->fifo_out, sub ); - } else { sub = NULL; break; + } else { + if( sub->start < cur->start ) + { + uint64_t duration; + duration = sub->stop - sub->start; + sub = hb_fifo_get( subtitle->fifo_raw ); + sub->start = pv->next_start; + sub->stop = sub->start + duration; + hb_fifo_push( subtitle->fifo_out, sub ); + } else { + sub = NULL; + break; + } } } } |