[libcamera-devel,2/9] libcamera: pipeline: vivid: Match device

Message ID 20200713132451.2944673-3-kieran.bingham@ideasonboard.com
State Awaiting Upstream
Headers show
Series
  • Introduce a new PipelineHandler
Related show

Commit Message

Kieran Bingham July 13, 2020, 1:24 p.m. UTC
Verify that we can match on our expected device(s).

Use a temporary debug print to check that the pipeline finds
our device:

"""
LIBCAMERA_LOG_LEVELS=Pipeline,VIVID:0 ./src/cam/cam -l
<snipped>
[230:51:10.670503423] [2872877] DEBUG VIVID vivid.cpp:81 Obtained Vivid Device
"""

Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
---
 src/libcamera/pipeline/vivid/vivid.cpp | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

Patch

diff --git a/src/libcamera/pipeline/vivid/vivid.cpp b/src/libcamera/pipeline/vivid/vivid.cpp
index 4418f616fe84..9811f6ef5095 100644
--- a/src/libcamera/pipeline/vivid/vivid.cpp
+++ b/src/libcamera/pipeline/vivid/vivid.cpp
@@ -5,6 +5,7 @@ 
  * vivid.cpp - Pipeline handler for the vivid capture device
  */
 
+#include "libcamera/internal/device_enumerator.h"
 #include "libcamera/internal/log.h"
 #include "libcamera/internal/pipeline_handler.h"
 
@@ -70,7 +71,16 @@  int PipelineHandlerVivid::queueRequestDevice(Camera *camera, Request *request)
 
 bool PipelineHandlerVivid::match(DeviceEnumerator *enumerator)
 {
-	return false;
+	DeviceMatch dm("vivid");
+	dm.add("vivid-000-vid-cap");
+
+	MediaDevice *media = acquireMediaDevice(enumerator, dm);
+	if (!media)
+		return false;
+
+	LOG(VIVID, Debug) << "Obtained Vivid Device";
+
+	return false; // Prevent infinite loops for now
 }
 
 REGISTER_PIPELINE_HANDLER(PipelineHandlerVivid);