[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdelibs/solid/solid/backends/hal
From:       George Kiagiadakis <gkiagiad () csd ! uoc ! gr>
Date:       2009-08-03 18:48:53
Message-ID: 1249325333.681982.10191.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 1006441 by gkiagia:

Distinguish between v4l1 and v4l2 devices. Patch reviewed on reviewboard.

This patch allows applications using solid for video device detection to \
distinguish between video4linux1 and video4linux2 devices. This is useful \
to know because v4l1 and v4l2 use different API, so the application needs \
to know which API to use to communicate with the device. This is \
accomplished by returning "video4linux" for v4l1 devices and "video4linux2" \
for v4l2 devices as a supported driver for the "video4linux" protocol. The \
actual information is retrieved from HAL, using the "video4linux.version" \
device property field.


 M  +8 -3      halvideo.cpp  


--- trunk/KDE/kdelibs/solid/solid/backends/hal/halvideo.cpp \
#1006440:1006441 @@ -42,15 +42,20 @@
 
 QStringList Video::supportedDrivers(QString protocol) const
 {
-    // if there is a difference between v4l and v4l2
     QStringList drivers;
-    drivers << QString( "video4linux" );
+    if ( protocol == "video4linux" ) {
+        if ( m_device->property("video4linux.version") == "2" ) {
+            drivers << QString( "video4linux2" );
+        } else {
+            drivers << QString( "video4linux" );
+        }
+    }
     return drivers;
 }
 
 QVariant Solid::Backends::Hal::Video::driverHandle(const QString &driver) \
const  {
-    if (driver=="video4linux") {
+    if ( driver=="video4linux" || driver=="video4linux2" ) {
         return m_device->property("video4linux.device");
     }
     // TODO: Fill in the blank for other drivers


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic