[{"id":1878,"web_url":"https://patchwork.libcamera.org/comment/1878/","msgid":"<834e3aee-5cc0-1d3f-4d96-c10d4d2af898@ideasonboard.com>","date":"2019-06-12T13:56:16","subject":"Re: [libcamera-devel] [PATCH v2 1/2] libcamera: Rename V4L2Device\n\tto V4L2VideoDevice","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Hi Jacopo,\n\nOn 12/06/2019 14:38, Jacopo Mondi wrote:\n> In preparation of creating a new V4L2Device base class, rename\n> V4L2Device to V4L2VideoDevice.\n> \n> This is a project wide rename without any intended functional change.\n> \n> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>\n> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n\nNot sure what's appropriate here:\n\nDelete as necessary/you choose:\n\n{Reviewed-by,Acked-by}: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n\n\n> ---\n>  include/libcamera/buffer.h                    |   2 +-\n>  .../{v4l2_device.h => v4l2_videodevice.h}     |  24 ++---\n>  src/libcamera/meson.build                     |   4 +-\n>  src/libcamera/pipeline/ipu3/ipu3.cpp          |  24 ++---\n>  src/libcamera/pipeline/rkisp1/rkisp1.cpp      |   6 +-\n>  src/libcamera/pipeline/uvcvideo.cpp           |   6 +-\n>  src/libcamera/pipeline/vimc.cpp               |   6 +-\n>  src/libcamera/v4l2_subdevice.cpp              |   2 +-\n>  .../{v4l2_device.cpp => v4l2_videodevice.cpp} | 101 +++++++++---------\n>  test/meson.build                              |   2 +-\n>  .../buffer_sharing.cpp                        |  18 ++--\n>  .../capture_async.cpp                         |   6 +-\n>  .../double_open.cpp                           |   8 +-\n>  .../formats.cpp                               |   8 +-\n>  .../meson.build                               |   8 +-\n>  .../request_buffers.cpp                       |   6 +-\n>  .../stream_on_off.cpp                         |   6 +-\n>  .../v4l2_videodevice_test.cpp}                |   8 +-\n>  .../v4l2_videodevice_test.h}                  |   8 +-\n>  19 files changed, 127 insertions(+), 126 deletions(-)\n>  rename src/libcamera/include/{v4l2_device.h => v4l2_videodevice.h} (86%)\n>  rename src/libcamera/{v4l2_device.cpp => v4l2_videodevice.cpp} (90%)\n>  rename test/{v4l2_device => v4l2_videodevice}/buffer_sharing.cpp (90%)\n>  rename test/{v4l2_device => v4l2_videodevice}/capture_async.cpp (91%)\n>  rename test/{v4l2_device => v4l2_videodevice}/double_open.cpp (75%)\n>  rename test/{v4l2_device => v4l2_videodevice}/formats.cpp (85%)\n>  rename test/{v4l2_device => v4l2_videodevice}/meson.build (74%)\n>  rename test/{v4l2_device => v4l2_videodevice}/request_buffers.cpp (77%)\n>  rename test/{v4l2_device => v4l2_videodevice}/stream_on_off.cpp (78%)\n>  rename test/{v4l2_device/v4l2_device_test.cpp => v4l2_videodevice/v4l2_videodevice_test.cpp} (90%)\n>  rename test/{v4l2_device/v4l2_device_test.h => v4l2_videodevice/v4l2_videodevice_test.h} (81%)\n> \n> diff --git a/include/libcamera/buffer.h b/include/libcamera/buffer.h\n> index 8f9b42e39339..260a62e9e77e 100644\n> --- a/include/libcamera/buffer.h\n> +++ b/include/libcamera/buffer.h\n> @@ -59,7 +59,7 @@ private:\n>  \tfriend class BufferPool;\n>  \tfriend class PipelineHandler;\n>  \tfriend class Request;\n> -\tfriend class V4L2Device;\n> +\tfriend class V4L2VideoDevice;\n>  \n>  \tvoid cancel();\n>  \n> diff --git a/src/libcamera/include/v4l2_device.h b/src/libcamera/include/v4l2_videodevice.h\n> similarity index 86%\n> rename from src/libcamera/include/v4l2_device.h\n> rename to src/libcamera/include/v4l2_videodevice.h\n> index bdecc087fe5a..6ecdb64e5f3c 100644\n> --- a/src/libcamera/include/v4l2_device.h\n> +++ b/src/libcamera/include/v4l2_videodevice.h\n> @@ -2,10 +2,10 @@\n>  /*\n>   * Copyright (C) 2019, Google Inc.\n>   *\n> - * v4l2_device.h - V4L2 Device\n> + * v4l2_videodevice.h - V4L2 Video Device\n>   */\n> -#ifndef __LIBCAMERA_V4L2_DEVICE_H__\n> -#define __LIBCAMERA_V4L2_DEVICE_H__\n> +#ifndef __LIBCAMERA_V4L2_VIDEODEVICE_H__\n> +#define __LIBCAMERA_V4L2_VIDEODEVICE_H__\n>  \n>  #include <atomic>\n>  #include <string>\n> @@ -111,15 +111,15 @@ public:\n>  \tconst std::string toString() const;\n>  };\n>  \n> -class V4L2Device : protected Loggable\n> +class V4L2VideoDevice : protected Loggable\n>  {\n>  public:\n> -\texplicit V4L2Device(const std::string &deviceNode);\n> -\texplicit V4L2Device(const MediaEntity *entity);\n> -\tV4L2Device(const V4L2Device &) = delete;\n> -\t~V4L2Device();\n> +\texplicit V4L2VideoDevice(const std::string &deviceNode);\n> +\texplicit V4L2VideoDevice(const MediaEntity *entity);\n> +\tV4L2VideoDevice(const V4L2VideoDevice &) = delete;\n> +\t~V4L2VideoDevice();\n>  \n> -\tV4L2Device &operator=(const V4L2Device &) = delete;\n> +\tV4L2VideoDevice &operator=(const V4L2VideoDevice &) = delete;\n>  \n>  \tint open();\n>  \tbool isOpen() const;\n> @@ -143,8 +143,8 @@ public:\n>  \tint streamOn();\n>  \tint streamOff();\n>  \n> -\tstatic V4L2Device *fromEntityName(const MediaDevice *media,\n> -\t\t\t\t\t  const std::string &entity);\n> +\tstatic V4L2VideoDevice *fromEntityName(const MediaDevice *media,\n> +\t\t\t\t\t       const std::string &entity);\n>  \n>  protected:\n>  \tstd::string logPrefix() const;\n> @@ -181,4 +181,4 @@ private:\n>  \n>  } /* namespace libcamera */\n>  \n> -#endif /* __LIBCAMERA_V4L2_DEVICE_H__ */\n> +#endif /* __LIBCAMERA_V4L2_VIDEODEVICE_H__ */\n> diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build\n> index 1ca1083cf5c7..15ab53b1abbe 100644\n> --- a/src/libcamera/meson.build\n> +++ b/src/libcamera/meson.build\n> @@ -23,8 +23,8 @@ libcamera_sources = files([\n>      'stream.cpp',\n>      'timer.cpp',\n>      'utils.cpp',\n> -    'v4l2_device.cpp',\n>      'v4l2_subdevice.cpp',\n> +    'v4l2_videodevice.cpp',\n>  ])\n>  \n>  libcamera_headers = files([\n> @@ -41,8 +41,8 @@ libcamera_headers = files([\n>      'include/media_object.h',\n>      'include/pipeline_handler.h',\n>      'include/utils.h',\n> -    'include/v4l2_device.h',\n>      'include/v4l2_subdevice.h',\n> +    'include/v4l2_videodevice.h',\n>  ])\n>  \n>  libcamera_internal_includes =  include_directories('include')\n> diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp\n> index f2bdecbac20f..1c0a9825b4cd 100644\n> --- a/src/libcamera/pipeline/ipu3/ipu3.cpp\n> +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp\n> @@ -22,8 +22,8 @@\n>  #include \"media_device.h\"\n>  #include \"pipeline_handler.h\"\n>  #include \"utils.h\"\n> -#include \"v4l2_device.h\"\n>  #include \"v4l2_subdevice.h\"\n> +#include \"v4l2_videodevice.h\"\n>  \n>  namespace libcamera {\n>  \n> @@ -39,7 +39,7 @@ public:\n>  \n>  \t/* ImgU output descriptor: group data specific to an ImgU output. */\n>  \tstruct ImgUOutput {\n> -\t\tV4L2Device *dev;\n> +\t\tV4L2VideoDevice *dev;\n>  \t\tunsigned int pad;\n>  \t\tstd::string name;\n>  \t\tBufferPool *pool;\n> @@ -85,7 +85,7 @@ public:\n>  \tMediaDevice *media_;\n>  \n>  \tV4L2Subdevice *imgu_;\n> -\tV4L2Device *input_;\n> +\tV4L2VideoDevice *input_;\n>  \tImgUOutput output_;\n>  \tImgUOutput viewfinder_;\n>  \tImgUOutput stat_;\n> @@ -125,7 +125,7 @@ public:\n>  \n>  \tstatic int mediaBusToFormat(unsigned int code);\n>  \n> -\tV4L2Device *output_;\n> +\tV4L2VideoDevice *output_;\n>  \tV4L2Subdevice *csi2_;\n>  \tCameraSensor *sensor_;\n>  \n> @@ -943,7 +943,7 @@ void IPU3CameraData::cio2BufferReady(Buffer *buffer)\n>   * Create and open the V4L2 devices and subdevices of the ImgU instance\n>   * with \\a index.\n>   *\n> - * In case of errors the created V4L2Device and V4L2Subdevice instances\n> + * In case of errors the created V4L2VideoDevice and V4L2Subdevice instances\n>   * are destroyed at pipeline handler delete time.\n>   *\n>   * \\return 0 on success or a negative error code otherwise\n> @@ -966,12 +966,12 @@ int ImgUDevice::init(MediaDevice *media, unsigned int index)\n>  \tif (ret)\n>  \t\treturn ret;\n>  \n> -\tinput_ = V4L2Device::fromEntityName(media, name_ + \" input\");\n> +\tinput_ = V4L2VideoDevice::fromEntityName(media, name_ + \" input\");\n>  \tret = input_->open();\n>  \tif (ret)\n>  \t\treturn ret;\n>  \n> -\toutput_.dev = V4L2Device::fromEntityName(media, name_ + \" output\");\n> +\toutput_.dev = V4L2VideoDevice::fromEntityName(media, name_ + \" output\");\n>  \tret = output_.dev->open();\n>  \tif (ret)\n>  \t\treturn ret;\n> @@ -980,8 +980,8 @@ int ImgUDevice::init(MediaDevice *media, unsigned int index)\n>  \toutput_.name = \"output\";\n>  \toutput_.pool = &outPool_;\n>  \n> -\tviewfinder_.dev = V4L2Device::fromEntityName(media,\n> -\t\t\t\t\t\t     name_ + \" viewfinder\");\n> +\tviewfinder_.dev = V4L2VideoDevice::fromEntityName(media,\n> +\t\t\t\t\t\t\t  name_ + \" viewfinder\");\n>  \tret = viewfinder_.dev->open();\n>  \tif (ret)\n>  \t\treturn ret;\n> @@ -990,7 +990,7 @@ int ImgUDevice::init(MediaDevice *media, unsigned int index)\n>  \tviewfinder_.name = \"viewfinder\";\n>  \tviewfinder_.pool = &vfPool_;\n>  \n> -\tstat_.dev = V4L2Device::fromEntityName(media, name_ + \" 3a stat\");\n> +\tstat_.dev = V4L2VideoDevice::fromEntityName(media, name_ + \" 3a stat\");\n>  \tret = stat_.dev->open();\n>  \tif (ret)\n>  \t\treturn ret;\n> @@ -1067,7 +1067,7 @@ int ImgUDevice::configureInput(const Size &size,\n>  int ImgUDevice::configureOutput(ImgUOutput *output,\n>  \t\t\t\tconst StreamConfiguration &cfg)\n>  {\n> -\tV4L2Device *dev = output->dev;\n> +\tV4L2VideoDevice *dev = output->dev;\n>  \tunsigned int pad = output->pad;\n>  \n>  \tV4L2SubdeviceFormat imguFormat = {};\n> @@ -1337,7 +1337,7 @@ int CIO2Device::init(const MediaDevice *media, unsigned int index)\n>  \t\treturn ret;\n>  \n>  \tstd::string cio2Name = \"ipu3-cio2 \" + std::to_string(index);\n> -\toutput_ = V4L2Device::fromEntityName(media, cio2Name);\n> +\toutput_ = V4L2VideoDevice::fromEntityName(media, cio2Name);\n>  \tret = output_->open();\n>  \tif (ret)\n>  \t\treturn ret;\n> diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n> index 9b3eea2f6dd3..4a5898d25f91 100644\n> --- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n> +++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n> @@ -23,8 +23,8 @@\n>  #include \"media_device.h\"\n>  #include \"pipeline_handler.h\"\n>  #include \"utils.h\"\n> -#include \"v4l2_device.h\"\n>  #include \"v4l2_subdevice.h\"\n> +#include \"v4l2_videodevice.h\"\n>  \n>  namespace libcamera {\n>  \n> @@ -106,7 +106,7 @@ private:\n>  \tMediaDevice *media_;\n>  \tV4L2Subdevice *dphy_;\n>  \tV4L2Subdevice *isp_;\n> -\tV4L2Device *video_;\n> +\tV4L2VideoDevice *video_;\n>  \n>  \tCamera *activeCamera_;\n>  };\n> @@ -458,7 +458,7 @@ bool PipelineHandlerRkISP1::match(DeviceEnumerator *enumerator)\n>  \t\treturn false;\n>  \n>  \t/* Locate and open the capture video node. */\n> -\tvideo_ = V4L2Device::fromEntityName(media_, \"rkisp1_mainpath\");\n> +\tvideo_ = V4L2VideoDevice::fromEntityName(media_, \"rkisp1_mainpath\");\n>  \tif (video_->open() < 0)\n>  \t\treturn false;\n>  \n> diff --git a/src/libcamera/pipeline/uvcvideo.cpp b/src/libcamera/pipeline/uvcvideo.cpp\n> index 45260f34c8f5..b0d768628a19 100644\n> --- a/src/libcamera/pipeline/uvcvideo.cpp\n> +++ b/src/libcamera/pipeline/uvcvideo.cpp\n> @@ -14,7 +14,7 @@\n>  #include \"media_device.h\"\n>  #include \"pipeline_handler.h\"\n>  #include \"utils.h\"\n> -#include \"v4l2_device.h\"\n> +#include \"v4l2_videodevice.h\"\n>  \n>  namespace libcamera {\n>  \n> @@ -35,7 +35,7 @@ public:\n>  \n>  \tvoid bufferReady(Buffer *buffer);\n>  \n> -\tV4L2Device *video_;\n> +\tV4L2VideoDevice *video_;\n>  \tStream stream_;\n>  };\n>  \n> @@ -229,7 +229,7 @@ bool PipelineHandlerUVC::match(DeviceEnumerator *enumerator)\n>  \t/* Locate and open the default video node. */\n>  \tfor (MediaEntity *entity : media->entities()) {\n>  \t\tif (entity->flags() & MEDIA_ENT_FL_DEFAULT) {\n> -\t\t\tdata->video_ = new V4L2Device(entity);\n> +\t\t\tdata->video_ = new V4L2VideoDevice(entity);\n>  \t\t\tbreak;\n>  \t\t}\n>  \t}\n> diff --git a/src/libcamera/pipeline/vimc.cpp b/src/libcamera/pipeline/vimc.cpp\n> index ad4577acd9d6..6833213650dc 100644\n> --- a/src/libcamera/pipeline/vimc.cpp\n> +++ b/src/libcamera/pipeline/vimc.cpp\n> @@ -20,7 +20,7 @@\n>  #include \"media_device.h\"\n>  #include \"pipeline_handler.h\"\n>  #include \"utils.h\"\n> -#include \"v4l2_device.h\"\n> +#include \"v4l2_videodevice.h\"\n>  \n>  namespace libcamera {\n>  \n> @@ -41,7 +41,7 @@ public:\n>  \n>  \tvoid bufferReady(Buffer *buffer);\n>  \n> -\tV4L2Device *video_;\n> +\tV4L2VideoDevice *video_;\n>  \tStream stream_;\n>  };\n>  \n> @@ -262,7 +262,7 @@ bool PipelineHandlerVimc::match(DeviceEnumerator *enumerator)\n>  \tstd::unique_ptr<VimcCameraData> data = utils::make_unique<VimcCameraData>(this);\n>  \n>  \t/* Locate and open the capture video node. */\n> -\tdata->video_ = new V4L2Device(media->getEntityByName(\"Raw Capture 1\"));\n> +\tdata->video_ = new V4L2VideoDevice(media->getEntityByName(\"Raw Capture 1\"));\n>  \tif (data->video_->open())\n>  \t\treturn false;\n>  \n> diff --git a/src/libcamera/v4l2_subdevice.cpp b/src/libcamera/v4l2_subdevice.cpp\n> index fceee33156e9..6681c1920065 100644\n> --- a/src/libcamera/v4l2_subdevice.cpp\n> +++ b/src/libcamera/v4l2_subdevice.cpp\n> @@ -44,7 +44,7 @@ LOG_DEFINE_CATEGORY(V4L2Subdev)\n>   * as the \"media bus format\", and it is identified by a resolution and a pixel\n>   * format identification code, known as the \"media bus code\", not to be confused\n>   * with the fourcc code that identify the format of images when stored in memory\n> - * (see V4L2Device::V4L2DeviceFormat).\n> + * (see V4L2VideoDevice::V4L2DeviceFormat).\n>   *\n>   * Media Bus formats supported by the V4L2 APIs are described in Section\n>   * 4.15.3.4.1 of the \"Part I - Video for Linux API\" chapter of the \"Linux Media\n> diff --git a/src/libcamera/v4l2_device.cpp b/src/libcamera/v4l2_videodevice.cpp\n> similarity index 90%\n> rename from src/libcamera/v4l2_device.cpp\n> rename to src/libcamera/v4l2_videodevice.cpp\n> index 0821bd75fb42..8957cf8f97d3 100644\n> --- a/src/libcamera/v4l2_device.cpp\n> +++ b/src/libcamera/v4l2_videodevice.cpp\n> @@ -2,10 +2,10 @@\n>  /*\n>   * Copyright (C) 2019, Google Inc.\n>   *\n> - * v4l2_device.cpp - V4L2 Device\n> + * v4l2_videodevice.cpp - V4L2 Video Device\n>   */\n>  \n> -#include \"v4l2_device.h\"\n> +#include \"v4l2_videodevice.h\"\n>  \n>  #include <fcntl.h>\n>  #include <iomanip>\n> @@ -25,8 +25,8 @@\n>  #include \"media_object.h\"\n>  \n>  /**\n> - * \\file v4l2_device.h\n> - * \\brief V4L2 Device API\n> + * \\file v4l2_videodevice.h\n> + * \\brief V4L2 Video Device API\n>   */\n>  namespace libcamera {\n>  \n> @@ -243,8 +243,8 @@ const std::string V4L2DeviceFormat::toString() const\n>  }\n>  \n>  /**\n> - * \\class V4L2Device\n> - * \\brief V4L2Device object and API\n> + * \\class V4L2VideoDevice\n> + * \\brief V4L2VideoDevice object and API\n>   *\n>   * The V4L2 Device API class models an instance of a V4L2 device node.\n>   * It is constructed with the path to a V4L2 video device node. The device node\n> @@ -257,7 +257,7 @@ const std::string V4L2DeviceFormat::toString() const\n>   * No API call other than open(), isOpen() and close() shall be called on an\n>   * unopened device instance.\n>   *\n> - * The V4L2Device class tracks queued buffers and handles buffer events. It\n> + * The V4L2VideoDevice class tracks queued buffers and handles buffer events. It\n>   * automatically dequeues completed buffers and emits the \\ref bufferReady\n>   * signal.\n>   *\n> @@ -266,10 +266,10 @@ const std::string V4L2DeviceFormat::toString() const\n>   */\n>  \n>  /**\n> - * \\brief Construct a V4L2Device\n> + * \\brief Construct a V4L2VideoDevice\n>   * \\param[in] deviceNode The file-system path to the video device node\n>   */\n> -V4L2Device::V4L2Device(const std::string &deviceNode)\n> +V4L2VideoDevice::V4L2VideoDevice(const std::string &deviceNode)\n>  \t: deviceNode_(deviceNode), fd_(-1), bufferPool_(nullptr),\n>  \t  queuedBuffersCount_(0), fdEvent_(nullptr)\n>  {\n> @@ -282,17 +282,17 @@ V4L2Device::V4L2Device(const std::string &deviceNode)\n>  }\n>  \n>  /**\n> - * \\brief Construct a V4L2Device from a MediaEntity\n> + * \\brief Construct a V4L2VideoDevice from a MediaEntity\n>   * \\param[in] entity The MediaEntity to build the device from\n>   *\n> - * Construct a V4L2Device from a MediaEntity's device node path.\n> + * Construct a V4L2VideoDevice from a MediaEntity's device node path.\n>   */\n> -V4L2Device::V4L2Device(const MediaEntity *entity)\n> -\t: V4L2Device(entity->deviceNode())\n> +V4L2VideoDevice::V4L2VideoDevice(const MediaEntity *entity)\n> +\t: V4L2VideoDevice(entity->deviceNode())\n>  {\n>  }\n>  \n> -V4L2Device::~V4L2Device()\n> +V4L2VideoDevice::~V4L2VideoDevice()\n>  {\n>  \tclose();\n>  }\n> @@ -301,7 +301,7 @@ V4L2Device::~V4L2Device()\n>   * \\brief Open a V4L2 device and query its capabilities\n>   * \\return 0 on success or a negative error code otherwise\n>   */\n> -int V4L2Device::open()\n> +int V4L2VideoDevice::open()\n>  {\n>  \tint ret;\n>  \n> @@ -362,7 +362,7 @@ int V4L2Device::open()\n>  \t\treturn -EINVAL;\n>  \t}\n>  \n> -\tfdEvent_->activated.connect(this, &V4L2Device::bufferAvailable);\n> +\tfdEvent_->activated.connect(this, &V4L2VideoDevice::bufferAvailable);\n>  \tfdEvent_->setEnabled(false);\n>  \n>  \treturn 0;\n> @@ -372,7 +372,7 @@ int V4L2Device::open()\n>   * \\brief Check if device is successfully opened\n>   * \\return True if the device is open, false otherwise\n>   */\n> -bool V4L2Device::isOpen() const\n> +bool V4L2VideoDevice::isOpen() const\n>  {\n>  \treturn fd_ != -1;\n>  }\n> @@ -380,7 +380,7 @@ bool V4L2Device::isOpen() const\n>  /**\n>   * \\brief Close the device, releasing any resources acquired by open()\n>   */\n> -void V4L2Device::close()\n> +void V4L2VideoDevice::close()\n>  {\n>  \tif (fd_ < 0)\n>  \t\treturn;\n> @@ -393,30 +393,30 @@ void V4L2Device::close()\n>  }\n>  \n>  /**\n> - * \\fn V4L2Device::driverName()\n> + * \\fn V4L2VideoDevice::driverName()\n>   * \\brief Retrieve the name of the V4L2 device driver\n>   * \\return The string containing the driver name\n>   */\n>  \n>  /**\n> - * \\fn V4L2Device::deviceName()\n> + * \\fn V4L2VideoDevice::deviceName()\n>   * \\brief Retrieve the name of the V4L2 device\n>   * \\return The string containing the device name\n>   */\n>  \n>  /**\n> - * \\fn V4L2Device::busName()\n> + * \\fn V4L2VideoDevice::busName()\n>   * \\brief Retrieve the location of the device in the system\n>   * \\return The string containing the device location\n>   */\n>  \n>  /**\n> - * \\fn V4L2Device::deviceNode()\n> + * \\fn V4L2VideoDevice::deviceNode()\n>   * \\brief Retrieve the video device node path\n>   * \\return The video device device node path\n>   */\n>  \n> -std::string V4L2Device::logPrefix() const\n> +std::string V4L2VideoDevice::logPrefix() const\n>  {\n>  \treturn deviceNode_ + (V4L2_TYPE_IS_OUTPUT(bufferType_) ? \"[out]\" : \"[cap]\");\n>  }\n> @@ -426,7 +426,7 @@ std::string V4L2Device::logPrefix() const\n>   * \\param[out] format The image format applied on the device\n>   * \\return 0 on success or a negative error code otherwise\n>   */\n> -int V4L2Device::getFormat(V4L2DeviceFormat *format)\n> +int V4L2VideoDevice::getFormat(V4L2DeviceFormat *format)\n>  {\n>  \tif (caps_.isMeta())\n>  \t\treturn getFormatMeta(format);\n> @@ -441,11 +441,11 @@ int V4L2Device::getFormat(V4L2DeviceFormat *format)\n>   * \\param[inout] format The image format to apply to the device\n>   *\n>   * Apply the supplied \\a format to the device, and return the actually\n> - * applied format parameters, as \\ref V4L2Device::getFormat would do.\n> + * applied format parameters, as \\ref V4L2VideoDevice::getFormat would do.\n>   *\n>   * \\return 0 on success or a negative error code otherwise\n>   */\n> -int V4L2Device::setFormat(V4L2DeviceFormat *format)\n> +int V4L2VideoDevice::setFormat(V4L2DeviceFormat *format)\n>  {\n>  \tif (caps_.isMeta())\n>  \t\treturn setFormatMeta(format);\n> @@ -455,7 +455,7 @@ int V4L2Device::setFormat(V4L2DeviceFormat *format)\n>  \t\treturn setFormatSingleplane(format);\n>  }\n>  \n> -int V4L2Device::getFormatMeta(V4L2DeviceFormat *format)\n> +int V4L2VideoDevice::getFormatMeta(V4L2DeviceFormat *format)\n>  {\n>  \tstruct v4l2_format v4l2Format = {};\n>  \tstruct v4l2_meta_format *pix = &v4l2Format.fmt.meta;\n> @@ -479,7 +479,7 @@ int V4L2Device::getFormatMeta(V4L2DeviceFormat *format)\n>  \treturn 0;\n>  }\n>  \n> -int V4L2Device::setFormatMeta(V4L2DeviceFormat *format)\n> +int V4L2VideoDevice::setFormatMeta(V4L2DeviceFormat *format)\n>  {\n>  \tstruct v4l2_format v4l2Format = {};\n>  \tstruct v4l2_meta_format *pix = &v4l2Format.fmt.meta;\n> @@ -509,7 +509,7 @@ int V4L2Device::setFormatMeta(V4L2DeviceFormat *format)\n>  \treturn 0;\n>  }\n>  \n> -int V4L2Device::getFormatMultiplane(V4L2DeviceFormat *format)\n> +int V4L2VideoDevice::getFormatMultiplane(V4L2DeviceFormat *format)\n>  {\n>  \tstruct v4l2_format v4l2Format = {};\n>  \tstruct v4l2_pix_format_mplane *pix = &v4l2Format.fmt.pix_mp;\n> @@ -536,7 +536,7 @@ int V4L2Device::getFormatMultiplane(V4L2DeviceFormat *format)\n>  \treturn 0;\n>  }\n>  \n> -int V4L2Device::setFormatMultiplane(V4L2DeviceFormat *format)\n> +int V4L2VideoDevice::setFormatMultiplane(V4L2DeviceFormat *format)\n>  {\n>  \tstruct v4l2_format v4l2Format = {};\n>  \tstruct v4l2_pix_format_mplane *pix = &v4l2Format.fmt.pix_mp;\n> @@ -577,7 +577,7 @@ int V4L2Device::setFormatMultiplane(V4L2DeviceFormat *format)\n>  \treturn 0;\n>  }\n>  \n> -int V4L2Device::getFormatSingleplane(V4L2DeviceFormat *format)\n> +int V4L2VideoDevice::getFormatSingleplane(V4L2DeviceFormat *format)\n>  {\n>  \tstruct v4l2_format v4l2Format = {};\n>  \tstruct v4l2_pix_format *pix = &v4l2Format.fmt.pix;\n> @@ -601,7 +601,7 @@ int V4L2Device::getFormatSingleplane(V4L2DeviceFormat *format)\n>  \treturn 0;\n>  }\n>  \n> -int V4L2Device::setFormatSingleplane(V4L2DeviceFormat *format)\n> +int V4L2VideoDevice::setFormatSingleplane(V4L2DeviceFormat *format)\n>  {\n>  \tstruct v4l2_format v4l2Format = {};\n>  \tstruct v4l2_pix_format *pix = &v4l2Format.fmt.pix;\n> @@ -634,7 +634,7 @@ int V4L2Device::setFormatSingleplane(V4L2DeviceFormat *format)\n>  \treturn 0;\n>  }\n>  \n> -int V4L2Device::requestBuffers(unsigned int count)\n> +int V4L2VideoDevice::requestBuffers(unsigned int count)\n>  {\n>  \tstruct v4l2_requestbuffers rb = {};\n>  \tint ret;\n> @@ -663,7 +663,7 @@ int V4L2Device::requestBuffers(unsigned int count)\n>   * \\param[out] pool BufferPool to populate with buffers\n>   * \\return 0 on success or a negative error code otherwise\n>   */\n> -int V4L2Device::exportBuffers(BufferPool *pool)\n> +int V4L2VideoDevice::exportBuffers(BufferPool *pool)\n>  {\n>  \tunsigned int allocatedBuffers;\n>  \tunsigned int i;\n> @@ -677,7 +677,8 @@ int V4L2Device::exportBuffers(BufferPool *pool)\n>  \n>  \tallocatedBuffers = ret;\n>  \tif (allocatedBuffers < pool->count()) {\n> -\t\tLOG(V4L2, Error) << \"Not enough buffers provided by V4L2Device\";\n> +\t\tLOG(V4L2, Error)\n> +\t\t\t<< \"Not enough buffers provided by V4L2VideoDevice\";\n>  \t\trequestBuffers(0);\n>  \t\treturn -ENOMEM;\n>  \t}\n> @@ -731,8 +732,8 @@ int V4L2Device::exportBuffers(BufferPool *pool)\n>  \treturn 0;\n>  }\n>  \n> -int V4L2Device::createPlane(Buffer *buffer, unsigned int planeIndex,\n> -\t\t\t    unsigned int length)\n> +int V4L2VideoDevice::createPlane(Buffer *buffer, unsigned int planeIndex,\n> +\t\t\t\t unsigned int length)\n>  {\n>  \tstruct v4l2_exportbuffer expbuf = {};\n>  \tint ret;\n> @@ -768,7 +769,7 @@ int V4L2Device::createPlane(Buffer *buffer, unsigned int planeIndex,\n>   * \\param[in] pool BufferPool of buffers to import\n>   * \\return 0 on success or a negative error code otherwise\n>   */\n> -int V4L2Device::importBuffers(BufferPool *pool)\n> +int V4L2VideoDevice::importBuffers(BufferPool *pool)\n>  {\n>  \tunsigned int allocatedBuffers;\n>  \tint ret;\n> @@ -782,7 +783,7 @@ int V4L2Device::importBuffers(BufferPool *pool)\n>  \tallocatedBuffers = ret;\n>  \tif (allocatedBuffers < pool->count()) {\n>  \t\tLOG(V4L2, Error)\n> -\t\t\t<< \"Not enough buffers provided by V4L2Device\";\n> +\t\t\t<< \"Not enough buffers provided by V4L2VideoDevice\";\n>  \t\trequestBuffers(0);\n>  \t\treturn -ENOMEM;\n>  \t}\n> @@ -796,7 +797,7 @@ int V4L2Device::importBuffers(BufferPool *pool)\n>  /**\n>   * \\brief Release all internally allocated buffers\n>   */\n> -int V4L2Device::releaseBuffers()\n> +int V4L2VideoDevice::releaseBuffers()\n>  {\n>  \tLOG(V4L2, Debug) << \"Releasing bufferPool\";\n>  \n> @@ -816,7 +817,7 @@ int V4L2Device::releaseBuffers()\n>   *\n>   * \\return 0 on success or a negative error code otherwise\n>   */\n> -int V4L2Device::queueBuffer(Buffer *buffer)\n> +int V4L2VideoDevice::queueBuffer(Buffer *buffer)\n>  {\n>  \tstruct v4l2_buffer buf = {};\n>  \tstruct v4l2_plane planes[VIDEO_MAX_PLANES] = {};\n> @@ -877,7 +878,7 @@ int V4L2Device::queueBuffer(Buffer *buffer)\n>   *\n>   * \\return A pointer to the dequeued buffer on success, or nullptr otherwise\n>   */\n> -Buffer *V4L2Device::dequeueBuffer()\n> +Buffer *V4L2VideoDevice::dequeueBuffer()\n>  {\n>  \tstruct v4l2_buffer buf = {};\n>  \tstruct v4l2_plane planes[VIDEO_MAX_PLANES] = {};\n> @@ -926,7 +927,7 @@ Buffer *V4L2Device::dequeueBuffer()\n>   * For Capture devices the Buffer will contain valid data.\n>   * For Output devices the Buffer can be considered empty.\n>   */\n> -void V4L2Device::bufferAvailable(EventNotifier *notifier)\n> +void V4L2VideoDevice::bufferAvailable(EventNotifier *notifier)\n>  {\n>  \tBuffer *buffer = dequeueBuffer();\n>  \tif (!buffer)\n> @@ -939,7 +940,7 @@ void V4L2Device::bufferAvailable(EventNotifier *notifier)\n>  }\n>  \n>  /**\n> - * \\var V4L2Device::bufferReady\n> + * \\var V4L2VideoDevice::bufferReady\n>   * \\brief A Signal emitted when a buffer completes\n>   */\n>  \n> @@ -947,7 +948,7 @@ void V4L2Device::bufferAvailable(EventNotifier *notifier)\n>   * \\brief Start the video stream\n>   * \\return 0 on success or a negative error code otherwise\n>   */\n> -int V4L2Device::streamOn()\n> +int V4L2VideoDevice::streamOn()\n>  {\n>  \tint ret;\n>  \n> @@ -970,7 +971,7 @@ int V4L2Device::streamOn()\n>   *\n>   * \\return 0 on success or a negative error code otherwise\n>   */\n> -int V4L2Device::streamOff()\n> +int V4L2VideoDevice::streamOff()\n>  {\n>  \tint ret;\n>  \n> @@ -997,16 +998,16 @@ int V4L2Device::streamOff()\n>   * Releasing memory of the newly created instance is responsibility of the\n>   * caller of this function.\n>   *\n> - * \\return A newly created V4L2Device on success, nullptr otherwise\n> + * \\return A newly created V4L2VideoDevice on success, nullptr otherwise\n>   */\n> -V4L2Device *V4L2Device::fromEntityName(const MediaDevice *media,\n> -\t\t\t\t       const std::string &entity)\n> +V4L2VideoDevice *V4L2VideoDevice::fromEntityName(const MediaDevice *media,\n> +\t\t\t\t\t\t const std::string &entity)\n>  {\n>  \tMediaEntity *mediaEntity = media->getEntityByName(entity);\n>  \tif (!mediaEntity)\n>  \t\treturn nullptr;\n>  \n> -\treturn new V4L2Device(mediaEntity);\n> +\treturn new V4L2VideoDevice(mediaEntity);\n>  }\n>  \n>  } /* namespace libcamera */\n> diff --git a/test/meson.build b/test/meson.build\n> index 609aeab80e7d..82b29d8dc7eb 100644\n> --- a/test/meson.build\n> +++ b/test/meson.build\n> @@ -4,8 +4,8 @@ subdir('camera')\n>  subdir('ipa')\n>  subdir('media_device')\n>  subdir('pipeline')\n> -subdir('v4l2_device')\n>  subdir('v4l2_subdevice')\n> +subdir('v4l2_videodevice')\n>  \n>  public_tests = [\n>      ['event',                           'event.cpp'],\n> diff --git a/test/v4l2_device/buffer_sharing.cpp b/test/v4l2_videodevice/buffer_sharing.cpp\n> similarity index 90%\n> rename from test/v4l2_device/buffer_sharing.cpp\n> rename to test/v4l2_videodevice/buffer_sharing.cpp\n> index e63ddff85689..1bc478fe8f8e 100644\n> --- a/test/v4l2_device/buffer_sharing.cpp\n> +++ b/test/v4l2_videodevice/buffer_sharing.cpp\n> @@ -4,8 +4,8 @@\n>   *\n>   * libcamera V4L2 API tests\n>   *\n> - * Validate the function of exporting buffers from a V4L2Device and\n> - * the ability to import them to another V4L2Device instance.\n> + * Validate the function of exporting buffers from a V4L2VideoDevice and\n> + * the ability to import them to another V4L2VideoDevice instance.\n>   * Ensure that the Buffers can successfully be queued and dequeued\n>   * between both devices.\n>   */\n> @@ -17,19 +17,19 @@\n>  #include <libcamera/event_dispatcher.h>\n>  #include <libcamera/timer.h>\n>  \n> -#include \"v4l2_device_test.h\"\n> +#include \"v4l2_videodevice_test.h\"\n>  \n> -class BufferSharingTest : public V4L2DeviceTest\n> +class BufferSharingTest : public V4L2VideoDeviceTest\n>  {\n>  public:\n>  \tBufferSharingTest()\n> -\t\t: V4L2DeviceTest(\"vivid\", \"vivid-000-vid-cap\"),\n> +\t\t: V4L2VideoDeviceTest(\"vivid\", \"vivid-000-vid-cap\"),\n>  \t\t  output_(nullptr), framesCaptured_(0), framesOutput_(0) {}\n>  \n>  protected:\n>  \tint init()\n>  \t{\n> -\t\tint ret = V4L2DeviceTest::init();\n> +\t\tint ret = V4L2VideoDeviceTest::init();\n>  \t\tif (ret)\n>  \t\t\treturn ret;\n>  \n> @@ -38,7 +38,7 @@ protected:\n>  \t\tif (!entity)\n>  \t\t\treturn TestSkip;\n>  \n> -\t\toutput_ = new V4L2Device(entity);\n> +\t\toutput_ = new V4L2VideoDevice(entity);\n>  \t\tif (!output_) {\n>  \t\t\tstd::cout << \"Failed to create output device\" << std::endl;\n>  \t\t\treturn TestFail;\n> @@ -171,13 +171,13 @@ protected:\n>  \n>  \t\tdelete output_;\n>  \n> -\t\tV4L2DeviceTest::cleanup();\n> +\t\tV4L2VideoDeviceTest::cleanup();\n>  \t}\n>  \n>  private:\n>  \tconst unsigned int bufferCount = 4;\n>  \n> -\tV4L2Device *output_;\n> +\tV4L2VideoDevice *output_;\n>  \n>  \tunsigned int framesCaptured_;\n>  \tunsigned int framesOutput_;\n> diff --git a/test/v4l2_device/capture_async.cpp b/test/v4l2_videodevice/capture_async.cpp\n> similarity index 91%\n> rename from test/v4l2_device/capture_async.cpp\n> rename to test/v4l2_videodevice/capture_async.cpp\n> index 69b1d5a13ed8..cea4fffbf7a5 100644\n> --- a/test/v4l2_device/capture_async.cpp\n> +++ b/test/v4l2_videodevice/capture_async.cpp\n> @@ -12,13 +12,13 @@\n>  \n>  #include <iostream>\n>  \n> -#include \"v4l2_device_test.h\"\n> +#include \"v4l2_videodevice_test.h\"\n>  \n> -class CaptureAsyncTest : public V4L2DeviceTest\n> +class CaptureAsyncTest : public V4L2VideoDeviceTest\n>  {\n>  public:\n>  \tCaptureAsyncTest()\n> -\t\t: V4L2DeviceTest(\"vimc\", \"Raw Capture 0\"), frames(0) {}\n> +\t\t: V4L2VideoDeviceTest(\"vimc\", \"Raw Capture 0\"), frames(0) {}\n>  \n>  \tvoid receiveBuffer(Buffer *buffer)\n>  \t{\n> diff --git a/test/v4l2_device/double_open.cpp b/test/v4l2_videodevice/double_open.cpp\n> similarity index 75%\n> rename from test/v4l2_device/double_open.cpp\n> rename to test/v4l2_videodevice/double_open.cpp\n> index 53850620889b..5768d4043d0b 100644\n> --- a/test/v4l2_device/double_open.cpp\n> +++ b/test/v4l2_videodevice/double_open.cpp\n> @@ -7,15 +7,15 @@\n>  \n>  #include <iostream>\n>  \n> -#include \"v4l2_device_test.h\"\n> +#include \"v4l2_videodevice_test.h\"\n>  \n>  namespace {\n>  \n> -class DoubleOpen : public V4L2DeviceTest\n> +class DoubleOpen : public V4L2VideoDeviceTest\n>  {\n>  public:\n>  \tDoubleOpen()\n> -\t\t: V4L2DeviceTest(\"vimc\", \"Raw Capture 0\") {}\n> +\t\t: V4L2VideoDeviceTest(\"vimc\", \"Raw Capture 0\") {}\n>  protected:\n>  \tint run()\n>  \t{\n> @@ -23,7 +23,7 @@ protected:\n>  \n>  \t\t/*\n>  \t\t * Expect failure: The device has already been opened by the\n> -\t\t * V4L2DeviceTest base class\n> +\t\t * V4L2VideoDeviceTest base class\n>  \t\t */\n>  \t\tret = capture_->open();\n>  \t\tif (!ret) {\n> diff --git a/test/v4l2_device/formats.cpp b/test/v4l2_videodevice/formats.cpp\n> similarity index 85%\n> rename from test/v4l2_device/formats.cpp\n> rename to test/v4l2_videodevice/formats.cpp\n> index 6be045ff754c..ee7d357de075 100644\n> --- a/test/v4l2_device/formats.cpp\n> +++ b/test/v4l2_videodevice/formats.cpp\n> @@ -8,18 +8,18 @@\n>  #include <climits>\n>  #include <iostream>\n>  \n> -#include \"v4l2_device.h\"\n> +#include \"v4l2_videodevice.h\"\n>  \n> -#include \"v4l2_device_test.h\"\n> +#include \"v4l2_videodevice_test.h\"\n>  \n>  using namespace std;\n>  using namespace libcamera;\n>  \n> -class Format : public V4L2DeviceTest\n> +class Format : public V4L2VideoDeviceTest\n>  {\n>  public:\n>  \tFormat()\n> -\t\t: V4L2DeviceTest(\"vimc\", \"Raw Capture 0\") {}\n> +\t\t: V4L2VideoDeviceTest(\"vimc\", \"Raw Capture 0\") {}\n>  protected:\n>  \tint run()\n>  \t{\n> diff --git a/test/v4l2_device/meson.build b/test/v4l2_videodevice/meson.build\n> similarity index 74%\n> rename from test/v4l2_device/meson.build\n> rename to test/v4l2_videodevice/meson.build\n> index de540b1ba6f5..76be5e142bb6 100644\n> --- a/test/v4l2_device/meson.build\n> +++ b/test/v4l2_videodevice/meson.build\n> @@ -1,6 +1,6 @@\n>  # Tests are listed in order of complexity.\n>  # They are not alphabetically sorted.\n> -v4l2_device_tests = [\n> +v4l2_videodevice_tests = [\n>      [ 'double_open',        'double_open.cpp' ],\n>      [ 'formats',            'formats.cpp' ],\n>      [ 'request_buffers',    'request_buffers.cpp' ],\n> @@ -9,10 +9,10 @@ v4l2_device_tests = [\n>      [ 'buffer_sharing',     'buffer_sharing.cpp' ],\n>  ]\n>  \n> -foreach t : v4l2_device_tests\n> -    exe = executable(t[0], [t[1], 'v4l2_device_test.cpp'],\n> +foreach t : v4l2_videodevice_tests\n> +    exe = executable(t[0], [t[1], 'v4l2_videodevice_test.cpp'],\n>                       dependencies : libcamera_dep,\n>                       link_with : test_libraries,\n>                       include_directories : test_includes_internal)\n> -    test(t[0], exe, suite : 'v4l2_device', is_parallel : false)\n> +    test(t[0], exe, suite : 'v4l2_videodevice', is_parallel : false)\n>  endforeach\n> diff --git a/test/v4l2_device/request_buffers.cpp b/test/v4l2_videodevice/request_buffers.cpp\n> similarity index 77%\n> rename from test/v4l2_device/request_buffers.cpp\n> rename to test/v4l2_videodevice/request_buffers.cpp\n> index 7b7b06b2b409..c4aedf7b3cd6 100644\n> --- a/test/v4l2_device/request_buffers.cpp\n> +++ b/test/v4l2_videodevice/request_buffers.cpp\n> @@ -5,13 +5,13 @@\n>   * libcamera V4L2 API tests\n>   */\n>  \n> -#include \"v4l2_device_test.h\"\n> +#include \"v4l2_videodevice_test.h\"\n>  \n> -class RequestBuffersTest : public V4L2DeviceTest\n> +class RequestBuffersTest : public V4L2VideoDeviceTest\n>  {\n>  public:\n>  \tRequestBuffersTest()\n> -\t\t: V4L2DeviceTest(\"vimc\", \"Raw Capture 0\") {}\n> +\t\t: V4L2VideoDeviceTest(\"vimc\", \"Raw Capture 0\") {}\n>  \n>  protected:\n>  \tint run()\n> diff --git a/test/v4l2_device/stream_on_off.cpp b/test/v4l2_videodevice/stream_on_off.cpp\n> similarity index 78%\n> rename from test/v4l2_device/stream_on_off.cpp\n> rename to test/v4l2_videodevice/stream_on_off.cpp\n> index b158b8e402c8..7664adc4c1f0 100644\n> --- a/test/v4l2_device/stream_on_off.cpp\n> +++ b/test/v4l2_videodevice/stream_on_off.cpp\n> @@ -5,13 +5,13 @@\n>   * libcamera V4L2 API tests\n>   */\n>  \n> -#include \"v4l2_device_test.h\"\n> +#include \"v4l2_videodevice_test.h\"\n>  \n> -class StreamOnStreamOffTest : public V4L2DeviceTest\n> +class StreamOnStreamOffTest : public V4L2VideoDeviceTest\n>  {\n>  public:\n>  \tStreamOnStreamOffTest()\n> -\t\t: V4L2DeviceTest(\"vimc\", \"Raw Capture 0\") {}\n> +\t\t: V4L2VideoDeviceTest(\"vimc\", \"Raw Capture 0\") {}\n>  protected:\n>  \tint run()\n>  \t{\n> diff --git a/test/v4l2_device/v4l2_device_test.cpp b/test/v4l2_videodevice/v4l2_videodevice_test.cpp\n> similarity index 90%\n> rename from test/v4l2_device/v4l2_device_test.cpp\n> rename to test/v4l2_videodevice/v4l2_videodevice_test.cpp\n> index baad48f8aa9e..b26d06ad4519 100644\n> --- a/test/v4l2_device/v4l2_device_test.cpp\n> +++ b/test/v4l2_videodevice/v4l2_videodevice_test.cpp\n> @@ -8,7 +8,7 @@\n>  #include <iostream>\n>  #include <sys/stat.h>\n>  \n> -#include \"v4l2_device_test.h\"\n> +#include \"v4l2_videodevice_test.h\"\n>  \n>  #include \"device_enumerator.h\"\n>  #include \"media_device.h\"\n> @@ -26,7 +26,7 @@ bool exists(const std::string &path)\n>  \treturn false;\n>  }\n>  \n> -int V4L2DeviceTest::init()\n> +int V4L2VideoDeviceTest::init()\n>  {\n>  \tenumerator_ = DeviceEnumerator::create();\n>  \tif (!enumerator_) {\n> @@ -50,7 +50,7 @@ int V4L2DeviceTest::init()\n>  \tif (!entity)\n>  \t\treturn TestSkip;\n>  \n> -\tcapture_ = new V4L2Device(entity);\n> +\tcapture_ = new V4L2VideoDevice(entity);\n>  \tif (!capture_)\n>  \t\treturn TestFail;\n>  \n> @@ -77,7 +77,7 @@ int V4L2DeviceTest::init()\n>  \treturn TestPass;\n>  }\n>  \n> -void V4L2DeviceTest::cleanup()\n> +void V4L2VideoDeviceTest::cleanup()\n>  {\n>  \tcapture_->streamOff();\n>  \tcapture_->releaseBuffers();\n> diff --git a/test/v4l2_device/v4l2_device_test.h b/test/v4l2_videodevice/v4l2_videodevice_test.h\n> similarity index 81%\n> rename from test/v4l2_device/v4l2_device_test.h\n> rename to test/v4l2_videodevice/v4l2_videodevice_test.h\n> index 651c005f4e54..3321b5a4f98f 100644\n> --- a/test/v4l2_device/v4l2_device_test.h\n> +++ b/test/v4l2_videodevice/v4l2_videodevice_test.h\n> @@ -15,14 +15,14 @@\n>  \n>  #include \"device_enumerator.h\"\n>  #include \"media_device.h\"\n> -#include \"v4l2_device.h\"\n> +#include \"v4l2_videodevice.h\"\n>  \n>  using namespace libcamera;\n>  \n> -class V4L2DeviceTest : public Test\n> +class V4L2VideoDeviceTest : public Test\n>  {\n>  public:\n> -\tV4L2DeviceTest(const char *driver, const char *entity)\n> +\tV4L2VideoDeviceTest(const char *driver, const char *entity)\n>  \t\t: driver_(driver), entity_(entity), capture_(nullptr)\n>  \t{\n>  \t}\n> @@ -35,7 +35,7 @@ protected:\n>  \tstd::string entity_;\n>  \tstd::unique_ptr<DeviceEnumerator> enumerator_;\n>  \tstd::shared_ptr<MediaDevice> media_;\n> -\tV4L2Device *capture_;\n> +\tV4L2VideoDevice *capture_;\n>  \tBufferPool pool_;\n>  };\n>  \n>","headers":{"Return-Path":"<kieran.bingham@ideasonboard.com>","Received":["from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 8F03162FBC\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 12 Jun 2019 15:56:20 +0200 (CEST)","from [192.168.0.20]\n\t(cpc89242-aztw30-2-0-cust488.18-1.cable.virginm.net [86.31.129.233])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id E7A8C9B1;\n\tWed, 12 Jun 2019 15:56:19 +0200 (CEST)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1560347780;\n\tbh=G41bntXthymZqxEQImcctwo5ClyPV83Naxdg3sYTvm4=;\n\th=Reply-To:Subject:To:References:From:Date:In-Reply-To:From;\n\tb=pyYj2mlvcNkZrCmEwd+tyhxXi0iIGYchFmShA8TAS7TyrNCNOOv6TmB8gT4PaAoEE\n\ta3yW7ZCbv4kjjutPqtJf2myHWG2F4/V+s2apxFa5whruEYpK9aWQ1Ezpie3pwJadBx\n\tDwaJYXBeY1lGW+SMwUzIFi7gpqk9J9g5DgHUN0gM=","Reply-To":"kieran.bingham@ideasonboard.com","To":"Jacopo Mondi <jacopo@jmondi.org>, libcamera-devel@lists.libcamera.org","References":"<20190612133817.32731-1-jacopo@jmondi.org>\n\t<20190612133817.32731-2-jacopo@jmondi.org>","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Openpgp":"preference=signencrypt","Autocrypt":"addr=kieran.bingham@ideasonboard.com; keydata=\n\t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\n\tsbsRB8KNNvVXBOVNwko86rQqF9drZuw=","Organization":"Ideas on Board","Message-ID":"<834e3aee-5cc0-1d3f-4d96-c10d4d2af898@ideasonboard.com>","Date":"Wed, 12 Jun 2019 14:56:16 +0100","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101\n\tThunderbird/60.7.0","MIME-Version":"1.0","In-Reply-To":"<20190612133817.32731-2-jacopo@jmondi.org>","Content-Type":"text/plain; charset=utf-8","Content-Language":"en-GB","Content-Transfer-Encoding":"7bit","Subject":"Re: [libcamera-devel] [PATCH v2 1/2] libcamera: Rename V4L2Device\n\tto V4L2VideoDevice","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.23","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","X-List-Received-Date":"Wed, 12 Jun 2019 13:56:20 -0000"}}]