[1/2] Documentation: pipeline-handler: Fix broken links
diff mbox series

Message ID 20250725172130.2218836-2-kieran.bingham@ideasonboard.com
State New
Headers show
Series
  • Documentation/linkcheck fixes
Related show

Commit Message

Kieran Bingham July 25, 2025, 5:21 p.m. UTC
The Documentation/linkcheck target reports failing links in the pipeline
handler writers guide. Update the links accordingly to the current
public versions.

Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
---
 Documentation/guides/pipeline-handler.rst | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

Comments

Laurent Pinchart July 26, 2025, 2:37 a.m. UTC | #1
Hi Kieran,

Thank you for the patch.

On Fri, Jul 25, 2025 at 06:21:29PM +0100, Kieran Bingham wrote:
> The Documentation/linkcheck target reports failing links in the pipeline
> handler writers guide. Update the links accordingly to the current
> public versions.
> 
> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
> ---
>  Documentation/guides/pipeline-handler.rst | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/Documentation/guides/pipeline-handler.rst b/Documentation/guides/pipeline-handler.rst
> index 0d5df7269e40..c09690fe7c15 100644
> --- a/Documentation/guides/pipeline-handler.rst
> +++ b/Documentation/guides/pipeline-handler.rst
> @@ -522,7 +522,7 @@ Finally with a successful construction, we return 'true' indicating that the
>  PipelineHandler successfully matched and constructed a device.
>  
>  .. _Camera::create: https://libcamera.org/internal-api-html/classlibcamera_1_1Camera.html#adf5e6c22411f953bfaa1ae21155d6c31
> -.. _registerCamera: https://libcamera.org/api-html/classlibcamera_1_1PipelineHandler.html#adf02a7f1bbd87aca73c0e8d8e0e6c98b
> +.. _registerCamera: https://libcamera.org/api-html/classlibcamera_1_1PipelineHandler.html#a97bc7a1ac8e7128d4b3dff91eb03f2a4

