From: Pierre d'Herbemont Date: Sat, 14 Jun 2008 13:45:44 +0000 (+0200) Subject: input: Send vlc_InputItemInfoChanged, and vlc_InputItemNameChanged events. X-Git-Tag: 0.9.0-test0~106 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=788413cf9c52db26d592426083b920cb5a364e3e;p=vlc input: Send vlc_InputItemInfoChanged, and vlc_InputItemNameChanged events. --- diff --git a/include/vlc_events.h b/include/vlc_events.h index 42329a681c..2bef3ef019 100644 --- a/include/vlc_events.h +++ b/include/vlc_events.h @@ -120,6 +120,8 @@ typedef enum vlc_event_type_t { vlc_InputItemSubItemAdded, vlc_InputItemDurationChanged, vlc_InputItemPreparsedChanged, + vlc_InputItemNameChanged, + vlc_InputItemInfoChanged, /* Service Discovery event */ vlc_ServicesDiscoveryItemAdded, @@ -158,6 +160,14 @@ typedef struct vlc_event_t { int new_status; } input_item_preparsed_changed; + struct vlc_input_item_name_changed + { + const char * new_name; + } input_item_name_changed; + struct vlc_input_item_info_changed + { + void * unused; + } input_item_info_changed; /* Service discovery events */ struct vlc_services_discovery_item_added diff --git a/src/input/control.c b/src/input/control.c index be1785615a..78cdbd1967 100644 --- a/src/input/control.c +++ b/src/input/control.c @@ -200,7 +200,12 @@ int input_vaControl( input_thread_t *p_input, int i_query, va_list args ) vlc_mutex_unlock( &p_input->p->input.p_item->lock ); if( !p_input->b_preparsing ) + { NotifyPlaylist( p_input ); + vlc_event_t event; + event.type = vlc_InputItemInfoChanged; + vlc_event_send( p_input->p->input.p_item, &event ); + } } return VLC_SUCCESS; @@ -267,8 +272,12 @@ int input_vaControl( input_thread_t *p_input, int i_query, va_list args ) vlc_mutex_unlock( &p_input->p->input.p_item->lock ); if( !p_input->b_preparsing ) + { NotifyPlaylist( p_input ); - + vlc_event_t event; + event.type = vlc_InputItemInfoChanged; + vlc_event_send( p_input->p->input.p_item, &event ); + } return VLC_SUCCESS; } @@ -299,8 +308,13 @@ int input_vaControl( input_thread_t *p_input, int i_query, va_list args ) vlc_mutex_unlock( &p_input->p->input.p_item->lock ); if( !p_input->b_preparsing ) + { NotifyPlaylist( p_input ); - + vlc_event_t event; + event.type = vlc_InputItemNameChanged; + event.u.input_item_name_changed.new_name = psz_name; + vlc_event_send( p_input->p->input.p_item, &event ); + } return VLC_SUCCESS; } diff --git a/src/input/item.c b/src/input/item.c index 50455b5c97..579dac4aa1 100644 --- a/src/input/item.c +++ b/src/input/item.c @@ -62,6 +62,10 @@ static inline void input_ItemInit( vlc_object_t *p_o, input_item_t *p_i ) vlc_InputItemDurationChanged ); vlc_event_manager_register_event_type( &p_i->event_manager, vlc_InputItemPreparsedChanged ); + vlc_event_manager_register_event_type( &p_i->event_manager, + vlc_InputItemNameChanged ); + vlc_event_manager_register_event_type( &p_i->event_manager, + vlc_InputItemInfoChanged ); } static inline void input_ItemClean( input_item_t *p_i ) diff --git a/src/misc/events.c b/src/misc/events.c index a558fd7f7d..cd883c7808 100644 --- a/src/misc/events.c +++ b/src/misc/events.c @@ -78,6 +78,8 @@ static const char ppsz_event_type_to_name[][33] = [vlc_InputItemSubItemAdded] = "vlc_InputItemSubItemAdded", [vlc_InputItemDurationChanged] = "vlc_InputItemDurationChanged", [vlc_InputItemPreparsedChanged] = "vlc_InputItemPreparsedChanged", + [vlc_InputItemNameChanged] = "vlc_InputItemNameChanged", + [vlc_InputItemInfoChanged] = "vlc_InputItemInfoChanged", [vlc_ServicesDiscoveryItemAdded] = "vlc_ServicesDiscoveryItemAdded", [vlc_ServicesDiscoveryItemRemoved] = "vlc_ServicesDiscoveryItemRemoved"