pipeline: simple: Remove media member variable
There is no need for the simple pipeline handler to save the media device. Remove it. Signed-off-by: Paul Elder <paul.elder@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
committed by
Kieran Bingham
parent
33a49ce4a2
commit
d900ec990d
@@ -363,13 +363,12 @@ private:
|
||||
return static_cast<SimpleCameraData *>(camera->_d());
|
||||
}
|
||||
|
||||
std::vector<MediaEntity *> locateSensors();
|
||||
std::vector<MediaEntity *> locateSensors(MediaDevice *media);
|
||||
static int resetRoutingTable(V4L2Subdevice *subdev);
|
||||
|
||||
const MediaPad *acquirePipeline(SimpleCameraData *data);
|
||||
void releasePipeline(SimpleCameraData *data);
|
||||
|
||||
MediaDevice *media_;
|
||||
std::map<const MediaEntity *, EntityData> entities_;
|
||||
|
||||
MediaDevice *converter_;
|
||||
@@ -1424,7 +1423,8 @@ int SimplePipelineHandler::queueRequestDevice(Camera *camera, Request *request)
|
||||
* Match and Setup
|
||||
*/
|
||||
|
||||
std::vector<MediaEntity *> SimplePipelineHandler::locateSensors()
|
||||
std::vector<MediaEntity *>
|
||||
SimplePipelineHandler::locateSensors(MediaDevice *media)
|
||||
{
|
||||
std::vector<MediaEntity *> entities;
|
||||
|
||||
@@ -1432,7 +1432,7 @@ std::vector<MediaEntity *> SimplePipelineHandler::locateSensors()
|
||||
* Gather all the camera sensor entities based on the function they
|
||||
* expose.
|
||||
*/
|
||||
for (MediaEntity *entity : media_->entities()) {
|
||||
for (MediaEntity *entity : media->entities()) {
|
||||
if (entity->function() == MEDIA_ENT_F_CAM_SENSOR)
|
||||
entities.push_back(entity);
|
||||
}
|
||||
@@ -1520,17 +1520,18 @@ bool SimplePipelineHandler::match(DeviceEnumerator *enumerator)
|
||||
{
|
||||
const SimplePipelineInfo *info = nullptr;
|
||||
unsigned int numStreams = 1;
|
||||
MediaDevice *media;
|
||||
|
||||
for (const SimplePipelineInfo &inf : supportedDevices) {
|
||||
DeviceMatch dm(inf.driver);
|
||||
media_ = acquireMediaDevice(enumerator, dm);
|
||||
if (media_) {
|
||||
media = acquireMediaDevice(enumerator, dm);
|
||||
if (media) {
|
||||
info = &inf;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!media_)
|
||||
if (!media)
|
||||
return false;
|
||||
|
||||
for (const auto &[name, streams] : info->converters) {
|
||||
@@ -1545,13 +1546,13 @@ bool SimplePipelineHandler::match(DeviceEnumerator *enumerator)
|
||||
swIspEnabled_ = info->swIspEnabled;
|
||||
|
||||
/* Locate the sensors. */
|
||||
std::vector<MediaEntity *> sensors = locateSensors();
|
||||
std::vector<MediaEntity *> sensors = locateSensors(media);
|
||||
if (sensors.empty()) {
|
||||
LOG(SimplePipeline, Info) << "No sensor found for " << media_->deviceNode();
|
||||
LOG(SimplePipeline, Info) << "No sensor found for " << media->deviceNode();
|
||||
return false;
|
||||
}
|
||||
|
||||
LOG(SimplePipeline, Debug) << "Sensor found for " << media_->deviceNode();
|
||||
LOG(SimplePipeline, Debug) << "Sensor found for " << media->deviceNode();
|
||||
|
||||
/*
|
||||
* Create one camera data instance for each sensor and gather all
|
||||
|
||||
Reference in New Issue
Block a user