summaryrefslogtreecommitdiffstats
path: root/libhb/sync.c
diff options
context:
space:
mode:
Diffstat (limited to 'libhb/sync.c')
-rw-r--r--libhb/sync.c20
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;
+ }
}
}
}