*/
-#ifndef _LIBVLC_H
-#define _LIBVLC_H 1
-
-#include <vlc/vlc.h>
+#ifndef VLC_LIBVLC_H
+#define VLC_LIBVLC_H 1
+
+#if defined (WIN32) && defined (DLL_EXPORT)
+# define VLC_PUBLIC_API __declspec(dllexport)
+#else
+# define VLC_PUBLIC_API
+#endif
+
+#ifdef __LIBVLC__
+/* Avoid unuseful warnings from libvlc with our deprecated APIs */
+# define VLC_DEPRECATED_API VLC_PUBLIC_API
+#elif defined(__GNUC__) && \
+ (__GNUC__ > 3 || __GNUC__ == 3 && __GNUC_MINOR__ > 0)
+# define VLC_DEPRECATED_API VLC_PUBLIC_API __attribute__((deprecated))
+#else
+# define VLC_DEPRECATED_API VLC_PUBLIC_API
+#endif
# ifdef __cplusplus
extern "C" {
*/
VLC_PUBLIC_API void libvlc_retain( libvlc_instance_t * );
+/**
+ * Try to start a user interface for the libvlc instance, and wait until the
+ * user exits.
+ *
+ * \param p_instance the instance
+ * \param name interface name, or NULL for default
+ * \param p_exception an initialized exception pointer
+ */
+VLC_PUBLIC_API
+void libvlc_add_intf( libvlc_instance_t *p_instance, const char *name,
+ libvlc_exception_t *p_exception );
+
+/**
+ * Waits until an interface causes the instance to exit.
+ * You should start at least one interface first, using libvlc_add_intf().
+ *
+ * \param p_instance the instance
+ */
+VLC_PUBLIC_API
+void libvlc_wait( libvlc_instance_t *p_instance );
+
/**
* Retrieve libvlc version.
*
*
* \return a string containing the libvlc version
*/
-VLC_PUBLIC_API const char * libvlc_get_version();
+VLC_PUBLIC_API const char * libvlc_get_version(void);
/**
* Retrieve libvlc compiler version.
*
* \return a string containing the libvlc compiler version
*/
-VLC_PUBLIC_API const char * libvlc_get_compiler();
+VLC_PUBLIC_API const char * libvlc_get_compiler(void);
/**
* Retrieve libvlc changeset.
*
* \return a string containing the libvlc changeset
*/
-VLC_PUBLIC_API const char * libvlc_get_changeset();
+VLC_PUBLIC_API const char * libvlc_get_changeset(void);
/** @}*/
* The options are detailed in vlc --long-help, for instance "--sout-all"
*
* \param p_instance the instance
- * \param psz_mrl the MRL to read
+ * \param ppsz_options the options (as a string)
* \param p_e an initialized exception pointer
*/
VLC_PUBLIC_API void libvlc_media_add_option(
* Read the meta of the media.
*
* \param p_meta_desc the media to read
- * \param p_meta_desc the meta to read
+ * \param e_meta_desc the meta to read
* \param p_e an initialized exception pointer
* \return the media's meta
*/
* @{
*/
-/**
+/**
* Create an empty Media Player object
*
* \param p_libvlc_instance the libvlc instance in which the Media Player
VLC_PUBLIC_API void libvlc_media_player_set_media( libvlc_media_player_t *, libvlc_media_t *, libvlc_exception_t * );
/**
- * Get the media used by the media_player.
+ * Get the media used by the media_player.
*
* \param p_mi the Media Player
* \param p_e an initialized exception pointer
VLC_PUBLIC_API libvlc_event_manager_t * libvlc_media_player_event_manager ( libvlc_media_player_t *, libvlc_exception_t * );
/**
- * Play
+ * Play
*
* \param p_mi the Media Player
* \param p_e an initialized exception pointer
VLC_PUBLIC_API void libvlc_media_player_play ( libvlc_media_player_t *, libvlc_exception_t * );
/**
- * Pause
+ * Pause
*
* \param p_mi the Media Player
* \param p_e an initialized exception pointer
VLC_PUBLIC_API void libvlc_media_player_pause ( libvlc_media_player_t *, libvlc_exception_t * );
/**
- * Stop
+ * Stop
*
* \param p_mi the Media Player
* \param p_e an initialized exception pointer
/**
* Toggle fullscreen status on video output.
*
- * \param p_input the input
+ * \param p_mediaplayer the media player
* \param p_e an initialized exception pointer
*/
VLC_PUBLIC_API void libvlc_toggle_fullscreen( libvlc_media_player_t *, libvlc_exception_t * );
/**
* Enable or disable fullscreen on a video output.
*
- * \param p_input the input
+ * \param p_mediaplayer the media player
* \param b_fullscreen boolean for fullscreen status
* \param p_e an initialized exception pointer
*/
/**
* Get current fullscreen status.
*
- * \param p_input the input
+ * \param p_mediaplayer the media player
* \param p_e an initialized exception pointer
* \return the fullscreen status (boolean)
*/
/**
* Get current video height.
*
- * \param p_input the input
+ * \param p_mediaplayer the media player
* \param p_e an initialized exception pointer
* \return the video height
*/
/**
* Get current video width.
*
- * \param p_input the input
+ * \param p_mediaplayer the media player
* \param p_e an initialized exception pointer
* \return the video width
*/
/**
* Get current video aspect ratio.
*
- * \param p_input the input
+ * \param p_mediaplayer the media player
* \param p_e an initialized exception pointer
* \return the video aspect ratio
*/
/**
* Set new video aspect ratio.
*
- * \param p_input the input
+ * \param p_mediaplayer the media player
* \param psz_aspect new video aspect-ratio
* \param p_e an initialized exception pointer
*/
/**
* Get current video subtitle.
*
- * \param p_input the input
+ * \param p_mediaplayer the media player
* \param p_e an initialized exception pointer
* \return the video subtitle selected
*/
/**
* Set new video subtitle.
*
- * \param p_input the input
+ * \param p_mediaplayer the media player
* \param i_spu new video subtitle to select
* \param p_e an initialized exception pointer
*/
VLC_PUBLIC_API void libvlc_video_set_spu( libvlc_media_player_t *, int , libvlc_exception_t * );
+/**
+ * Set new video subtitle file.
+ *
+ * \param p_mediaplayer the media player
+ * \param psz_subtitle new video subtitle file
+ * \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 * );
+
/**
* Get current crop filter geometry.
*
- * \param p_input the input
+ * \param p_mediaplayer the media player
* \param p_e an initialized exception pointer
* \return the crop filter geometry
*/
/**
* Set new crop filter geometry.
*
- * \param p_input the input
+ * \param p_mediaplayer the media player
* \param psz_geometry new crop filter geometry
* \param p_e an initialized exception pointer
*/
/**
* Toggle teletext transparent status on video output.
*
- * \param p_input the input
+ * \param p_mediaplayer the media player
* \param p_e an initialized exception pointer
*/
VLC_PUBLIC_API void libvlc_toggle_teletext( libvlc_media_player_t *, libvlc_exception_t * );
/**
* Get current teletext page requested.
*
- * \param p_input the input
+ * \param p_mediaplayer the media player
* \param p_e an initialized exception pointer
* \return the current teletext page requested.
*/
/**
* Set new teletext page to retrieve.
*
- * \param p_input the input
+ * \param p_mediaplayer the media player
* \param i_page teletex page number requested
* \param p_e an initialized exception pointer
*/
* If i_width AND i_height is 0, original size is used.
* If i_width XOR i_height is 0, original aspect-ratio is preserved.
*
- * \param p_input the input
+ * \param p_mediaplayer the media player
* \param psz_filepath the path where to save the screenshot to
* \param i_width the snapshot's width
* \param i_height the snapshot's height
*/
VLC_PUBLIC_API void libvlc_video_take_snapshot( libvlc_media_player_t *, char *,unsigned int, unsigned int, libvlc_exception_t * );
-VLC_PUBLIC_API int libvlc_video_destroy( libvlc_media_player_t *, libvlc_exception_t *);
-
/**
* Resize the current video output window.
*
*/
VLC_PUBLIC_API void libvlc_video_redraw_rectangle( libvlc_media_player_t *, const libvlc_rectangle_t *, libvlc_exception_t * );
-/**
- * Set the default video output's parent.
- *
- * This setting will be used as default for all video outputs.
- *
- * \param p_instance libvlc instance
- * \param drawable the new parent window (Drawable on X11, CGrafPort on MacOSX, HWND on Win32)
- * \param p_e an initialized exception pointer
- */
-VLC_PUBLIC_API void libvlc_video_set_parent( libvlc_instance_t *, libvlc_drawable_t, libvlc_exception_t * );
-
-/**
- * Set the default video output parent.
- *
- * This setting will be used as default for all video outputs.
- *
- * \param p_instance libvlc instance
- * \param drawable the new parent window (Drawable on X11, CGrafPort on MacOSX, HWND on Win32)
- * \param p_e an initialized exception pointer
- */
-VLC_PUBLIC_API libvlc_drawable_t libvlc_video_get_parent( libvlc_instance_t *, libvlc_exception_t * );
-
/**
* Set the default video output size.
*