[libcamera-devel,v3,27/27] gst: Document dependencies and quick usage

Message ID 20200306202637.525587-28-nicolas@ndufresne.ca
State Accepted
Headers show
Series
  • GStreamer Element for libcamera
Related show

Commit Message

Nicolas Dufresne March 6, 2020, 8:26 p.m. UTC
From: Nicolas Dufresne <nicolas.dufresne@collabora.com>

This is a quick startup guide allowing to build and use the GStreamer element
from the libcamera source tree.

Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
---
 README.rst | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

Comments

Nicolas Dufresne March 6, 2020, 8:30 p.m. UTC | #1
Le vendredi 06 mars 2020 à 15:26 -0500, Nicolas Dufresne a écrit :
> From: Nicolas Dufresne <nicolas.dufresne@collabora.com>
> 
> This is a quick startup guide allowing to build and use the GStreamer element
> from the libcamera source tree.
> 
> Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
> ---
>  README.rst | 19 +++++++++++++++++++
>  1 file changed, 19 insertions(+)
> 
> diff --git a/README.rst b/README.rst
> index fa14113..a06e444 100644
> --- a/README.rst
> +++ b/README.rst
> @@ -64,4 +64,23 @@ for qcam: [optional]
>  for documentation: [optional]
>  	python3-sphinx doxygen
>  
> +for gstreamer: [optional]
> +	libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
> +
> +Using GStreamer plugin
> +~~~~~~~~~~~~~~~~~~~~~~
> +
> +To use GStreamer plugin from source tree, set the following environment so
> that
> +GStreamer can find it.
> +
> +  export GST_PLUGIN_PATH=$(pwd)/build/src/gstreamer
> +
> +The debugging tool `gst-launch-1.0` can be used to construct and pipeline and
> test
> +it. The following pipeline will stream from the camera named "Camera 1" onto
> the
> +default video display element on your system.
> +
> +.. code::
> +
> +  gst-launch-1.0 libcamerasrc name="Camera 1" ! videoconvert ! autovideosink

Crap, the property is camera-name= (not name) :-(. I'll let you review, maybe
you could just fixup this one for me (if we don't need a v4).

> +
>  .. section-end-getting-started
Laurent Pinchart March 6, 2020, 9:21 p.m. UTC | #2
Hi Nicolas,

Thank you for the patch.

On Fri, Mar 06, 2020 at 03:30:07PM -0500, Nicolas Dufresne wrote:
> Le vendredi 06 mars 2020 à 15:26 -0500, Nicolas Dufresne a écrit :
> > From: Nicolas Dufresne <nicolas.dufresne@collabora.com>
> > 
> > This is a quick startup guide allowing to build and use the GStreamer element
> > from the libcamera source tree.
> > 
> > Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
> > ---
> >  README.rst | 19 +++++++++++++++++++
> >  1 file changed, 19 insertions(+)
> > 
> > diff --git a/README.rst b/README.rst
> > index fa14113..a06e444 100644
> > --- a/README.rst
> > +++ b/README.rst
> > @@ -64,4 +64,23 @@ for qcam: [optional]
> >  for documentation: [optional]
> >  	python3-sphinx doxygen
> >  
> > +for gstreamer: [optional]
> > +	libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
> > +
> > +Using GStreamer plugin
> > +~~~~~~~~~~~~~~~~~~~~~~
> > +
> > +To use GStreamer plugin from source tree, set the following environment so that
> > +GStreamer can find it.
> > +
> > +  export GST_PLUGIN_PATH=$(pwd)/build/src/gstreamer
> > +
> > +The debugging tool `gst-launch-1.0` can be used to construct and pipeline and test
> > +it. The following pipeline will stream from the camera named "Camera 1" onto  the
> > +default video display element on your system.
> > +
> > +.. code::
> > +
> > +  gst-launch-1.0 libcamerasrc name="Camera 1" ! videoconvert ! autovideosink
> 
> Crap, the property is camera-name= (not name) :-(.

With this fixed,

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

We will then likely rework the documentation to move it to
Documentation.

> I'll let you review, maybe
> you could just fixup this one for me (if we don't need a v4).

There's another minor issues with a s/NULL/nullptr/, nothing that calls
for a v4. I can fix when applying, or make the fixes, collect the tags
and give me a branch I can pull. Up to you.

> > +
> >  .. section-end-getting-started
Nicolas Dufresne March 6, 2020, 9:35 p.m. UTC | #3
Le vendredi 06 mars 2020 à 23:21 +0200, Laurent Pinchart a écrit :
> Hi Nicolas,
> 
> Thank you for the patch.
> 
> On Fri, Mar 06, 2020 at 03:30:07PM -0500, Nicolas Dufresne wrote:
> > Le vendredi 06 mars 2020 à 15:26 -0500, Nicolas Dufresne a écrit :
> > > From: Nicolas Dufresne <nicolas.dufresne@collabora.com>
> > > 
> > > This is a quick startup guide allowing to build and use the GStreamer
> > > element
> > > from the libcamera source tree.
> > > 
> > > Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
> > > ---
> > >  README.rst | 19 +++++++++++++++++++
> > >  1 file changed, 19 insertions(+)
> > > 
> > > diff --git a/README.rst b/README.rst
> > > index fa14113..a06e444 100644
> > > --- a/README.rst
> > > +++ b/README.rst
> > > @@ -64,4 +64,23 @@ for qcam: [optional]
> > >  for documentation: [optional]
> > >  	python3-sphinx doxygen
> > >  
> > > +for gstreamer: [optional]
> > > +	libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
> > > +
> > > +Using GStreamer plugin
> > > +~~~~~~~~~~~~~~~~~~~~~~
> > > +
> > > +To use GStreamer plugin from source tree, set the following environment
> > > so that
> > > +GStreamer can find it.
> > > +
> > > +  export GST_PLUGIN_PATH=$(pwd)/build/src/gstreamer
> > > +
> > > +The debugging tool `gst-launch-1.0` can be used to construct and pipeline
> > > and test
> > > +it. The following pipeline will stream from the camera named "Camera 1"
> > > onto  the
> > > +default video display element on your system.
> > > +
> > > +.. code::
> > > +
> > > +  gst-launch-1.0 libcamerasrc name="Camera 1" ! videoconvert !
> > > autovideosink
> > 
> > Crap, the property is camera-name= (not name) :-(.
> 
> With this fixed,
> 
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> 
> We will then likely rework the documentation to move it to
> Documentation.
> 
> > I'll let you review, maybe
> > you could just fixup this one for me (if we don't need a v4).
> 
> There's another minor issues with a s/NULL/nullptr/, nothing that calls
> for a v4. I can fix when applying, or make the fixes, collect the tags
> and give me a branch I can pull. Up to you.

I've applied the last reviewed-by, fixed this NULL/nullptr (which apparent was
fixed later in the wrong patch, sorry) and fixed the documentation for the
camera-name property. You can pull from here (see gstreamer-v3 for the submitted
set, just in case).

  https://gitlab.collabora.com/nicolas/libcamera.git gstreamer-v3-reviewed

> 
> > > +
> > >  .. section-end-getting-started
Laurent Pinchart March 6, 2020, 11:13 p.m. UTC | #4
Hi Nicolas,

On Fri, Mar 06, 2020 at 04:35:33PM -0500, Nicolas Dufresne wrote:
> Le vendredi 06 mars 2020 à 23:21 +0200, Laurent Pinchart a écrit :
> > On Fri, Mar 06, 2020 at 03:30:07PM -0500, Nicolas Dufresne wrote:
> >> Le vendredi 06 mars 2020 à 15:26 -0500, Nicolas Dufresne a écrit :
> >>> From: Nicolas Dufresne <nicolas.dufresne@collabora.com>
> >>> 
> >>> This is a quick startup guide allowing to build and use the GStreamer
> >>> element
> >>> from the libcamera source tree.
> >>> 
> >>> Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
> >>> ---
> >>>  README.rst | 19 +++++++++++++++++++
> >>>  1 file changed, 19 insertions(+)
> >>> 
> >>> diff --git a/README.rst b/README.rst
> >>> index fa14113..a06e444 100644
> >>> --- a/README.rst
> >>> +++ b/README.rst
> >>> @@ -64,4 +64,23 @@ for qcam: [optional]
> >>>  for documentation: [optional]
> >>>  	python3-sphinx doxygen
> >>>  
> >>> +for gstreamer: [optional]
> >>> +	libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
> >>> +
> >>> +Using GStreamer plugin
> >>> +~~~~~~~~~~~~~~~~~~~~~~
> >>> +
> >>> +To use GStreamer plugin from source tree, set the following environment
> >>> so that
> >>> +GStreamer can find it.
> >>> +
> >>> +  export GST_PLUGIN_PATH=$(pwd)/build/src/gstreamer
> >>> +
> >>> +The debugging tool `gst-launch-1.0` can be used to construct and pipeline
> >>> and test
> >>> +it. The following pipeline will stream from the camera named "Camera 1"
> >>> onto  the
> >>> +default video display element on your system.
> >>> +
> >>> +.. code::
> >>> +
> >>> +  gst-launch-1.0 libcamerasrc name="Camera 1" ! videoconvert !
> >>> autovideosink
> >> 
> >> Crap, the property is camera-name= (not name) :-(.
> > 
> > With this fixed,
> > 
> > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > 
> > We will then likely rework the documentation to move it to
> > Documentation.
> > 
> >> I'll let you review, maybe
> >> you could just fixup this one for me (if we don't need a v4).
> > 
> > There's another minor issues with a s/NULL/nullptr/, nothing that calls
> > for a v4. I can fix when applying, or make the fixes, collect the tags
> > and give me a branch I can pull. Up to you.
> 
> I've applied the last reviewed-by, fixed this NULL/nullptr (which apparent was
> fixed later in the wrong patch, sorry) and fixed the documentation for the
> camera-name property. You can pull from here (see gstreamer-v3 for the submitted
> set, just in case).
> 
>   https://gitlab.collabora.com/nicolas/libcamera.git gstreamer-v3-reviewed

Thank you.

This unfortunately fails to compile with clang :-S I've sent "[PATCH]
gst: Silence -Wunused-function warning for older GLib versions" that
should fix the issue. Could you pleas review it ?

I think it would be best to squash it with the first patch in this
series to avoid bisection breakages. Would you mind doing so in your
branch ?

> >>> +
> >>>  .. section-end-getting-started

Patch

diff --git a/README.rst b/README.rst
index fa14113..a06e444 100644
--- a/README.rst
+++ b/README.rst
@@ -64,4 +64,23 @@  for qcam: [optional]
 for documentation: [optional]
 	python3-sphinx doxygen
 
+for gstreamer: [optional]
+	libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
+
+Using GStreamer plugin
+~~~~~~~~~~~~~~~~~~~~~~
+
+To use GStreamer plugin from source tree, set the following environment so that
+GStreamer can find it.
+
+  export GST_PLUGIN_PATH=$(pwd)/build/src/gstreamer
+
+The debugging tool `gst-launch-1.0` can be used to construct and pipeline and test
+it. The following pipeline will stream from the camera named "Camera 1" onto the
+default video display element on your system.
+
+.. code::
+
+  gst-launch-1.0 libcamerasrc name="Camera 1" ! videoconvert ! autovideosink
+
 .. section-end-getting-started