This is going to become a game of cat and mouse :-( The hex ids are made
of the letter 'a' followed by the md5sum of a textual representation of
the member, which includes the name, but also the arguments and other
data. The value changes every time the function prototype changes.

Fortunately, other people encountered the same issue, and developed a
solution: https://sphinxcontrib-doxylink.readthedocs.io/en/stable/. I'm
experimenting with this, I'll post patches.

>  
>  .. code-block:: cpp
>  
> @@ -782,8 +782,8 @@ Applications generate a ``CameraConfiguration`` instance by calling the
>  implementation of the overridden `PipelineHandler::generateConfiguration()`_
>  function.
>  
> -.. _Camera::generateConfiguration(): https://libcamera.org/api-html/classlibcamera_1_1Camera.html#a25c80eb7fc9b1cf32692ce0c7f09991d
> -.. _PipelineHandler::generateConfiguration(): https://libcamera.org/api-html/classlibcamera_1_1PipelineHandler.html#a7932e87735695500ce1f8c7ae449b65b
> +.. _Camera::generateConfiguration(): https://libcamera.org/api-html/classlibcamera_1_1Camera.html#a3059dba6e3facae4f58212d3d76b5cac
> +.. _PipelineHandler::generateConfiguration(): https://libcamera.org/api-html/classlibcamera_1_1PipelineHandler.html#a83bbbe0826fb159253535ef077cb4343
>  
>  Configurations are generated by receiving a list of ``StreamRole`` instances,
>  which libcamera uses as predefined ways an application intends to use a camera
> @@ -791,7 +791,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: https://libcamera.org/api-html/stream_8h.html#file_a295d1f5e7828d95c0b0aabc0a8baac03
> +.. _StreamRole API: https://libcamera.org/api-html/namespacelibcamera.html#a295d1f5e7828d95c0b0aabc0a8baac03
>  
>  In the pipeline handler ``generateConfiguration`` implementation, remove the
>  ``return nullptr;``, create a new instance of the ``CameraConfiguration``
> @@ -1110,7 +1110,7 @@ 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: https://libcamera.org/api-html/classlibcamera_1_1ControlList.html
> -.. _ControlList::set(): https://libcamera.org/api-html/classlibcamera_1_1ControlList.html#a74a1a29abff5243e6e37ace8e24eb4ba
> +.. _ControlList::set(): https://libcamera.org/api-html/classlibcamera_1_1ControlList.html#aa41c425f3075349747fdbfc1e3a6fc46
>  
>  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
> @@ -1281,7 +1281,7 @@ 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: https://libcamera.org/api-html/classlibcamera_1_1Request.html#ac66050aeb9b92c64218945158559c4d4
> +.. _findBuffer: https://libcamera.org/api-html/classlibcamera_1_1Request.html#abaed06e43f6a92590075962f825767f7
>  .. _queueBuffer: https://libcamera.org/api-html/classlibcamera_1_1V4L2VideoDevice.html#a594cd594686a8c1cf9ae8dba0b2a8a75
>  
>  Replace the stubbed contents of ``queueRequestDevice`` with the following:

Patch
diff mbox series

diff --git a/Documentation/guides/pipeline-handler.rst b/Documentation/guides/pipeline-handler.rst
index 0d5df7269e40..c09690fe7c15 100644
--- a/Documentation/guides/pipeline-handler.rst
+++ b/Documentation/guides/pipeline-handler.rst
@@ -522,7 +522,7 @@  Finally with a successful construction, we return 'true' indicating that the
 PipelineHandler successfully matched and constructed a device.
 
 .. _Camera::create: https://libcamera.org/internal-api-html/classlibcamera_1_1Camera.html#adf5e6c22411f953bfaa1ae21155d6c31
-.. _registerCamera: https://libcamera.org/api-html/classlibcamera_1_1PipelineHandler.html#adf02a7f1bbd87aca73c0e8d8e0e6c98b
+.. _registerCamera: https://libcamera.org/api-html/classlibcamera_1_1PipelineHandler.html#a97bc7a1ac8e7128d4b3dff91eb03f2a4
 
 .. code-block:: cpp
 
@@ -782,8 +782,8 @@  Applications generate a ``CameraConfiguration`` instance by calling the
 implementation of the overridden `PipelineHandler::generateConfiguration()`_
 function.
 
-.. _Camera::generateConfiguration(): https://libcamera.org/api-html/classlibcamera_1_1Camera.html#a25c80eb7fc9b1cf32692ce0c7f09991d
-.. _PipelineHandler::generateConfiguration(): https://libcamera.org/api-html/classlibcamera_1_1PipelineHandler.html#a7932e87735695500ce1f8c7ae449b65b
+.. _Camera::generateConfiguration(): https://libcamera.org/api-html/classlibcamera_1_1Camera.html#a3059dba6e3facae4f58212d3d76b5cac
+.. _PipelineHandler::generateConfiguration(): https://libcamera.org/api-html/classlibcamera_1_1PipelineHandler.html#a83bbbe0826fb159253535ef077cb4343
 
 Configurations are generated by receiving a list of ``StreamRole`` instances,
 which libcamera uses as predefined ways an application intends to use a camera
@@ -791,7 +791,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: https://libcamera.org/api-html/stream_8h.html#file_a295d1f5e7828d95c0b0aabc0a8baac03
+.. _StreamRole API: https://libcamera.org/api-html/namespacelibcamera.html#a295d1f5e7828d95c0b0aabc0a8baac03
 
 In the pipeline handler ``generateConfiguration`` implementation, remove the
 ``return nullptr;``, create a new instance of the ``CameraConfiguration``
@@ -1110,7 +1110,7 @@  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: https://libcamera.org/api-html/classlibcamera_1_1ControlList.html
-.. _ControlList::set(): https://libcamera.org/api-html/classlibcamera_1_1ControlList.html#a74a1a29abff5243e6e37ace8e24eb4ba
+.. _ControlList::set(): https://libcamera.org/api-html/classlibcamera_1_1ControlList.html#aa41c425f3075349747fdbfc1e3a6fc46
 
 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
@@ -1281,7 +1281,7 @@  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: https://libcamera.org/api-html/classlibcamera_1_1Request.html#ac66050aeb9b92c64218945158559c4d4
+.. _findBuffer: https://libcamera.org/api-html/classlibcamera_1_1Request.html#abaed06e43f6a92590075962f825767f7
 .. _queueBuffer: https://libcamera.org/api-html/classlibcamera_1_1V4L2VideoDevice.html#a594cd594686a8c1cf9ae8dba0b2a8a75
 
 Replace the stubbed contents of ``queueRequestDevice`` with the following: