]> git.sesse.net Git - vlc/blobdiff - include/vlc/mediacontrol.h
Removes trailing spaces. Removes tabs.
[vlc] / include / vlc / mediacontrol.h
index f506b6fb5e8d1a4fbde183f7d2cec0c9536fbfa0..c7e698a9dedb8419ba310f44d48c82e0bf33153f 100644 (file)
@@ -22,7 +22,7 @@
  *****************************************************************************/
 
 /**
- * \defgroup mediacontrol MediaControl 
+ * \defgroup mediacontrol MediaControl
  * This is the MediaControl API, * intended to provide a generic API to movie players.
  *
  * @{
@@ -37,115 +37,59 @@ extern "C" {
 # endif
 
 #if defined( WIN32 )
+#include <windows.h>
 #define WINDOWHANDLE HWND
 #else
 #define WINDOWHANDLE int
 #endif
 
+#include <vlc/libvlc.h>
 #include <vlc/mediacontrol_structures.h>
 
-/**
- * RGBPicture structure
- * This generic structure holds a picture in an encoding specified by type.
- */
-typedef struct {
-    int  width;
-    int  height;
-    long type;
-    vlc_int64_t date;
-    int  size;
-    char *data;
-} mediacontrol_RGBPicture;
-
-/**
- * Playlist sequence
- * A simple list of strings.
- */
-typedef struct {
-    int size;
-    char **data;
-} mediacontrol_PlaylistSeq;
-
-typedef struct {
-    int code;
-    char *message;
-} mediacontrol_Exception;
-
-/**
- * Exception codes
- */
-#define mediacontrol_PositionKeyNotSupported    1
-#define mediacontrol_PositionOriginNotSupported 2
-#define mediacontrol_InvalidPosition            3
-#define mediacontrol_PlaylistException          4
-#define mediacontrol_InternalException          5
-
 /**
  * mediacontrol_Instance is an opaque structure, defined in
- * mediacontrol_internal.h. API users do not have to mess with it. 
+ * mediacontrol_internal.h. API users do not have to mess with it.
  */
 typedef struct mediacontrol_Instance mediacontrol_Instance;
 
-/**
- * Possible player status
- */
-enum mediacontrol_PlayerStatusList
-{
-    mediacontrol_PlayingStatus, mediacontrol_PauseStatus,
-    mediacontrol_ForwardStatus, mediacontrol_BackwardStatus,
-    mediacontrol_InitStatus,    mediacontrol_EndStatus,
-    mediacontrol_UndefinedStatus
-};
-typedef enum mediacontrol_PlayerStatusList mediacontrol_PlayerStatus;
-
-/**
- * Stream information
- * This structure allows to quickly get various informations about the stream.
- */
-typedef struct {
-    mediacontrol_PlayerStatus streamstatus;
-    char *url;         /* The URL of the current media stream */
-    vlc_int64_t position;     /* actual location in the stream (in ms) */
-    vlc_int64_t length;         /* total length of the stream (in ms) */
-} mediacontrol_StreamInformation;
-
 /**************************************************************************
  *  Helper functions
  ***************************************************************************/
 
-/**
- * Allocate a RGBPicture structure.
- * \param datasize: the size of the data
- */
-mediacontrol_RGBPicture *mediacontrol_RGBPicture__alloc( int datasize );
-
 /**
  * Free a RGBPicture structure.
  * \param pic: the RGBPicture structure
  */
-void mediacontrol_RGBPicture__free( mediacontrol_RGBPicture *pic );
+VLC_PUBLIC_API void mediacontrol_RGBPicture__free( mediacontrol_RGBPicture *pic );
 
-mediacontrol_RGBPicture *
-  _mediacontrol_createRGBPicture( int, int, long, vlc_int64_t l_date,
-                                  char *, int);
+VLC_PUBLIC_API void mediacontrol_PlaylistSeq__free( mediacontrol_PlaylistSeq *ps );
 
