diff options
-rw-r--r-- | meson_options.txt | 1 | ||||
-rw-r--r-- | src/libcamera/pipeline/vivid/meson.build | 5 | ||||
-rw-r--r-- | src/libcamera/pipeline/vivid/vivid.cpp | 80 |
3 files changed, 86 insertions, 0 deletions
diff --git a/meson_options.txt b/meson_options.txt index c91cd241..03ef3a93 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -54,6 +54,7 @@ option('pipelines', 'simple', 'uvcvideo', 'vimc', + 'vivid', 'virtual' ], description : 'Select which pipeline handlers to build. If this is set to "auto", all the pipelines applicable to the target architecture will be built. If this is set to "all", all the pipelines will be built. If both are selected then "all" will take precedence.') diff --git a/src/libcamera/pipeline/vivid/meson.build b/src/libcamera/pipeline/vivid/meson.build new file mode 100644 index 00000000..513de9af --- /dev/null +++ b/src/libcamera/pipeline/vivid/meson.build @@ -0,0 +1,5 @@ +# SPDX-License-Identifier: CC0-1.0 + +libcamera_internal_sources += files([ + 'vivid.cpp', +]) diff --git a/src/libcamera/pipeline/vivid/vivid.cpp b/src/libcamera/pipeline/vivid/vivid.cpp new file mode 100644 index 00000000..6bf12783 --- /dev/null +++ b/src/libcamera/pipeline/vivid/vivid.cpp @@ -0,0 +1,80 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ +/* + * Copyright (C) 2020, Google Inc. + * + * vivid.cpp - Pipeline handler for the vivid capture device + */ + +#include <libcamera/base/log.h> + +#include "libcamera/internal/camera.h" +#include "libcamera/internal/pipeline_handler.h" + +namespace libcamera { + +LOG_DEFINE_CATEGORY(VIVID) + +class PipelineHandlerVivid : public PipelineHandler +{ +public: + PipelineHandlerVivid(CameraManager *manager); + + std::unique_ptr<CameraConfiguration> + generateConfiguration(Camera *camera, Span<const StreamRole> roles) override; + int configure(Camera *camera, CameraConfiguration *config) override; + + int exportFrameBuffers(Camera *camera, Stream *stream, + std::vector<std::unique_ptr<FrameBuffer>> *buffers) override; + + int start(Camera *camera, const ControlList *controls) override; + void stopDevice(Camera *camera) override; + + int queueRequestDevice(Camera *camera, Request *request) override; + + bool match(DeviceEnumerator *enumerator) override; +}; + +PipelineHandlerVivid::PipelineHandlerVivid(CameraManager *manager) + : PipelineHandler(manager) +{ +} + +std::unique_ptr<CameraConfiguration> +PipelineHandlerVivid::generateConfiguration(Camera *camera, Span<const StreamRole> roles) +{ + return std::unique_ptr<CameraConfiguration>(nullptr); +} + +int PipelineHandlerVivid::configure(Camera *camera, CameraConfiguration *config) +{ + return -1; +} + +int PipelineHandlerVivid::exportFrameBuffers(Camera *camera, Stream *stream, + std::vector<std::unique_ptr<FrameBuffer>> *buffers) +{ + return -1; +} + +int PipelineHandlerVivid::start(Camera *camera, const ControlList *controls) +{ + return -1; +} + +void PipelineHandlerVivid::stopDevice(Camera *camera) +{ +} + +int PipelineHandlerVivid::queueRequestDevice(Camera *camera, Request *request) +{ + return -1; +} + +bool PipelineHandlerVivid::match(DeviceEnumerator *enumerator) +{ + return false; +} + +REGISTER_PIPELINE_HANDLER(PipelineHandlerVivid, "vivid") + +} /* namespace libcamera */ |