]> git.sesse.net Git - vlc/blobdiff - modules/video_output/fb.c
Fix Metacube header handling with multiple header blocks.
[vlc] / modules / video_output / fb.c
index 06555f4bc68b3e54c906a635ef8ecf7f944711af..b860288df5612bc1f548759d242507405624fadb 100644 (file)
@@ -179,6 +179,9 @@ static int Open(vlc_object_t *object)
     vout_display_t     *vd = (vout_display_t *)object;
     vout_display_sys_t *sys;
 
+    if (vout_display_IsWindowed(vd))
+        return VLC_EGENERIC;
+
     /* Allocate instance and initialize some members */
     vd->sys = sys = calloc(1, sizeof(*sys));
     if (!sys)
@@ -254,10 +257,10 @@ static int Open(vlc_object_t *object)
         Close(VLC_OBJECT(vd));
         return VLC_EGENERIC;
     }
-    vout_display_DeleteWindow(vd, NULL);
 
     /* */
-    video_format_t fmt = vd->fmt;
+    video_format_t fmt;
+    video_format_ApplyRotation(&fmt, &vd->fmt);
 
     if (sys->chroma) {
         fmt.i_chroma = sys->chroma;
@@ -314,7 +317,7 @@ static int Open(vlc_object_t *object)
 
     /* */
     vout_display_SendEventFullscreen(vd, true);
-    vout_display_SendEventDisplaySize(vd, fmt.i_visible_width, fmt.i_visible_height, true);
+    vout_display_SendEventDisplaySize(vd, fmt.i_visible_width, fmt.i_visible_height);
     return VLC_SUCCESS;
 }
 
@@ -327,7 +330,7 @@ static void Close(vlc_object_t *object)
     vout_display_sys_t *sys = vd->sys;
 
     if (sys->pool)
-        picture_pool_Delete(sys->pool);
+        picture_pool_Release(sys->pool);
     if (!sys->is_hw_accel && sys->picture)
         picture_Release(sys->picture);
 
@@ -394,20 +397,8 @@ static void Display(vout_display_t *vd, picture_t *picture, subpicture_t *subpic
 }
 static int Control(vout_display_t *vd, int query, va_list args)
 {
-    vout_display_sys_t *sys = vd->sys;
-
-    switch (query) {
-    case VOUT_DISPLAY_CHANGE_DISPLAY_SIZE: {
-        const vout_display_cfg_t *cfg = va_arg(args, const vout_display_cfg_t *);
-        if (cfg->display.width  != sys->width ||
-            cfg->display.height != sys->height)
-            return VLC_EGENERIC;
-        return VLC_SUCCESS;
-    }
-    default:
-        msg_Err(vd, "Unsupported query in vout display fb");
-        return VLC_EGENERIC;
-    }
+    (void) vd; (void) query; (void) args;
+    return VLC_EGENERIC;
 }
 
 /* following functions are local */