X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=include%2Fvlc_vlm.h;h=6c9087685ae767226a0334072c9019b1132610cf;hb=20692b9c217819421844394feeffd105fb12f00c;hp=3bc7d27e6e54d5a7e3dafe141cfc914527076f84;hpb=484758875dde16e1ada2d1ea4edf1d8d73cabc75;p=vlc diff --git a/include/vlc_vlm.h b/include/vlc_vlm.h index 3bc7d27e6e..6c9087685a 100644 --- a/include/vlc_vlm.h +++ b/include/vlc_vlm.h @@ -102,13 +102,16 @@ enum vlm_event_type_e /* */ VLM_EVENT_MEDIA_INSTANCE_STARTED = 0x200, VLM_EVENT_MEDIA_INSTANCE_STOPPED, + VLM_EVENT_MEDIA_INSTANCE_STATE, }; typedef struct { - int i_type; /* a vlm_event_type_e value */ - int64_t id; /* Media ID */ - const char *psz_name; /* Media name */ + int i_type; /* a vlm_event_type_e value */ + int64_t id; /* Media ID */ + const char *psz_name; /* Media name */ + const char *psz_instance_name; /* Instance name or NULL */ + input_state_e input_state; /* Input instance event type */ } vlm_event_t; /** VLM control query */ @@ -181,15 +184,16 @@ struct vlm_message_t extern "C" { #endif -#define vlm_New( a ) __vlm_New( VLC_OBJECT(a) ) -VLC_EXPORT( vlm_t *, __vlm_New, ( vlc_object_t * ) ); -VLC_EXPORT( void, vlm_Delete, ( vlm_t * ) ); -VLC_EXPORT( int, vlm_ExecuteCommand, ( vlm_t *, const char *, vlm_message_t ** ) ); -VLC_EXPORT( int, vlm_Control, ( vlm_t *p_vlm, int i_query, ... ) ); +VLC_API vlm_t * vlm_New( vlc_object_t * ); +#define vlm_New( a ) vlm_New( VLC_OBJECT(a) ) +VLC_API void vlm_Delete( vlm_t * ); +VLC_API int vlm_ExecuteCommand( vlm_t *, const char *, vlm_message_t ** ); +VLC_API int vlm_Control( vlm_t *p_vlm, int i_query, ... ); -VLC_EXPORT( vlm_message_t *, vlm_MessageNew, ( const char *, const char *, ... ) LIBVLC_FORMAT( 2, 3 ) ); -VLC_EXPORT( vlm_message_t *, vlm_MessageAdd, ( vlm_message_t *, vlm_message_t * ) ); -VLC_EXPORT( void, vlm_MessageDelete, ( vlm_message_t * ) ); +VLC_API vlm_message_t * vlm_MessageSimpleNew( const char * ); +VLC_API vlm_message_t * vlm_MessageNew( const char *, const char *, ... ) VLC_FORMAT( 2, 3 ); +VLC_API vlm_message_t * vlm_MessageAdd( vlm_message_t *, vlm_message_t * ); +VLC_API void vlm_MessageDelete( vlm_message_t * ); /* media helpers */ @@ -216,7 +220,12 @@ static inline void vlm_media_Init( vlm_media_t *p_media ) * \param p_dst vlm_media_t instance to copy to * \param p_src vlm_media_t instance to copy from */ -static inline void vlm_media_Copy( vlm_media_t *p_dst, vlm_media_t *p_src ) +static inline void +#ifndef __cplusplus +vlm_media_Copy( vlm_media_t *restrict p_dst, const vlm_media_t *restrict p_src ) +#else +vlm_media_Copy( vlm_media_t *p_dst, const vlm_media_t *p_src ) +#endif { int i; @@ -257,11 +266,11 @@ static inline void vlm_media_Clean( vlm_media_t *p_media ) free( p_media->psz_name ); for( i = 0; i < p_media->i_input; i++ ) - free( p_media->ppsz_input[i]) ; + free( p_media->ppsz_input[i]); TAB_CLEAN(p_media->i_input, p_media->ppsz_input ); for( i = 0; i < p_media->i_option; i++ ) - free( p_media->ppsz_option[i]) ; + free( p_media->ppsz_option[i]); TAB_CLEAN(p_media->i_option, p_media->ppsz_option ); free( p_media->psz_output );