#ifndef VLC_LIBVLC_MEDIA_PLAYER_H
#define VLC_LIBVLC_MEDIA_PLAYER_H 1
+# ifdef __cplusplus
+extern "C" {
+# endif
+
/*****************************************************************************
* Media Player
*****************************************************************************/
int i_id;
char *psz_name;
struct libvlc_track_description_t *p_next;
-
+
} libvlc_track_description_t;
/**
char *psz_name;
char *psz_description;
struct libvlc_audio_output_t *p_next;
-
+
} libvlc_audio_output_t;
/**
* Marq int options definition
*/
typedef enum libvlc_video_marquee_int_option_t {
- libvlc_marquee_Enabled = 0,
+ libvlc_marquee_Enable = 0,
libvlc_marquee_Color,
libvlc_marquee_Opacity,
libvlc_marquee_Position,
* \param p_mi the Media Player
* \param p_md the Media. Afterwards the p_md can be safely
* destroyed.
- * \param p_e an initialized exception pointer
*/
-VLC_PUBLIC_API void libvlc_media_player_set_media( libvlc_media_player_t *, libvlc_media_t *, libvlc_exception_t * );
+VLC_PUBLIC_API void libvlc_media_player_set_media( libvlc_media_player_t *, libvlc_media_t * );
/**
* Get the media used by the media_player.
*
* \param p_mi the Media Player
- * \param p_e an initialized exception pointer
* \return the media associated with p_mi, or NULL if no
* media is associated
*/
-VLC_PUBLIC_API libvlc_media_t * libvlc_media_player_get_media( libvlc_media_player_t *, libvlc_exception_t * );
+VLC_PUBLIC_API libvlc_media_t * libvlc_media_player_get_media( libvlc_media_player_t * );
/**
* Get the Event Manager from which the media player send event.
*
* \param p_mi the Media Player
- * \param p_e an initialized exception pointer
* \return the event manager associated with p_mi
*/
-VLC_PUBLIC_API libvlc_event_manager_t * libvlc_media_player_event_manager ( libvlc_media_player_t *, libvlc_exception_t * );
+VLC_PUBLIC_API libvlc_event_manager_t * libvlc_media_player_event_manager ( libvlc_media_player_t * );
/**
* is_playing
*
* \param p_mi the Media Player
- * \param p_e an initialized exception pointer
* \return 1 if the media player is playing, 0 otherwise
*/
-VLC_PUBLIC_API int libvlc_media_player_is_playing ( libvlc_media_player_t *, libvlc_exception_t * );
+VLC_PUBLIC_API int libvlc_media_player_is_playing ( libvlc_media_player_t * );
/**
* Play
* \param p_mi the Media Player
* \param p_e an initialized exception pointer
*/
-VLC_PUBLIC_API void libvlc_media_player_stop ( libvlc_media_player_t *, libvlc_exception_t * );
+VLC_PUBLIC_API void libvlc_media_player_stop ( libvlc_media_player_t * );
/**
* Set the NSView handler where the media player should render its video output.
*
* The object minimal_macosx expects is of kind NSObject and should
* respect the protocol:
- *
- * @protocol VLCOpenGLVoutEmbedding
+ *
+ * @protocol VLCOpenGLVideoViewEmbedding <NSObject>
* - (void)addVoutSubview:(NSView *)view;
* - (void)removeVoutSubview:(NSView *)view;
- *
- * - (void)enterFullscreen;
- * - (void)leaveFullscreen;
- *
- * - (BOOL)stretchesVideo;
- * - (void)setOnTop: (BOOL)ontop; /* Do we really want that in protocol? */
* @end
- *
+ *
* You can find a live example in VLCVideoView in VLCKit.framework.
- *
+ *
* \param p_mi the Media Player
* \param drawable the NSView handler
- * \param p_e an initialized exception pointer
*/
-VLC_PUBLIC_API void libvlc_media_player_set_nsobject ( libvlc_media_player_t *p_mi, void * drawable, libvlc_exception_t *p_e );
+VLC_PUBLIC_API void libvlc_media_player_set_nsobject ( libvlc_media_player_t *p_mi, void * drawable );
/**
* Get the NSView handler previously set with libvlc_media_player_set_nsobject().
* \return the NSView handler or 0 if none where set
*/
VLC_PUBLIC_API void * libvlc_media_player_get_nsobject ( libvlc_media_player_t *p_mi );
-
+
/**
* Set the agl handler where the media player should render its video output.
*
* \param drawable the agl handler
* \param p_e an initialized exception pointer
*/
-VLC_PUBLIC_API void libvlc_media_player_set_agl ( libvlc_media_player_t *p_mi, uint32_t drawable, libvlc_exception_t *p_e );
+VLC_PUBLIC_API void libvlc_media_player_set_agl ( libvlc_media_player_t *p_mi, uint32_t drawable );
/**
* Get the agl handler previously set with libvlc_media_player_set_agl().
*
* \param p_mi the Media Player
* \param drawable the ID of the X window
- * \param p_e an initialized exception pointer
*/
-VLC_PUBLIC_API void libvlc_media_player_set_xwindow ( libvlc_media_player_t *p_mi, uint32_t drawable, libvlc_exception_t *p_e );
+VLC_PUBLIC_API void libvlc_media_player_set_xwindow ( libvlc_media_player_t *p_mi, uint32_t drawable );
/**
* Get the X Window System window identifier previously set with
*
* \param p_mi the Media Player
* \param drawable windows handle of the drawable
- * \param p_e an initialized exception pointer
*/
-VLC_PUBLIC_API void libvlc_media_player_set_hwnd ( libvlc_media_player_t *p_mi, void *drawable, libvlc_exception_t *p_e );
+VLC_PUBLIC_API void libvlc_media_player_set_hwnd ( libvlc_media_player_t *p_mi, void *drawable );
/**
* Get the Windows API window handle (HWND) previously set with
*
* \param p_mi the Media Player
* \param p_e an initialized exception pointer
- * \return current movie state as libvlc_state_t
*/
-VLC_PUBLIC_API libvlc_state_t libvlc_media_player_get_state( libvlc_media_player_t *, libvlc_exception_t *);
+VLC_PUBLIC_API libvlc_state_t libvlc_media_player_get_state( libvlc_media_player_t *);
/**
* Get movie fps rate
libvlc_exception_t *p_e );
+/**
+ * Access to libvlc core internal structure.
+ *
+ * This enables nasty hack. Use of this method is discouraged.
+ *
+ * \param player the libvlc_media_player_t instance
+ * \return a libvlccore input_thread_t or NULL. The actual behaviour is not specified.
+ */
+VLC_PUBLIC_API struct input_thread_t *libvlc_media_player_get_input_thread( libvlc_media_player_t *player );
/**
* Release (free) libvlc_track_description_t
*/
VLC_PUBLIC_API void libvlc_toggle_teletext( libvlc_media_player_t *, libvlc_exception_t * );
-/**
- * Get current teletext page requested.
- *
- * \param p_mediaplayer the media player
- * \param p_e an initialized exception pointer
- * \return the current teletext page requested.
- */
-VLC_PUBLIC_API int libvlc_video_get_teletext( libvlc_media_player_t *, libvlc_exception_t * );
-
-/**
- * Set new teletext page to retrieve.
- *
- * \param p_mediaplayer the media player
- * \param i_page teletex page number requested
- * \param p_e an initialized exception pointer
- */
-VLC_PUBLIC_API void libvlc_video_set_teletext( libvlc_media_player_t *, int, libvlc_exception_t * );
-
/**
* Get number of available video tracks.
*
libvlc_exception_t *);
/**
- * Get an option value (option which return an int)
+ * Get an integer option value
*
* \param p_mi libvlc media player
- * \param option marq option to get
+ * \param option marq option to get \see libvlc_video_marquee_int_option_t
* \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 * );
+VLC_PUBLIC_API int libvlc_video_get_marquee_int( libvlc_media_player_t *,
+ unsigned, libvlc_exception_t * );
/**
- * Get an option value (option which return a string)
+ * Get a string option value
*
* \param p_mi libvlc media player
- * \param option marq option to get
+ * \param option marq option to get \see libvlc_video_marquee_string_option_t
* \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 * );
+VLC_PUBLIC_API char *libvlc_video_get_marquee_string( libvlc_media_player_t *,
+ unsigned, libvlc_exception_t * );
/**
- * Enable, disable or set a marq option (only int)
+ * Enable, disable or set an integer marq option
+ *
+ * Setting libvlc_marquee_Enable has the side effect of enabling (arg !0)
+ * or disabling (arg 0) the marq filter.
*
* \param p_mi libvlc media player
- * \param option marq option to set
+ * \param option marq option to set \see libvlc_video_marquee_int_option_t
* \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 * );
+VLC_PUBLIC_API void libvlc_video_set_marquee_int( libvlc_media_player_t *,
+ unsigned, int, libvlc_exception_t * );
/**
- * Set a marq option (only string)
+ * Set a marq string option
*
* \param p_mi libvlc media player
- * \param option marq option to set
+ * \param option marq option to set \see libvlc_video_marquee_string_option_t
* \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 * );
+VLC_PUBLIC_API void libvlc_video_set_marquee_string( libvlc_media_player_t *,
+ unsigned, const char *, libvlc_exception_t * );
+
+enum libvlc_video_logo_option_t {
+ libvlc_logo_enable,
+ libvlc_logo_file, /**< string argument, "file,d,t;file,d,t;..." */
+ libvlc_logo_x,
+ libvlc_logo_y,
+ libvlc_logo_delay,
+ libvlc_logo_repeat,
+ libvlc_logo_opacity,
+ libvlc_logo_position,
+};
+
+/**
+ * Get integer logo option.
+ *
+ * \param p_mi libvlc media player instance
+ * \param option logo option to get, values of libvlc_video_logo_option_t
+ * \param p_e an pointer to an initialized exception object
+ */
+VLC_PUBLIC_API int libvlc_video_get_logo_int( libvlc_media_player_t *p_mi,
+ unsigned option, libvlc_exception_t *p_e );
+
+/**
+ * Set logo option as integer. Options that take a different type value
+ * cause an invalid argument exception.
+ * Passing libvlc_logo_enable as option value has the side effect of
+ * starting (arg !0) or stopping (arg 0) the logo filter.
+ *
+ * \param p_mi libvlc media player instance
+ * \param option logo option to set, values of libvlc_video_logo_option_t
+ * \param value logo option value
+ * \param p_e an pointer to an initialized exception object
+ */
+VLC_PUBLIC_API void libvlc_video_set_logo_int( libvlc_media_player_t *p_mi,
+ unsigned option, int value, libvlc_exception_t *p_e );
+
+/**
+ * Set logo option as string. Options that take a different type value
+ * cause an invalid argument exception.
+ *
+ * \param p_mi libvlc media player instance
+ * \param option logo option to set, values of libvlc_video_logo_option_t
+ * \param psz_value logo option value
+ * \param p_e an pointer to an initialized exception object
+ */
+VLC_PUBLIC_API void libvlc_video_set_logo_string( libvlc_media_player_t *p_mi,
+ unsigned option, const char *psz_value, libvlc_exception_t *p_e );
/** @} video */
/** @} media_player */
+# ifdef __cplusplus
+}
+# endif
+
#endif /* VLC_LIBVLC_MEDIA_PLAYER_H */