[libcamera-devel,v2,1/4] libcamera: pipeline_handler: extend documentation for configureStreams()

Message ID 20190224173701.8587-2-niklas.soderlund@ragnatech.se
State Accepted
Commit 9a37b4c5a8452afd3cf19dc915c5460408171e5f
Headers show
Series
  • libcamera: enforce stream configuration
Related show

Commit Message

Niklas Söderlund Feb. 24, 2019, 5:36 p.m. UTC
Extend the documentation to explicitly state that the pipeline handler
implementations are responsible for validating that the requested
configuration can be exactly satisfied by the hardware.

Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
---
 src/libcamera/pipeline_handler.cpp | 8 ++++++++
 1 file changed, 8 insertions(+)

Comments

Laurent Pinchart Feb. 25, 2019, 7:43 p.m. UTC | #1
Hi Niklas,

Thank you for the patch.

On Sun, Feb 24, 2019 at 06:36:58PM +0100, Niklas Söderlund wrote:
> Extend the documentation to explicitly state that the pipeline handler
> implementations are responsible for validating that the requested
> configuration can be exactly satisfied by the hardware.
> 
> Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  src/libcamera/pipeline_handler.cpp | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/src/libcamera/pipeline_handler.cpp b/src/libcamera/pipeline_handler.cpp
> index 616838fed702fec7..dad0a2964486c5d4 100644
> --- a/src/libcamera/pipeline_handler.cpp
> +++ b/src/libcamera/pipeline_handler.cpp
> @@ -136,6 +136,14 @@ PipelineHandler::~PipelineHandler()
>   * is the Camera class which will receive configuration to apply from the
>   * application.
>   *
> + * Each pipeline handler implementation is responsible for validating
> + * that the configuration requested in \a config can be achieved
> + * exactly. Any difference in pixel format, frame size or any other
> + * parameter shall result in the -EINVAL error being returned, and no
> + * change in configuration being applied to the pipeline. If
> + * configuration of a subset of the streams can't be satisfied, the
> + * whole configuration is considered invalid.
> + *
>   * \return 0 on success or a negative error code on error.
>   */
>

Patch

diff --git a/src/libcamera/pipeline_handler.cpp b/src/libcamera/pipeline_handler.cpp
index 616838fed702fec7..dad0a2964486c5d4 100644
--- a/src/libcamera/pipeline_handler.cpp
+++ b/src/libcamera/pipeline_handler.cpp
@@ -136,6 +136,14 @@  PipelineHandler::~PipelineHandler()
  * is the Camera class which will receive configuration to apply from the
  * application.
  *
+ * Each pipeline handler implementation is responsible for validating
+ * that the configuration requested in \a config can be achieved
+ * exactly. Any difference in pixel format, frame size or any other
+ * parameter shall result in the -EINVAL error being returned, and no
+ * change in configuration being applied to the pipeline. If
+ * configuration of a subset of the streams can't be satisfied, the
+ * whole configuration is considered invalid.
+ *
  * \return 0 on success or a negative error code on error.
  */