Skip to content

Commit

Permalink
V4L/DVB (4198): Avoid newer usages of obsoleted experimental MPEGCOMP…
Browse files Browse the repository at this point in the history
… API

Put old MPEGCOMP API under #if __KERNEL__ and issue warnings when used.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
  • Loading branch information
Hans Verkuil authored and Mauro Carvalho Chehab committed Jun 25, 2006
1 parent 86b79d6 commit f81cf75
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 2 deletions.
4 changes: 4 additions & 0 deletions drivers/media/video/cx88/cx88-blackbird.c
Original file line number Diff line number Diff line change
Expand Up @@ -805,10 +805,14 @@ static int mpeg_do_ioctl(struct inode *inode, struct file *file,
{
struct v4l2_mpeg_compression *f = arg;

printk(KERN_WARNING "VIDIOC_G_MPEGCOMP is obsolete. "
"Replace with VIDIOC_G_EXT_CTRLS!");
memcpy(f,&default_mpeg_params,sizeof(*f));
return 0;
}
case VIDIOC_S_MPEGCOMP:
printk(KERN_WARNING "VIDIOC_S_MPEGCOMP is obsolete. "
"Replace with VIDIOC_S_EXT_CTRLS!");
return 0;
case VIDIOC_G_EXT_CTRLS:
{
Expand Down
4 changes: 4 additions & 0 deletions drivers/media/video/saa7134/saa7134-empress.c
Original file line number Diff line number Diff line change
Expand Up @@ -281,10 +281,14 @@ static int ts_do_ioctl(struct inode *inode, struct file *file,
return saa7134_common_ioctl(dev, cmd, arg);

case VIDIOC_S_MPEGCOMP:
printk(KERN_WARNING "VIDIOC_S_MPEGCOMP is obsolete. "
"Replace with VIDIOC_S_EXT_CTRLS!");
saa7134_i2c_call_clients(dev, VIDIOC_S_MPEGCOMP, arg);
ts_init_encoder(dev);
return 0;
case VIDIOC_G_MPEGCOMP:
printk(KERN_WARNING "VIDIOC_G_MPEGCOMP is obsolete. "
"Replace with VIDIOC_G_EXT_CTRLS!");
saa7134_i2c_call_clients(dev, VIDIOC_G_MPEGCOMP, arg);
return 0;
case VIDIOC_S_EXT_CTRLS:
Expand Down
1 change: 1 addition & 0 deletions drivers/media/video/videodev.c
Original file line number Diff line number Diff line change
Expand Up @@ -1216,6 +1216,7 @@ static int __video_do_ioctl(struct inode *inode, struct file *file,
case VIDIOC_G_MPEGCOMP:
{
struct v4l2_mpeg_compression *p=arg;

/*FIXME: Several fields not shown */
if (!vfd->vidioc_g_mpegcomp)
break;
Expand Down
9 changes: 7 additions & 2 deletions include/linux/videodev2.h
Original file line number Diff line number Diff line change
Expand Up @@ -306,11 +306,13 @@ struct v4l2_timecode
#define V4L2_TC_USERBITS_8BITCHARS 0x0008
/* The above is based on SMPTE timecodes */

#ifdef __KERNEL__
/*
* M P E G C O M P R E S S I O N P A R A M E T E R S
*
* ### WARNING: this is still work-in-progress right now, most likely
* ### there will be some incompatible changes.
* ### WARNING: This experimental MPEG compression API is obsolete.
* ### It is replaced by the MPEG controls API.
* ### This old API will disappear in the near future!
*
*/
enum v4l2_bitrate_mode {
Expand Down Expand Up @@ -390,6 +392,7 @@ struct v4l2_mpeg_compression {
/* I don't expect the above being perfect yet ;) */
__u32 reserved_5[8];
};
#endif

struct v4l2_jpegcompression
{
Expand Down Expand Up @@ -1185,8 +1188,10 @@ struct v4l2_streamparm
#define VIDIOC_ENUM_FMT _IOWR ('V', 2, struct v4l2_fmtdesc)
#define VIDIOC_G_FMT _IOWR ('V', 4, struct v4l2_format)
#define VIDIOC_S_FMT _IOWR ('V', 5, struct v4l2_format)
#ifdef __KERNEL__
#define VIDIOC_G_MPEGCOMP _IOR ('V', 6, struct v4l2_mpeg_compression)
#define VIDIOC_S_MPEGCOMP _IOW ('V', 7, struct v4l2_mpeg_compression)
#endif
#define VIDIOC_REQBUFS _IOWR ('V', 8, struct v4l2_requestbuffers)
#define VIDIOC_QUERYBUF _IOWR ('V', 9, struct v4l2_buffer)
#define VIDIOC_G_FBUF _IOR ('V', 10, struct v4l2_framebuffer)
Expand Down

0 comments on commit f81cf75

Please sign in to comment.