diff mbox

gst1-rtsp-server: new package

Message ID 1472820821-5130-1-git-send-email-Abhilash.Tuse@imgtec.com
State Superseded
Headers show

Commit Message

Abhilash Tuse Sept. 2, 2016, 12:53 p.m. UTC
From: Piotr Nakraszewicz <piotr.nakraszewicz@imgtec.com>

Based on patch by Phil Edworthy:
http://lists.busybox.net/pipermail/buildroot/2010-June/035777.html

Reviewed-by: Rahul Bedarkar <rahul.bedarkar@imgtec.com>
Reviewed-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma@imgtec.com>
Signed-off-by: Piotr Nakraszewicz <piotr.nakraszewicz@imgtec.com>
Signed-off-by: Abhilash Tuse <Abhilash.Tuse@imgtec.com>
---
 package/gstreamer1/Config.in                              |  1 +
 package/gstreamer1/gst1-rtsp-server/Config.in             |  9 +++++++++
 package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash |  2 ++
 package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk   | 15 +++++++++++++++
 4 files changed, 27 insertions(+)
 create mode 100644 package/gstreamer1/gst1-rtsp-server/Config.in
 create mode 100644 package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash
 create mode 100644 package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk

Comments

Thomas Petazzoni Sept. 8, 2016, 9:30 p.m. UTC | #1
Hello,

On Fri, 2 Sep 2016 18:23:41 +0530, Abhilash Tuse wrote:
> From: Piotr Nakraszewicz <piotr.nakraszewicz@imgtec.com>
> 
> Based on patch by Phil Edworthy:
> http://lists.busybox.net/pipermail/buildroot/2010-June/035777.html
> 
> Reviewed-by: Rahul Bedarkar <rahul.bedarkar@imgtec.com>
> Reviewed-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma@imgtec.com>
> Signed-off-by: Piotr Nakraszewicz <piotr.nakraszewicz@imgtec.com>
> Signed-off-by: Abhilash Tuse <Abhilash.Tuse@imgtec.com>

Thanks for your patch! I have two comments, see below.


> diff --git a/package/gstreamer1/gst1-rtsp-server/Config.in b/package/gstreamer1/gst1-rtsp-server/Config.in
> new file mode 100644
> index 0000000..5201a8d
> --- /dev/null
> +++ b/package/gstreamer1/gst1-rtsp-server/Config.in
> @@ -0,0 +1,9 @@
> +config BR2_PACKAGE_GST1_RTSP_SERVER
> +	bool "gst1-rtsp-server"
> +	select BR2_PACKAGE_GST1_PLUGINS_BASE
> +	select BR2_PACKAGE_GST1_PLUGINS_BAD
> +	select BR2_PACKAGE_GST1_PLUGINS_GOOD

Are you sure all of these are mandatory? From a quick look at the
configure.ac script, they don't seem to be mandatory, but rather be
optional dependencies. Have you tested a build with just
gstreamer1+gst1-rtsp-server ? If it works, then they are indeed
optional dependencies, in which case you want to remove those "select"
here, and instead in the .mk file do:

ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE),y)
GST1_RTSP_DEPENDENCIES += gst1-plugins-base
endif

> +++ b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk
> @@ -0,0 +1,15 @@
> +################################################################################
> +#
> +# gst1-rtsp-server
> +#
> +################################################################################
> +
> +GST1_RTSP_SERVER_VERSION = 1.8.3
> +GST1_RTSP_SERVER_SOURCE = gst-rtsp-server-$(GST1_RTSP_SERVER_VERSION).tar.xz
> +GST1_RTSP_SERVER_SITE = http://gstreamer.freedesktop.org/src/gst-rtsp-server
> +GST1_RTSP_SERVER_LICENSE = LGPLv2+
> +GST1_RTSP_SERVER_LICENSE_FILES = COPYING COPYING.LIB
> +GST1_RTSP_SERVER_INSTALL_STAGING = YES
> +GST1_RTSP_SERVER_DEPENDENCIES = gstreamer1 gst1-plugins-base gst1-plugins-bad gst1-plugins-good

In addition, libcgroup is an optional dependency of gst1-rtsp-server,
so:

ifeq ($(BR2_PACKAGE_LIBCGROUP),y)
GST1_RTSP_SERVER_DEPENDENCIES += libcgroup
endif

would be nice to have.

Could you look into these and send an updated patch? The rest of the
patch looks good.

Thanks a lot!

Thomas
Abhilash Tuse Sept. 9, 2016, 12:22 p.m. UTC | #2
Hi Thomas,

> Are you sure all of these are mandatory? From a quick look at the
> configure.ac script, they don't seem to be mandatory, but rather be
> optional dependencies.
The reason why we added this was because internally gst1-rtsp-server 
tries to create some of the elements of base and good plug-ins.

