Mercurial > mplayer.hg
changeset 10593:27711ab2889f
v4l2 check
author | henry |
---|---|
date | Wed, 13 Aug 2003 16:01:53 +0000 |
parents | 98c885b1ff06 |
children | 57bdcdb061d7 |
files | libmpdemux/tvi_v4l.c |
diffstat | 1 files changed, 22 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/libmpdemux/tvi_v4l.c Wed Aug 13 12:09:25 2003 +0000 +++ b/libmpdemux/tvi_v4l.c Wed Aug 13 16:01:53 2003 +0000 @@ -404,6 +404,18 @@ } } +struct v4l2_capability +{ + __u8 driver[16]; /* i.e. "bttv" */ + __u8 card[32]; /* i.e. "Hauppauge WinTV" */ + __u8 bus_info[32]; /* "PCI:" + pci_dev->slot_name */ + __u32 version; /* should use KERNEL_VERSION() */ + __u32 capabilities; /* Device capabilities */ + __u32 reserved[4]; +}; + +#define VIDIOC_QUERYCAP _IOR ('V', 0, struct v4l2_capability) + static int init(priv_t *priv) { int i; @@ -427,6 +439,16 @@ goto err; } + /* check for v4l2 */ + if (ioctl(priv->video_fd, VIDIOC_QUERYCAP, &priv->capability) == 0) { + mp_msg(MSGT_TV, MSGL_ERR, "=================================================================\n"); + mp_msg(MSGT_TV, MSGL_ERR, " WARNING: YOU ARE USING V4L DEMUXER WITH V4L2 DRIVERS!!!\n"); + mp_msg(MSGT_TV, MSGL_ERR, " As the V4L1 compatibility layer is broken, this may not work.\n"); + mp_msg(MSGT_TV, MSGL_ERR, " If you encounter any problems, use driver=v4l2 instead.\n"); + mp_msg(MSGT_TV, MSGL_ERR, " Bugreports on driver=v4l with v4l2 drivers will be ignored.\n"); + mp_msg(MSGT_TV, MSGL_ERR, "=================================================================\n"); + } + /* get capabilities (priv->capability is needed!) */ if (ioctl(priv->video_fd, VIDIOCGCAP, &priv->capability) == -1) {