diff mbox

libv4l1: move VIDIOCGFREQ and VIDIOCSFREQ to libv4l1

Message ID 1275636220-21975-1-git-send-email-huzaifas@redhat.com (mailing list archive)
State Not Applicable
Headers show

Commit Message

Huzaifa Sidhpurwala June 4, 2010, 7:23 a.m. UTC
None
diff mbox

Patch

diff --git a/lib/libv4l1/libv4l1.c b/lib/libv4l1/libv4l1.c
index 081ed0a..579f13b 100644
--- a/lib/libv4l1/libv4l1.c
+++ b/lib/libv4l1/libv4l1.c
@@ -939,6 +939,34 @@  int v4l1_ioctl(int fd, unsigned long int request, ...)
 		break;
 	}
 
+	case VIDIOCSFREQ: {
+		unsigned long *freq = arg;
+		struct v4l2_frequency freq2 = { 0, };
+
+		result = v4l2_ioctl(fd, VIDIOC_G_FREQUENCY, &freq2);
+		if (result < 0)
+			break;
+
+		freq2.frequency = *freq;
+
+		result = v4l2_ioctl(fd, VIDIOC_S_FREQUENCY, &freq2);
+
+		break;
+	}
+
+	case VIDIOCGFREQ: {
+		unsigned long *freq = arg;
+		struct v4l2_frequency freq2 = { 0, };
+
+		freq2.tuner = 0;
+		result = v4l2_ioctl(fd, VIDIOC_G_FREQUENCY, &freq2);
+		if (result < 0)
+			break;
+		if (0 == result)
+			*freq = freq2.frequency;
+
+		break;
+	}
 	default:
 		/* Pass through libv4l2 for applications which are using v4l2 through
 		   libv4l1 (this can happen with the v4l1compat.so wrapper preloaded */