* 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;
/**@}*/
int i_align; /**< alignment within a region */
char *psz_text; /**< text string comprising this region */
+ char *psz_html; /**< HTML version of subtitle (NULL = use psz_text) */
text_style_t *p_style; /* a description of the text style formatting */
subpicture_region_t *p_next; /**< next region in the list */
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 */
#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
vlc_mutex_t picture_lock; /**< picture heap lock */
vlc_mutex_t subpicture_lock; /**< subpicture heap lock */
vlc_mutex_t change_lock; /**< thread change lock */
+ vlc_mutex_t vfilter_lock; /**< video filter2 change lock */
vout_sys_t * p_sys; /**< system output method */
/**@}*/
/* Misc */
vlc_bool_t b_snapshot; /**< take one snapshot on the next loop */
+
+ /* 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
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 {