gst1-libav: switch to unbundled
PATCH 1/2 gst1-libav: switch to unbundled
It avoids the crazy in handling all of the ffmpeg options here as well, and potentially avoids target code duplication, hence resulting in a size reduction.
--- package/gstreamer1/gst1-libav/Config.in | 2 + package/gstreamer1/gst1-libav/gst1-libav.mk | 79 ++--------------------------- 2 files changed, 7 insertions(+), 74 deletions(-)
package/gstreamer1/gst1-libav/Config.in +2 -0
@@ -1,5 +1,7 @@ config BR2_PACKAGE_GST1_LIBAV bool "gst1-libav" + select BR2_PACKAGE_FFMPEG + select BR2_PACKAGE_FFMPEG_SWSCALE select BR2_PACKAGE_GST1_PLUGINS_BASE help GStreamer plugin (formerly gst-ffmpeg).
package/gstreamer1/gst1-libav/gst1-libav.mk +5 -74
84 lines not on this page · raw message
Signature · 1 line
2.7.3
PATCH 2/2 gst1-libav: add license info
Now that we use unbundled ffmpeg the licensing becomes much easier. Relevant code is under ext/*, which according to COPYING and comments is GPLv2+, except for ext/libswscale/gstffmpegscale.c which is LGPLv2+ - however that's not built/used when using system ffmpeg.
The code under gst-libs/ is the bundled ffmpeg itself.
Tests are under LGPLv2+ as well but we don't build them since we disabled gst-check support in the gstreamer1 package.
--- package/gstreamer1/gst1-libav/gst1-libav.mk | 2 ++ 1 file changed, 2 insertions(+)
package/gstreamer1/gst1-libav/gst1-libav.mk +2 -0
@@ -12,5 +12,7 @@ GST1_LIBAV_DEPENDENCIES = \ host-pkgconf ffmpeg gstreamer1 gst1-plugins-base \ $(if $(BR2_PACKAGE_BZIP2),bzip2) \ $(if $(BR2_PACKAGE_XZ),xz) +GST1_LIBAV_LICENSE = GPLv2+ +GST1_LIBAV_LICENSE_FILES = COPYING $(eval $(autotools-package))
Signature · 1 line
2.7.3
PATCH 2/2 gst1-libav: add license info
Quoted 4 lines · Gustavo Zacarias
Now that we use unbundled ffmpeg the licensing becomes much easier. Relevant code is under ext/*, which according to COPYING and comments is GPLv2+, except for
ext/libswscale/gstffmpegscale.cwhich is LGPLv2+ - however that's not built/used when using system ffmpeg.
AFAICS it's also not built with the bundled ffmpeg.
Quoted 6 lines
The code under gst-libs/ is the bundled ffmpeg itself.
Tests are under LGPLv2+ as well but we don't build them since we disabled gst-check support in the gstreamer1 package.
Signed-off-by Gustavo Zacarias <[email protected]>
Regards,
Arnout
Quoted 17 lines
--- package/gstreamer1/gst1-libav/gst1-libav.mk | 2 ++ 1 file changed, 2 insertions(+)package/gstreamer1/gst1-libav/gst1-libav.mk +2
-0@@ -12,5 +12,7 @@ GST1_LIBAV_DEPENDENCIES = \ host-pkgconf ffmpeg gstreamer1 gst1-plugins-base \ $(if $(BR2_PACKAGE_BZIP2),bzip2) \ $(if $(BR2_PACKAGE_XZ),xz) +GST1_LIBAV_LICENSE = GPLv2+ +GST1_LIBAV_LICENSE_FILES = COPYING $(eval $(autotools-package))
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
Thomas Petazzoni
AppliedPATCH 2/2 gst1-libav: add license info
In reply to Gustavo ZacariasHello,
Quoted 7 lines · Gustavo Zacarias
Now that we use unbundled ffmpeg the licensing becomes much easier. Relevant code is under ext/*, which according to COPYING and comments is GPLv2+, except for
ext/libswscale/gstffmpegscale.cwhich is LGPLv2+ - however that's not built/used when using system ffmpeg.The code under gst-libs/ is the bundled ffmpeg itself.
Quoted 7 lines
Tests are under LGPLv2+ as well but we don't build them since we disabled gst-check support in the gstreamer1 package.
Signed-off-by Gustavo Zacarias <[email protected]>--- package/gstreamer1/gst1-libav/gst1-libav.mk | 2 ++ 1 file changed, 2 insertions(+)
Applied to master, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 1/2 gst1-libav: switch to unbundled
In reply to Gustavo ZacariasQuoted 15 lines · Gustavo Zacarias
It avoids the crazy in handling all of the ffmpeg options here as well, and potentially avoids target code duplication, hence resulting in a size reduction.
Signed-off-by Gustavo Zacarias <[email protected]>--- package/gstreamer1/gst1-libav/Config.in | 2 + package/gstreamer1/gst1-libav/gst1-libav.mk | 79 ++--------------------------- 2 files changed, 7 insertions(+), 74 deletions(-)package/gstreamer1/gst1-libav/Config.in +0
-0
package/gstreamer1/gst1-libav/Config.in line 7
Quoted 7 lines
package/gstreamer1/gst1-libav/Config.in +2
-0@@ -1,5 +1,7 @@ config BR2_PACKAGE_GST1_LIBAV bool "gst1-libav" + select BR2_PACKAGE_FFMPEG + select BR2_PACKAGE_FFMPEG_SWSCALE select BR2_PACKAGE_GST1_PLUGINS_BASE help GStreamer plugin (formerly gst-ffmpeg).
It would be good to extend the help text with something like:
The codecs, muxers, bitstreams and filters to build can be selected in the ffmpeg package.
Also, it's a bit unfortunate that if ffmpeg is selected automatically,BR2_PACKAGE_FFMPEG_FFMPEG will be enabled by default. Well, the binary is pretty small compared to all the codecs so it doesn't matter much.
Quoted 14 lines
package/gstreamer1/gst1-libav/gst1-libav.mk +0
-6@@ -7,79 +7,10 @@ GST1_LIBAV_VERSION = 1.8.0 GST1_LIBAV_SOURCE = gst-libav-$(GST1_LIBAV_VERSION).tar.xz GST1_LIBAV_SITE = http://gstreamer.freedesktop.org/src/gst-libav -GST1_LIBAV_DEPENDENCIES = host-pkgconf gstreamer1 gst1-plugins-base -GST1_LIBAV_CONF_EXTRA_OPTS = --cross-prefix=$(TARGET_CROSS) --target-os=linux - -ifeq ($(BR2_PACKAGE_ZLIB),y) -GST1_LIBAV_CONF_EXTRA_OPTS += --enable-zlib -GST1_LIBAV_DEPENDENCIES += zlib
package/gstreamer1/gst1-libav/gst1-libav.mk line 25
Quoted 10 lines
package/gstreamer1/gst1-libav/gst1-libav.mk +0
-10-else -GST1_LIBAV_CONF_EXTRA_OPTS += --disable-zlib -endif - -ifeq ($(BR2_PACKAGE_BZIP2),y) -GST1_LIBAV_CONF_EXTRA_OPTS += --enable-bzlib -GST1_LIBAV_DEPENDENCIES += bzip2 -else -GST1_LIBAV_CONF_EXTRA_OPTS += --disable-bzlib -endif
ext/libav/Makefile.am contains a condition on HAVE_BZ2, so I think this should
be kept.
And while you're at it: there is an optional dependency on xz (HAVE_LZMA) so
it would be nice to add that too (separate patch).
[Huge snip, yeah!]
package/gstreamer1/gst1-libav/gst1-libav.mk line 14
Quoted 5 lines
package/gstreamer1/gst1-libav/gst1-libav.mk +5
-0+GST1_LIBAV_CONF_OPTS = --with-system-libav +GST1_LIBAV_DEPENDENCIES = \ + host-pkgconf ffmpeg gstreamer1 gst1-plugins-base \ + $(if $(BR2_PACKAGE_BZIP2),bzip2) \ + $(if $(BR2_PACKAGE_XZ),xz)
Oops, here it is!
Small nit: I prefer a single dependency per line, it's a bit more verbose but
easier to read IMHO.
Since all my comments are actually addressed already:
Regards,
Arnout
Quoted 3 lines
package/gstreamer1/gst1-libav/gst1-libav.mk +0
-0$(eval $(autotools-package))
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
PATCH 1/2 gst1-libav: switch to unbundled
Arnout Vandecappelle <[email protected]> wrote in
news:56FC33CA.1010502 at mind.be:
Quoted 3 lines
Also, it's a bit unfortunate that if ffmpeg is selected automatically,
BR2_PACKAGE_FFMPEG_FFMPEGwill be enabled by default. Well, the binary is pretty small compared to all the codecs so it doesn't matter much.
Hi,
what about not enabling BR2_PACKAGE_FFMPEG_FFMPEG by default?
Regards, Bernd
Thomas Petazzoni
AppliedPATCH 1/2 gst1-libav: switch to unbundled
In reply to Gustavo ZacariasHello,
Quoted 9 lines · Gustavo Zacarias
It avoids the crazy in handling all of the ffmpeg options here as well, and potentially avoids target code duplication, hence resulting in a size reduction.
Signed-off-by Gustavo Zacarias <[email protected]>--- package/gstreamer1/gst1-libav/Config.in | 2 + package/gstreamer1/gst1-libav/gst1-libav.mk | 79 ++--------------------------- 2 files changed, 7 insertions(+), 74 deletions(-)
Applied to master, after tweaking the help text as suggested by Arnout. Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com