[libcamera-devel] [PATCH 3/3] Documentation: use https instead of http

Jacopo Mondi jacopo at jmondi.org
Wed May 4 09:12:32 CEST 2022


Hi Quentin

On Tue, May 03, 2022 at 06:30:38PM +0200, Quentin Schulz via libcamera-devel wrote:
> From: Quentin Schulz <quentin.schulz at theobroma-systems.com>
>
> Avoid a redirection from http by using https directly.

Also a generally better practice :)

Reviewed-by: Jacopo Mondi <jacopo at jmondi.org>

Thanks
  j

>
> Cc: Quentin Schulz <foss+libcamera at 0leil.net>
> Signed-off-by: Quentin Schulz <quentin.schulz at theobroma-systems.com>
> ---
>  Documentation/contributing.rst                |   4 +-
>  Documentation/environment_variables.rst       |   2 +-
>  .../guides/application-developer.rst          |   8 +-
>  Documentation/guides/introduction.rst         |   6 +-
>  Documentation/guides/pipeline-handler.rst     | 116 +++++++++---------
>  5 files changed, 68 insertions(+), 68 deletions(-)
>
> diff --git a/Documentation/contributing.rst b/Documentation/contributing.rst
> index 57bc9acc..6405c5fb 100644
> --- a/Documentation/contributing.rst
> +++ b/Documentation/contributing.rst
> @@ -56,8 +56,8 @@ Documentation
>  Project documentation is created using `Sphinx`_.  Source level documentation
>  uses `Doxygen`_.  Please make sure to document all code during development.
>
> -.. _Sphinx: http://www.sphinx-doc.org
> -.. _Doxygen: http://www.doxygen.nl
> +.. _Sphinx: https://www.sphinx-doc.org
> +.. _Doxygen: https://www.doxygen.nl
>
>  Submitting Patches
>  ------------------
> diff --git a/Documentation/environment_variables.rst b/Documentation/environment_variables.rst
> index 1e85befd..fa703a72 100644
> --- a/Documentation/environment_variables.rst
> +++ b/Documentation/environment_variables.rst
> @@ -54,7 +54,7 @@ The optional `category <Log categories_>`__ is a string matching the categories
>  defined by each file in the source base using the logging infrastructure. It
>  can include a wildcard ('*') character at the end to match multiple categories.
>
> -For more information refer to the `API documentation <http://libcamera.org/api-html/log_8h.html#details>`__.
> +For more information refer to the `API documentation <https://libcamera.org/api-html/log_8h.html#details>`__.
>
>  Examples:
>
> diff --git a/Documentation/guides/application-developer.rst b/Documentation/guides/application-developer.rst
> index 07cc7273..16bea9c4 100644
> --- a/Documentation/guides/application-developer.rst
> +++ b/Documentation/guides/application-developer.rst
> @@ -49,7 +49,7 @@ abstracts and manages the complex pipelines that kernel drivers expose through
>  the `Linux Media Controller`_ and `Video for Linux`_ (V4L2) APIs, meaning that
>  an application doesn't need to handle device or driver specific details.
>
> -.. _CameraManager: http://libcamera.org/api-html/classlibcamera_1_1CameraManager.html
> +.. _CameraManager: https://libcamera.org/api-html/classlibcamera_1_1CameraManager.html
>  .. _Linux Media Controller: https://www.kernel.org/doc/html/latest/media/uapi/mediactl/media-controller-intro.html
>  .. _Video for Linux: https://www.linuxtv.org/docs.php
>
> @@ -207,7 +207,7 @@ supported values.
>  The ``validate`` function returns a `Status`_ which applications shall check to
>  see if the Pipeline Handler adjusted the configuration.
>
> -.. _Status: http://libcamera.org/api-html/classlibcamera_1_1CameraConfiguration.html#a64163f21db2fe1ce0a6af5a6f6847744
> +.. _Status: https://libcamera.org/api-html/classlibcamera_1_1CameraConfiguration.html#a64163f21db2fe1ce0a6af5a6f6847744
>
>  For example, the code above set the width and height to 640x480, but if the
>  camera cannot produce an image that large, it might adjust the configuration to
> @@ -345,7 +345,7 @@ Event handling and callbacks
>  The libcamera library uses the concept of `signals and slots` (similar to `Qt
>  Signals and Slots`_) to connect events with callbacks to handle them.
>
> -.. _signals and slots: http://libcamera.org/api-html/classlibcamera_1_1Signal.html#details
> +.. _signals and slots: https://libcamera.org/api-html/classlibcamera_1_1Signal.html#details
>  .. _Qt Signals and Slots: https://doc.qt.io/qt-5/signalsandslots.html
>
>  The ``Camera`` device emits two signals that applications can connect to in
> @@ -418,7 +418,7 @@ in this request, and access the metadata associated to each frame.
>  The metadata buffer contains information such the capture status, a timestamp,
>  and the bytes used, as described in the `FrameMetadata`_ documentation.
>
> -.. _FrameMetaData: http://libcamera.org/api-html/structlibcamera_1_1FrameMetadata.html
> +.. _FrameMetaData: https://libcamera.org/api-html/structlibcamera_1_1FrameMetadata.html
>
>  .. code:: cpp
>
> diff --git a/Documentation/guides/introduction.rst b/Documentation/guides/introduction.rst
> index 07f66881..2d1760c1 100644
> --- a/Documentation/guides/introduction.rst
> +++ b/Documentation/guides/introduction.rst
> @@ -214,7 +214,7 @@ Camera Manager
>
>    Read the `Camera Manager API`_ documentation for more details.
>
> -.. _Camera Manager API: http://libcamera.org/api-html/classlibcamera_1_1CameraManager.html
> +.. _Camera Manager API: https://libcamera.org/api-html/classlibcamera_1_1CameraManager.html
>
>  Camera Device
>    The Camera class represents a single item of camera hardware that is capable
> @@ -231,7 +231,7 @@ Camera Device
>
>    Read the `Camera API`_ documentation for more details.
>
> -..  _Camera API: http://libcamera.org/api-html/classlibcamera_1_1Camera.html
> +.. _Camera API: https://libcamera.org/api-html/classlibcamera_1_1Camera.html
>
>  Pipeline Handler
>    The Pipeline Handler manages the complex pipelines exposed by the kernel
> @@ -254,7 +254,7 @@ Pipeline Handler
>    More details can be found in the `PipelineHandler API`_ documentation, and the
>    `Pipeline Handler Writers Guide`_.
>
> -.. _PipelineHandler API: http://libcamera.org/api-html/classlibcamera_1_1PipelineHandler.html
> +.. _PipelineHandler API: https://libcamera.org/api-html/classlibcamera_1_1PipelineHandler.html
>
>  Image Processing Algorithms
>    An image processing algorithm (IPA) component is a loadable plugin that
> diff --git a/Documentation/guides/pipeline-handler.rst b/Documentation/guides/pipeline-handler.rst
> index 989b0163..8e3f991d 100644
> --- a/Documentation/guides/pipeline-handler.rst
> +++ b/Documentation/guides/pipeline-handler.rst
> @@ -81,49 +81,49 @@ functionalities described above. Below is a brief overview of each of those:
>  .. TODO: (MediaDevice) Reference to the Media Device API (possibly with versioning requirements)
>  .. TODO: (IPAInterface) refer to the IPA guide
>
> --  `MediaDevice <http://libcamera.org/api-html/classlibcamera_1_1MediaDevice.html>`_:
> +-  `MediaDevice <https://libcamera.org/api-html/classlibcamera_1_1MediaDevice.html>`_:
>     Instances of this class are associated with a kernel media controller
>     device and its connected objects.
>
> --  `DeviceEnumerator <http://libcamera.org/api-html/classlibcamera_1_1DeviceEnumerator.html>`_:
> +-  `DeviceEnumerator <https://libcamera.org/api-html/classlibcamera_1_1DeviceEnumerator.html>`_:
>     Enumerates all media devices attached to the system and the media entities
>     registered with it, by creating instances of the ``MediaDevice`` class and
>     storing them.
>
> --  `DeviceMatch <http://libcamera.org/api-html/classlibcamera_1_1DeviceMatch.html>`_:
> +-  `DeviceMatch <https://libcamera.org/api-html/classlibcamera_1_1DeviceMatch.html>`_:
>     Describes a media device search pattern using entity names, or other
>     properties.
>
> --  `V4L2VideoDevice <http://libcamera.org/api-html/classlibcamera_1_1V4L2VideoDevice.html>`_:
> +-  `V4L2VideoDevice <https://libcamera.org/api-html/classlibcamera_1_1V4L2VideoDevice.html>`_:
>     Models an instance of a V4L2 video device constructed with the path to a V4L2
>     video device node.
>
> --  `V4L2SubDevice <http://libcamera.org/api-html/classlibcamera_1_1V4L2Subdevice.html>`_:
> +-  `V4L2SubDevice <https://libcamera.org/api-html/classlibcamera_1_1V4L2Subdevice.html>`_:
>     Provides an API to the sub-devices that model the hardware components of a
>     V4L2 device.
>
> --  `CameraSensor <http://libcamera.org/api-html/classlibcamera_1_1CameraSensor.html>`_:
> +-  `CameraSensor <https://libcamera.org/api-html/classlibcamera_1_1CameraSensor.html>`_:
>     Abstracts camera sensor handling by hiding the details of the V4L2 subdevice
>     kernel API and caching sensor information.
>
> --  `Camera::Private <http://libcamera.org/api-html/classlibcamera_1_1Camera_1_1Private.html>`_:
> +-  `Camera::Private <https://libcamera.org/api-html/classlibcamera_1_1Camera_1_1Private.html>`_:
>     Represents device-specific data a pipeline handler associates to each Camera
>     instance.
>
> --  `StreamConfiguration <http://libcamera.org/api-html/structlibcamera_1_1StreamConfiguration.html>`_:
> +-  `StreamConfiguration <https://libcamera.org/api-html/structlibcamera_1_1StreamConfiguration.html>`_:
>     Models the current configuration of an image stream produced by the camera by
>     reporting its format and sizes.
>
> --  `CameraConfiguration <http://libcamera.org/api-html/classlibcamera_1_1CameraConfiguration.html>`_:
> +-  `CameraConfiguration <https://libcamera.org/api-html/classlibcamera_1_1CameraConfiguration.html>`_:
>     Represents the current configuration of a camera, which includes a list of
>     stream configurations for each active stream in a capture session. When
>     validated, it is applied to the camera.
>
> --  `IPAInterface <http://libcamera.org/api-html/classlibcamera_1_1IPAInterface.html>`_:
> +-  `IPAInterface <https://libcamera.org/api-html/classlibcamera_1_1IPAInterface.html>`_:
>     The interface to the Image Processing Algorithm (IPA) module which performs
>     the computation of the image processing pipeline tuning parameters.
>
> --  `ControlList <http://libcamera.org/api-html/classlibcamera_1_1ControlList.html>`_:
> +-  `ControlList <https://libcamera.org/api-html/classlibcamera_1_1ControlList.html>`_:
>     A list of control items, indexed by Control<> instances or by numerical index
>     which contains values used by application and IPA to change parameters of
>     image streams, used to return to applications and share with IPA the metadata
> @@ -191,7 +191,7 @@ In *vivid.cpp* add the pipeline handler to the ``libcamera`` namespace, defining
>  a `PipelineHandler`_ derived class named PipelineHandlerVivid, and add stub
>  implementations for the overridden class members.
>
> -.. _PipelineHandler: http://libcamera.org/api-html/classlibcamera_1_1PipelineHandler.html
> +.. _PipelineHandler: https://libcamera.org/api-html/classlibcamera_1_1PipelineHandler.html
>
>  .. code-block:: cpp
>
> @@ -267,7 +267,7 @@ handler factory using the `REGISTER_PIPELINE_HANDLER`_ macro which
>  registers it and creates a global symbol to reference the class and make it
>  available to try and match devices.
>
> -.. _REGISTER_PIPELINE_HANDLER: http://libcamera.org/api-html/pipeline__handler_8h.html
> +.. _REGISTER_PIPELINE_HANDLER: https://libcamera.org/api-html/pipeline__handler_8h.html
>
>  For debugging and testing a pipeline handler during development, you can define
>  a log message category for the pipeline handler. The ``LOG_DEFINE_CATEGORY``
> @@ -275,7 +275,7 @@ macro and ``LIBCAMERA_LOG_LEVELS`` environment variable help you use the inbuilt
>  libcamera `logging infrastructure`_ that allow for the inspection of internal
>  operations in a user-configurable way.
>
> -.. _logging infrastructure: http://libcamera.org/api-html/log_8h.html
> +.. _logging infrastructure: https://libcamera.org/api-html/log_8h.html
>
>  Add the following before the ``PipelineHandlerVivid`` class declaration:
>
> @@ -334,8 +334,8 @@ You can specify the search further by adding specific media entities to the
>  search using the ``.add()`` function on the DeviceMatch.
>
>  .. _match(): https://www.libcamera.org/api-html/classlibcamera_1_1PipelineHandler.html#a7cd5b652a2414b543ec20ba9dabf61b6
> -.. _start(): http://libcamera.org/api-html/classlibcamera_1_1CameraManager.html#a49e322880a2a26013bb0076788b298c5
> -.. _DeviceMatch: http://libcamera.org/api-html/classlibcamera_1_1DeviceMatch.html
> +.. _start(): https://libcamera.org/api-html/classlibcamera_1_1CameraManager.html#a49e322880a2a26013bb0076788b298c5
> +.. _DeviceMatch: https://libcamera.org/api-html/classlibcamera_1_1DeviceMatch.html
>
>  This example uses search patterns that match vivid, but when developing a new
>  pipeline handler, you should change this value to suit your device identifier.
> @@ -354,7 +354,7 @@ to the matching media controller device with the `acquireMediaDevice`_ function.
>  If the function attempts to acquire a device it has already matched, it returns
>  ``false``.
>
> -.. _acquireMediaDevice: http://libcamera.org/api-html/classlibcamera_1_1PipelineHandler.html#a77e424fe704e7b26094164b9189e0f84
> +.. _acquireMediaDevice: https://libcamera.org/api-html/classlibcamera_1_1PipelineHandler.html#a77e424fe704e7b26094164b9189e0f84
>
>  Add the following below ``dm.add("vivid-000-vid-cap");``:
>
> @@ -419,7 +419,7 @@ with the Camera.
>  Each Camera has instance-specific data represented using the `Camera::Private`_
>  class, which can be extended for the specific needs of the pipeline handler.
>
> -.. _Camera::Private: http://libcamera.org/api-html/classlibcamera_1_1Camera_1_1Private.html
> +.. _Camera::Private: https://libcamera.org/api-html/classlibcamera_1_1Camera_1_1Private.html
>
>
>  To support the Camera we will later register, we need to create a Camera::Private
> @@ -475,7 +475,7 @@ the `MediaDevice::getEntityByName`_ function from the MediaDevice. As our
>  example is based upon the simplistic Vivid test device, we only need to open a
>  single capture device named 'vivid-000-vid-cap' by the device.
>
> -.. _MediaDevice::getEntityByName: http://libcamera.org/api-html/classlibcamera_1_1MediaDevice.html#ad5d9279329ef4987ceece2694b33e230
> +.. _MediaDevice::getEntityByName: https://libcamera.org/api-html/classlibcamera_1_1MediaDevice.html#ad5d9279329ef4987ceece2694b33e230
>
>  .. code-block:: cpp
>
> @@ -516,8 +516,8 @@ handler and camera manager using `registerCamera`_.
>  Finally with a successful construction, we return 'true' indicating that the
>  PipelineHandler successfully matched and constructed a device.
>
> -.. _Camera::create: http://libcamera.org/api-html/classlibcamera_1_1Camera.html#a453740e0d2a2f495048ae307a85a2574
> -.. _registerCamera: http://libcamera.org/api-html/classlibcamera_1_1PipelineHandler.html#adf02a7f1bbd87aca73c0e8d8e0e6c98b
> +.. _Camera::create: https://libcamera.org/api-html/classlibcamera_1_1Camera.html#a453740e0d2a2f495048ae307a85a2574
> +.. _registerCamera: https://libcamera.org/api-html/classlibcamera_1_1PipelineHandler.html#adf02a7f1bbd87aca73c0e8d8e0e6c98b
>
>  .. code-block:: cpp
>
> @@ -590,9 +590,9 @@ processed to automatically generate documentation and interfaces. Controls are
>  defined by the src/libcamera/`control_ids.yaml`_ file and camera properties
>  are defined by src/libcamera/`properties_ids.yaml`_.
>
> -.. _controls framework: http://libcamera.org/api-html/controls_8h.html
> -.. _control_ids.yaml: http://libcamera.org/api-html/control__ids_8h.html
> -.. _properties_ids.yaml: http://libcamera.org/api-html/property__ids_8h.html
> +.. _controls framework: https://libcamera.org/api-html/controls_8h.html
> +.. _control_ids.yaml: https://libcamera.org/api-html/control__ids_8h.html
> +.. _properties_ids.yaml: https://libcamera.org/api-html/property__ids_8h.html
>
>  Pipeline handlers can optionally register the list of controls an application
>  can set as well as a list of immutable camera properties. Being both
> @@ -600,14 +600,14 @@ Camera-specific values, they are represented in the ``Camera::Private`` base
>  class, which provides two members for this purpose: the
>  `Camera::Private::controlInfo_`_ and the `Camera::Private::properties_`_ fields.
>
> -.. _Camera::Private::controlInfo_: http://libcamera.org/api-html/classlibcamera_1_1Camera_1_1Private.html#ab4e183eb4dabe929d1b2bbbb519b969f
> -.. _Camera::Private::properties_: http://libcamera.org/api-html/classlibcamera_1_1Camera_1_1Private.html#ad31f12f5ed9c1fbe25750902f4791064
> +.. _Camera::Private::controlInfo_: https://libcamera.org/api-html/classlibcamera_1_1Camera_1_1Private.html#ab4e183eb4dabe929d1b2bbbb519b969f
> +.. _Camera::Private::properties_: https://libcamera.org/api-html/classlibcamera_1_1Camera_1_1Private.html#ad31f12f5ed9c1fbe25750902f4791064
>
>  The ``controlInfo_`` field represents a map of ``ControlId`` instances
>  associated with the limits of valid values supported for the control. More
>  information can be found in the `ControlInfoMap`_ class documentation.
>
> -.. _ControlInfoMap: http://libcamera.org/api-html/classlibcamera_1_1ControlInfoMap.html
> +.. _ControlInfoMap: https://libcamera.org/api-html/classlibcamera_1_1ControlInfoMap.html
>
>  Pipeline handlers register controls to expose the tunable device and IPA
>  parameters to applications. Our example pipeline handler only exposes trivial
> @@ -700,7 +700,7 @@ To support validation in our example pipeline handler, Create a new class called
>  ``VividCameraConfiguration`` derived from the base `CameraConfiguration`_ class
>  which we can implement and use within our ``PipelineHandlerVivid`` class.
>
> -.. _CameraConfiguration: http://libcamera.org/api-html/classlibcamera_1_1CameraConfiguration.html
> +.. _CameraConfiguration: https://libcamera.org/api-html/classlibcamera_1_1CameraConfiguration.html
>
>  The derived ``CameraConfiguration`` class must override the base class
>  ``validate()`` function, where the stream configuration inspection and
> @@ -726,8 +726,8 @@ Applications generate a ``CameraConfiguration`` instance by calling the
>  implementation of the overridden `PipelineHandler::generateConfiguration()`_
>  function.
>
> -.. _Camera::generateConfiguration(): http://libcamera.org/api-html/classlibcamera_1_1Camera.html#a25c80eb7fc9b1cf32692ce0c7f09991d
> -.. _PipelineHandler::generateConfiguration(): http://libcamera.org/api-html/classlibcamera_1_1PipelineHandler.html#a7932e87735695500ce1f8c7ae449b65b
> +.. _Camera::generateConfiguration(): https://libcamera.org/api-html/classlibcamera_1_1Camera.html#a25c80eb7fc9b1cf32692ce0c7f09991d
> +.. _PipelineHandler::generateConfiguration(): https://libcamera.org/api-html/classlibcamera_1_1PipelineHandler.html#a7932e87735695500ce1f8c7ae449b65b
>
>  Configurations are generated by receiving a list of ``StreamRoles`` instances,
>  which libcamera uses as predefined ways an application intends to use a camera
> @@ -735,7 +735,7 @@ which libcamera uses as predefined ways an application intends to use a camera
>  optional hints on how an application intends to use a stream, and a pipeline
>  handler should return an ideal configuration for each role that is requested.
>
> -.. _StreamRole API: http://libcamera.org/api-html/stream_8h.html#file_a295d1f5e7828d95c0b0aabc0a8baac03
> +.. _StreamRole API: https://libcamera.org/api-html/stream_8h.html#file_a295d1f5e7828d95c0b0aabc0a8baac03
>
>  In the pipeline handler ``generateConfiguration`` implementation, remove the
>  ``return nullptr;``, create a new instance of the ``CameraConfiguration``
> @@ -796,7 +796,7 @@ The `StreamFormats`_ class holds information about the pixel formats and frame
>  sizes that a stream can support. The class groups size information by the pixel
>  format, which can produce it.
>
> -.. _StreamFormats: http://libcamera.org/api-html/classlibcamera_1_1StreamFormats.html
> +.. _StreamFormats: https://libcamera.org/api-html/classlibcamera_1_1StreamFormats.html
>
>  The code below uses the ``StreamFormats`` class to represent all of the
>  supported pixel formats, associated with a list of frame sizes. It then
> @@ -849,7 +849,7 @@ If changes are made, it marks the configuration as ``Adjusted``, however if the
>  requested configuration is not supported and cannot be adjusted it shall be
>  refused and marked as ``Invalid``.
>
> -.. _CameraConfiguration::validate(): http://libcamera.org/api-html/classlibcamera_1_1CameraConfiguration.html#a29f8f263384c6149775b6011c7397093
> +.. _CameraConfiguration::validate(): https://libcamera.org/api-html/classlibcamera_1_1CameraConfiguration.html#a29f8f263384c6149775b6011c7397093
>
>  The validation phase makes sure all the platform-specific constraints are
>  respected by the requested configuration. The most trivial examples being making
> @@ -949,8 +949,8 @@ The `PipelineHandler::configure()`_ function receives a valid
>  parameters to prepare a device for a streaming session with the desired
>  properties.
>
> -.. _PipelineHandler::configure(): http://libcamera.org/api-html/classlibcamera_1_1PipelineHandler.html#a930f2a9cdfb51dfb4b9ca3824e84fc29
> -.. _CameraConfiguration: http://libcamera.org/api-html/classlibcamera_1_1CameraConfiguration.html
> +.. _PipelineHandler::configure(): https://libcamera.org/api-html/classlibcamera_1_1PipelineHandler.html#a930f2a9cdfb51dfb4b9ca3824e84fc29
> +.. _CameraConfiguration: https://libcamera.org/api-html/classlibcamera_1_1CameraConfiguration.html
>
>  Replace the contents of the stubbed ``PipelineHandlerVivid::configure`` function
>  with the following to obtain the camera data and stream configuration. This
> @@ -972,8 +972,8 @@ node. The fourcc attribute is a `V4L2PixelFormat`_ and differs from the
>  plane configuration for multiplanar formats, so you must explicitly convert it
>  using the helper ``V4L2PixelFormat::fromPixelFormat()``.
>
> -.. _V4L2DeviceFormat: http://libcamera.org/api-html/classlibcamera_1_1V4L2DeviceFormat.html
> -.. _V4L2PixelFormat: http://libcamera.org/api-html/classlibcamera_1_1V4L2PixelFormat.html
> +.. _V4L2DeviceFormat: https://libcamera.org/api-html/classlibcamera_1_1V4L2DeviceFormat.html
> +.. _V4L2PixelFormat: https://libcamera.org/api-html/classlibcamera_1_1V4L2PixelFormat.html
>
>  Add the following code beneath the code from above:
>
> @@ -989,7 +989,7 @@ driver has adjusted the format, as this shows the pipeline handler has failed to
>  handle the validation stages correctly, and the configure operation shall also
>  fail.
>
> -.. _V4L2VideoDevice::setFormat(): http://libcamera.org/api-html/classlibcamera_1_1V4L2VideoDevice.html#ad67b47dd9327ce5df43350b80c083cca
> +.. _V4L2VideoDevice::setFormat(): https://libcamera.org/api-html/classlibcamera_1_1V4L2VideoDevice.html#ad67b47dd9327ce5df43350b80c083cca
>
>  Continue the implementation with the following code:
>
> @@ -1008,7 +1008,7 @@ Associate the configuration with the stream by using the
>  `StreamConfiguration::setStream`_ function, and set the values of individual
>  stream configuration members as required.
>
> -.. _StreamConfiguration::setStream: http://libcamera.org/api-html/structlibcamera_1_1StreamConfiguration.html#a74a0eb44dad1b00112c7c0443ae54a12
> +.. _StreamConfiguration::setStream: https://libcamera.org/api-html/structlibcamera_1_1StreamConfiguration.html#a74a0eb44dad1b00112c7c0443ae54a12
>
>  .. NOTE: the cfg.setStream() call here associates the stream to the
>     StreamConfiguration however that should quite likely be done as part of
> @@ -1033,7 +1033,7 @@ controls at system configuration time, to make sure they are defaulted to sane
>  values. Handling of device controls is again performed using the libcamera
>  `controls framework`_.
>
> -.. _Controls Framework: http://libcamera.org/api-html/controls_8h.html
> +.. _Controls Framework: https://libcamera.org/api-html/controls_8h.html
>
>  This section is particularly specific to Vivid as it sets the initial values of
>  controls to match `Vivid Controls`_ defined by the kernel driver. You won't need
> @@ -1056,8 +1056,8 @@ come directly from the kernel sources:
>  We can now use the V4L2 control IDs to prepare a list of controls with the
>  `ControlList`_ class, and set them using the `ControlList::set()`_ function.
>
> -.. _ControlList: http://libcamera.org/api-html/classlibcamera_1_1ControlList.html
> -.. _ControlList::set(): http://libcamera.org/api-html/classlibcamera_1_1ControlList.html#a74a1a29abff5243e6e37ace8e24eb4ba
> +.. _ControlList: https://libcamera.org/api-html/classlibcamera_1_1ControlList.html
> +.. _ControlList::set(): https://libcamera.org/api-html/classlibcamera_1_1ControlList.html#a74a1a29abff5243e6e37ace8e24eb4ba
>
>  In our pipeline ``configure`` function, add the following code after the format
>  has been set and checked to initialise the ControlList and apply it to the
> @@ -1111,16 +1111,16 @@ libcamera also provides an API to allocate and export memory to applications
>  realized through the `exportFrameBuffers`_ function and the
>  `FrameBufferAllocator`_ class which will be presented later.
>
> -.. _exportFrameBuffers: http://libcamera.org/api-html/classlibcamera_1_1PipelineHandler.html#a6312a69da7129c2ed41f9d9f790adf7c
> -.. _FrameBufferAllocator: http://libcamera.org/api-html/classlibcamera_1_1FrameBufferAllocator.html
> +.. _exportFrameBuffers: https://libcamera.org/api-html/classlibcamera_1_1PipelineHandler.html#a6312a69da7129c2ed41f9d9f790adf7c
> +.. _FrameBufferAllocator: https://libcamera.org/api-html/classlibcamera_1_1FrameBufferAllocator.html
>
>  Please refer to the V4L2VideoDevice API documentation, specifically the
>  `allocateBuffers`_, `importBuffers`_ and `exportBuffers`_ functions for a
>  detailed description of the video device memory management.
>
> -.. _allocateBuffers: http://libcamera.org/api-html/classlibcamera_1_1V4L2VideoDevice.html#a3a1a77e5e6c220ea7878e89485864a1c
> -.. _importBuffers: http://libcamera.org/api-html/classlibcamera_1_1V4L2VideoDevice.html#a154f5283d16ebd5e15d63e212745cb64
> -.. _exportBuffers: http://libcamera.org/api-html/classlibcamera_1_1V4L2VideoDevice.html#ae9c0b0a68f350725b63b73a6da5a2ecd
> +.. _allocateBuffers: https://libcamera.org/api-html/classlibcamera_1_1V4L2VideoDevice.html#a3a1a77e5e6c220ea7878e89485864a1c
> +.. _importBuffers: https://libcamera.org/api-html/classlibcamera_1_1V4L2VideoDevice.html#a154f5283d16ebd5e15d63e212745cb64
> +.. _exportBuffers: https://libcamera.org/api-html/classlibcamera_1_1V4L2VideoDevice.html#ae9c0b0a68f350725b63b73a6da5a2ecd
>
>  Video memory buffers are represented in libcamera by the `FrameBuffer`_ class.
>  A ``FrameBuffer`` instance has to be associated to each ``Stream`` which is part
> @@ -1129,7 +1129,7 @@ by importing the dma-buf file descriptors it needs to operate on. This operation
>  is performed by using the ``V4L2VideoDevice`` API, which provides an
>  ``importBuffers()`` function that prepares the video device accordingly.
>
> -.. _FrameBuffer: http://libcamera.org/api-html/classlibcamera_1_1FrameBuffer.html
> +.. _FrameBuffer: https://libcamera.org/api-html/classlibcamera_1_1FrameBuffer.html
>
>  Implement the pipeline handler ``start()`` function by replacing the stub
>  version with the following code:
> @@ -1160,13 +1160,13 @@ and exports it as dma-buf file descriptors. From this point on, the allocated
>  imported by the pipeline hander in exactly the same fashion as if they were
>  allocated elsewhere.
>
> -.. _FrameBufferAllocator: http://libcamera.org/api-html/classlibcamera_1_1FrameBufferAllocator.html
> +.. _FrameBufferAllocator: https://libcamera.org/api-html/classlibcamera_1_1FrameBufferAllocator.html
>
>  Pipeline handlers support the ``FrameBufferAllocator`` operations by
>  implementing the `exportFrameBuffers`_ function, which will allocate memory in
>  the video device associated with a stream and export it.
>
> -.. _exportFrameBuffers: http://libcamera.org/api-html/classlibcamera_1_1PipelineHandler.html#a6312a69da7129c2ed41f9d9f790adf7c
> +.. _exportFrameBuffers: https://libcamera.org/api-html/classlibcamera_1_1PipelineHandler.html#a6312a69da7129c2ed41f9d9f790adf7c
>
>  Implement the ``exportFrameBuffers`` stub function with the following code to
>  handle this:
> @@ -1198,14 +1198,14 @@ caller and the `releaseBuffers`_ function releases any buffers to leave the
>  device in a consistent state. If your pipeline handler uses any image processing
>  algorithms, or other devices you should also stop them.
>
> -.. _streamOn: http://libcamera.org/api-html/classlibcamera_1_1V4L2VideoDevice.html#a588a5dc9d6f4c54c61136ac43ff9a8cc
> -.. _releaseBuffers: http://libcamera.org/api-html/classlibcamera_1_1V4L2VideoDevice.html#a191619c152f764e03bc461611f3fcd35
> +.. _streamOn: https://libcamera.org/api-html/classlibcamera_1_1V4L2VideoDevice.html#a588a5dc9d6f4c54c61136ac43ff9a8cc
> +.. _releaseBuffers: https://libcamera.org/api-html/classlibcamera_1_1V4L2VideoDevice.html#a191619c152f764e03bc461611f3fcd35
>
>  Of course we also need to handle the corresponding actions to stop streaming on
>  a device, Add the following to the ``stop`` function, to stop the stream with
>  the `streamOff`_ function and release all buffers.
>
> -.. _streamOff: http://libcamera.org/api-html/classlibcamera_1_1V4L2VideoDevice.html#a61998710615bdf7aa25a046c8565ed66
> +.. _streamOff: https://libcamera.org/api-html/classlibcamera_1_1V4L2VideoDevice.html#a61998710615bdf7aa25a046c8565ed66
>
>  .. code-block:: cpp
>
> @@ -1228,8 +1228,8 @@ This example pipeline handler identifies the buffer using the `findBuffer`_
>  helper from the only supported stream and queues it to the capture device
>  directly with the `queueBuffer`_ function provided by the V4L2VideoDevice.
>
> -.. _findBuffer: http://libcamera.org/api-html/classlibcamera_1_1Request.html#ac66050aeb9b92c64218945158559c4d4
> -.. _queueBuffer: http://libcamera.org/api-html/classlibcamera_1_1V4L2VideoDevice.html#a594cd594686a8c1cf9ae8dba0b2a8a75
> +.. _findBuffer: https://libcamera.org/api-html/classlibcamera_1_1Request.html#ac66050aeb9b92c64218945158559c4d4
> +.. _queueBuffer: https://libcamera.org/api-html/classlibcamera_1_1V4L2VideoDevice.html#a594cd594686a8c1cf9ae8dba0b2a8a75
>
>  Replace the stubbed contents of ``queueRequestDevice`` with the following:
>
> @@ -1328,7 +1328,7 @@ This example pipeline handler applies controls during the `queueRequestDevice`_
>  function for each request, and applies them to the capture device through the
>  capture node.
>
> -.. _queueRequestDevice: http://libcamera.org/api-html/classlibcamera_1_1PipelineHandler.html#a106914cca210640c9da9ee1f0419e83c
> +.. _queueRequestDevice: https://libcamera.org/api-html/classlibcamera_1_1PipelineHandler.html#a106914cca210640c9da9ee1f0419e83c
>
>  In the ``queueRequestDevice`` function, replace the following:
>
> @@ -1369,7 +1369,7 @@ of the libcamera implementation is available in the `libcamera Signal and Slot`_
>  classes documentation.
>
>  .. _Qt Signals and Slots: https://doc.qt.io/qt-5/signalsandslots.html
> -.. _libcamera Signal and Slot: http://libcamera.org/api-html/classlibcamera_1_1Signal.html#details
> +.. _libcamera Signal and Slot: https://libcamera.org/api-html/classlibcamera_1_1Signal.html#details
>
>  In order to notify applications about the availability of new frames and data,
>  the ``Camera`` device exposes two ``Signals`` to which applications can connect
> @@ -1396,7 +1396,7 @@ the PipelineHandler base class ``completeRequest`` function. The PipelineHandler
>  class implementation makes sure the request completion notifications are
>  delivered to applications in the same order as they have been submitted.
>
> -.. _connecting: http://libcamera.org/api-html/classlibcamera_1_1Signal.html#aa04db72d5b3091ffbb4920565aeed382
> +.. _connecting: https://libcamera.org/api-html/classlibcamera_1_1Signal.html#aa04db72d5b3091ffbb4920565aeed382
>
>  Returning to the ``int VividCameraData::init()`` function, add the following
>  above the closing ``return 0;`` to connect the pipeline handler ``bufferReady``
> --
> 2.35.1
>


More information about the libcamera-devel mailing list