[libcamera-devel,v2,24/27] gst: libcamerasrc: Add a TODO comment

Message ID 20200227200407.490616-25-nicolas.dufresne@collabora.com
State Accepted
Headers show
Series
  • GStreamer Element for libcamera
Related show

Commit Message

Nicolas Dufresne Feb. 27, 2020, 8:04 p.m. UTC
This is to guide upcoming contributors toward what is left to do to get
toward a production ready element.

Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
---
 src/gstreamer/gstlibcamerasrc.cpp | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

Comments

Laurent Pinchart Feb. 29, 2020, 3:01 p.m. UTC | #1
Hi Nicolas,

Thank you for the patch.

On Thu, Feb 27, 2020 at 03:04:04PM -0500, Nicolas Dufresne wrote:
> This is to guide upcoming contributors toward what is left to do to get
> toward a production ready element.
> 
> Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>

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

> ---
>  src/gstreamer/gstlibcamerasrc.cpp | 19 +++++++++++++++++++
>  1 file changed, 19 insertions(+)
> 
> diff --git a/src/gstreamer/gstlibcamerasrc.cpp b/src/gstreamer/gstlibcamerasrc.cpp
> index 73a1360..1e55916 100644
> --- a/src/gstreamer/gstlibcamerasrc.cpp
> +++ b/src/gstreamer/gstlibcamerasrc.cpp
> @@ -7,6 +7,25 @@
>   */
>  
>  /**
> + * \todo The following is a list of items that needs implementation in the GStreamer plugin
> + *  - Implement GstElement::send_event
> + *    + Allowing application to send EOS
> + *    + Allowing application to use FLUSH/FLUSH_STOP
> + *    + Prevent the main thread from accessing streaming thread
> + *  - Implement renegotiation (even if slow)
> + *  - Implement GstElement::request-new-pad (multi stream)
> + *    + Evaluate if a single streaming thread is fine
> + *  - Add application driven request (snapshot)
> + *  - Add framerate control
> + *  - Add buffer importation support
> + *
> + *  Requires new libcamera API:
> + *  - Add framerate negotiation support
> + *  - Add colorimetry support
> + *  - Add timestamp support
> + *  - Use unique names to select the camera devices
> + *  - Add GstVideoMeta support (strides and offsets)
> + *
>   * \todo libcamera UVC drivers picks the lowest possible resolution first, this
>   * should be fixed so that we get a decent resolution and framerate for the
>   * role by default.

Patch

diff --git a/src/gstreamer/gstlibcamerasrc.cpp b/src/gstreamer/gstlibcamerasrc.cpp
index 73a1360..1e55916 100644
--- a/src/gstreamer/gstlibcamerasrc.cpp
+++ b/src/gstreamer/gstlibcamerasrc.cpp
@@ -7,6 +7,25 @@ 
  */
 
 /**
+ * \todo The following is a list of items that needs implementation in the GStreamer plugin
+ *  - Implement GstElement::send_event
+ *    + Allowing application to send EOS
+ *    + Allowing application to use FLUSH/FLUSH_STOP
+ *    + Prevent the main thread from accessing streaming thread
+ *  - Implement renegotiation (even if slow)
+ *  - Implement GstElement::request-new-pad (multi stream)
+ *    + Evaluate if a single streaming thread is fine
+ *  - Add application driven request (snapshot)
+ *  - Add framerate control
+ *  - Add buffer importation support
+ *
+ *  Requires new libcamera API:
+ *  - Add framerate negotiation support
+ *  - Add colorimetry support
+ *  - Add timestamp support
+ *  - Use unique names to select the camera devices
+ *  - Add GstVideoMeta support (strides and offsets)
+ *
  * \todo libcamera UVC drivers picks the lowest possible resolution first, this
  * should be fixed so that we get a decent resolution and framerate for the
  * role by default.