vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Mon May 15 20:16:45 2017 +0300| [db28adc700cf150b15f3b75988e7ef4a35704e5d] | committer: Rémi Denis-Courmont
lib: media: allocate event manager in-place > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=db28adc700cf150b15f3b75988e7ef4a35704e5d --- lib/media.c | 25 ++++++++++--------------- lib/media_internal.h | 2 +- lib/media_player.c | 2 +- 3 files changed, 12 insertions(+), 17 deletions(-) diff --git a/lib/media.c b/lib/media.c index 4c95c94c8e..4118c39886 100644 --- a/lib/media.c +++ b/lib/media.c @@ -172,7 +172,7 @@ static void input_item_subitem_added( const vlc_event_t *p_event, event.u.media_subitem_added.new_child = p_md_child; /* Send the event */ - libvlc_event_send( p_md->p_event_manager, &event ); + libvlc_event_send( &p_md->event_manager, &event ); libvlc_media_release( p_md_child ); } @@ -191,7 +191,7 @@ static void input_item_subitemtree_added( const vlc_event_t * p_event, event.u.media_subitemtree_added.item = p_md; /* Send the event */ - libvlc_event_send( p_md->p_event_manager, &event ); + libvlc_event_send( &p_md->event_manager, &event ); } /************************************************************************** @@ -209,7 +209,7 @@ static void input_item_meta_changed( const vlc_event_t *p_event, vlc_to_libvlc_meta[p_event->u.input_item_meta_changed.meta_type]; /* Send the event */ - libvlc_event_send( p_md->p_event_manager, &event ); + libvlc_event_send( &p_md->event_manager, &event ); } /************************************************************************** @@ -227,7 +227,7 @@ static void input_item_duration_changed( const vlc_event_t *p_event, from_mtime(p_event->u.input_item_duration_changed.new_duration); /* Send the event */ - libvlc_event_send( p_md->p_event_manager, &event ); + libvlc_event_send( &p_md->event_manager, &event ); } static void send_parsed_changed( libvlc_media_t *p_md, @@ -272,7 +272,7 @@ static void send_parsed_changed( libvlc_media_t *p_md, event.u.media_parsed_changed.new_status = new_status; /* Send the event */ - libvlc_event_send( p_md->p_event_manager, &event ); + libvlc_event_send( &p_md->event_manager, &event ); } /************************************************************************** @@ -396,12 +396,7 @@ libvlc_media_t * libvlc_media_new_from_input_item( * It can give a bunch of item to read. */ p_md->p_subitems = NULL; - p_md->p_event_manager = libvlc_event_manager_new( p_md ); - if( unlikely(p_md->p_event_manager == NULL) ) - { - free(p_md); - return NULL; - } + libvlc_event_manager_init( &p_md->event_manager, p_md ); input_item_Hold( p_md->p_input_item ); @@ -567,9 +562,9 @@ void libvlc_media_release( libvlc_media_t *p_md ) event.u.media_freed.md = p_md; /* Send the event */ - libvlc_event_send( p_md->p_event_manager, &event ); + libvlc_event_send( &p_md->event_manager, &event ); - libvlc_event_manager_release( p_md->p_event_manager ); + libvlc_event_manager_destroy( &p_md->event_manager ); libvlc_release( p_md->p_libvlc_instance ); free( p_md ); } @@ -673,7 +668,7 @@ libvlc_media_set_state( libvlc_media_t *p_md, event.u.media_state_changed.new_state = state; /* Send the event */ - libvlc_event_send( p_md->p_event_manager, &event ); + libvlc_event_send( &p_md->event_manager, &event ); } /************************************************************************** @@ -731,7 +726,7 @@ libvlc_media_event_manager( libvlc_media_t * p_md ) { assert( p_md ); - return p_md->p_event_manager; + return &p_md->event_manager; } /************************************************************************** diff --git a/lib/media_internal.h b/lib/media_internal.h index f063ddb5fa..5a67e9ff60 100644 --- a/lib/media_internal.h +++ b/lib/media_internal.h @@ -33,7 +33,7 @@ struct libvlc_media_t { - libvlc_event_manager_t * p_event_manager; + libvlc_event_manager_t event_manager; input_item_t *p_input_item; int i_refcount; libvlc_instance_t *p_libvlc_instance; diff --git a/lib/media_player.c b/lib/media_player.c index f5ec04a10e..621e96533f 100644 --- a/lib/media_player.c +++ b/lib/media_player.c @@ -133,7 +133,7 @@ static void input_item_preparsed_changed( const vlc_event_t *p_event, libvlc_event_t event; event.type = libvlc_MediaParsedChanged; event.u.media_parsed_changed.new_status = libvlc_media_parsed_status_done; - libvlc_event_send( p_md->p_event_manager, &event ); + libvlc_event_send( &p_md->event_manager, &event ); } } _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
