V4L/DVB (9165): ivtv: V4L2_FBUF_FLAG_OVERLAY status fix
authorIan Armstrong <ian@iarmst.demon.co.uk>
Mon, 6 Oct 2008 06:06:08 +0000 (03:06 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 13 Oct 2008 11:08:24 +0000 (09:08 -0200)
When the framebuffer format was queried via VIDIOC_G_FBUF,
V4L2_FBUF_FLAG_OVERLAY would only be correctly returned for certain screen
depths.

Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/ivtv/ivtv-ioctl.c

index 3d0013bdd1fd4d75f7e9aa28cdcd46ce2c05f965..3c2628a63015a9c6450af416add96d3c548f8607 100644 (file)
@@ -1363,6 +1363,9 @@ static int ivtv_g_fbuf(struct file *file, void *fh, struct v4l2_framebuffer *fb)
        if (itv->osd_global_alpha_state)
                fb->flags |= V4L2_FBUF_FLAG_GLOBAL_ALPHA;
 
+       if (yi->track_osd)
+               fb->flags |= V4L2_FBUF_FLAG_OVERLAY;
+
        pixfmt &= 7;
 
        /* no local alpha for RGB565 or unknown formats */
@@ -1382,8 +1385,6 @@ static int ivtv_g_fbuf(struct file *file, void *fh, struct v4l2_framebuffer *fb)
                else
                        fb->flags |= V4L2_FBUF_FLAG_LOCAL_ALPHA;
        }
-       if (yi->track_osd)
-               fb->flags |= V4L2_FBUF_FLAG_OVERLAY;
 
        return 0;
 }