X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=include%2Fvlc%2Flibvlc_vlm.h;h=f09dbe506ef2f21b2d894e9086d91e11672bf2b9;hb=424a8584663cdf330ce47c1e480f610d8728a711;hp=36a445a4641686cca6aa15131a7648963c13cb16;hpb=5c76c07d36d75a1c185a8708149e933a67ed3f6d;p=vlc diff --git a/include/vlc/libvlc_vlm.h b/include/vlc/libvlc_vlm.h index 36a445a464..f09dbe506e 100644 --- a/include/vlc/libvlc_vlm.h +++ b/include/vlc/libvlc_vlm.h @@ -37,9 +37,8 @@ extern "C" { /***************************************************************************** * VLM *****************************************************************************/ -/** \defgroup libvlc_vlm libvlc_vlm +/** \defgroup libvlc_vlm LibVLC VLM * \ingroup libvlc - * LibVLC VLM * @{ */ @@ -48,9 +47,8 @@ extern "C" { * Release the vlm instance related to the given libvlc_instance_t * * \param p_instance the instance - * \param p_e an initialized exception pointer */ -VLC_PUBLIC_API void libvlc_vlm_release( libvlc_instance_t *, libvlc_exception_t * ); +VLC_PUBLIC_API void libvlc_vlm_release( libvlc_instance_t *p_instance ); /** * Add a broadcast, with one input. @@ -63,10 +61,13 @@ VLC_PUBLIC_API void libvlc_vlm_release( libvlc_instance_t *, libvlc_exception_t * \param ppsz_options additional options * \param b_enabled boolean for enabling the new broadcast * \param b_loop Should this broadcast be played in loop ? - * \param p_e an initialized exception pointer + * \return 0 on success, -1 on error */ -VLC_PUBLIC_API void libvlc_vlm_add_broadcast( libvlc_instance_t *, char *, char *, char* , - int, char **, int, int, libvlc_exception_t * ); +VLC_PUBLIC_API int libvlc_vlm_add_broadcast( libvlc_instance_t *p_instance, + const char *psz_name, const char *psz_input, + const char *psz_output, int i_options, + const char * const* ppsz_options, + int b_enabled, int b_loop ); /** * Add a vod, with one input. @@ -78,19 +79,22 @@ VLC_PUBLIC_API void libvlc_vlm_add_broadcast( libvlc_instance_t *, char *, char * \param ppsz_options additional options * \param b_enabled boolean for enabling the new vod * \param psz_mux the muxer of the vod media - * \param p_e an initialized exception pointer + * \return 0 on success, -1 on error */ -VLC_PUBLIC_API void libvlc_vlm_add_vod( libvlc_instance_t *, char *, char *, int, char **, - int, char *, libvlc_exception_t * ); +VLC_PUBLIC_API int libvlc_vlm_add_vod( libvlc_instance_t * p_instance, + const char *psz_name, const char *psz_input, + int i_options, const char * const* ppsz_options, + int b_enabled, const char *psz_mux ); /** * Delete a media (VOD or broadcast). * * \param p_instance the instance * \param psz_name the media to delete - * \param p_e an initialized exception pointer + * \return 0 on success, -1 on error */ -VLC_PUBLIC_API void libvlc_vlm_del_media( libvlc_instance_t *, char *, libvlc_exception_t * ); +VLC_PUBLIC_API int libvlc_vlm_del_media( libvlc_instance_t * p_instance, + const char *psz_name ); /** * Enable or disable a media (VOD or broadcast). @@ -98,10 +102,10 @@ VLC_PUBLIC_API void libvlc_vlm_del_media( libvlc_instance_t *, char *, libvlc_ex * \param p_instance the instance * \param psz_name the media to work on * \param b_enabled the new status - * \param p_e an initialized exception pointer + * \return 0 on success, -1 on error */ -VLC_PUBLIC_API void libvlc_vlm_set_enabled( libvlc_instance_t *, char *, int, - libvlc_exception_t *); +VLC_PUBLIC_API int libvlc_vlm_set_enabled( libvlc_instance_t *p_instance, + const char *psz_name, int b_enabled ); /** * Set the output for a media. @@ -109,10 +113,11 @@ VLC_PUBLIC_API void libvlc_vlm_set_enabled( libvlc_instance_t *, char *, int, * \param p_instance the instance * \param psz_name the media to work on * \param psz_output the output MRL (the parameter to the "sout" variable) - * \param p_e an initialized exception pointer + * \return 0 on success, -1 on error */ -VLC_PUBLIC_API void libvlc_vlm_set_output( libvlc_instance_t *, char *, char*, - libvlc_exception_t *); +VLC_PUBLIC_API int libvlc_vlm_set_output( libvlc_instance_t *p_instance, + const char *psz_name, + const char *psz_output ); /** * Set a media's input MRL. This will delete all existing inputs and @@ -121,10 +126,11 @@ VLC_PUBLIC_API void libvlc_vlm_set_output( libvlc_instance_t *, char *, char*, * \param p_instance the instance * \param psz_name the media to work on * \param psz_input the input MRL - * \param p_e an initialized exception pointer + * \return 0 on success, -1 on error */ -VLC_PUBLIC_API void libvlc_vlm_set_input( libvlc_instance_t *, char *, char*, - libvlc_exception_t *); +VLC_PUBLIC_API int libvlc_vlm_set_input( libvlc_instance_t *p_instance, + const char *psz_name, + const char *psz_input ); /** * Add a media's input MRL. This will add the specified one. @@ -132,20 +138,23 @@ VLC_PUBLIC_API void libvlc_vlm_set_input( libvlc_instance_t *, char *, char*, * \param p_instance the instance * \param psz_name the media to work on * \param psz_input the input MRL - * \param p_e an initialized exception pointer + * \return 0 on success, -1 on error */ -VLC_PUBLIC_API void libvlc_vlm_add_input( libvlc_instance_t *, char *, char *, - libvlc_exception_t *p_exception ); +VLC_PUBLIC_API int libvlc_vlm_add_input( libvlc_instance_t *p_instance, + const char *psz_name, + const char *psz_input ); + /** * Set a media's loop status. * * \param p_instance the instance * \param psz_name the media to work on * \param b_loop the new status - * \param p_e an initialized exception pointer + * \return 0 on success, -1 on error */ -VLC_PUBLIC_API void libvlc_vlm_set_loop( libvlc_instance_t *, char *, int, - libvlc_exception_t *); +VLC_PUBLIC_API int libvlc_vlm_set_loop( libvlc_instance_t *p_instance, + const char *psz_name, + int b_loop ); /** * Set a media's vod muxer. @@ -153,10 +162,11 @@ VLC_PUBLIC_API void libvlc_vlm_set_loop( libvlc_instance_t *, char *, int, * \param p_instance the instance * \param psz_name the media to work on * \param psz_mux the new muxer - * \param p_e an initialized exception pointer + * \return 0 on success, -1 on error */ -VLC_PUBLIC_API void libvlc_vlm_set_mux( libvlc_instance_t *p_instance, char *psz_name, - char *psz_mux, libvlc_exception_t *p_exception ); +VLC_PUBLIC_API int libvlc_vlm_set_mux( libvlc_instance_t *p_instance, + const char *psz_name, + const char *psz_mux ); /** * Edit the parameters of a media. This will delete all existing inputs and @@ -170,37 +180,43 @@ VLC_PUBLIC_API void libvlc_vlm_set_mux( libvlc_instance_t *p_instance, char *psz * \param ppsz_options additional options * \param b_enabled boolean for enabling the new broadcast * \param b_loop Should this broadcast be played in loop ? - * \param p_e an initialized exception pointer + * \return 0 on success, -1 on error */ -VLC_PUBLIC_API void libvlc_vlm_change_media( libvlc_instance_t *, char *, char *, char* , - int, char **, int, int, libvlc_exception_t * ); +VLC_PUBLIC_API int libvlc_vlm_change_media( libvlc_instance_t *p_instance, + const char *psz_name, const char *psz_input, + const char *psz_output, int i_options, + const char * const *ppsz_options, + int b_enabled, int b_loop ); /** * Play the named broadcast. * * \param p_instance the instance * \param psz_name the name of the broadcast - * \param p_e an initialized exception pointer + * \return 0 on success, -1 on error */ -VLC_PUBLIC_API void libvlc_vlm_play_media ( libvlc_instance_t *, char *, libvlc_exception_t * ); +VLC_PUBLIC_API int libvlc_vlm_play_media ( libvlc_instance_t *p_instance, + const char *psz_name ); /** * Stop the named broadcast. * * \param p_instance the instance * \param psz_name the name of the broadcast - * \param p_e an initialized exception pointer + * \return 0 on success, -1 on error */ -VLC_PUBLIC_API void libvlc_vlm_stop_media ( libvlc_instance_t *, char *, libvlc_exception_t * ); +VLC_PUBLIC_API int libvlc_vlm_stop_media ( libvlc_instance_t *p_instance, + const char *psz_name ); /** * Pause the named broadcast. * * \param p_instance the instance * \param psz_name the name of the broadcast - * \param p_e an initialized exception pointer + * \return 0 on success, -1 on error */ -VLC_PUBLIC_API void libvlc_vlm_pause_media( libvlc_instance_t *, char *, libvlc_exception_t * ); +VLC_PUBLIC_API int libvlc_vlm_pause_media( libvlc_instance_t *p_instance, + const char *psz_name ); /** * Seek in the named broadcast. @@ -208,20 +224,30 @@ VLC_PUBLIC_API void libvlc_vlm_pause_media( libvlc_instance_t *, char *, libvlc_ * \param p_instance the instance * \param psz_name the name of the broadcast * \param f_percentage the percentage to seek to - * \param p_e an initialized exception pointer + * \return 0 on success, -1 on error */ -VLC_PUBLIC_API void libvlc_vlm_seek_media( libvlc_instance_t *, char *, - float, libvlc_exception_t * ); +VLC_PUBLIC_API int libvlc_vlm_seek_media( libvlc_instance_t *p_instance, + const char *psz_name, + float f_percentage ); /** - * Return information about the named broadcast. - * \bug will always return NULL + * Return information about the named media as a JSON + * string representation. + * + * This function is mainly intended for debugging use, + * if you want programmatic access to the state of + * a vlm_media_instance_t, please use the corresponding + * libvlc_vlm_get_media_instance_xxx -functions. + * Currently there are no such functions available for + * vlm_media_t though. + * * \param p_instance the instance - * \param psz_name the name of the broadcast - * \param p_e an initialized exception pointer - * \return string with information about named media + * \param psz_name the name of the media, + * if the name is an empty string, all media is described + * \return string with information about named media, or NULL on error */ -VLC_PUBLIC_API char* libvlc_vlm_show_media( libvlc_instance_t *, char *, libvlc_exception_t * ); +VLC_PUBLIC_API const char* libvlc_vlm_show_media( libvlc_instance_t *p_instance, + const char *psz_name ); /** * Get vlm_media instance position by name or instance id @@ -229,11 +255,11 @@ VLC_PUBLIC_API char* libvlc_vlm_show_media( libvlc_instance_t *, char *, libvlc_ * \param p_instance a libvlc instance * \param psz_name name of vlm media instance * \param i_instance instance id - * \param p_e an initialized exception pointer - * \return position as float + * \return position as float or -1. on error */ VLC_PUBLIC_API float libvlc_vlm_get_media_instance_position( libvlc_instance_t *p_instance, - char *psz_name, int i_instance, libvlc_exception_t *p_e ); + const char *psz_name, + int i_instance ); /** * Get vlm_media instance time by name or instance id @@ -241,11 +267,11 @@ VLC_PUBLIC_API float libvlc_vlm_get_media_instance_position( libvlc_instance_t * * \param p_instance a libvlc instance * \param psz_name name of vlm media instance * \param i_instance instance id - * \param p_e an initialized exception pointer - * \return time as integer + * \return time as integer or -1 on error */ VLC_PUBLIC_API int libvlc_vlm_get_media_instance_time( libvlc_instance_t *p_instance, - char *psz_name, int i_instance, libvlc_exception_t *p_e ); + const char *psz_name, + int i_instance ); /** * Get vlm_media instance length by name or instance id @@ -253,11 +279,11 @@ VLC_PUBLIC_API int libvlc_vlm_get_media_instance_time( libvlc_instance_t *p_inst * \param p_instance a libvlc instance * \param psz_name name of vlm media instance * \param i_instance instance id - * \param p_e an initialized exception pointer - * \return length of media item + * \return length of media item or -1 on error */ VLC_PUBLIC_API int libvlc_vlm_get_media_instance_length( libvlc_instance_t *p_instance, - char *psz_name, int i_instance, libvlc_exception_t *p_e ); + const char *psz_name, + int i_instance ); /** * Get vlm_media instance playback rate by name or instance id @@ -265,23 +291,22 @@ VLC_PUBLIC_API int libvlc_vlm_get_media_instance_length( libvlc_instance_t *p_in * \param p_instance a libvlc instance * \param psz_name name of vlm media instance * \param i_instance instance id - * \param p_e an initialized exception pointer - * \return playback rate + * \return playback rate or -1 on error */ VLC_PUBLIC_API int libvlc_vlm_get_media_instance_rate( libvlc_instance_t *p_instance, - char *psz_name, int i_instance, libvlc_exception_t *p_e ); - + const char *psz_name, + int i_instance ); +#if 0 /** * Get vlm_media instance title number by name or instance id * \bug will always return 0 * \param p_instance a libvlc instance * \param psz_name name of vlm media instance * \param i_instance instance id - * \param p_e an initialized exception pointer - * \return title as number + * \return title as number or -1 on error */ -VLC_PUBLIC_API int libvlc_vlm_get_media_instance_title( libvlc_instance_t *p_instance, - char *psz_name, int i_instance, libvlc_exception_t *p_e ); +VLC_PUBLIC_API int libvlc_vlm_get_media_instance_title( libvlc_instance_t *, + const char *, int ); /** * Get vlm_media instance chapter number by name or instance id @@ -289,11 +314,10 @@ VLC_PUBLIC_API int libvlc_vlm_get_media_instance_title( libvlc_instance_t *p_ins * \param p_instance a libvlc instance * \param psz_name name of vlm media instance * \param i_instance instance id - * \param p_e an initialized exception pointer - * \return chapter as number + * \return chapter as number or -1 on error */ -VLC_PUBLIC_API int libvlc_vlm_get_media_instance_chapter( libvlc_instance_t *p_instance, - char *psz_name, int i_instance, libvlc_exception_t *p_e ); +VLC_PUBLIC_API int libvlc_vlm_get_media_instance_chapter( libvlc_instance_t *, + const char *, int ); /** * Is libvlc instance seekable ? @@ -301,11 +325,20 @@ VLC_PUBLIC_API int libvlc_vlm_get_media_instance_chapter( libvlc_instance_t *p_i * \param p_instance a libvlc instance * \param psz_name name of vlm media instance * \param i_instance instance id - * \param p_e an initialized exception pointer - * \return 1 if seekable, 0 if not + * \return 1 if seekable, 0 if not, -1 if media does not exist + */ +VLC_PUBLIC_API int libvlc_vlm_get_media_instance_seekable( libvlc_instance_t *, + const char *, int ); +#endif +/** + * Get libvlc_event_manager from a vlm media. + * The p_event_manager is immutable, so you don't have to hold the lock + * + * \param p_instance a libvlc instance + * \return libvlc_event_manager */ -VLC_PUBLIC_API int libvlc_vlm_get_media_instance_seekable( libvlc_instance_t *p_instance, - char *psz_name, int i_instance, libvlc_exception_t *p_e ); +VLC_PUBLIC_API libvlc_event_manager_t * + libvlc_vlm_get_event_manager( libvlc_instance_t *p_instance ); /** @} */