diff options
Diffstat (limited to 'yavta.c')
-rw-r--r-- | yavta.c | 12 |
1 files changed, 8 insertions, 4 deletions
@@ -358,6 +358,7 @@ static int video_open(struct device *dev, const char *devname) static int video_querycap(struct device *dev, unsigned int *capabilities) { struct v4l2_capability cap; + unsigned int caps; int ret; memset(&cap, 0, sizeof cap); @@ -365,13 +366,16 @@ static int video_querycap(struct device *dev, unsigned int *capabilities) if (ret < 0) return 0; - *capabilities = cap.capabilities & V4L2_CAP_DEVICE_CAPS - ? cap.device_caps : cap.capabilities; + caps = cap.capabilities & V4L2_CAP_DEVICE_CAPS + ? cap.device_caps : cap.capabilities; printf("Device `%s' on `%s' is a video %s (%s mplanes) device.\n", cap.card, cap.bus_info, - video_is_capture(dev) ? "capture" : "output", - video_is_mplane(dev) ? "with" : "without"); + caps & (V4L2_CAP_VIDEO_CAPTURE_MPLANE | V4L2_CAP_VIDEO_CAPTURE) ? "capture" : "output", + caps & (V4L2_CAP_VIDEO_CAPTURE_MPLANE | V4L2_CAP_VIDEO_OUTPUT_MPLANE) ? "with" : "without"); + + *capabilities = caps; + return 0; } |