-mediacontrol_PlaylistSeq *mediacontrol_PlaylistSeq__alloc( int size );
-
-void mediacontrol_PlaylistSeq__free( mediacontrol_PlaylistSeq *ps );
+/**
+ * Free a StreamInformation structure.
+ * \param pic: the StreamInformation structure
+ */
+VLC_PUBLIC_API void
+mediacontrol_StreamInformation__free( mediacontrol_StreamInformation* p_si );
 
 /**
- * Initialize an exception structure.
- * \param p_exception the exception to initialize. If NULL, a new exception will be created.
+ * Instanciate and initialize an exception structure.
  * \return the exception
  */
-mediacontrol_Exception *
+VLC_PUBLIC_API mediacontrol_Exception *
+  mediacontrol_exception_create( void );
+
+/**
+ * Initialize an existing exception structure.
+ * \param p_exception the exception to initialize.
+ */
+VLC_PUBLIC_API void
   mediacontrol_exception_init( mediacontrol_Exception *exception );
 
 /**
  * Free an exception structure.
  * \return the exception
  */
-void mediacontrol_exception_free(mediacontrol_Exception *exception);
+VLC_PUBLIC_API void mediacontrol_exception_free(mediacontrol_Exception *exception);
 
 /*****************************************************************************
  * Core functions
@@ -158,7 +102,7 @@ void mediacontrol_exception_free(mediacontrol_Exception *exception);
  * \param exception an initialized exception pointer
  * \return a mediacontrol_Instance
  */
-mediacontrol_Instance *
+VLC_PUBLIC_API mediacontrol_Instance *
 mediacontrol_new( int argc, char **argv, mediacontrol_Exception *exception );
 
 /**
@@ -167,16 +111,16 @@ mediacontrol_new( int argc, char **argv, mediacontrol_Exception *exception );
  * \param exception an initialized exception pointer
  * \return a mediacontrol_Instance
  */
-mediacontrol_Instance *
+VLC_PUBLIC_API mediacontrol_Instance *
 mediacontrol_new_from_instance( libvlc_instance_t* p_instance,
-                               mediacontrol_Exception *exception );
+                mediacontrol_Exception *exception );
 
 /**
  * Get the associated libvlc instance
  * \param self: the mediacontrol instance
  * \return a libvlc instance
  */
-libvlc_instance_t*
+VLC_PUBLIC_API libvlc_instance_t*
 mediacontrol_get_libvlc_instance( mediacontrol_Instance* self );
 
 /**
@@ -187,7 +131,7 @@ mediacontrol_get_libvlc_instance( mediacontrol_Instance* self );
  * \param exception an initialized exception pointer
  * \return a mediacontrol_Position
  */
