[vlc-devel] commit: Quit correctly x264 codec when x264 failed. ( Rémi Duraffort )

git version control git at videolan.org
Fri May 29 13:41:45 CEST 2009


vlc | branch: 1.0-bugfix | Rémi Duraffort <ivoire at videolan.org> | Fri May 29 08:56:23 2009 +0200| [e4bbb16bb183b2cad499e088ccd99313d386df62] | committer: Rémi Duraffort 

Quit correctly x264 codec when x264 failed.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=e4bbb16bb183b2cad499e088ccd99313d386df62
---

 modules/codec/x264.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/modules/codec/x264.c b/modules/codec/x264.c
index abda424..5602962 100644
--- a/modules/codec/x264.c
+++ b/modules/codec/x264.c
@@ -803,6 +803,7 @@ static int  Open ( vlc_object_t *p_this )
         return VLC_ENOMEM;
     p_sys->i_interpolated_dts = 0;
     p_sys->psz_stat_name = NULL;
+    p_sys->p_buffer = NULL;
 
     x264_param_default( &p_sys->param );
     p_sys->param.i_width  = p_enc->fmt_in.video.i_width;
@@ -1307,6 +1308,7 @@ static int  Open ( vlc_object_t *p_this )
     if( p_sys->h == NULL )
     {
         msg_Err( p_enc, "cannot open x264 encoder" );
+        Close( VLC_OBJECT(p_enc) );
         return VLC_EGENERIC;
     }
 
@@ -1446,7 +1448,8 @@ static void Close( vlc_object_t *p_this )
 
     free( p_sys->psz_stat_name );
 
-    x264_encoder_close( p_sys->h );
+    if( p_sys->h )
+        x264_encoder_close( p_sys->h );
 
 #ifdef PTW32_STATIC_LIB
     vlc_value_t lock, count;




More information about the vlc-devel mailing list