[libcamera-devel,v4,0/6] Introduce UVC hotplugging support
mbox series

Message ID 20200611171528.9381-1-email@uajain.com
Headers show
Series
  • Introduce UVC hotplugging support
Related show

Message

Umang Jain June 11, 2020, 5:16 p.m. UTC
Hi all,

Around round of UVC hotplug support I have been working on.

Changelog:
 
v3->v4:
  - Introduce one additional commit to eliminate Pipehandlers' vector
    from CameraManager. It was leaving behind a leaked reference which
    was causing unclean unbind->bind operation (due to dangling dirs)
    for the hotplug unit test to run.
  - Simplify hotplug unit test with use of std::ofstream.
  - Change CameraManager::Private::addCamera() signature to accept
    Camera arg as pass-by-value instead of pass-by-reference.
  - qcam: Finalize HotplugEvent naming with ::HotPlug and ::HotUnplug
  - Few small improvements in commit messages and rebase. 


Umang Jain (6):
  libcamera: CameraManager: Drop the vector of created PipelineHandlers
  libcamera: camera_manager: Refactor pipelines creation into separate
    function
  libcamera: device_enumerator: Emit a signal when a new devices are
    added
  libcamera: camera_manager: Introduce signals when a camera is
    added/removed
  qcam: main_window: Introduce initial hotplug support
  tests: Introduce hotplug hot-unplug unit test

 include/libcamera/camera_manager.h            |   6 +-
 .../libcamera/internal/device_enumerator.h    |   4 +
 src/libcamera/camera_manager.cpp              |  60 +++++++--
 src/libcamera/device_enumerator.cpp           |  13 ++
 src/libcamera/pipeline_handler.cpp            |   2 +-
 src/qcam/main_window.cpp                      |  76 +++++++++++
 src/qcam/main_window.h                        |   6 +
 test/hotplug-cameras.cpp                      | 124 ++++++++++++++++++
 test/meson.build                              |   1 +
 9 files changed, 277 insertions(+), 15 deletions(-)
 create mode 100644 test/hotplug-cameras.cpp

Comments

Umang Jain June 11, 2020, 5:18 p.m. UTC | #1
Hi,

On 6/11/20 10:45 PM, Umang Jain wrote:
> Hi all,
>
> Around round of UVC hotplug support I have been working on.
>
> Changelog:
>   
> v3->v4:
>    - Introduce one additional commit to eliminate Pipehandlers' vector
>      from CameraManager. It was leaving behind a leaked reference which
>      was causing unclean unbind->bind operation (due to dangling dirs)
>      for the hotplug unit test to run.
>    - Simplify hotplug unit test with use of std::ofstream.
>    - Change CameraManager::Private::addCamera() signature to accept
>      Camera arg as pass-by-value instead of pass-by-reference.
>    - qcam: Finalize HotplugEvent naming with ::HotPlug and ::HotUnplug
>    - Few small improvements in commit messages and rebase.

Sorry, forgot to mention

- Running the unit-test under valgrind to check for  leaks, segfaults

    issues for both hot-plugging and hot-unplugging code paths as 
Laurent  suggested.

>
>
> Umang Jain (6):
>    libcamera: CameraManager: Drop the vector of created PipelineHandlers
>    libcamera: camera_manager: Refactor pipelines creation into separate
>      function
>    libcamera: device_enumerator: Emit a signal when a new devices are
>      added
>    libcamera: camera_manager: Introduce signals when a camera is
>      added/removed
>    qcam: main_window: Introduce initial hotplug support
>    tests: Introduce hotplug hot-unplug unit test
>
>   include/libcamera/camera_manager.h            |   6 +-
>   .../libcamera/internal/device_enumerator.h    |   4 +
>   src/libcamera/camera_manager.cpp              |  60 +++++++--
>   src/libcamera/device_enumerator.cpp           |  13 ++
>   src/libcamera/pipeline_handler.cpp            |   2 +-
>   src/qcam/main_window.cpp                      |  76 +++++++++++
>   src/qcam/main_window.h                        |   6 +
>   test/hotplug-cameras.cpp                      | 124 ++++++++++++++++++
>   test/meson.build                              |   1 +
>   9 files changed, 277 insertions(+), 15 deletions(-)
>   create mode 100644 test/hotplug-cameras.cpp
>