[vlc-devel] commit: libvlc_media_player: fix object leak (input thread). ( Rémi Duraffort )

git version control git at videolan.org
Mon Aug 17 14:52:55 CEST 2009


vlc | branch: master | Rémi Duraffort <ivoire at videolan.org> | Mon Aug 17 14:52:33 2009 +0200| [2b7b3b77412b9bdee8109ef417a71b1862d65efb] | committer: Rémi Duraffort 

libvlc_media_player: fix object leak (input thread).

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

 src/control/media_player.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/src/control/media_player.c b/src/control/media_player.c
index 706157e..85547ac 100644
--- a/src/control/media_player.c
+++ b/src/control/media_player.c
@@ -1092,6 +1092,7 @@ float libvlc_media_player_get_rate(
     b_can_rewind = var_GetBool( p_input_thread, "can-rewind" );
     if( (val.i_int < 0) && !b_can_rewind )
     {
+        vlc_object_release( p_input_thread );
         libvlc_exception_raise( p_e, "invalid rate" );
         return 0.0;
     }
@@ -1241,11 +1242,14 @@ int libvlc_media_player_can_pause( libvlc_media_player_t *p_mi,
     return val.b_bool;
 }
 
-void    libvlc_media_player_next_frame( libvlc_media_player_t *p_mi, libvlc_exception_t *p_e )
+void libvlc_media_player_next_frame( libvlc_media_player_t *p_mi, libvlc_exception_t *p_e )
 {
     input_thread_t *p_input_thread = libvlc_get_input_thread ( p_mi, p_e );
     if( p_input_thread != NULL )
+    {
         var_TriggerCallback( p_input_thread, "frame-next" );
+        vlc_object_release( p_input_thread );
+    }
     else
         libvlc_exception_raise( p_e, "Input thread is NULL" );
 }




More information about the vlc-devel mailing list