Below is test example that I tried(with just gstreamer1+gst1-rtsp-server):

# test-launch "( audiotestsrc ! audioconvert ! rtpL16pay name=pay0 )"
stream ready at rtsp://127.0.0.1:8554/test

** (test-launch:11): WARNING **: failed to create element 'rtpbin', 
check your installation


> ifeq ($(BR2_PACKAGE_LIBCGROUP),y)
> GST1_RTSP_SERVER_DEPENDENCIES += libcgroup
> endif
Thank you very much for the comments.
> ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE),y)
> GST1_RTSP_DEPENDENCIES += gst1-plugins-base
> endif
This looks good, I'll make the suggested changes and send an updated patch.

Thanks and Regards,
Abhilash

On Friday 09 September 2016 03:00 AM, Thomas Petazzoni wrote:
> Hello,
>
> On Fri, 2 Sep 2016 18:23:41 +0530, Abhilash Tuse wrote:
>> From: Piotr Nakraszewicz <piotr.nakraszewicz@imgtec.com>
>>
>> Based on patch by Phil Edworthy:
>> http://lists.busybox.net/pipermail/buildroot/2010-June/035777.html
>>
>> Reviewed-by: Rahul Bedarkar <rahul.bedarkar@imgtec.com>
>> Reviewed-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma@imgtec.com>
>> Signed-off-by: Piotr Nakraszewicz <piotr.nakraszewicz@imgtec.com>
>> Signed-off-by: Abhilash Tuse <Abhilash.Tuse@imgtec.com>
> Thanks for your patch! I have two comments, see below.
>
>
>> diff --git a/package/gstreamer1/gst1-rtsp-server/Config.in b/package/gstreamer1/gst1-rtsp-server/Config.in
>> new file mode 100644Are you sure all of these are mandatory? From a quick look at the
>> configure.ac script, they don't seem to be mandator
>>
>> index 0000000..5201a8d
>> --- /dev/null
>> +++ b/package/gstreamer1/gst1-rtsp-server/Config.in
>> @@ -0,0 +1,9 @@
>> +config BR2_PACKAGE_GST1_RTSP_SERVER
>> +	bool "gst1-rtsp-server"
>> +	select BR2_PACKAGE_GST1_PLUGINS_BASE
>> +	select BR2_PACKAGE_GST1_PLUGINS_BAD
>> +	select BR2_PACKAGE_GST1_PLUGINS_GOOD
> Are you sure all of these are mandatory? From a quick look at the
> configure.ac script, they don't seem to be mandatory, but rather be
> optional dependencies. Have you tested a build with just
> gstreamer1+gst1-rtsp-server ? If it works, then they are indeed
> optional dependencies, in which case you want to remove those "select"
> here, and instead in the .mk file do:
>
> ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE),y)
> GST1_RTSP_DEPENDENCIES += gst1-plugins-base
> endif
>
>> +++ b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk
>> @@ -0,0 +1,15 @@
>> +################################################################################
>> +#
>> +# gst1-rtsp-server
>> +#
>> +################################################################################
>> +
>> +GST1_RTSP_SERVER_VERSION = 1.8.3
>> +GST1_RTSP_SERVER_SOURCE = gst-rtsp-server-$(GST1_RTSP_SERVER_VERSION).tar.xz
>> +GST1_RTSP_SERVER_SITE = http://gstreamer.freedesktop.org/src/gst-rtsp-server
>> +GST1_RTSP_SERVER_LICENSE = LGPLv2+
>> +GST1_RTSP_SERVER_LICENSE_FILES = COPYING COPYING.LIB
>> +GST1_RTSP_SERVER_INSTALL_STAGING = YES
>> +GST1_RTSP_SERVER_DEPENDENCIES = gstreamer1 gst1-plugins-base gst1-plugins-bad gst1-plugins-good
> In addition, libcgroup is an optional dependency of gst1-rtsp-server,
> so:
>
> ifeq ($(BR2_PACKAGE_LIBCGROUP),y)
> GST1_RTSP_SERVER_DEPENDENCIES += libcgroup
> endif
>
> would be nice to have.
>
> Could you look into these and send an updated patch? The rest of the
> patch looks good.
>
> Thanks a lot!
>
> Thomas
Thomas Petazzoni Sept. 9, 2016, 1:26 p.m. UTC | #3
Hello,

On Fri, 9 Sep 2016 17:52:48 +0530, Abhilash Tuse wrote:

> > Are you sure all of these are mandatory? From a quick look at the
> > configure.ac script, they don't seem to be mandatory, but rather be
> > optional dependencies.  
> The reason why we added this was because internally gst1-rtsp-server 
> tries to create some of the elements of base and good plug-ins.
> 
> Below is test example that I tried(with just gstreamer1+gst1-rtsp-server):
> 
> # test-launch "( audiotestsrc ! audioconvert ! rtpL16pay name=pay0 )"
> stream ready at rtsp://127.0.0.1:8554/test
> 
> ** (test-launch:11): WARNING **: failed to create element 'rtpbin', 
> check your installation

