]> git.sesse.net Git - vlc/blobdiff - include/vlc_vout.h
Initial VLM class implementation
[vlc] / include / vlc_vout.h
index 848a90b9884dfbd538c2208fe22df54a0c4be254..30baf2517827185f3b73f55ae10d33f482ed1e96 100644 (file)
@@ -86,7 +86,7 @@ struct picture_t
      * These properties can be modified using the video output thread API,
      * but should never be written directly */
     /**@{*/
-    int             i_refcount;                  /**< link reference counter */
+    unsigned        i_refcount;                  /**< link reference counter */
     mtime_t         date;                                  /**< display date */
     vlc_bool_t      b_force;
     /**@}*/
@@ -284,6 +284,10 @@ struct subpicture_t
                                                 video_format_t *, picture_t * );
     void ( *pf_destroy_region ) ( vlc_object_t *, subpicture_region_t * );
 
+    void ( *pf_pre_render ) ( video_format_t *, spu_t *, subpicture_t *, mtime_t );
+    subpicture_region_t * ( *pf_update_regions ) ( video_format_t *, spu_t *,
+                                                   subpicture_t *, mtime_t );
+
     /** Private data - the subtitle plugin might want to put stuff here to
      * keep track of the subpicture */
     subpicture_sys_t *p_sys;                              /* subpicture data */
@@ -306,6 +310,11 @@ struct subpicture_t
 #define SUBPICTURE_ALIGN_RIGHT 0x2
 #define SUBPICTURE_ALIGN_TOP 0x4
 #define SUBPICTURE_ALIGN_BOTTOM 0x8
+#define SUBPICTURE_ALIGN_MASK ( SUBPICTURE_ALIGN_LEFT|SUBPICTURE_ALIGN_RIGHT| \
+                                SUBPICTURE_ALIGN_TOP |SUBPICTURE_ALIGN_BOTTOM )
+
+/* Subpicture rendered flag - should only be used by vout_subpictures */
+#define SUBPICTURE_RENDERED  0x10
 
 /*****************************************************************************
  * Prototypes
@@ -496,6 +505,11 @@ struct vout_thread_t
 
     /* Video output configuration */
     config_chain_t *p_cfg;
+
+    /* Show media title on videoutput */
+    vlc_bool_t      b_title_show;
+    mtime_t         i_title_timeout;
+    int             i_title_position;
 };
 
 #define I_OUTPUTPICTURES p_vout->output.i_pictures
@@ -607,7 +621,8 @@ enum output_query_e
     VOUT_SNAPSHOT,
     VOUT_CLOSE,
     VOUT_SET_FOCUS,         /* arg1= vlc_bool_t       res=    */
-    VOUT_SET_VIEWPORT       /* arg1= view rect, arg2=clip rect, res= */
+    VOUT_SET_VIEWPORT,      /* arg1= view rect, arg2=clip rect, res= */
+    VOUT_REDRAW_RECT,       /* arg1= area rect, res= */
 };
 
 typedef struct snapshot_t {