]> git.sesse.net Git - vlc/blobdiff - include/vlc/libvlc_media_player.h
libvlc: fix doxygen documentation.
[vlc] / include / vlc / libvlc_media_player.h
index 07a18afbb05d927b00f598d9a6402e38fd3b1ee9..51866f51191e4afef104117f70b3b8b6fcc2b2e4 100644 (file)
 #ifndef VLC_LIBVLC_MEDIA_PLAYER_H
 #define VLC_LIBVLC_MEDIA_PLAYER_H 1
 
+# ifdef __cplusplus
+extern "C" {
+# endif
+
 /*****************************************************************************
  * Media Player
  *****************************************************************************/
@@ -80,7 +84,7 @@ typedef struct libvlc_rectangle_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,
@@ -200,19 +204,29 @@ VLC_PUBLIC_API void libvlc_media_player_pause ( libvlc_media_player_t *, libvlc_
 VLC_PUBLIC_API void libvlc_media_player_stop ( libvlc_media_player_t *, libvlc_exception_t * );
 
 /**
- * Set the agl handler where the media player should render its video output.
+ * 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 VLCOpenGLVideoViewEmbedding <NSObject>
+ * - (void)addVoutSubview:(NSView *)view;
+ * - (void)removeVoutSubview:(NSView *)view;
+ * @end
  *
+ * You can find a live example in VLCVideoView in VLCKit.framework.
+ * 
  * \param p_mi the Media Player
- * \param drawable the agl handler
+ * \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 );
 
 /**
- * Get the agl handler previously set with libvlc_media_player_set_agl().
+ * Get the NSView handler previously set with libvlc_media_player_set_nsobject().
  *
  * \param p_mi the Media Player
- * \return the agl handler or 0 if none where set
+ * \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 );
        
@@ -511,7 +525,10 @@ VLC_PUBLIC_API void libvlc_track_description_release( libvlc_track_description_t
  */
 
 /**
- * Toggle fullscreen status on video output.
+ * Toggle fullscreen status on a non-embedded video output.
+ *
+ * @warning The same limitations applies to this function
+ * as to libvlc_set_fullscreen().
  *
  * \param p_mediaplayer the media player
  * \param p_e an initialized exception pointer
@@ -519,7 +536,15 @@ VLC_PUBLIC_API void libvlc_track_description_release( libvlc_track_description_t
 VLC_PUBLIC_API void libvlc_toggle_fullscreen( libvlc_media_player_t *, libvlc_exception_t * );
 
 /**
- * Enable or disable fullscreen on a video output.
+ * Enable or disable fullscreen on a non-embedded video output.
+ *
+ * @warning With most window managers, only a top-level windows can switch to
+ * full-screen mode. Hence, this function will not operate properly if
+ * libvlc_media_player_set_xid() or libvlc_media_player_set_hwnd() was
+ * used to embed the video in a non-LibVLC widget. If you want to to render an
+ * embedded LibVLC video full-screen, the parent embedding widget must expanded
+ * to full screen (LibVLC cannot take care of that).
+ * LibVLC will then automatically resize the video as appropriate.
  *
  * \param p_mediaplayer the media player
  * \param b_fullscreen boolean for fullscreen status
@@ -808,51 +833,96 @@ VLC_PUBLIC_API void libvlc_video_set_deinterlace( libvlc_media_player_t *,
                                                   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 */
 
@@ -1094,4 +1164,8 @@ VLC_PUBLIC_API void libvlc_audio_set_channel( libvlc_instance_t *,
 
 /** @} media_player */
 
+# ifdef __cplusplus
+}
+# endif
+
 #endif /* VLC_LIBVLC_MEDIA_PLAYER_H */