From 7dadaf5e397fd9bbf7e813ee8226636b79eca78a Mon Sep 17 00:00:00 2001 From: henry Date: Wed, 13 Aug 2003 16:01:53 +0000 Subject: v4l2 check git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10594 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpdemux/tvi_v4l.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/libmpdemux/tvi_v4l.c b/libmpdemux/tvi_v4l.c index f4b03d1097..4fd2608ac8 100644 --- a/libmpdemux/tvi_v4l.c +++ b/libmpdemux/tvi_v4l.c @@ -404,6 +404,18 @@ static void init_v4l_audio(priv_t *priv) } } +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 @@ static int init(priv_t *priv) 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) { -- cgit v1.2.3