vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Mon May 15 20:16:45 2017 +0300| [a7de129d4163dd3db89ff4b3e880e7e41dcdbdf5] | committer: Rémi Denis-Courmont
lib: vlm: allocate event manager in-place > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=a7de129d4163dd3db89ff4b3e880e7e41dcdbdf5 --- lib/vlm.c | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/lib/vlm.c b/lib/vlm.c index 3c4efb5cfa..2c3b4d4079 100644 --- a/lib/vlm.c +++ b/lib/vlm.c @@ -36,8 +36,8 @@ typedef struct libvlc_vlm_t { + libvlc_event_manager_t event_manager; vlm_t *p_vlm; - libvlc_event_manager_t *p_event_manager; } libvlc_vlm_t; /* VLM events callback. Transmit to libvlc */ @@ -117,9 +117,8 @@ void libvlc_vlm_release( libvlc_instance_t *p_instance ) vlm_Control( p_vlm, VLM_CLEAR_SCHEDULES ); var_DelCallback( (vlc_object_t *)p_vlm, "intf-event", VlmEvent, - p_instance->vlm->p_event_manager ); - libvlc_event_manager_release( p_instance->vlm->p_event_manager ); - p_instance->vlm->p_event_manager = NULL; + &p_instance->vlm->event_manager ); + libvlc_event_manager_destroy( &p_instance->vlm->event_manager ); vlm_Delete( p_vlm ); free( p_instance->vlm ); p_instance->vlm = NULL; @@ -134,15 +133,8 @@ static int libvlc_vlm_init( libvlc_instance_t *p_instance ) if( p_instance->vlm == NULL ) return VLC_ENOMEM; p_instance->vlm->p_vlm = NULL; - p_instance->vlm->p_event_manager = NULL; - } - - if( !p_instance->vlm->p_event_manager ) - { - p_instance->vlm->p_event_manager = - libvlc_event_manager_new( p_instance->vlm->p_vlm ); - if( unlikely(p_instance->vlm->p_event_manager == NULL) ) - return VLC_ENOMEM; + libvlc_event_manager_init( &p_instance->vlm->event_manager, + &p_instance->vlm->p_vlm ); } if( !p_instance->vlm->p_vlm ) @@ -155,7 +147,7 @@ static int libvlc_vlm_init( libvlc_instance_t *p_instance ) } var_AddCallback( (vlc_object_t *)p_instance->vlm->p_vlm, "intf-event", VlmEvent, - p_instance->vlm->p_event_manager ); + &p_instance->vlm->event_manager ); libvlc_retain( p_instance ); } @@ -748,5 +740,5 @@ libvlc_vlm_get_event_manager( libvlc_instance_t *p_instance ) { if( libvlc_vlm_init( p_instance ) ) return NULL; - return p_instance->vlm->p_event_manager; + return &p_instance->vlm->event_manager; } _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
