libcamera: v4l2_device: Inherit from Loggable to print device node name

Automate printing of device node name in log messages by inheriting from
the Loggable class.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
This commit is contained in:
Laurent Pinchart 2019-02-08 16:42:40 +02:00
parent 8a401ed411
commit 04d5be7f76
2 changed files with 15 additions and 8 deletions

View file

@ -15,6 +15,8 @@
#include <libcamera/signal.h>
#include "log.h"
namespace libcamera {
class Buffer;
@ -76,7 +78,7 @@ public:
unsigned int planesCount;
};
class V4L2Device
class V4L2Device : protected Loggable
{
public:
explicit V4L2Device(const std::string &deviceNode);
@ -106,6 +108,9 @@ public:
int streamOn();
int streamOff();
protected:
std::string logPrefix() const;
private:
int getFormatSingleplane(V4L2DeviceFormat *format);
int setFormatSingleplane(V4L2DeviceFormat *format);

View file

@ -262,8 +262,7 @@ int V4L2Device::open()
if (ret < 0) {
ret = -errno;
LOG(V4L2, Error)
<< "Failed to open V4L2 device '" << deviceNode_
<< "': " << strerror(-ret);
<< "Failed to open V4L2 device: " << strerror(-ret);
return ret;
}
fd_ = ret;
@ -278,9 +277,8 @@ int V4L2Device::open()
}
LOG(V4L2, Debug)
<< "Opened '" << deviceNode_ << "' "
<< caps_.bus_info() << ": " << caps_.driver()
<< ": " << caps_.card();
<< "Opened device " << caps_.bus_info() << ": "
<< caps_.driver() << ": " << caps_.card();
if (!caps_.isCapture() && !caps_.isOutput()) {
LOG(V4L2, Debug) << "Device is not a supported type";
@ -350,6 +348,11 @@ void V4L2Device::close()
* \return The string containing the device location
*/
std::string V4L2Device::logPrefix() const
{
return deviceNode_;
}
/**
* \brief Retrieve the image format set on the V4L2 device
* \param[out] format The image format applied on the device
@ -519,8 +522,7 @@ int V4L2Device::requestBuffers(unsigned int count)
return ret;
}
LOG(V4L2, Debug)
<< deviceNode_ << ":" << rb.count << " buffers requested.";
LOG(V4L2, Debug) << rb.count << " buffers requested.";
return rb.count;
}