summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libhb/sync.c6
-rw-r--r--libhb/work.c5
2 files changed, 9 insertions, 2 deletions
diff --git a/libhb/sync.c b/libhb/sync.c
index dadf1c26a..5520603bb 100644
--- a/libhb/sync.c
+++ b/libhb/sync.c
@@ -630,6 +630,12 @@ int syncVideoWork( hb_work_object_t * w, hb_buffer_t ** buf_in,
pv->common->start_found = 1;
// Unblock anybody waiting on this threads last PTS
setSyncPTS(pv, INT64_MAX, 0);
+ if (job->indepth_scan)
+ {
+ // During subtitle scan, sync is the end of the pipeline.
+ // Terminate job when EOF reached.
+ *w->done = 1;
+ }
return HB_WORK_DONE;
}
diff --git a/libhb/work.c b/libhb/work.c
index eb71cf806..31e4cad96 100644
--- a/libhb/work.c
+++ b/libhb/work.c
@@ -1878,8 +1878,9 @@ void hb_work_loop( void * _w )
hb_buffer_close( &buf_out );
}
- // Consume data in incoming fifo till job complete so that
- // residual data does not stall the pipeline
+ // Consume data in incoming fifo till job completes so that
+ // residual data does not stall the pipeline. There can be
+ // residual data during point-to-point encoding.
while ((w->die == NULL || !*w->die) &&
!*w->done && w->fifo_in != NULL)
{