X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=include%2Fvlc%2Flibvlc_media_player.h;h=07a18afbb05d927b00f598d9a6402e38fd3b1ee9;hb=b664fd63bf28fde97f1c69bfa3dcde55a12ef205;hp=4694698088d030f953363baeb4a6465e114e4d26;hpb=815ec591b064926461942b24fce3c6bb5abca123;p=vlc diff --git a/include/vlc/libvlc_media_player.h b/include/vlc/libvlc_media_player.h index 4694698088..07a18afbb0 100644 --- a/include/vlc/libvlc_media_player.h +++ b/include/vlc/libvlc_media_player.h @@ -76,6 +76,28 @@ typedef struct libvlc_rectangle_t int bottom, right; } libvlc_rectangle_t; +/** + * Marq int options definition + */ +typedef enum libvlc_video_marquee_int_option_t { + libvlc_marquee_Enabled = 0, + libvlc_marquee_Color, + libvlc_marquee_Opacity, + libvlc_marquee_Position, + libvlc_marquee_Refresh, + libvlc_marquee_Size, + libvlc_marquee_Timeout, + libvlc_marquee_X, + libvlc_marquee_Y +} libvlc_video_marquee_int_option_t; + +/** + * Marq string options definition + */ +typedef enum libvlc_video_marquee_string_option_t { + libvlc_marquee_Text = 0 +} libvlc_video_marquee_string_option_t; + /** * Create an empty Media Player object @@ -189,6 +211,7 @@ VLC_PUBLIC_API void libvlc_media_player_set_nsobject ( libvlc_media_player_t *p_ /** * Get the agl handler previously set with libvlc_media_player_set_agl(). * + * \param p_mi the Media Player * \return the agl handler or 0 if none where set */ VLC_PUBLIC_API void * libvlc_media_player_get_nsobject ( libvlc_media_player_t *p_mi ); @@ -205,6 +228,7 @@ VLC_PUBLIC_API void libvlc_media_player_set_agl ( libvlc_media_player_t *p_mi, u /** * Get the agl handler previously set with libvlc_media_player_set_agl(). * + * \param p_mi the Media Player * \return the agl handler or 0 if none where set */ VLC_PUBLIC_API uint32_t libvlc_media_player_get_agl ( libvlc_media_player_t *p_mi ); @@ -234,6 +258,7 @@ VLC_PUBLIC_API void libvlc_media_player_set_xwindow ( libvlc_media_player_t *p_m * even if VLC is not currently using it (for instance if it is playing an * audio-only input). * + * \param p_mi the Media Player * \return an X window ID, or 0 if none where set. */ VLC_PUBLIC_API uint32_t libvlc_media_player_get_xwindow ( libvlc_media_player_t *p_mi ); @@ -254,6 +279,7 @@ VLC_PUBLIC_API void libvlc_media_player_set_hwnd ( libvlc_media_player_t *p_mi, * libvlc_media_player_set_hwnd(). The handle will be returned even if LibVLC * is not currently outputting any video to it. * + * \param p_mi the Media Player * \return a window handle or NULL if there are none. */ VLC_PUBLIC_API void *libvlc_media_player_get_hwnd ( libvlc_media_player_t *p_mi ); @@ -302,8 +328,8 @@ VLC_PUBLIC_API float libvlc_media_player_get_position( libvlc_media_player_t *, * Set movie position. * * \param p_mi the Media Player + * \param f_pos the position * \param p_e an initialized exception pointer - * \return movie position */ VLC_PUBLIC_API void libvlc_media_player_set_position( libvlc_media_player_t *, float, libvlc_exception_t *); @@ -333,6 +359,14 @@ VLC_PUBLIC_API int libvlc_media_player_get_chapter( libvlc_media_player_t *, lib * \return number of chapters in movie */ VLC_PUBLIC_API int libvlc_media_player_get_chapter_count( libvlc_media_player_t *, libvlc_exception_t *); + +/** + * Will the player play + * + * \param p_mi the Media Player + * \param p_e an initialized exception pointer + * \return boolean + */ VLC_PUBLIC_API int libvlc_media_player_will_play ( libvlc_media_player_t *, libvlc_exception_t *); /** @@ -451,6 +485,18 @@ VLC_PUBLIC_API int libvlc_media_player_is_seekable( libvlc_media_player_t *p_mi, */ VLC_PUBLIC_API int libvlc_media_player_can_pause( libvlc_media_player_t *p_mi, libvlc_exception_t *p_e ); + +/** + * Display the next frame + * + * \param p_input the libvlc_media_player_t instance + * \param p_e an initialized exception pointer + */ +VLC_PUBLIC_API void libvlc_media_player_next_frame( libvlc_media_player_t *p_input, + libvlc_exception_t *p_e ); + + + /** * Release (free) libvlc_track_description_t * @@ -490,6 +536,39 @@ VLC_PUBLIC_API void libvlc_set_fullscreen( libvlc_media_player_t *, int, libvlc_ */ VLC_PUBLIC_API int libvlc_get_fullscreen( libvlc_media_player_t *, libvlc_exception_t * ); +/** + * Enable or disable key press events handling, according to the LibVLC hotkeys + * configuration. By default and for historical reasons, keyboard events are + * handled by the LibVLC video widget. + * + * \note On X11, there can be only one subscriber for key press and mouse + * click events per window. If your application has subscribed to those events + * for the X window ID of the video widget, then LibVLC will not be able to + * handle key presses and mouse clicks in any case. + * + * \warning This function is only implemented for X11 at the moment. + * + * \param mp the media player + * \param on true to handle key press events, false to ignore them. + */ +VLC_PUBLIC_API +void libvlc_video_set_key_input( libvlc_media_player_t *mp, unsigned on ); + +/** + * Enable or disable mouse click events handling. By default, those events are + * handled. This is needed for DVD menus to work, as well as a few video + * filters such as "puzzle". + * + * \note See also \func libvlc_video_set_key_input(). + * + * \warning This function is only implemented for X11 at the moment. + * + * \param mp the media player + * \param on true to handle mouse click events, false to ignore them. + */ +VLC_PUBLIC_API +void libvlc_video_set_mouse_input( libvlc_media_player_t *mp, unsigned on ); + /** * Get current video height. * @@ -513,6 +592,7 @@ VLC_PUBLIC_API int libvlc_video_get_width( libvlc_media_player_t *, libvlc_excep * See also libvlc_video_set_scale(). * * \param p_mediaplayer the media player + * \param p_e an initialized exception pointer * \return the currently configured zoom factor, or 0. if the video is set * to fit to the output window/drawable automatically. */ @@ -529,6 +609,7 @@ VLC_PUBLIC_API float libvlc_video_get_scale( libvlc_media_player_t *, * * \param p_mediaplayer the media player * \param i_factor the scaling factor, or zero + * \param p_e an initialized exception pointer */ VLC_PUBLIC_API void libvlc_video_set_scale( libvlc_media_player_t *, float, libvlc_exception_t *p_e ); @@ -549,7 +630,7 @@ VLC_PUBLIC_API char *libvlc_video_get_aspect_ratio( libvlc_media_player_t *, lib * \param psz_aspect new video aspect-ratio * \param p_e an initialized exception pointer */ -VLC_PUBLIC_API void libvlc_video_set_aspect_ratio( libvlc_media_player_t *, char *, libvlc_exception_t * ); +VLC_PUBLIC_API void libvlc_video_set_aspect_ratio( libvlc_media_player_t *, const char *, libvlc_exception_t * ); /** * Get current video subtitle. @@ -596,7 +677,7 @@ VLC_PUBLIC_API void libvlc_video_set_spu( libvlc_media_player_t *, int , libvlc_ * \param p_e an initialized exception pointer * \return the success status (boolean) */ -VLC_PUBLIC_API int libvlc_video_set_subtitle_file( libvlc_media_player_t *, char *, libvlc_exception_t * ); +VLC_PUBLIC_API int libvlc_video_set_subtitle_file( libvlc_media_player_t *, const char *, libvlc_exception_t * ); /** * Get the description of available titles. @@ -635,7 +716,7 @@ VLC_PUBLIC_API char *libvlc_video_get_crop_geometry( libvlc_media_player_t *, li * \param psz_geometry new crop filter geometry * \param p_e an initialized exception pointer */ -VLC_PUBLIC_API void libvlc_video_set_crop_geometry( libvlc_media_player_t *, char *, libvlc_exception_t * ); +VLC_PUBLIC_API void libvlc_video_set_crop_geometry( libvlc_media_player_t *, const char *, libvlc_exception_t * ); /** * Toggle teletext transparent status on video output. @@ -714,6 +795,65 @@ VLC_PUBLIC_API void libvlc_video_set_track( libvlc_media_player_t *, int, libvlc */ VLC_PUBLIC_API void libvlc_video_take_snapshot( libvlc_media_player_t *, const char *,unsigned int, unsigned int, libvlc_exception_t * ); +/** + * Enable or disable deinterlace filter + * + * \param p_mi libvlc media player + * \param b_enable boolean to enable or disable deinterlace filter + * \param psz_mode type of deinterlace filter to use + * \param p_e an initialized exception pointer + */ +VLC_PUBLIC_API void libvlc_video_set_deinterlace( libvlc_media_player_t *, + int , const char *, + libvlc_exception_t *); + +/** + * Get an option value (option which return an int) + * + * \param p_mi libvlc media player + * \param option marq option to get + * \param p_e an initialized exception pointer + */ +VLC_PUBLIC_API int libvlc_video_get_marquee_option_as_int( libvlc_media_player_t *, + libvlc_video_marquee_int_option_t, + libvlc_exception_t * ); + +/** + * Get an option value (option which return a string) + * + * \param p_mi libvlc media player + * \param option marq option to get + * \param p_e an initialized exception pointer + */ +VLC_PUBLIC_API char *libvlc_video_get_marquee_option_as_string( libvlc_media_player_t *, + libvlc_video_marquee_string_option_t, + libvlc_exception_t * ); + +/** + * Enable, disable or set a marq option (only int) + * + * \param p_mi libvlc media player + * \param option marq option to set + * \param i_val marq option value + * \param p_e an initialized exception pointer + */ +VLC_PUBLIC_API void libvlc_video_set_marquee_option_as_int( libvlc_media_player_t *, + libvlc_video_marquee_int_option_t, + int, libvlc_exception_t * ); + +/** + * Set a marq option (only string) + * + * \param p_mi libvlc media player + * \param option marq option to set + * \param psz_text marq option value + * \param p_e an initialized exception pointer + */ +VLC_PUBLIC_API void libvlc_video_set_marquee_option_as_string( libvlc_media_player_t *, + libvlc_video_marquee_string_option_t, + const char *, + libvlc_exception_t * ); + /** @} video */ /** \defgroup libvlc_audio libvlc_audio @@ -855,27 +995,24 @@ VLC_PUBLIC_API void libvlc_audio_output_set_device_type( libvlc_instance_t *, * Toggle mute status. * * \param p_instance libvlc instance - * \param p_e an initialized exception pointer */ -VLC_PUBLIC_API void libvlc_audio_toggle_mute( libvlc_instance_t *, libvlc_exception_t * ); +VLC_PUBLIC_API void libvlc_audio_toggle_mute( libvlc_instance_t * ); /** * Get current mute status. * * \param p_instance libvlc instance - * \param p_e an initialized exception pointer * \return the mute status (boolean) */ -VLC_PUBLIC_API int libvlc_audio_get_mute( libvlc_instance_t *, libvlc_exception_t * ); +VLC_PUBLIC_API int libvlc_audio_get_mute( libvlc_instance_t * ); /** * Set mute status. * * \param p_instance libvlc instance * \param status If status is true then mute, otherwise unmute - * \param p_e an initialized exception pointer */ -VLC_PUBLIC_API void libvlc_audio_set_mute( libvlc_instance_t *, int , libvlc_exception_t * ); +VLC_PUBLIC_API void libvlc_audio_set_mute( libvlc_instance_t *, int ); /** * Get current audio level. @@ -884,7 +1021,7 @@ VLC_PUBLIC_API void libvlc_audio_set_mute( libvlc_instance_t *, int , libvlc_exc * \param p_e an initialized exception pointer * \return the audio level (int) */ -VLC_PUBLIC_API int libvlc_audio_get_volume( libvlc_instance_t *, libvlc_exception_t * ); +VLC_PUBLIC_API int libvlc_audio_get_volume( libvlc_instance_t * ); /** * Set current audio level. @@ -904,7 +1041,7 @@ VLC_PUBLIC_API void libvlc_audio_set_volume( libvlc_instance_t *, int, libvlc_ex */ VLC_PUBLIC_API int libvlc_audio_get_track_count( libvlc_media_player_t *, libvlc_exception_t * ); - /** +/** * Get the description of available audio tracks. * * \param p_mi media player