X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=include%2Fvlc_vout.h;h=23e98adc4d02b197ebb9cd96890d5b02c33ceffc;hb=31a51c3e45d72159defca0aaf95a5b599fc7cc5d;hp=47206d54f6993298ebc37e9495756f9b0ca3dc67;hpb=816d3cc4b68198d89c28be1e265193b71fedbcaf;p=vlc diff --git a/include/vlc_vout.h b/include/vlc_vout.h index 47206d54f6..23e98adc4d 100644 --- a/include/vlc_vout.h +++ b/include/vlc_vout.h @@ -81,7 +81,6 @@ struct picture_t int i_status; /**< picture flags */ int i_type; /**< is picture a direct buffer ? */ bool b_slow; /**< is picture in slow memory ? */ - int i_matrix_coefficients; /**< in YUV type, encoding type */ /**@}*/ /** \name Picture management properties @@ -507,13 +506,14 @@ struct vout_thread_t /**@{*/ uint16_t i_changes; /**< changes made to the thread. \see \ref vout_changes */ - bool b_scale; /**< allow picture scaling */ - bool b_fullscreen; /**< toogle fullscreen display */ + unsigned b_fullscreen:1; /**< toogle fullscreen display */ + unsigned b_autoscale:1; /**< auto scaling picture or not */ + unsigned b_on_top:1; /**< stay always on top of other windows */ + int i_zoom; /**< scaling factor if no auto */ unsigned int i_window_width; /**< video window width */ unsigned int i_window_height; /**< video window height */ unsigned int i_alignment; /**< video alignment in window */ - struct vout_window_t *p_window; /**< window for embedded vout (if any) */ /**@}*/ /** \name Plugin used and shortcuts to access its capabilities */ @@ -568,12 +568,16 @@ struct vout_thread_t #define VOUT_INFO_CHANGE 0x0001 /** b_interface changed */ #define VOUT_INTF_CHANGE 0x0004 -/** b_scale changed */ +/** b_autoscale changed */ #define VOUT_SCALE_CHANGE 0x0008 +/** b_on_top changed */ +#define VOUT_ON_TOP_CHANGE 0x0010 /** b_cursor changed */ #define VOUT_CURSOR_CHANGE 0x0020 /** b_fullscreen changed */ #define VOUT_FULLSCREEN_CHANGE 0x0040 +/** i_zoom changed */ +#define VOUT_ZOOM_CHANGE 0x0080 /** size changed */ #define VOUT_SIZE_CHANGE 0x0200 /** depth changed */ @@ -598,6 +602,9 @@ struct vout_thread_t #define MAX_JITTER_SAMPLES 20 +/* scaling factor (applied to i_zoom in vout_thread_t) */ +#define ZOOM_FP_FACTOR 1000 + /***************************************************************************** * Prototypes *****************************************************************************/ @@ -668,14 +675,9 @@ VLC_EXPORT( void, vout_DestroyPicture, ( vout_thread_t *, picture_t * VLC_EXPORT( void, vout_DisplayPicture, ( vout_thread_t *, picture_t * ) ); VLC_EXPORT( void, vout_LinkPicture, ( vout_thread_t *, picture_t * ) ); VLC_EXPORT( void, vout_UnlinkPicture, ( vout_thread_t *, picture_t * ) ); -VLC_EXPORT( void, vout_PlacePicture, ( vout_thread_t *, unsigned int, unsigned int, unsigned int *, unsigned int *, unsigned int *, unsigned int * ) ); +VLC_EXPORT( void, vout_PlacePicture, ( const vout_thread_t *, unsigned int, unsigned int, unsigned int *, unsigned int *, unsigned int *, unsigned int * ) ); -VLC_EXPORT( int, vout_vaControlDefault, ( vout_thread_t *, int, va_list ) ); -VLC_EXPORT( void *, vout_RequestWindow, ( vout_thread_t *, int *, int *, unsigned int *, unsigned int * ) ); -VLC_EXPORT( void, vout_ReleaseWindow, ( vout_thread_t *, void * ) ); -VLC_EXPORT( int, vout_ControlWindow, ( vout_thread_t *, void *, int, va_list ) ); void vout_IntfInit( vout_thread_t * ); -VLC_EXPORT( int, vout_Snapshot, ( vout_thread_t *p_vout, picture_t *p_pic ) ); VLC_EXPORT( void, vout_EnableFilter, ( vout_thread_t *, char *,bool , bool ) ); @@ -701,13 +703,9 @@ static inline int vout_Control( vout_thread_t *p_vout, int i_query, ... ) enum output_query_e { - VOUT_GET_SIZE, /* arg1= unsigned int*, arg2= unsigned int*, res= */ VOUT_SET_SIZE, /* arg1= unsigned int, arg2= unsigned int, res= */ VOUT_SET_STAY_ON_TOP, /* arg1= bool res= */ VOUT_REPARENT, - VOUT_SNAPSHOT, - VOUT_CLOSE, - VOUT_SET_FOCUS, /* arg1= bool res= */ VOUT_SET_VIEWPORT, /* arg1= view rect, arg2=clip rect, res= */ VOUT_REDRAW_RECT, /* arg1= area rect, res= */ }; @@ -719,6 +717,8 @@ typedef struct snapshot_t { int i_height; /* In pixels */ int i_datasize; /* In bytes */ mtime_t date; /* Presentation time */ + vlc_cond_t p_condvar; + vlc_mutex_t p_mutex; } snapshot_t; /**@}*/