diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/libcamera/pipeline/ipu3/cio2.cpp | 14 | ||||
-rw-r--r-- | src/libcamera/pipeline/ipu3/cio2.h | 6 | ||||
-rw-r--r-- | src/libcamera/pipeline/ipu3/ipu3.cpp | 2 |
3 files changed, 5 insertions, 17 deletions
diff --git a/src/libcamera/pipeline/ipu3/cio2.cpp b/src/libcamera/pipeline/ipu3/cio2.cpp index aa1459fb..97a434a7 100644 --- a/src/libcamera/pipeline/ipu3/cio2.cpp +++ b/src/libcamera/pipeline/ipu3/cio2.cpp @@ -15,7 +15,6 @@ #include "libcamera/internal/camera_sensor.h" #include "libcamera/internal/media_device.h" #include "libcamera/internal/v4l2_subdevice.h" -#include "libcamera/internal/v4l2_videodevice.h" namespace libcamera { @@ -121,13 +120,7 @@ int CIO2Device::init(const MediaDevice *media, unsigned int index) std::string cio2Name = "ipu3-cio2 " + std::to_string(index); output_ = V4L2VideoDevice::fromEntityName(media, cio2Name); - ret = output_->open(); - if (ret) - return ret; - - output_->bufferReady.connect(this, &CIO2Device::cio2BufferReady); - - return 0; + return output_->open(); } /** @@ -289,9 +282,4 @@ void CIO2Device::freeBuffers() LOG(IPU3, Error) << "Failed to release CIO2 buffers"; } -void CIO2Device::cio2BufferReady(FrameBuffer *buffer) -{ - bufferReady.emit(buffer); -} - } /* namespace libcamera */ diff --git a/src/libcamera/pipeline/ipu3/cio2.h b/src/libcamera/pipeline/ipu3/cio2.h index dc764b10..4fd949f8 100644 --- a/src/libcamera/pipeline/ipu3/cio2.h +++ b/src/libcamera/pipeline/ipu3/cio2.h @@ -13,15 +13,15 @@ #include <libcamera/signal.h> +#include "libcamera/internal/v4l2_videodevice.h" + namespace libcamera { class CameraSensor; class FrameBuffer; class MediaDevice; class Request; -class V4L2DeviceFormat; class V4L2Subdevice; -class V4L2VideoDevice; struct Size; struct StreamConfiguration; @@ -48,7 +48,7 @@ public: int queueBuffer(Request *request, FrameBuffer *rawBuffer); void tryReturnBuffer(FrameBuffer *buffer); - Signal<FrameBuffer *> bufferReady; + Signal<FrameBuffer *> &bufferReady() { return output_->bufferReady; } private: void freeBuffers(); diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp index 958d8362..00559ce3 100644 --- a/src/libcamera/pipeline/ipu3/ipu3.cpp +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp @@ -805,7 +805,7 @@ int PipelineHandlerIPU3::registerCameras() * associated ImgU input where they get processed and * returned through the ImgU main and secondary outputs. */ - data->cio2_.bufferReady.connect(data.get(), + data->cio2_.bufferReady().connect(data.get(), &IPU3CameraData::cio2BufferReady); data->imgu_->input_->bufferReady.connect(&data->cio2_, &CIO2Device::tryReturnBuffer); |