Hum, ok. So it's like *some* plugins are absolutely mandatory for
gst1-rtsp-server to work properly?

If that's the case, then selecting those plugins as you did is good, as
we prefer when things work "out of the box" rather than having to
figure out the runtime dependencies by trial on error.

However, you just selected the main "base", "good" and "bad" plugin
packages, but in fact all the plugins in those packages have
sub-options. So you can build gst1-plugins-base without any plugin
selected I believe, for example. So if some plugins are absolutely
mandatory for gst1-rtsp-server to work, those plugins should be
selected.

For example, I guess the rtpbin element is provided by the
gst1-plugins-good rtp plugin, so you should select
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTP.

Thanks,

Thomas
Peter Korsgaard Sept. 9, 2016, 3:12 p.m. UTC | #4
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

Hi,

 > Hum, ok. So it's like *some* plugins are absolutely mandatory for
 > gst1-rtsp-server to work properly?

Yes, I don't think rtsp-server is usable without rtpbin.

 > If that's the case, then selecting those plugins as you did is good, as
 > we prefer when things work "out of the box" rather than having to
 > figure out the runtime dependencies by trial on error.

 > However, you just selected the main "base", "good" and "bad" plugin
 > packages, but in fact all the plugins in those packages have
 > sub-options. So you can build gst1-plugins-base without any plugin
 > selected I believe, for example. So if some plugins are absolutely
 > mandatory for gst1-rtsp-server to work, those plugins should be
 > selected.

 > For example, I guess the rtpbin element is provided by the
 > gst1-plugins-good rtp plugin, so you should select
 > BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTP.

Agreed.
diff mbox

Patch

diff --git a/package/gstreamer1/Config.in b/package/gstreamer1/Config.in
index ea35ecc..23862bd 100644
--- a/package/gstreamer1/Config.in
+++ b/package/gstreamer1/Config.in
@@ -8,6 +8,7 @@  source "package/gstreamer1/gst1-plugins-bad/Config.in"
 source "package/gstreamer1/gst1-plugins-ugly/Config.in"
 source "package/gstreamer1/gst1-imx/Config.in"
 source "package/gstreamer1/gst1-libav/Config.in"
+source "package/gstreamer1/gst1-rtsp-server/Config.in"
 source "package/gstreamer1/gst1-validate/Config.in"
 source "package/gstreamer1/gst-omx/Config.in"
 endif
diff --git a/package/gstreamer1/gst1-rtsp-server/Config.in b/package/gstreamer1/gst1-rtsp-server/Config.in
new file mode 100644
index 0000000..5201a8d
--- /dev/null
+++ b/package/gstreamer1/gst1-rtsp-server/Config.in
@@ -0,0 +1,9 @@ 
+config BR2_PACKAGE_GST1_RTSP_SERVER
+	bool "gst1-rtsp-server"
+	select BR2_PACKAGE_GST1_PLUGINS_BASE
+	select BR2_PACKAGE_GST1_PLUGINS_BAD
+	select BR2_PACKAGE_GST1_PLUGINS_GOOD
+	help
+	  RTSP server library based on GStreamer.
+
+	  http://gstreamer.freedesktop.org/
diff --git a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash
new file mode 100644
index 0000000..a30afbc
--- /dev/null
+++ b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash
@@ -0,0 +1,2 @@ 
+# From https://gstreamer.freedesktop.org/src/gst-rtsp-server/gst-rtsp-server-1.8.3.tar.xz.sha256sum
+sha256 010f06800c1c957851d1352e5ec7a8ba3ce6a857fec1b8afc7d1a9e5f53288bf  gst-rtsp-server-1.8.3.tar.xz
diff --git a/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk
new file mode 100644
index 0000000..8e3b55a
--- /dev/null
+++ b/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk
@@ -0,0 +1,15 @@ 
+################################################################################
+#
+# gst1-rtsp-server
+#
+################################################################################
+
+GST1_RTSP_SERVER_VERSION = 1.8.3
+GST1_RTSP_SERVER_SOURCE = gst-rtsp-server-$(GST1_RTSP_SERVER_VERSION).tar.xz
+GST1_RTSP_SERVER_SITE = http://gstreamer.freedesktop.org/src/gst-rtsp-server
+GST1_RTSP_SERVER_LICENSE = LGPLv2+
+GST1_RTSP_SERVER_LICENSE_FILES = COPYING COPYING.LIB
+GST1_RTSP_SERVER_INSTALL_STAGING = YES
+GST1_RTSP_SERVER_DEPENDENCIES = gstreamer1 gst1-plugins-base gst1-plugins-bad gst1-plugins-good
+
+$(eval $(autotools-package))