]> git.sesse.net Git - vlc/blobdiff - include/vlc_vout.h
Don't use a directory for a lone file
[vlc] / include / vlc_vout.h
index 4a706fcfd4172f5ea8183317685c033a76b228fe..e739d93611b9fa43335963ba4735d2a6a0126fb3 100644 (file)
@@ -67,9 +67,6 @@ struct picture_heap_t
     void (* pf_setpalette) ( vout_thread_t *, uint16_t *, uint16_t *, uint16_t * );
 };
 
-/* Default subpicture channel ID */
-#define DEFAULT_CHAN           1
-
 /*****************************************************************************
  * Prototypes
  *****************************************************************************/
@@ -83,10 +80,9 @@ struct picture_heap_t
  * \param i_height the wanted height for the picture.
  * \param i_aspect the wanted aspect ratio for the picture.
  */
-#define vout_AllocatePicture(a,b,c,d,e,f) \
-        __vout_AllocatePicture(VLC_OBJECT(a),b,c,d,e,f)
-VLC_EXPORT( int, __vout_AllocatePicture,( vlc_object_t *p_this, picture_t *p_pic, uint32_t i_chroma, int i_width, int i_height, int i_aspect ) );
-
+VLC_EXPORT( int, vout_AllocatePicture,( vlc_object_t *p_this, picture_t *p_pic, uint32_t i_chroma, int i_width, int i_height, int i_sar_num, int i_sar_den ) );
+#define vout_AllocatePicture(a,b,c,d,e,f,g) \
+        vout_AllocatePicture(VLC_OBJECT(a),b,c,d,e,f,g)
 
 /**
  * \defgroup video_output Video Output
@@ -111,6 +107,7 @@ typedef struct vout_thread_sys_t vout_thread_sys_t;
 struct vout_thread_t
 {
     VLC_COMMON_MEMBERS
+    bool                b_error;
 
     /** \name Thread properties and locks */
     /**@{*/
@@ -246,8 +243,8 @@ struct vout_thread_t
  * \return a vout if p_fmt is non NULL and the request is successfull, NULL
  * otherwise
  */
-#define vout_Request(a,b,c) __vout_Request(VLC_OBJECT(a),b,c)
-VLC_EXPORT( vout_thread_t *, __vout_Request,    ( vlc_object_t *p_this, vout_thread_t *p_vout, video_format_t *p_fmt ) );
+VLC_EXPORT( vout_thread_t *, vout_Request, ( vlc_object_t *p_this, vout_thread_t *p_vout, video_format_t *p_fmt ) );
+#define vout_Request(a,b,c) vout_Request(VLC_OBJECT(a),b,c)
 
 /**
  * This function will create a suitable vout for a given p_fmt. It will never
@@ -258,8 +255,8 @@ VLC_EXPORT( vout_thread_t *, __vout_Request,    ( vlc_object_t *p_this, vout_thr
  * \param p_fmt the video format requested
  * \return a vout if the request is successfull, NULL otherwise
  */
-#define vout_Create(a,b) __vout_Create(VLC_OBJECT(a),b)
-VLC_EXPORT( vout_thread_t *, __vout_Create,       ( vlc_object_t *p_this, video_format_t *p_fmt ) );
+VLC_EXPORT( vout_thread_t *, vout_Create, ( vlc_object_t *p_this, video_format_t *p_fmt ) );
+#define vout_Create(a,b) vout_Create(VLC_OBJECT(a),b)
 
 /**
  * This function will close a vout created by vout_Create or vout_Request.
@@ -310,8 +307,17 @@ 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,   ( const vout_thread_t *, unsigned int, unsigned int, unsigned int *, unsigned int *, unsigned int *, unsigned int * ) );
 
+/**
+ * Return the spu_t object associated to a vout_thread_t.
+ *
+ * The return object is valid only as long as the vout is. You must not
+ * release the spu_t object returned.
+ * It cannot return NULL so no need to check.
+ */
+VLC_EXPORT( spu_t *, vout_GetSpu, ( vout_thread_t * ) );
+
 void vout_IntfInit( vout_thread_t * );
-VLC_EXPORT( void, vout_EnableFilter, ( vout_thread_t *, char *,bool , bool  ) );
+VLC_EXPORT( void, vout_EnableFilter, ( vout_thread_t *, const char *,bool , bool  ) );
 
 
 static inline int vout_vaControl( vout_thread_t *p_vout, int i_query,
@@ -336,8 +342,7 @@ static inline int vout_Control( vout_thread_t *p_vout, int i_query, ... )
 
 enum output_query_e
 {
-    VOUT_SET_SIZE,         /* arg1= unsigned int, arg2= unsigned int, res= */
-    VOUT_SET_STAY_ON_TOP,  /* arg1= bool       res=    */
+    VOUT_SET_STAY_ON_TOP=1, /* arg1= bool       res=    */
     VOUT_SET_VIEWPORT,      /* arg1= view rect, arg2=clip rect, res= */
     VOUT_REDRAW_RECT,       /* arg1= area rect, res= */
 };