summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/ivtv/ivtv-ioctl.c
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil@xs4all.nl>2007-05-17 11:41:44 +0200
committerHans Verkuil <hverkuil@xs4all.nl>2007-05-17 11:41:44 +0200
commit2392009ea8bfdab6078943ca39f6a5223e557f18 (patch)
treed9fb05e23130ff1cbf9bccd3c220d2a6527ab5bd /linux/drivers/media/video/ivtv/ivtv-ioctl.c
parent9e64c6766c66005d13e7522e9e14c43b6388db30 (diff)
downloadmediapointer-dvb-s2-2392009ea8bfdab6078943ca39f6a5223e557f18.tar.gz
mediapointer-dvb-s2-2392009ea8bfdab6078943ca39f6a5223e557f18.tar.bz2
Adding new fields to v4l2_pix_format broke the ABI, reverted that change
From: Hans Verkuil <hverkuil@xs4all.nl> Reverted the change to struct v4l2_pix_format. I completely missed that this struct was used by existing ioctls so that changing it broke the ABI. I will have to think of another way of setting the top/left coordinates but for now this change is reverted to preserve compatibility. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Diffstat (limited to 'linux/drivers/media/video/ivtv/ivtv-ioctl.c')
-rw-r--r--linux/drivers/media/video/ivtv/ivtv-ioctl.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/linux/drivers/media/video/ivtv/ivtv-ioctl.c b/linux/drivers/media/video/ivtv/ivtv-ioctl.c
index f29c55d3b..5b799f016 100644
--- a/linux/drivers/media/video/ivtv/ivtv-ioctl.c
+++ b/linux/drivers/media/video/ivtv/ivtv-ioctl.c
@@ -362,8 +362,12 @@ static int ivtv_get_fmt(struct ivtv *itv, int streamtype, struct v4l2_format *fm
case V4L2_BUF_TYPE_VIDEO_OUTPUT:
if (!(itv->v4l2_cap & V4L2_CAP_VIDEO_OUTPUT))
return -EINVAL;
+#if 0
+ /* Temporarily removed until a better solution is in place that does not
+ break the ABI */
fmt->fmt.pix.left = itv->main_rect.left;
fmt->fmt.pix.top = itv->main_rect.top;
+#endif
fmt->fmt.pix.width = itv->main_rect.width;
fmt->fmt.pix.height = itv->main_rect.height;
fmt->fmt.pix.colorspace = V4L2_COLORSPACE_SMPTE170M;
@@ -402,8 +406,12 @@ static int ivtv_get_fmt(struct ivtv *itv, int streamtype, struct v4l2_format *fm
break;
case V4L2_BUF_TYPE_VIDEO_CAPTURE:
+#if 0
+ /* Temporarily removed until a better solution is in place that does not
+ break the ABI */
fmt->fmt.pix.left = 0;
fmt->fmt.pix.top = 0;
+#endif
fmt->fmt.pix.width = itv->params.width;
fmt->fmt.pix.height = itv->params.height;
fmt->fmt.pix.colorspace = V4L2_COLORSPACE_SMPTE170M;
@@ -498,15 +506,26 @@ static int ivtv_try_or_set_fmt(struct ivtv *itv, int streamtype,
if (!(itv->v4l2_cap & V4L2_CAP_VIDEO_OUTPUT))
return -EINVAL;
field = fmt->fmt.pix.field;
+#if 0
+ /* Temporarily removed until a better solution is in place that does not
+ break the ABI */
r.top = fmt->fmt.pix.top;
r.left = fmt->fmt.pix.left;
+#else
+ r.top = 0;
+ r.left = 0;
+#endif
r.width = fmt->fmt.pix.width;
r.height = fmt->fmt.pix.height;
ivtv_get_fmt(itv, streamtype, fmt);
if (itv->output_mode != OUT_UDMA_YUV) {
/* TODO: would setting the rect also be valid for this mode? */
+#if 0
+ /* Temporarily removed until a better solution is in place that does not
+ break the ABI */
fmt->fmt.pix.top = r.top;
fmt->fmt.pix.left = r.left;
+#endif
fmt->fmt.pix.width = r.width;
fmt->fmt.pix.height = r.height;
}
@@ -1153,8 +1172,12 @@ int ivtv_v4l2_ioctls(struct ivtv *itv, struct file *filp, unsigned int cmd, void
fb->fmt.pixelformat = itv->osd_pixelformat;
fb->fmt.width = itv->osd_rect.width;
fb->fmt.height = itv->osd_rect.height;
+#if 0
+ /* Temporarily removed until a better solution is in place that does not
+ break the ABI */
fb->fmt.left = itv->osd_rect.left;
fb->fmt.top = itv->osd_rect.top;
+#endif
fb->base = (void *)itv->osd_video_pbase;
if (itv->osd_global_alpha_state)
fb->flags |= V4L2_FBUF_FLAG_GLOBAL_ALPHA;