diff options
-rw-r--r-- | libhb/decavcodec.c | 5 | ||||
-rw-r--r-- | libhb/sync.c | 2 |
2 files changed, 5 insertions, 2 deletions
diff --git a/libhb/decavcodec.c b/libhb/decavcodec.c index cff6e43b2..e461f634b 100644 --- a/libhb/decavcodec.c +++ b/libhb/decavcodec.c @@ -1014,7 +1014,10 @@ static int decavcodecvWork( hb_work_object_t * w, hb_buffer_t ** buf_in, /* if we got an empty buffer signaling end-of-stream send it downstream */ if ( in->size == 0 ) { - decodeVideo( pv, in->data, in->size, in->sequence, pts, dts ); + if ( pv->context->codec != NULL ) + { + decodeVideo( pv, in->data, in->size, in->sequence, pts, dts ); + } hb_list_add( pv->list, in ); *buf_out = link_buf_list( pv ); return HB_WORK_DONE; diff --git a/libhb/sync.c b/libhb/sync.c index acc782e4a..57809d7e2 100644 --- a/libhb/sync.c +++ b/libhb/sync.c @@ -327,7 +327,7 @@ int syncVideoWork( hb_work_object_t * w, hb_buffer_t ** buf_in, } /* Wait till we can determine the initial pts of all streams */ - if( pv->common->pts_offset == INT64_MIN ) + if( next->size != 0 && pv->common->pts_offset == INT64_MIN ) { pv->common->first_pts[0] = next->start; hb_lock( pv->common->mutex ); |