-mediacontrol_Position * mediacontrol_get_media_position(
+VLC_PUBLIC_API mediacontrol_Position * mediacontrol_get_media_position(
                          mediacontrol_Instance *self,
                          const mediacontrol_PositionOrigin an_origin,
                          const mediacontrol_PositionKey a_key,
@@ -199,7 +143,7 @@ mediacontrol_Position * mediacontrol_get_media_position(
  * \param a_position a mediacontrol_Position
  * \param exception an initialized exception pointer
  */
-void mediacontrol_set_media_position( mediacontrol_Instance *self,
+VLC_PUBLIC_API void mediacontrol_set_media_position( mediacontrol_Instance *self,
                                       const mediacontrol_Position *a_position,
                                       mediacontrol_Exception *exception );
 
@@ -209,7 +153,7 @@ void mediacontrol_set_media_position( mediacontrol_Instance *self,
  * \param a_position a mediacontrol_Position
  * \param exception an initialized exception pointer
  */
-void mediacontrol_start( mediacontrol_Instance *self,
+VLC_PUBLIC_API void mediacontrol_start( mediacontrol_Instance *self,
                          const mediacontrol_Position *a_position,
                          mediacontrol_Exception *exception );
 
@@ -219,7 +163,7 @@ void mediacontrol_start( mediacontrol_Instance *self,
  * \param a_position a mediacontrol_Position (ignored for now)
  * \param exception an initialized exception pointer
  */
-void mediacontrol_pause( mediacontrol_Instance *self,
+VLC_PUBLIC_API void mediacontrol_pause( mediacontrol_Instance *self,
                          const mediacontrol_Position *a_position,
                          mediacontrol_Exception *exception );
 
@@ -229,7 +173,7 @@ void mediacontrol_pause( mediacontrol_Instance *self,
  * \param a_position a mediacontrol_Position (ignored for now)
  * \param exception an initialized exception pointer
  */
-void mediacontrol_resume( mediacontrol_Instance *self,
+VLC_PUBLIC_API void mediacontrol_resume( mediacontrol_Instance *self,
                           const mediacontrol_Position *a_position,
                           mediacontrol_Exception *exception );
 
@@ -239,7 +183,7 @@ void mediacontrol_resume( mediacontrol_Instance *self,
  * \param a_position a mediacontrol_Position (ignored for now)
  * \param exception an initialized exception pointer
  */
-void mediacontrol_stop( mediacontrol_Instance *self,
+VLC_PUBLIC_API void mediacontrol_stop( mediacontrol_Instance *self,
                         const mediacontrol_Position *a_position,
                         mediacontrol_Exception *exception );
 
@@ -247,7 +191,7 @@ void mediacontrol_stop( mediacontrol_Instance *self,
  * Exit the player
  * \param self the mediacontrol instance
  */
-void mediacontrol_exit( mediacontrol_Instance *self );
+VLC_PUBLIC_API void mediacontrol_exit( mediacontrol_Instance *self );
 
 /**
  * Add a new MRL to the playlist
@@ -255,7 +199,7 @@ void mediacontrol_exit( mediacontrol_Instance *self );
  * \param psz_file the MRL
  * \param exception an initialized exception pointer
  */
-void mediacontrol_playlist_add_item( mediacontrol_Instance *self,
+VLC_PUBLIC_API void mediacontrol_playlist_add_item( mediacontrol_Instance *self,
                                      const char* psz_file,
                                      mediacontrol_Exception *exception );
 /**
@@ -263,7 +207,7 @@ void mediacontrol_playlist_add_item( mediacontrol_Instance *self,
  * \param self the mediacontrol instance
  * \param exception an initialized exception pointer
  */
-void mediacontrol_playlist_clear( mediacontrol_Instance *self,
+VLC_PUBLIC_API void mediacontrol_playlist_clear( mediacontrol_Instance *self,
                                   mediacontrol_Exception *exception );
 /**
  * Get a flattened view of the playlist
@@ -271,7 +215,7 @@ void mediacontrol_playlist_clear( mediacontrol_Instance *self,
  * \param exception an initialized exception pointer
  * \return a list of strings
  */
-mediacontrol_PlaylistSeq *
+VLC_PUBLIC_API mediacontrol_PlaylistSeq *
   mediacontrol_playlist_get_list( mediacontrol_Instance *self,
                                   mediacontrol_Exception *exception );
 
@@ -280,7 +224,7 @@ mediacontrol_PlaylistSeq *
  * \param self the mediacontrol instance
  * \param exception an initialized exception pointer
  */
-void
+VLC_PUBLIC_API void
 mediacontrol_playlist_next_item( mediacontrol_Instance *self,
                                  mediacontrol_Exception *exception );
 
@@ -294,7 +238,7 @@ mediacontrol_playlist_next_item( mediacontrol_Instance *self,
  * \param exception an initialized exception pointer
  * \return a RGBpicture
  */
-mediacontrol_RGBPicture *
+VLC_PUBLIC_API mediacontrol_RGBPicture *
   mediacontrol_snapshot( mediacontrol_Instance *self,
                          const mediacontrol_Position *a_position,
                          mediacontrol_Exception *exception );
@@ -306,7 +250,7 @@ mediacontrol_RGBPicture *
  * \param exception an initialized exception pointer
  * \return a NULL-terminated list of RGBpicture
  */
-mediacontrol_RGBPicture **
+VLC_PUBLIC_API mediacontrol_RGBPicture **
   mediacontrol_all_snapshots( mediacontrol_Instance *self,
                               mediacontrol_Exception *exception );
 
@@ -318,7 +262,7 @@ mediacontrol_RGBPicture **
  * \param end the end position
  * \param exception an initialized exception pointer
  */
-void mediacontrol_display_text( mediacontrol_Instance *self,
+VLC_PUBLIC_API void mediacontrol_display_text( mediacontrol_Instance *self,
                                 const char *message,
                                 const mediacontrol_Position *begin,
                                 const mediacontrol_Position *end,
@@ -331,7 +275,7 @@ void mediacontrol_display_text( mediacontrol_Instance *self,
  * \param exception an initialized exception pointer
  * \return a mediacontrol_StreamInformation
  */
-mediacontrol_StreamInformation *
+VLC_PUBLIC_API mediacontrol_StreamInformation *
   mediacontrol_get_stream_information( mediacontrol_Instance *self,
                                        mediacontrol_PositionKey a_key,
                                        mediacontrol_Exception *exception );
@@ -342,7 +286,7 @@ mediacontrol_StreamInformation *
  * \param exception an initialized exception pointer
  * \return the volume
  */
-unsigned short
+VLC_PUBLIC_API unsigned short
   mediacontrol_sound_get_volume( mediacontrol_Instance *self,
                                  mediacontrol_Exception *exception );
 /**
@@ -351,7 +295,7 @@ unsigned short
  * \param volume the volume (normalized in [0..100])
  * \param exception an initialized exception pointer
  */
-void mediacontrol_sound_set_volume( mediacontrol_Instance *self,
+VLC_PUBLIC_API void mediacontrol_sound_set_volume( mediacontrol_Instance *self,
                                     const unsigned short volume,
                                     mediacontrol_Exception *exception );
 
@@ -361,7 +305,7 @@ void mediacontrol_sound_set_volume( mediacontrol_Instance *self,
  * \param visual_id the Xid or HWND, depending on the platform
  * \param exception an initialized exception pointer
  */
-vlc_bool_t mediacontrol_set_visual( mediacontrol_Instance *self,
+VLC_PUBLIC_API vlc_bool_t mediacontrol_set_visual( mediacontrol_Instance *self,
                                     WINDOWHANDLE visual_id,
                                     mediacontrol_Exception *exception );
 
@@ -371,8 +315,8 @@ vlc_bool_t mediacontrol_set_visual( mediacontrol_Instance *self,
  * \param exception an initialized exception pointer
  * \return the rate
  */
-int mediacontrol_get_rate( mediacontrol_Instance *self,
-                          mediacontrol_Exception *exception );
+VLC_PUBLIC_API int mediacontrol_get_rate( mediacontrol_Instance *self,
+               mediacontrol_Exception *exception );
 
 /**
  * Set the playing rate, in percent
@@ -380,9 +324,9 @@ int mediacontrol_get_rate( mediacontrol_Instance *self,
  * \param rate the desired rate
  * \param exception an initialized exception pointer
  */
-void mediacontrol_set_rate( mediacontrol_Instance *self,
-                           const int rate,
-                           mediacontrol_Exception *exception );
+VLC_PUBLIC_API void mediacontrol_set_rate( mediacontrol_Instance *self,
+                const int rate,
+                mediacontrol_Exception *exception );
 
 /**
  * Get current fullscreen status
@@ -390,8 +334,8 @@ void mediacontrol_set_rate( mediacontrol_Instance *self,
  * \param exception an initialized exception pointer
  * \return the fullscreen status
  */
-int mediacontrol_get_fullscreen( mediacontrol_Instance *self,
-                                mediacontrol_Exception *exception );
+VLC_PUBLIC_API int mediacontrol_get_fullscreen( mediacontrol_Instance *self,
+                 mediacontrol_Exception *exception );
 
 /**
  * Set fullscreen status
@@ -399,9 +343,9 @@ int mediacontrol_get_fullscreen( mediacontrol_Instance *self,
  * \param b_fullscreen the desired status
  * \param exception an initialized exception pointer
  */
-void mediacontrol_set_fullscreen( mediacontrol_Instance *self,
-                                 const int b_fullscreen,
-                                 mediacontrol_Exception *exception );
+VLC_PUBLIC_API void mediacontrol_set_fullscreen( mediacontrol_Instance *self,
+                  const int b_fullscreen,
+                  mediacontrol_Exception *exception );
 
 # ifdef __cplusplus
 }