]> git.sesse.net Git - vlc/blobdiff - src/video_output/control.h
Improved SpuRenderSubpictures() output region linking.
[vlc] / src / video_output / control.h
index 8048e6d79c3c09c9f8d9b7be8f9bc403df8f1a62..742613438c2efb5b30b09689e6555031da0b830f 100644 (file)
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  *****************************************************************************/
 
-#if defined(__PLUGIN__) || defined(__BUILTIN__) || !defined(__LIBVLC__)
-# error This header file can only be included from LibVLC.
-#endif
-
-#ifndef _VOUT_INTERNAL_CONTROL_H
-#define _VOUT_INTERNAL_CONTROL_H
+#ifndef LIBVLC_VOUT_INTERNAL_CONTROL_H
+#define LIBVLC_VOUT_INTERNAL_CONTROL_H
 
 /* */
 enum {
     VOUT_CONTROL_INIT,
     VOUT_CONTROL_CLEAN,
-    VOUT_CONTROL_REINIT,                /* reinit */
+    VOUT_CONTROL_REINIT,                /* cfg */
 
 #if 0
     /* */
     VOUT_CONTROL_START,
     VOUT_CONTROL_STOP,
 #endif
+    VOUT_CONTROL_SUBPICTURE,            /* subpicture */
+    VOUT_CONTROL_FLUSH_SUBPICTURE,      /* integer */
     VOUT_CONTROL_OSD_TITLE,             /* string */
     VOUT_CONTROL_CHANGE_FILTERS,        /* string */
     VOUT_CONTROL_CHANGE_SUB_FILTERS,    /* string */
+    VOUT_CONTROL_CHANGE_SUB_MARGIN,     /* integer */
 
     VOUT_CONTROL_PAUSE,
     VOUT_CONTROL_RESET,
@@ -67,6 +66,7 @@ typedef struct {
         mtime_t time;
         mtime_t *time_ptr;
         char    *string;
+        int     integer;
         struct {
             int a;
             int b;
@@ -91,9 +91,8 @@ typedef struct {
             unsigned width;
             unsigned height;
         } window;
-        struct {
-            const video_format_t *fmt;
-        } reinit;
+        const vout_configuration_t *cfg;
+        subpicture_t *subpicture;
     } u;
 } vout_control_cmd_t;
 
@@ -123,6 +122,7 @@ void vout_control_WaitEmpty(vout_control_t *);
 void vout_control_Push(vout_control_t *, vout_control_cmd_t *);
 void vout_control_PushVoid(vout_control_t *, int type);
 void vout_control_PushBool(vout_control_t *, int type, bool boolean);
+void vout_control_PushInteger(vout_control_t *, int type, int integer);
 void vout_control_PushTime(vout_control_t *, int type, mtime_t time);
 void vout_control_PushMessage(vout_control_t *, int type, int channel, const char *string);
 void vout_control_PushPair(vout_control_t *, int type, int a, int b);
@@ -134,4 +134,3 @@ int vout_control_Pop(vout_control_t *, vout_control_cmd_t *, mtime_t deadline, m
 void vout_control_Dead(vout_control_t *);
 
 #endif
-