X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=libhb%2Frender.c;h=7900ba2ae26984dfeb88704ecf6941e5a2ec5eda;hb=17860fcc4da9def330562abe8cc09a564d38387e;hp=50c667f002f154e9ddb48fa1085bdbd19503823c;hpb=134bd9a3bed1d9f4eaafc7102f0293d12dd2d7b4;p=handbrake-jp%2Fhandbrake-jp-git.git diff --git a/libhb/render.c b/libhb/render.c index 50c667f0..7900ba2a 100644 --- a/libhb/render.c +++ b/libhb/render.c @@ -6,8 +6,8 @@ #include "hb.h" -#include "ffmpeg/avcodec.h" -#include "ffmpeg/swscale.h" +#include "libavcodec/avcodec.h" +#include "libswscale/swscale.h" struct hb_work_private_s { @@ -208,13 +208,14 @@ int renderWork( hb_work_object_t * w, hb_buffer_t ** buf_in, hb_buffer_t * in = *buf_in, * buf_tmp_in = *buf_in; hb_buffer_t * ivtc_buffer = NULL; - if(!in->data) + if( in->size <= 0 ) { /* If the input buffer is end of stream, send out an empty one * to the next stage as well. Note that this will result in us * losing the current contents of the delay queue. */ - *buf_out = job->indepth_scan? NULL : hb_buffer_init(0); + *buf_out = in; + *buf_in = NULL; return HB_WORK_DONE; } @@ -310,8 +311,8 @@ int renderWork( hb_work_object_t * w, hb_buffer_t ** buf_in, /* Pop the frame's subtitle and dispose of it. */ hb_buffer_t * subtitles = hb_fifo_get( pv->subtitle_queue ); hb_buffer_close( &subtitles ); - buf_tmp_in = NULL; + break; } else { @@ -411,7 +412,7 @@ int renderWork( hb_work_object_t * w, hb_buffer_t ** buf_in, if( job->vfr ) { - if( hb_fifo_size( pv->delay_queue ) >= 3 ) + if( hb_fifo_size( pv->delay_queue ) >= 4 ) { *buf_out = hb_fifo_get( pv->delay_queue ); }