diff options
Diffstat (limited to 'libhb')
-rw-r--r-- | libhb/enclame.c | 7 | ||||
-rw-r--r-- | libhb/encvorbis.c | 12 | ||||
-rw-r--r-- | libhb/encxvid.c | 3 | ||||
-rw-r--r-- | libhb/muxogm.c | 3 |
4 files changed, 25 insertions, 0 deletions
diff --git a/libhb/enclame.c b/libhb/enclame.c index c0b0f9df0..33cfa14c8 100644 --- a/libhb/enclame.c +++ b/libhb/enclame.c @@ -68,6 +68,13 @@ int enclameInit( hb_work_object_t * w, hb_job_t * job ) **********************************************************************/ void enclameClose( hb_work_object_t * w ) { + hb_work_private_t * pv = w->private_data; + + lame_close( pv->lame ); + hb_list_empty( &pv->list ); + free( pv->buf ); + free( pv ); + w->private_data = NULL; } /*********************************************************************** diff --git a/libhb/encvorbis.c b/libhb/encvorbis.c index 01c71e844..169cb938f 100644 --- a/libhb/encvorbis.c +++ b/libhb/encvorbis.c @@ -120,6 +120,18 @@ int encvorbisInit( hb_work_object_t * w, hb_job_t * job ) **********************************************************************/ void encvorbisClose( hb_work_object_t * w ) { + hb_work_private_t * pv = w->private_data; + + vorbis_block_clear( &pv->vb ); + vorbis_dsp_clear( &pv->vd ); + vorbis_comment_clear( &pv->vc ); + vorbis_info_clear( &pv->vi ); + + hb_list_empty( &pv->list ); + + free( pv->buf ); + free( pv ); + w->private_data = NULL; } /*********************************************************************** diff --git a/libhb/encxvid.c b/libhb/encxvid.c index 7768f8e12..6d869ae36 100644 --- a/libhb/encxvid.c +++ b/libhb/encxvid.c @@ -131,6 +131,9 @@ void encxvidClose( hb_work_object_t * w ) hb_log( "encxvid: closing libxvidcore" ); xvid_encore( pv->xvid, XVID_ENC_DESTROY, NULL, NULL); } + + free( pv ); + w->private_data = NULL; } /*********************************************************************** diff --git a/libhb/muxogm.c b/libhb/muxogm.c index 6a3b1ec5d..656c8e780 100644 --- a/libhb/muxogm.c +++ b/libhb/muxogm.c @@ -336,6 +336,8 @@ static int OGMEnd( hb_mux_object_t * m ) { return -1; } + ogg_stream_clear( &mux_data->os ); + for( i = 0; i < hb_list_count( title->list_audio ); i++ ) { audio = hb_list_item( title->list_audio, i ); @@ -344,6 +346,7 @@ static int OGMEnd( hb_mux_object_t * m ) { return -1; } + ogg_stream_clear( &mux_data->os ); } fclose( m->file ); |