v4l2: Rename FrameMetadata to V4L2FrameMetadata

With the upcoming FrameBuffer API a new library wide FrameMetadata
object will be added which will replace the specific implementation in
the V4L2 compatibility layer.

Avoid name collisions while the new FrameBuffer API is added by renaming
the V4L2 compatibility layer specific implementation until it can be
replaced with the library wide implementation.

Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
Niklas Söderlund 2020-01-09 14:26:59 +01:00
parent 5f316d0035
commit 35ac23dca1
3 changed files with 12 additions and 12 deletions

View file

@ -16,7 +16,7 @@ using namespace libcamera;
LOG_DECLARE_CATEGORY(V4L2Compat); LOG_DECLARE_CATEGORY(V4L2Compat);
FrameMetadata::FrameMetadata(Buffer *buffer) V4L2FrameMetadata::V4L2FrameMetadata(Buffer *buffer)
: index_(buffer->index()), bytesused_(buffer->bytesused()), : index_(buffer->index()), bytesused_(buffer->bytesused()),
timestamp_(buffer->timestamp()), sequence_(buffer->sequence()), timestamp_(buffer->timestamp()), sequence_(buffer->sequence()),
status_(buffer->status()) status_(buffer->status())
@ -61,12 +61,12 @@ void V4L2Camera::getStreamConfig(StreamConfiguration *streamConfig)
*streamConfig = config_->at(0); *streamConfig = config_->at(0);
} }
std::vector<FrameMetadata> V4L2Camera::completedBuffers() std::vector<V4L2FrameMetadata> V4L2Camera::completedBuffers()
{ {
std::vector<FrameMetadata> v; std::vector<V4L2FrameMetadata> v;
bufferLock_.lock(); bufferLock_.lock();
for (std::unique_ptr<FrameMetadata> &metadata : completedBuffers_) for (std::unique_ptr<V4L2FrameMetadata> &metadata : completedBuffers_)
v.push_back(*metadata.get()); v.push_back(*metadata.get());
completedBuffers_.clear(); completedBuffers_.clear();
bufferLock_.unlock(); bufferLock_.unlock();
@ -82,8 +82,8 @@ void V4L2Camera::requestComplete(Request *request)
/* We only have one stream at the moment. */ /* We only have one stream at the moment. */
bufferLock_.lock(); bufferLock_.lock();
Buffer *buffer = request->buffers().begin()->second; Buffer *buffer = request->buffers().begin()->second;
std::unique_ptr<FrameMetadata> metadata = std::unique_ptr<V4L2FrameMetadata> metadata =
utils::make_unique<FrameMetadata>(buffer); utils::make_unique<V4L2FrameMetadata>(buffer);
completedBuffers_.push_back(std::move(metadata)); completedBuffers_.push_back(std::move(metadata));
bufferLock_.unlock(); bufferLock_.unlock();

View file

@ -19,10 +19,10 @@
using namespace libcamera; using namespace libcamera;
class FrameMetadata class V4L2FrameMetadata
{ {
public: public:
FrameMetadata(Buffer *buffer); V4L2FrameMetadata(Buffer *buffer);
int index() const { return index_; } int index() const { return index_; }
@ -51,7 +51,7 @@ public:
int open(); int open();
void close(); void close();
void getStreamConfig(StreamConfiguration *streamConfig); void getStreamConfig(StreamConfiguration *streamConfig);
std::vector<FrameMetadata> completedBuffers(); std::vector<V4L2FrameMetadata> completedBuffers();
void *mmap(unsigned int index); void *mmap(unsigned int index);
@ -79,7 +79,7 @@ private:
std::mutex bufferLock_; std::mutex bufferLock_;
std::deque<std::unique_ptr<Request>> pendingRequests_; std::deque<std::unique_ptr<Request>> pendingRequests_;
std::deque<std::unique_ptr<FrameMetadata>> completedBuffers_; std::deque<std::unique_ptr<V4L2FrameMetadata>> completedBuffers_;
}; };
#endif /* __V4L2_CAMERA_H__ */ #endif /* __V4L2_CAMERA_H__ */

View file

@ -174,8 +174,8 @@ void V4L2CameraProxy::querycap(std::shared_ptr<Camera> camera)
void V4L2CameraProxy::updateBuffers() void V4L2CameraProxy::updateBuffers()
{ {
std::vector<FrameMetadata> completedBuffers = vcam_->completedBuffers(); std::vector<V4L2FrameMetadata> completedBuffers = vcam_->completedBuffers();
for (FrameMetadata &fmd : completedBuffers) { for (V4L2FrameMetadata &fmd : completedBuffers) {
struct v4l2_buffer &buf = buffers_[fmd.index()]; struct v4l2_buffer &buf = buffers_[fmd.index()];
switch (fmd.status()) { switch (fmd.status()) {