mediacontrol:
[vlc.git] / include / vlc / mediacontrol_structures.h
index 5429f4d..90f7464 100644 (file)
@@ -58,6 +58,16 @@ typedef enum {
     mediacontrol_MediaTime
 } mediacontrol_PositionKey;
 
+/**
+ * Possible player status
+ */
+typedef enum {
+    mediacontrol_PlayingStatus, mediacontrol_PauseStatus,
+    mediacontrol_ForwardStatus, mediacontrol_BackwardStatus,
+    mediacontrol_InitStatus,    mediacontrol_EndStatus,
+    mediacontrol_UndefinedStatus
+} mediacontrol_PlayerStatus;
+
 /**
  * MediaControl Position
  */
@@ -67,6 +77,54 @@ typedef struct {
     long value;
 } mediacontrol_Position;
 
+/**
+ * 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
+
+/**
+ * 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;
+
+
 # ifdef __cplusplus
 }
 # endif