]> git.sesse.net Git - vlc/blobdiff - include/vlc/libvlc_structures.h
update: performs size and m5 checksum verification (untested)
[vlc] / include / vlc / libvlc_structures.h
index ad2b6a337495da1762713b15dba99c3cbbf03304..8438dd0a35bebf2ed880b51a971b22d836988e5f 100644 (file)
@@ -53,15 +53,16 @@ typedef struct libvlc_exception_t
 /**@} */
 
 /*****************************************************************************
- * Tag Query
+ * Tag
  *****************************************************************************/
-/** defgroup libvlc_tag_query Tag Query
+/** defgroup libvlc_tag Tag
  * \ingroup libvlc
- * LibVLC Tag Query support in media descriptor
+ * LibVLC Tag  support in media descriptor
  * @{
  */
 
 typedef struct libvlc_tag_query_t libvlc_tag_query_t;
+typedef char * libvlc_tag_t;
 
 /**@} */
 
@@ -119,6 +120,17 @@ typedef struct libvlc_media_descriptor_t libvlc_media_descriptor_t;
 
 typedef struct libvlc_media_instance_t libvlc_media_instance_t;
 
+typedef enum libvlc_state_t
+{
+    libvlc_Stopped,
+    libvlc_Opening,
+    libvlc_Buffering,
+    libvlc_Ended,
+    libvlc_Error,
+    libvlc_Playing,
+    libvlc_Paused
+} libvlc_state_t;
+
 /**@} */
 
 /*****************************************************************************
@@ -131,6 +143,21 @@ typedef struct libvlc_media_instance_t libvlc_media_instance_t;
  */
 
 typedef struct libvlc_media_list_t libvlc_media_list_t;
+typedef struct libvlc_media_list_view_t libvlc_media_list_view_t;
+
+/**@} */
+
+/*****************************************************************************
+ * Dynamic Media List
+ *****************************************************************************/
+/** defgroup libvlc_media_list MediaList
+ * \ingroup libvlc
+ * LibVLC Dynamic Media list: Media list with content synchronized with
+ * an other playlist
+ * @{
+ */
+
+typedef struct libvlc_dynamic_media_list_t libvlc_dynamic_media_list_t;
 
 /**@} */
 
@@ -147,6 +174,19 @@ typedef struct libvlc_media_list_player_t libvlc_media_list_player_t;
 
 /**@} */
 
+/*****************************************************************************
+ * Media Library
+ *****************************************************************************/
+/** defgroup libvlc_media_library Media Library
+ * \ingroup libvlc
+ * LibVLC Media Library
+ * @{
+ */
+
+typedef struct libvlc_media_library_t libvlc_media_library_t;
+
+/**@} */
+
 /*****************************************************************************
  * Playlist
  *****************************************************************************/
@@ -175,7 +215,7 @@ typedef struct libvlc_playlist_item_t
  * LibVLC Video handling
  * @{
  */
-    
 /**
 * Downcast to this general type as placeholder for a platform specific one, such as:
 *  Drawable on X11,
@@ -197,6 +237,19 @@ libvlc_rectangle_t;
 /**@} */
 
 
+/*****************************************************************************
+ * Services/Media Discovery
+ *****************************************************************************/
+/** defgroup libvlc_media_discoverer Media Discoverer
+ * \ingroup libvlc
+ * LibVLC Media Discoverer
+ * @{
+ */
+
+typedef struct libvlc_media_discoverer_t libvlc_media_discoverer_t;
+
+/**@} */
+
 /*****************************************************************************
  * Message log handling
  *****************************************************************************/
@@ -234,7 +287,7 @@ typedef struct libvlc_log_message_t
  * LibVLC Event Callbacks
  * @{
  */
-    
 /**
  * Available events: (XXX: being reworked)
  * - libvlc_MediaInstanceReachedEnd
@@ -243,10 +296,29 @@ typedef struct libvlc_log_message_t
 typedef enum libvlc_event_type_t {
     libvlc_MediaDescriptorMetaChanged,
     libvlc_MediaDescriptorSubItemAdded,
+    libvlc_MediaDescriptorDurationChanged,
+    libvlc_MediaDescriptorPreparsedChanged,
+    libvlc_MediaDescriptorFreed,
+
+    libvlc_MediaInstancePlayed,
+    libvlc_MediaInstancePaused,
     libvlc_MediaInstanceReachedEnd,
+    libvlc_MediaInstancePositionChanged,
+
     libvlc_MediaListItemAdded,
+    libvlc_MediaListWillAddItem,
     libvlc_MediaListItemDeleted,
-    libvlc_MediaListItemChanged,
+    libvlc_MediaListWillDeleteItem,
+
+    libvlc_MediaListViewItemAdded,
+    libvlc_MediaListViewWillAddItem,
+    libvlc_MediaListViewItemDeleted,
+    libvlc_MediaListViewWillDeleteItem,
+
+    libvlc_MediaListPlayerPlayed,
+    libvlc_MediaListPlayerNextItemSet,
+    libvlc_MediaListPlayerStopped,
+
 } libvlc_event_type_t;
 
 /**
@@ -262,6 +334,7 @@ typedef struct libvlc_event_t
     void * p_obj;
     union event_type_specific
     {
+        /* media descriptor */
         struct
         {
             libvlc_meta_t meta_type;
@@ -271,11 +344,36 @@ typedef struct libvlc_event_t
             libvlc_media_descriptor_t * new_child;
         } media_descriptor_subitem_added;
         struct
+        {
+            vlc_int64_t new_duration;
+        } media_descriptor_duration_changed;
+        struct
+        {
+            int new_status;
+        } media_descriptor_preparsed_changed;
+        struct
+        {
+            libvlc_media_descriptor_t * md;
+        } media_descriptor_freed;
+            
+        /* media instance */
+        struct
+        {
+            long int new_position;
+        } media_instance_position_changed;
+
+        /* media list */
+        struct
         {
             libvlc_media_descriptor_t * item;
             int index;
         } media_list_item_added;
         struct
+        {
+            libvlc_media_descriptor_t * item;
+            int index;
+        } media_list_will_add_item;
+        struct
         {
             libvlc_media_descriptor_t * item;
             int index;
@@ -284,7 +382,29 @@ typedef struct libvlc_event_t
         {
             libvlc_media_descriptor_t * item;
             int index;
-        } media_list_item_changed;
+        } media_list_will_delete_item;
+
+        /* media list view */
+        struct
+        {
+            libvlc_media_descriptor_t * item;
+            int index;
+        } media_list_view_item_added;
+        struct
+        {
+            libvlc_media_descriptor_t * item;
+            int index;
+        } media_list_view_will_add_item;
+        struct
+        {
+            libvlc_media_descriptor_t * item;
+            int index;
+        } media_list_view_item_deleted;
+        struct
+        {
+            libvlc_media_descriptor_t * item;
+            int index;
+        } media_list_view_will_delete_item;
     } u;
 } libvlc_event_t;