diff options
author | jstebbins <[email protected]> | 2013-10-23 20:33:32 +0000 |
---|---|---|
committer | jstebbins <[email protected]> | 2013-10-23 20:33:32 +0000 |
commit | 32a56184a88817091950a94335dbf1036677eaf1 (patch) | |
tree | 1a6a466ab1851d5f673707ca9cdf43a0fe5b8010 /libhb/work.c | |
parent | 1ce5a64075d60ba43c63366710816539d37cd1b8 (diff) |
libhb: Plug some leaks and clean up the buffer pool code a little.
Filters were leaking buffers when a job is cancelled.
decavcodec could leak when job cancelled.
decavcodec leaked audio extradata in BSInfo
encavcodec and encavcodecaudio leaked AVCodecContext
sync leaked subtitle_sanitizer_t data
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5853 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'libhb/work.c')
-rw-r--r-- | libhb/work.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libhb/work.c b/libhb/work.c index 6ed374a3c..bdf2191ea 100644 --- a/libhb/work.c +++ b/libhb/work.c @@ -1773,11 +1773,17 @@ static void filter_loop( void * _f ) if ( hb_fifo_full_wait( f->fifo_out ) ) { hb_fifo_push( f->fifo_out, buf_out ); + buf_out = NULL; break; } } } } + if ( buf_out ) + { + hb_buffer_close( &buf_out ); + } + // Consume data in incoming fifo till job complete so that // residual data does not stall the pipeline while( !*f->done ) |