diff options
-rw-r--r-- | libhb/render.c | 1 | ||||
-rw-r--r-- | libhb/sync.c | 17 |
2 files changed, 3 insertions, 15 deletions
diff --git a/libhb/render.c b/libhb/render.c index 34928d906..894bdb0d0 100644 --- a/libhb/render.c +++ b/libhb/render.c @@ -226,6 +226,7 @@ static hb_buffer_t *delete_buffer_from_chain( hb_buffer_t **buf_out, hb_buffer_t // found 'out' - remove it from the chain pred->next = succ; } + out->next = 0; hb_buffer_close( &out ); return succ; } diff --git a/libhb/sync.c b/libhb/sync.c index abcf11141..2043b9dd1 100644 --- a/libhb/sync.c +++ b/libhb/sync.c @@ -112,7 +112,7 @@ int syncInit( hb_work_object_t * w, hb_job_t * job ) else if( job->frame_to_stop ) { /* Set the duration to a rough estimate */ - duration = ( job->frame_to_stop / ( job->vrate / job->vrate_base ) ) * 90000; + duration = ( job->frame_to_stop / ( title->rate / title->rate_base ) ) * 90000; } else { @@ -125,7 +125,7 @@ int syncInit( hb_work_object_t * w, hb_job_t * job ) duration += 90000; /* 1 second safety so we're sure we won't miss anything */ } - pv->count_frames_max = duration * job->vrate / job->vrate_base / 90000; + pv->count_frames_max = duration * title->rate / title->rate_base / 90000; } hb_log( "sync: expecting %d video frames", pv->count_frames_max ); @@ -745,19 +745,6 @@ static void SyncVideo( hb_work_object_t * w ) pv->count_frames, pv->busy ); return; } - - /* Make sure we won't get more frames then expected */ - if( pv->count_frames >= pv->count_frames_max * 2) - { - hb_log( "sync: got too many frames (%d), exiting early", - pv->count_frames ); - - // Drop an empty buffer into our output to ensure that things - // get flushed all the way out. - hb_fifo_push( job->fifo_sync, hb_buffer_init( 0 ) ); - pv->busy &=~ 1; - return; - } } } |