[v4,2/8] gst-plugins-${base, good, bad, ugly}: bump to 1.14.0

Message ID 20180322173220.31791-2-aduskett@gmail.com
State Superseded, archived
Headers show
Series
  • [v4,1/8] gstreamer1: bump to 1.14.0
Related show

Commit Message

Adam Duskett March 22, 2018, 5:32 p.m.
These are grouped together because several plugins have been re-arranged and
there is no way to individually update each plugin package.

Changes:

Add the following to gst1-plugins-base and remove them from plugins-bad:
 - opengl
 - gles2
 - glx
 - egl
 - x11
 - wayland
 - dispmanx
 - audiomixer

Add the following to plugins-good and remove them from plugins-ugly:
 - lame
 - mpg123

moved --disable-qt from plugins-bad to plugins-good

Also add hashes for the license files.

Signed-off-by: Adam Duskett <aduskett@gmail.com>
---
Changes v1 -> v2:
  - moved --disable-qt from plugins-bad to plugins-good (martin)

Changes v2 -> v3:
  - Removed wayland references from plugins-bad (Peter)
  - Added missing BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOMIXER to
    plugins-base (Peter)
  - Updated commit message with --disable-qt explination (Martin)

Changes v3 -> v4:
  - Readded missing --disable-qt option to gst1-plugins-good (Martin)

 package/gstreamer1/gst1-plugins-bad/Config.in      | 147 +--------------------
 .../gst1-plugins-bad/gst1-plugins-bad.hash         |   5 +-
 .../gst1-plugins-bad/gst1-plugins-bad.mk           |  57 +-------
 package/gstreamer1/gst1-plugins-base/Config.in     | 130 ++++++++++++++++++
 .../gst1-plugins-base/gst1-plugins-base.hash       |   5 +-
 .../gst1-plugins-base/gst1-plugins-base.mk         |  63 ++++++++-
 package/gstreamer1/gst1-plugins-good/Config.in     |  12 ++
 .../gst1-plugins-good/gst1-plugins-good.hash       |   5 +-
 .../gst1-plugins-good/gst1-plugins-good.mk         |  20 ++-
 .../gst1-plugins-ugly/gst1-plugins-ugly.hash       |   5 +-
 .../gst1-plugins-ugly/gst1-plugins-ugly.mk         |  16 +--
 11 files changed, 238 insertions(+), 227 deletions(-)

Comments

Peter Seiderer March 22, 2018, 10:55 p.m. | #1
Hello Adam,

On Thu, 22 Mar 2018 13:32:14 -0400, Adam Duskett <aduskett@gmail.com> wrote:

> These are grouped together because several plugins have been re-arranged and
> there is no way to individually update each plugin package.
> 
> Changes:
> 
> Add the following to gst1-plugins-base and remove them from plugins-bad:
>  - opengl
>  - gles2
>  - glx
>  - egl
>  - x11
>  - wayland

This still contradicts your own statement [1]:

  Not entirely! There is --enable-wayland now in both base AND bad!

>  - dispmanx
>  - audiomixer
> 
> Add the following to plugins-good and remove them from plugins-ugly:
>  - lame
>  - mpg123
> 
> moved --disable-qt from plugins-bad to plugins-good
> 
> Also add hashes for the license files.
> 
> Signed-off-by: Adam Duskett <aduskett@gmail.com>
> ---
> Changes v1 -> v2:
>   - moved --disable-qt from plugins-bad to plugins-good (martin)
> 
> Changes v2 -> v3:
>   - Removed wayland references from plugins-bad (Peter)

No, see suggestion from [2]:

  I think there is a difference, the bad/wayland option enables extra gstreamer
  plugins/elements, the base/wayland opton enables no extra plugins/elements but
  enables wayland support in the qt/gtk plugins (did not look further if it
  results only in wayland support in some elements or extra elements in the same
  plugin library), in case it enables only wayland support, I think no
  user visible option is needed (if a user visible option is needed there is
  definitely a change in option name and help text needed)

Regards,
Peter

[1] http://lists.busybox.net/pipermail/buildroot/2018-March/216301.html
[2] http://lists.busybox.net/pipermail/buildroot/2018-March/216317.html

>   - Added missing BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOMIXER to
>     plugins-base (Peter)
>   - Updated commit message with --disable-qt explination (Martin)
> 
> Changes v3 -> v4:
>   - Readded missing --disable-qt option to gst1-plugins-good (Martin)
> 
>  package/gstreamer1/gst1-plugins-bad/Config.in      | 147 +--------------------
>  .../gst1-plugins-bad/gst1-plugins-bad.hash         |   5 +-
>  .../gst1-plugins-bad/gst1-plugins-bad.mk           |  57 +-------
>  package/gstreamer1/gst1-plugins-base/Config.in     | 130 ++++++++++++++++++
>  .../gst1-plugins-base/gst1-plugins-base.hash       |   5 +-
>  .../gst1-plugins-base/gst1-plugins-base.mk         |  63 ++++++++-
>  package/gstreamer1/gst1-plugins-good/Config.in     |  12 ++
>  .../gst1-plugins-good/gst1-plugins-good.hash       |   5 +-
>  .../gst1-plugins-good/gst1-plugins-good.mk         |  20 ++-
>  .../gst1-plugins-ugly/gst1-plugins-ugly.hash       |   5 +-
>  .../gst1-plugins-ugly/gst1-plugins-ugly.mk         |  16 +--
>  11 files changed, 238 insertions(+), 227 deletions(-)
> 
> diff --git a/package/gstreamer1/gst1-plugins-bad/Config.in b/package/gstreamer1/gst1-plugins-bad/Config.in
> index 7e166e43a1..3284b07b97 100644
> --- a/package/gstreamer1/gst1-plugins-bad/Config.in
> +++ b/package/gstreamer1/gst1-plugins-bad/Config.in
> @@ -9,134 +9,6 @@ menuconfig BR2_PACKAGE_GST1_PLUGINS_BAD
>  
>  if BR2_PACKAGE_GST1_PLUGINS_BAD
>  
> -comment "libraries with external dependencies"
> -
> -menuconfig BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL
> -	bool "opengl"
> -	depends on BR2_PACKAGE_HAS_LIBGL || BR2_PACKAGE_HAS_LIBGLES
> -
> -if BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL
> -
> -config BR2_PACKAGE_GST1_PLUGINS_BAD_HAS_LIB_OPENGL
> -	def_bool BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_WINDOW
> -
> -comment "The opengl library needs an API, a platform and a window system"
> -	depends on !BR2_PACKAGE_GST1_PLUGINS_BAD_HAS_LIB_OPENGL
> -
> -comment "APIs"
> -
> -config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_API
> -	bool
> -
> -config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_OPENGL
> -	bool "opengl"
> -	default y
> -	depends on BR2_PACKAGE_HAS_LIBGL
> -	select BR2_PACKAGE_LIBGLU
> -	select BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_API
> -
> -comment "opengl needs an OpenGL backend"
> -	depends on !BR2_PACKAGE_HAS_LIBGL
> -
> -config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_GLES2
> -	bool "gles2"
> -	default y
> -	depends on BR2_PACKAGE_HAS_LIBGLES
> -	select BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_API
> -
> -comment "gles2 needs an OpenGL ES backend"
> -	depends on !BR2_PACKAGE_HAS_LIBGLES
> -
> -comment "Platforms"
> -
> -config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_PLATFORM
> -	bool
> -
> -config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_GLX
> -	bool "glx"
> -	default y
> -	depends on BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_OPENGL
> -	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR # mesa needs big X
> -	depends on !BR2_PACKAGE_RPI_USERLAND # x11
> -	select BR2_PACKAGE_XLIB_LIBXRENDER
> -	select BR2_PACKAGE_XPROTO_GLPROTO
> -	select BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_X11
> -	select BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_PLATFORM
> -	help
> -	  OpenGL Extension to the X Window System
> -
> -comment "glx not supported with rpi-userland"
> -	depends on BR2_PACKAGE_RPI_USERLAND
> -
> -comment "glx needs the opengl API and modular X.org"
> -	depends on !BR2_PACKAGE_RPI_USERLAND && \
> -		(!BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_OPENGL || \
> -		!BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR)
> -
> -config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_EGL
> -	bool "egl"
> -	default y
> -	depends on BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_API
> -	depends on BR2_PACKAGE_HAS_LIBEGL
> -	select BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_PLATFORM
> -
> -comment "egl needs an API and an EGL backend"
> -	depends on !BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_API || \
> -		!BR2_PACKAGE_HAS_LIBEGL
> -
> -comment "Window systems"
> -
> -config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_WINDOW
> -	bool
> -
> -config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_X11
> -	bool "x11"
> -	default y
> -	depends on BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_PLATFORM
> -	depends on !BR2_PACKAGE_RPI_USERLAND
> -	depends on BR2_PACKAGE_XORG7
> -	select BR2_PACKAGE_XLIB_LIBX11
> -	select BR2_PACKAGE_XLIB_LIBXEXT
> -	select BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_WINDOW
> -
> -comment "x11 not supported with rpi-userland"
> -	depends on BR2_PACKAGE_RPI_USERLAND
> -
> -comment "x11 needs a platform and X.org"
> -	depends on !BR2_PACKAGE_RPI_USERLAND && \
> -		(!BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_PLATFORM || \
> -		!BR2_PACKAGE_XORG7)
> -
> -config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_WAYLAND
> -	bool "wayland"
> -	default y
> -	depends on BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_EGL
> -	depends on BR2_PACKAGE_WAYLAND
> -	select BR2_PACKAGE_WAYLAND_PROTOCOLS
> -	select BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_WINDOW
> -
> -comment "wayland needs the egl platform and the wayland package"
> -	depends on !BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_EGL || \
> -		!BR2_PACKAGE_WAYLAND
> -
> -config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_DISPMANX
> -	bool "dispmanx"
> -	default y
> -	depends on BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_EGL
> -	depends on BR2_PACKAGE_RPI_USERLAND
> -	select BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_WINDOW
> -	help
> -	  Raspberry Pi's Dispmanx windowing system
> -
> -comment "dispmanx needs the egl platform and rpi-userland"
> -	depends on !BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_EGL || \
> -		!BR2_PACKAGE_RPI_USERLAND
> -
> -endif
> -
> -comment "opengl needs an OpenGL or OpenGL ES backend"
> -	depends on !BR2_PACKAGE_HAS_LIBGL && !BR2_PACKAGE_HAS_LIBGLES
> -
>  comment "dependency-less plugins"
>  
>  config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ACCURIP
> @@ -174,11 +46,6 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOFXBAD
>  	help
>  	  Audio filters plugin
>  
> -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOMIXER
> -	bool "audiomixer"
> -	help
> -	  Audio mixer plugin
> -
>  config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOMIXMATRIX
>  	bool "audiomixmatrix"
>  	help
> @@ -513,10 +380,10 @@ comment "fdk-aac needs a toolchain w/ C++"
>  config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GL
>  	bool "gl"
>  	default y
> -	depends on BR2_PACKAGE_GST1_PLUGINS_BAD_HAS_LIB_OPENGL
> +	depends on BR2_PACKAGE_GST1_PLUGINS_BASE_HAS_LIB_OPENGL
>  
> -comment "gl needs the gst1-plugins-bad opengl library"
> -	depends on !BR2_PACKAGE_GST1_PLUGINS_BAD_HAS_LIB_OPENGL
> +comment "gl needs the gst1-plugins-base opengl library"
> +	depends on !BR2_PACKAGE_GST1_PLUGINS_BASE_HAS_LIB_OPENGL
>  
>  config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_HLS
>  	bool "hls"
> @@ -677,14 +544,6 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VOAACENC
>  	bool "voaacenc"
>  	select BR2_PACKAGE_VO_AACENC
>  
> -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WAYLAND
> -	bool "wayland"
> -	default y
> -	depends on BR2_PACKAGE_WAYLAND
> -	select BR2_PACKAGE_WAYLAND_PROTOCOLS
> -	help
> -	  Wayland Video Sink
> -
>  config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WEBP
>  	bool "webp"
>  	select BR2_PACKAGE_WEBP
> diff --git a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash
> index 752d50a56d..420b780903 100644
> --- a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash
> +++ b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash
> @@ -1,2 +1,3 @@
> -# From https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.12.4.tar.xz.sha256sum
> -sha256 0c7857be16686d5c1ba6e34bd338664d3d4599d32714a8eca5c8a41a101e2d08 gst-plugins-bad-1.12.4.tar.xz
> +# From https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.14.0.tar.xz.sha256sum
> +sha256 ed5e2badb6f2858f60017b93334d91fe58a0e3f85ed2f37f2e931416fafb4f9f gst-plugins-bad-1.14.0.tar.xz
> +sha256 0b12e4d1cd5db5f8a0c04fc98a1d8c3acc533097b6198d6644420da78d460223 COPYING
> diff --git a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk
> index 83cb94be81..7a027aef2e 100644
> --- a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk
> +++ b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk
> @@ -4,7 +4,7 @@
>  #
>  ################################################################################
>  
> -GST1_PLUGINS_BAD_VERSION = 1.12.4
> +GST1_PLUGINS_BAD_VERSION = 1.14.0
>  GST1_PLUGINS_BAD_SOURCE = gst-plugins-bad-$(GST1_PLUGINS_BAD_VERSION).tar.xz
>  GST1_PLUGINS_BAD_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-bad
>  GST1_PLUGINS_BAD_INSTALL_STAGING = YES
> @@ -58,8 +58,7 @@ GST1_PLUGINS_BAD_CONF_OPTS += \
>  	--disable-schro \
>  	--disable-zbar \
>  	--disable-spandsp \
> -	--disable-gtk3 \
> -	--disable-qt
> +	--disable-gtk3
>  
>  GST1_PLUGINS_BAD_DEPENDENCIES = gst1-plugins-base gstreamer1
>  
> @@ -72,58 +71,6 @@ GST1_PLUGINS_BAD_CONF_ENV += \
>  	-I$(STAGING_DIR)/usr/include/interface/vmcs_host/linux"
>  endif
>  
> -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_OPENGL),y)
> -GST1_PLUGINS_BAD_CONF_OPTS += --enable-opengl
> -GST1_PLUGINS_BAD_DEPENDENCIES += libgl libglu
> -else
> -GST1_PLUGINS_BAD_CONF_OPTS += --disable-opengl
> -endif
> -
> -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_GLES2),y)
> -GST1_PLUGINS_BAD_CONF_OPTS += --enable-gles2
> -GST1_PLUGINS_BAD_DEPENDENCIES += libgles
> -else
> -GST1_PLUGINS_BAD_CONF_OPTS += --disable-gles2
> -endif
> -
> -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_GLX),y)
> -GST1_PLUGINS_BAD_CONF_OPTS += --enable-glx
> -GST1_PLUGINS_BAD_DEPENDENCIES += xproto_glproto xlib_libXrender
> -else
> -GST1_PLUGINS_BAD_CONF_OPTS += --disable-glx
> -endif
> -
> -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_EGL),y)
> -GST1_PLUGINS_BAD_CONF_OPTS += --enable-egl
> -GST1_PLUGINS_BAD_DEPENDENCIES += libegl
> -GST1_PLUGINS_BAD_CONF_ENV += \
> -	CPPFLAGS="$(TARGET_CPPFLAGS) `$(PKG_CONFIG_HOST_BINARY) --cflags egl`" \
> -	LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs egl`"
> -else
> -GST1_PLUGINS_BAD_CONF_OPTS += --disable-egl
> -endif
> -
> -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_X11),y)
> -GST1_PLUGINS_BAD_CONF_OPTS += --enable-x11
> -GST1_PLUGINS_BAD_DEPENDENCIES += xlib_libX11 xlib_libXext
> -else
> -GST1_PLUGINS_BAD_CONF_OPTS += --disable-x11
> -endif
> -
> -ifneq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_WAYLAND)$(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WAYLAND),)
> -GST1_PLUGINS_BAD_CONF_OPTS += --enable-wayland
> -GST1_PLUGINS_BAD_DEPENDENCIES += wayland wayland-protocols
> -else
> -GST1_PLUGINS_BAD_CONF_OPTS += --disable-wayland
> -endif
> -
> -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_DISPMANX),y)
> -GST1_PLUGINS_BAD_CONF_OPTS += --enable-dispmanx
> -GST1_PLUGINS_BAD_DEPENDENCIES += rpi-userland
> -else
> -GST1_PLUGINS_BAD_CONF_OPTS += --disable-dispmanx
> -endif
> -
>  ifeq ($(BR2_PACKAGE_ORC),y)
>  GST1_PLUGINS_BAD_DEPENDENCIES += orc
>  GST1_PLUGINS_BAD_CONF_OPTS += --enable-orc
> diff --git a/package/gstreamer1/gst1-plugins-base/Config.in b/package/gstreamer1/gst1-plugins-base/Config.in
> index 6b08b68cf2..531fac4f47 100644
> --- a/package/gstreamer1/gst1-plugins-base/Config.in
> +++ b/package/gstreamer1/gst1-plugins-base/Config.in
> @@ -28,6 +28,11 @@ config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOCONVERT
>  	help
>  	  Convert audio to different formats
>  
> +config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOMIXER
> +	bool "audiomixer"
> +	help
> +	  Audio mixer plugin
> +
>  config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORATE
>  	bool "audiorate"
>  	help
> @@ -111,6 +116,131 @@ config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VOLUME
>  
>  comment "plugins with external dependencies"
>  
> +menuconfig BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL
> +	bool "opengl"
> +	depends on BR2_PACKAGE_HAS_LIBGL || BR2_PACKAGE_HAS_LIBGLES
> +
> +if BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL
> +
> +config BR2_PACKAGE_GST1_PLUGINS_BASE_HAS_LIB_OPENGL
> +	def_bool BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_WINDOW
> +
> +comment "The opengl library needs an API, a platform and a window system"
> +	depends on !BR2_PACKAGE_GST1_PLUGINS_BASE_HAS_LIB_OPENGL
> +
> +comment "APIs"
> +
> +config BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_API
> +	bool
> +
> +config BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_OPENGL
> +	bool "opengl"
> +	default y
> +	depends on BR2_PACKAGE_HAS_LIBGL
> +	select BR2_PACKAGE_LIBGLU
> +	select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_API
> +
> +comment "opengl needs an OpenGL backend"
> +	depends on !BR2_PACKAGE_HAS_LIBGL
> +
> +config BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLES2
> +	bool "gles2"
> +	default y
> +	depends on BR2_PACKAGE_HAS_LIBGLES
> +	select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_API
> +
> +comment "gles2 needs an OpenGL ES backend"
> +	depends on !BR2_PACKAGE_HAS_LIBGLES
> +
> +comment "Platforms"
> +
> +config BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_PLATFORM
> +	bool
> +
> +config BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLX
> +	bool "glx"
> +	default y
> +	depends on BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_OPENGL
> +	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR # mesa needs big X
> +	depends on !BR2_PACKAGE_RPI_USERLAND # x11
> +	select BR2_PACKAGE_XLIB_LIBXRENDER
> +	select BR2_PACKAGE_XPROTO_GLPROTO
> +	select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_X11
> +	select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_PLATFORM
> +	help
> +	  OpenGL Extension to the X Window System
> +
> +comment "glx not supported with rpi-userland"
> +	depends on BR2_PACKAGE_RPI_USERLAND
> +
> +comment "glx needs the opengl API and modular X.org"
> +	depends on !BR2_PACKAGE_RPI_USERLAND && \
> +		(!BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_OPENGL || \
> +		!BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR)
> +
> +config BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_EGL
> +	bool "egl"
> +	default y
> +	depends on BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_API
> +	depends on BR2_PACKAGE_HAS_LIBEGL
> +	select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_PLATFORM
> +
> +comment "egl needs an API and an EGL backend"
> +	depends on !BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_API || \
> +		!BR2_PACKAGE_HAS_LIBEGL
> +
> +comment "Window systems"
> +
> +config BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_WINDOW
> +	bool
> +
> +config BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_X11
> +	bool "x11"
> +	default y
> +	depends on BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_PLATFORM
> +	depends on !BR2_PACKAGE_RPI_USERLAND
> +	depends on BR2_PACKAGE_XORG7
> +	select BR2_PACKAGE_XLIB_LIBX11
> +	select BR2_PACKAGE_XLIB_LIBXEXT
> +	select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_WINDOW
> +
> +comment "x11 not supported with rpi-userland"
> +	depends on BR2_PACKAGE_RPI_USERLAND
> +
> +comment "x11 needs a platform and X.org"
> +	depends on !BR2_PACKAGE_RPI_USERLAND && \
> +		(!BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_PLATFORM || \
> +		!BR2_PACKAGE_XORG7)
> +
> +config BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_WAYLAND
> +	bool "wayland"
> +	default y
> +	depends on BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_EGL
> +	depends on BR2_PACKAGE_WAYLAND
> +	select BR2_PACKAGE_WAYLAND_PROTOCOLS
> +	select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_WINDOW
> +
> +comment "wayland needs the egl platform and the wayland package"
> +	depends on !BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_EGL || \
> +		!BR2_PACKAGE_WAYLAND
> +
> +config BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_DISPMANX
> +	bool "dispmanx"
> +	default y
> +	depends on BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_EGL
> +	depends on BR2_PACKAGE_RPI_USERLAND
> +	select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_WINDOW
> +	help
> +	  Raspberry Pi's Dispmanx windowing system
> +
> +comment "dispmanx needs the egl platform and rpi-userland"
> +	depends on !BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_EGL || \
> +		!BR2_PACKAGE_RPI_USERLAND
> +endif
> +
> +comment "opengl needs an OpenGL or OpenGL ES backend"
> +	depends on !BR2_PACKAGE_HAS_LIBGL && !BR2_PACKAGE_HAS_LIBGLES
> +
>  config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA
>  	bool "alsa (mandatory for audio playback)"
>  	select BR2_PACKAGE_ALSA_LIB
> diff --git a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash
> index b935f2f6dc..bfa61780fb 100644
> --- a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash
> +++ b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash
> @@ -1,2 +1,3 @@
> -# From https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.12.4.tar.xz.sha256sum
> -sha256 4c306b03df0212f1b8903784e29bb3493319ba19ebebf13b0c56a17870292282 gst-plugins-base-1.12.4.tar.xz
> +# From https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.14.0.tar.xz.sha256sum
> +sha256 7e904660ff56e02b036cf7fdfb77a50a540828ca9d2614d69ba931772e5b6940 gst-plugins-base-1.14.0.tar.xz
> +sha256 78fb5977f177ab71cba77a4a127d29b93cb1ca5c25962204b31f183a20cf5c7a COPYING
> diff --git a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk
> index 10361ee3c6..71ea964e09 100644
> --- a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk
> +++ b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk
> @@ -4,7 +4,7 @@
>  #
>  ################################################################################
>  
> -GST1_PLUGINS_BASE_VERSION = 1.12.4
> +GST1_PLUGINS_BASE_VERSION = 1.14.0
>  GST1_PLUGINS_BASE_SOURCE = gst-plugins-base-$(GST1_PLUGINS_BASE_VERSION).tar.xz
>  GST1_PLUGINS_BASE_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-base
>  GST1_PLUGINS_BASE_INSTALL_STAGING = YES
> @@ -24,13 +24,64 @@ GST1_PLUGINS_BASE_CONF_OPTS += \
>  
>  GST1_PLUGINS_BASE_DEPENDENCIES = gstreamer1
>  
> -# These plugins are liste in the order from ./configure --help
> -
> +# These plugins are listed in the order from ./configure --help
>  ifeq ($(BR2_PACKAGE_ORC),y)
>  GST1_PLUGINS_BASE_DEPENDENCIES += orc
>  GST1_PLUGINS_BASE_CONF_OPTS += --enable-orc
>  endif
>  
> +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_OPENGL),y)
> +GST1_PLUGINS_BASE_CONF_OPTS += --enable-opengl
> +GST1_PLUGINS_BASE_DEPENDENCIES += libgl libglu
> +else
> +GST1_PLUGINS_BASE_CONF_OPTS += --disable-opengl
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLES2),y)
> +GST1_PLUGINS_BASE_CONF_OPTS += --enable-gles2
> +GST1_PLUGINS_BASE_DEPENDENCIES += libgles
> +else
> +GST1_PLUGINS_BASE_CONF_OPTS += --disable-gles2
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLX),y)
> +GST1_PLUGINS_BASE_CONF_OPTS += --enable-glx
> +GST1_PLUGINS_BASE_DEPENDENCIES += xproto_glproto xlib_libXrender
> +else
> +GST1_PLUGINS_BASE_CONF_OPTS += --disable-glx
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_EGL),y)
> +GST1_PLUGINS_BASE_CONF_OPTS += --enable-egl
> +GST1_PLUGINS_BASE_DEPENDENCIES += libegl
> +GST1_PLUGINS_BASE_CONF_ENV += \
> +	CPPFLAGS="$(TARGET_CPPFLAGS) `$(PKG_CONFIG_HOST_BINARY) --cflags egl`" \
> +	LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs egl`"
> +else
> +GST1_PLUGINS_BASE_CONF_OPTS += --disable-egl
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_X11),y)
> +GST1_PLUGINS_BASE_CONF_OPTS += --enable-x11
> +GST1_PLUGINS_BASE_DEPENDENCIES += xlib_libX11 xlib_libXext
> +else
> +GST1_PLUGINS_BASE_CONF_OPTS += --disable-x11
> +endif
> +
> +ifneq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_WAYLAND)$(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_WAYLAND),)
> +GST1_PLUGINS_BASE_CONF_OPTS += --enable-wayland
> +GST1_PLUGINS_BASE_DEPENDENCIES += wayland wayland-protocols
> +else
> +GST1_PLUGINS_BASE_CONF_OPTS += --disable-wayland
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_DISPMANX),y)
> +GST1_PLUGINS_BASE_CONF_OPTS += --enable-dispmanx
> +GST1_PLUGINS_BASE_DEPENDENCIES += rpi-userland
> +else
> +GST1_PLUGINS_BASE_CONF_OPTS += --disable-dispmanx
> +endif
> +
>  ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ADDER),y)
>  GST1_PLUGINS_BASE_CONF_OPTS += --enable-adder
>  else
> @@ -49,6 +100,12 @@ else
>  GST1_PLUGINS_BASE_CONF_OPTS += --disable-audioconvert
>  endif
>  
> +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOMIXER),y)
> +GST1_PLUGINS_BASE_CONF_OPTS += --enable-audiomixer
> +else
> +GST1_PLUGINS_BASE_CONF_OPTS += --disable-audiomixer
> +endif
> +
>  ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORATE),y)
>  GST1_PLUGINS_BASE_CONF_OPTS += --enable-audiorate
>  else
> diff --git a/package/gstreamer1/gst1-plugins-good/Config.in b/package/gstreamer1/gst1-plugins-good/Config.in
> index 097f32d779..447738fd14 100644
> --- a/package/gstreamer1/gst1-plugins-good/Config.in
> +++ b/package/gstreamer1/gst1-plugins-good/Config.in
> @@ -261,6 +261,18 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_Y4M
>  
>  comment "plugins with external dependencies"
>  
> +config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LAME
> +	bool "lame (*.mp3 audio encoder)"
> +	select BR2_PACKAGE_LAME
> +	help
> +	  Encode MP3s with LAME
> +
> +config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MPG123
> +	bool "mpg123 (*.mp3 audio)"
> +	select BR2_PACKAGE_MPG123
> +	help
> +	  mp3 decoding based on the mpg123 library
> +
>  config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_OSS
>  	bool "ossaudio (OSS audio)"
>  	help
> diff --git a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash
> index c6f6138154..999e2883cd 100644
> --- a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash
> +++ b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash
> @@ -1,2 +1,3 @@
> -# From https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.12.4.tar.xz.sha256sum
> -sha256 649f49bec60892d47ee6731b92266974c723554da1c6649f21296097715eb957 gst-plugins-good-1.12.4.tar.xz
> +# From https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.14.0.tar.xz.sha256sum
> +sha256 6afa35747d528d3ab4ed8f5eac13f7235d7d28100d6a24dd78f81ec7c0d04688 gst-plugins-good-1.14.0.tar.xz
> +sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING
> diff --git a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk
> index 53e2341586..3a1c08e5c1 100644
> --- a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk
> +++ b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk
> @@ -4,7 +4,7 @@
>  #
>  ################################################################################
>  
> -GST1_PLUGINS_GOOD_VERSION = 1.12.4
> +GST1_PLUGINS_GOOD_VERSION = 1.14.0
>  GST1_PLUGINS_GOOD_SOURCE = gst-plugins-good-$(GST1_PLUGINS_GOOD_VERSION).tar.xz
>  GST1_PLUGINS_GOOD_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-good
>  GST1_PLUGINS_GOOD_LICENSE_FILES = COPYING
> @@ -20,7 +20,8 @@ GST1_PLUGINS_GOOD_CONF_OPTS = \
>  	--disable-osx_video \
>  	--disable-aalib \
>  	--disable-aalibtest \
> -	--disable-libcaca
> +	--disable-libcaca \
> +	--disable-qt
>  
>  # Options which require currently unpackaged libraries
>  GST1_PLUGINS_GOOD_CONF_OPTS += \
> @@ -175,6 +176,21 @@ else
>  GST1_PLUGINS_GOOD_CONF_OPTS += --disable-isomp4
>  endif
>  
> +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LAME),y)
> +GST1_PLUGINS_GOOD_CONF_OPTS += --enable-lame
> +GST1_PLUGINS_GOOD_DEPENDENCIES += lame
> +else
> +GST1_PLUGINS_GOOD_CONF_OPTS += --disable-lame
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MPG123),y)
> +GST1_PLUGINS_GOOD_CONF_OPTS += --enable-mpg123
> +GST1_PLUGINS_GOOD_DEPENDENCIES += mpg123
> +else
> +GST1_PLUGINS_GOOD_CONF_OPTS += --disable-mpg123
> +endif
> +
> +
>  ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LAW),y)
>  GST1_PLUGINS_GOOD_CONF_OPTS += --enable-law
>  else
> diff --git a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash
> index d0581531d4..f942653af1 100644
> --- a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash
> +++ b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash
> @@ -1,2 +1,3 @@
> -# From https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.12.4.tar.xz.sha256sum
> -sha256 1c165b8d888ed350acd8e6ac9f6fe06508e6fcc0a3afc6ccc9fbeb30df9be522 gst-plugins-ugly-1.12.4.tar.xz
> +# From https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.14.0.tar.xz.sha256sum
> +sha256 3fb9ea5fc8a2de4b3eaec4128d71c6a2d81dd19befe1cd87cb833b98bcb542d1 gst-plugins-ugly-1.14.0.tar.xz
> +sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING
> diff --git a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk
> index af02a560a8..ca50a790a6 100644
> --- a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk
> +++ b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk
> @@ -4,7 +4,7 @@
>  #
>  ################################################################################
>  
> -GST1_PLUGINS_UGLY_VERSION = 1.12.4
> +GST1_PLUGINS_UGLY_VERSION = 1.14.0
>  GST1_PLUGINS_UGLY_SOURCE = gst-plugins-ugly-$(GST1_PLUGINS_UGLY_VERSION).tar.xz
>  GST1_PLUGINS_UGLY_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-ugly
>  GST1_PLUGINS_UGLY_LICENSE_FILES = COPYING
> @@ -70,20 +70,6 @@ else
>  GST1_PLUGINS_UGLY_CONF_OPTS += --disable-dvdread
>  endif
>  
> -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_LAME),y)
> -GST1_PLUGINS_UGLY_CONF_OPTS += --enable-lame
> -GST1_PLUGINS_UGLY_DEPENDENCIES += lame
> -else
> -GST1_PLUGINS_UGLY_CONF_OPTS += --disable-lame
> -endif
> -
> -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MPG123),y)
> -GST1_PLUGINS_UGLY_CONF_OPTS += --enable-mpg123
> -GST1_PLUGINS_UGLY_DEPENDENCIES += mpg123
> -else
> -GST1_PLUGINS_UGLY_CONF_OPTS += --disable-mpg123
> -endif
> -
>  ifeq ($(BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MPEG2DEC),y)
>  GST1_PLUGINS_UGLY_CONF_OPTS += --enable-mpeg2dec
>  GST1_PLUGINS_UGLY_DEPENDENCIES += libmpeg2
Martin Kepplinger March 28, 2018, 9:07 a.m. | #2
On 2018-03-22 23:55, Peter Seiderer wrote:
> Hello Adam,
> 
> On Thu, 22 Mar 2018 13:32:14 -0400, Adam Duskett <aduskett@gmail.com> wrote:
> 
>> These are grouped together because several plugins have been re-arranged and
>> there is no way to individually update each plugin package.
>>
>> Changes:
>>
>> Add the following to gst1-plugins-base and remove them from plugins-bad:
>>  - opengl
>>  - gles2
>>  - glx
>>  - egl
>>  - x11
>>  - wayland
> 
> This still contradicts your own statement [1]:
> 
>   Not entirely! There is --enable-wayland now in both base AND bad!
> 

Adam,

Could you have a look at this once more? How would the correct bump look
like (just to understand this)?

thanks a lot!

                               martin
Thomas Petazzoni April 10, 2018, 8:07 a.m. | #3
Hello Peter,

I talked with Adam about this gstreamer1 patch series, and apparently
your comment below isn't clear to Adam, and this explains why he hasn't
resent the patch series.

On Thu, 22 Mar 2018 23:55:37 +0100, Peter Seiderer wrote:

> > Add the following to gst1-plugins-base and remove them from plugins-bad:
> >  - opengl
> >  - gles2
> >  - glx
> >  - egl
> >  - x11
> >  - wayland  
> 
> This still contradicts your own statement [1]:
> 
>   Not entirely! There is --enable-wayland now in both base AND bad!

Indeed, the gst1-plugins-bad package still has a
--enable-wayland/--disable-wayland option:

output/build/gst1-plugins-bad-1.14.0 $ ./configure --help | grep wayland
  --disable-wayland            disable wayland sink: wayland

And in base:

output/build/gst1-plugins-base-1.14.0 $ ./configure --help | grep wayland
  --enable-wayland        Enable Wayland support (requires EGL) [default=auto]

> > Changes v2 -> v3:
> >   - Removed wayland references from plugins-bad (Peter)  
> 
> No, see suggestion from [2]:
> 
>   I think there is a difference, the bad/wayland option enables extra gstreamer
>   plugins/elements, the base/wayland opton enables no extra plugins/elements but
>   enables wayland support in the qt/gtk plugins (did not look further if it
>   results only in wayland support in some elements or extra elements in the same
>   plugin library), in case it enables only wayland support, I think no
>   user visible option is needed (if a user visible option is needed there is
>   definitely a change in option name and help text needed)

It's not entirely clear to me what are the two options doing.

In gst1-plugins-base, the --enable-wayland option requires EGL support,
and will enable some wayland related code in gst-libs/gl/. Peter, do
you understand what this does, compared to the wayland sink provided in
gst1-plugins-bad ?

In gst1-plugins-bad, the --enable-wayland option enables the build of a
wayland sink.

Best regards,

Thomas
Thomas Petazzoni April 10, 2018, 8:08 a.m. | #4
Hello,

On Thu, 22 Mar 2018 13:32:14 -0400, Adam Duskett wrote:
> These are grouped together because several plugins have been re-arranged and
> there is no way to individually update each plugin package.

The title of this commit should be:

  gst1-plugins-${base, good, bad, ugly}: bump to 1.14.0

i.e notice the gst1- prefix vs. gst-

Best regards,

Thomas
Peter Seiderer April 10, 2018, 4:28 p.m. | #5
Hello Thomas, Adam,

On Tue, 10 Apr 2018 10:07:36 +0200, Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote:

> Hello Peter,
> 
> I talked with Adam about this gstreamer1 patch series, and apparently
> your comment below isn't clear to Adam, and this explains why he hasn't
> resent the patch series.
> 
> On Thu, 22 Mar 2018 23:55:37 +0100, Peter Seiderer wrote:
> 
> > > Add the following to gst1-plugins-base and remove them from plugins-bad:
> > >  - opengl
> > >  - gles2
> > >  - glx
> > >  - egl
> > >  - x11
> > >  - wayland    
> > 
> > This still contradicts your own statement [1]:
> > 
> >   Not entirely! There is --enable-wayland now in both base AND bad!  
> 
> Indeed, the gst1-plugins-bad package still has a
> --enable-wayland/--disable-wayland option:
> 
> output/build/gst1-plugins-bad-1.14.0 $ ./configure --help | grep wayland
>   --disable-wayland            disable wayland sink: wayland

This is the 'old' one in gstreamer and buildroot and should be kept (NOT moved from bad to base)....

> 
> And in base:
> 
> output/build/gst1-plugins-base-1.14.0 $ ./configure --help | grep wayland
>   --enable-wayland        Enable Wayland support (requires EGL) [default=auto]

This is the 'new' one in gstreamer, yet without handling in buildroot, enables
wayland support in libgstgl (which is used by some plugins, but I believe not
by the waylandsink plugin from bad)...

> 
> > > Changes v2 -> v3:
> > >   - Removed wayland references from plugins-bad (Peter)    
> > 
> > No, see suggestion from [2]:
> > 
> >   I think there is a difference, the bad/wayland option enables extra gstreamer
> >   plugins/elements, the base/wayland opton enables no extra plugins/elements but
> >   enables wayland support in the qt/gtk plugins (did not look further if it
> >   results only in wayland support in some elements or extra elements in the same
> >   plugin library), in case it enables only wayland support, I think no
> >   user visible option is needed (if a user visible option is needed there is
> >   definitely a change in option name and help text needed)  
> 
> It's not entirely clear to me what are the two options doing.
> 
> In gst1-plugins-base, the --enable-wayland option requires EGL support,
> and will enable some wayland related code in gst-libs/gl/. Peter, do
> you understand what this does, compared to the wayland sink provided in
> gst1-plugins-bad ?

Yes, your short analysis is right (and sorry, I can add no more details what
is enabled/disabled in the resulting libgstgl library)....

> 
> In gst1-plugins-bad, the --enable-wayland option enables the build of a
> wayland sink.

Yes, see [1]...

Regards,
Peter

[1] https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad/html/gst-plugins-bad-plugins-waylandsink.html

> 
> Best regards,
> 
> Thomas
Thomas Petazzoni April 10, 2018, 9:40 p.m. | #6
Hello Peter,

Thanks for your feedback!

On Tue, 10 Apr 2018 18:28:13 +0200, Peter Seiderer wrote:

> > Indeed, the gst1-plugins-bad package still has a
> > --enable-wayland/--disable-wayland option:
> > 
> > output/build/gst1-plugins-bad-1.14.0 $ ./configure --help | grep wayland
> >   --disable-wayland            disable wayland sink: wayland  
> 
> This is the 'old' one in gstreamer and buildroot and should be kept (NOT moved from bad to base)....

Not sure to understand what you say here. Do you say: "This option
already exists in the current version of GStreamer packaged by
Buildroot, and continues to exist in 1.14.0 and therefore should be
kept in Buildroot, i.e BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_WAYLAND
should stay.

Is that what you meant ?

> > And in base:
> > 
> > output/build/gst1-plugins-base-1.14.0 $ ./configure --help | grep wayland
> >   --enable-wayland        Enable Wayland support (requires EGL) [default=auto]  
> 
> This is the 'new' one in gstreamer, yet without handling in buildroot, enables
> wayland support in libgstgl (which is used by some plugins, but I believe not
> by the waylandsink plugin from bad)...

For this one, do you think we need an explicit
BR2_PACKAGE_GST1_PLUGINS_BASE_WAYLAND option, or should we just pass
--enable-wayland as soon as Wayland+EGL are available, in
gst1-plugins-base.mk ?


> > In gst1-plugins-base, the --enable-wayland option requires EGL support,
> > and will enable some wayland related code in gst-libs/gl/. Peter, do
> > you understand what this does, compared to the wayland sink provided in
> > gst1-plugins-bad ?  
> 
> Yes, your short analysis is right (and sorry, I can add no more details what
> is enabled/disabled in the resulting libgstgl library)....

You *can* add more details, or you *can't* ? :-)

Best regards,

Thomas
Peter Seiderer April 11, 2018, 6:56 a.m. | #7
Hello Thomas, Adam,

> Gesendet: Dienstag, 10. April 2018 um 23:40 Uhr
> Von: "Thomas Petazzoni" <thomas.petazzoni@bootlin.com>
> An: "Peter Seiderer" <ps.report@gmx.net>
> Cc: "Adam Duskett" <aduskett@gmail.com>, buildroot@buildroot.org
> Betreff: Re: [Buildroot] [PATCH v4 2/8] gst-plugins-${base, good, bad, ugly}: bump to 1.14.0
>
> Hello Peter,
> 
> Thanks for your feedback!
> 
> On Tue, 10 Apr 2018 18:28:13 +0200, Peter Seiderer wrote:
> 
> > > Indeed, the gst1-plugins-bad package still has a
> > > --enable-wayland/--disable-wayland option:
> > > 
> > > output/build/gst1-plugins-bad-1.14.0 $ ./configure --help | grep wayland
> > >   --disable-wayland            disable wayland sink: wayland  
> > 
> > This is the 'old' one in gstreamer and buildroot and should be kept (NOT moved from bad to base)....
> 
> Not sure to understand what you say here. Do you say: "This option
> already exists in the current version of GStreamer packaged by
> Buildroot, and continues to exist in 1.14.0 and therefore should be
> kept in Buildroot, i.e BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_WAYLAND
> should stay.

I think the BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_WAYLAND could/should
move to base, but the waylandsink enabling BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WAYLAND
should stay in bad....(maybe the confusion comes from the double use of
--enable-wayland option in gst1-plugins-bad enabling wayland support in
libGstGl and/or enabling the waylandsink element)...

From package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk:

ifneq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_WAYLAND)$(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WAYLAND),)
GST1_PLUGINS_BAD_CONF_OPTS += --enable-wayland
GST1_PLUGINS_BAD_DEPENDENCIES += wayland wayland-protocols
else
GST1_PLUGINS_BAD_CONF_OPTS += --disable-wayland
endif


From package/gstreamer1/gst1-plugins-bad/Config.in:

config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_WAYLAND
        bool "wayland"
        default y
        depends on BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_EGL
        depends on BR2_PACKAGE_WAYLAND
        select BR2_PACKAGE_WAYLAND_PROTOCOLS
        select BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_WINDOW
[...]
config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WAYLAND
        bool "wayland"
        default y
        depends on BR2_PACKAGE_WAYLAND
        select BR2_PACKAGE_WAYLAND_PROTOCOLS
        help
          Wayland Video Sink

I get a running waylandsink with:

# BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_WAYLAND is not set
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WAYLAND=y

> 
> Is that what you meant ?
> 
> > > And in base:
> > > 
> > > output/build/gst1-plugins-base-1.14.0 $ ./configure --help | grep wayland
> > >   --enable-wayland        Enable Wayland support (requires EGL) [default=auto]  
> > 
> > This is the 'new' one in gstreamer, yet without handling in buildroot, enables
> > wayland support in libgstgl (which is used by some plugins, but I believe not
> > by the waylandsink plugin from bad)...
> 
> For this one, do you think we need an explicit
> BR2_PACKAGE_GST1_PLUGINS_BASE_WAYLAND option, or should we just pass
> --enable-wayland as soon as Wayland+EGL are available, in
> gst1-plugins-base.mk ?

Mhh, I believe this is what the old BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_WAYLAND option was,
my first thought was about the automatic solution, but a explicit option named
gst-gl-wayland-support/opengl-wayland-support (?) should be good...

> 
> 
> > > In gst1-plugins-base, the --enable-wayland option requires EGL support,
> > > and will enable some wayland related code in gst-libs/gl/. Peter, do
> > > you understand what this does, compared to the wayland sink provided in
> > > gst1-plugins-bad ?  
> > 
> > Yes, your short analysis is right (and sorry, I can add no more details what
> > is enabled/disabled in the resulting libgstgl library)....
> 
> You *can* add more details, or you *can't* ? :-)

*cant't* (sorry for my bad english ;-) )...

Regards,
Peter

> 
> Best regards,
> 
> Thomas
> -- 
> Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
> Embedded Linux and Kernel engineering
> https://bootlin.com
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
>
Thomas Petazzoni April 11, 2018, 9:35 a.m. | #8
Hello,

On Wed, 11 Apr 2018 08:56:56 +0200, Peter Seiderer wrote:

> > Not sure to understand what you say here. Do you say: "This option
> > already exists in the current version of GStreamer packaged by
> > Buildroot, and continues to exist in 1.14.0 and therefore should be
> > kept in Buildroot, i.e BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_WAYLAND
> > should stay.  
> 
> I think the BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_WAYLAND could/should
> move to base, but the waylandsink enabling BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WAYLAND
> should stay in bad....(maybe the confusion comes from the double use of
> --enable-wayland option in gst1-plugins-bad enabling wayland support in
> libGstGl and/or enabling the waylandsink element)...
> 
> From package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk:
> 
> ifneq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_WAYLAND)$(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WAYLAND),)
> GST1_PLUGINS_BAD_CONF_OPTS += --enable-wayland
> GST1_PLUGINS_BAD_DEPENDENCIES += wayland wayland-protocols
> else
> GST1_PLUGINS_BAD_CONF_OPTS += --disable-wayland
> endif
> 
> 
> From package/gstreamer1/gst1-plugins-bad/Config.in:
> 
> config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_WAYLAND
>         bool "wayland"
>         default y
>         depends on BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_EGL
>         depends on BR2_PACKAGE_WAYLAND
>         select BR2_PACKAGE_WAYLAND_PROTOCOLS
>         select BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_WINDOW
> [...]
> config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WAYLAND
>         bool "wayland"
>         default y
>         depends on BR2_PACKAGE_WAYLAND
>         select BR2_PACKAGE_WAYLAND_PROTOCOLS
>         help
>           Wayland Video Sink
> 
> I get a running waylandsink with:
> 
> # BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_WAYLAND is not set
> BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WAYLAND=y

Still not sure to fully understand what you're proposing. Do you think
you could take over this series, make the changes that you think are
necessary and resubmit ? This would be useful to help the discussion
move forward.

Thanks!

Thomas
Adam Duskett April 12, 2018, 1:41 p.m. | #9
All;

On Wed, Apr 11, 2018 at 5:35 AM, Thomas Petazzoni
<thomas.petazzoni@bootlin.com> wrote:
> Hello,
>
> On Wed, 11 Apr 2018 08:56:56 +0200, Peter Seiderer wrote:
>
>> > Not sure to understand what you say here. Do you say: "This option
>> > already exists in the current version of GStreamer packaged by
>> > Buildroot, and continues to exist in 1.14.0 and therefore should be
>> > kept in Buildroot, i.e BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_WAYLAND
>> > should stay.
>>
>> I think the BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_WAYLAND could/should
>> move to base, but the waylandsink enabling BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WAYLAND
>> should stay in bad....(maybe the confusion comes from the double use of
>> --enable-wayland option in gst1-plugins-bad enabling wayland support in
>> libGstGl and/or enabling the waylandsink element)...
>>
>> From package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk:
>>
>> ifneq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_WAYLAND)$(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WAYLAND),)
>> GST1_PLUGINS_BAD_CONF_OPTS += --enable-wayland
>> GST1_PLUGINS_BAD_DEPENDENCIES += wayland wayland-protocols
>> else
>> GST1_PLUGINS_BAD_CONF_OPTS += --disable-wayland
>> endif
>>
>>
>> From package/gstreamer1/gst1-plugins-bad/Config.in:
>>
>> config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_WAYLAND
>>         bool "wayland"
>>         default y
>>         depends on BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_EGL
>>         depends on BR2_PACKAGE_WAYLAND
>>         select BR2_PACKAGE_WAYLAND_PROTOCOLS
>>         select BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_WINDOW
>> [...]
>> config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WAYLAND
>>         bool "wayland"
>>         default y
>>         depends on BR2_PACKAGE_WAYLAND
>>         select BR2_PACKAGE_WAYLAND_PROTOCOLS
>>         help
>>           Wayland Video Sink
>>
>> I get a running waylandsink with:
>>
>> # BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_WAYLAND is not set
>> BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WAYLAND=y
>
> Still not sure to fully understand what you're proposing. Do you think
> you could take over this series, make the changes that you think are
> necessary and resubmit ? This would be useful to help the discussion
> move forward.
>
> Thanks!
>
> Thomas
> --
> Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
> Embedded Linux and Kernel engineering
> https://bootlin.com
I agre with Thomas here. I would really appreciate either exactly what
you had in
mind, or I could add what you want if you send me exactly what you
were thinking.

Thanks!

Adam
Peter Seiderer April 12, 2018, 7:21 p.m. | #10
Hello Adam, Thomas,

On Thu, 12 Apr 2018 09:41:31 -0400, Adam Duskett <aduskett@gmail.com> wrote:

> All;
> 
> On Wed, Apr 11, 2018 at 5:35 AM, Thomas Petazzoni
> <thomas.petazzoni@bootlin.com> wrote:
> > Hello,
> >
> > On Wed, 11 Apr 2018 08:56:56 +0200, Peter Seiderer wrote:
> >  
> >> > Not sure to understand what you say here. Do you say: "This option
> >> > already exists in the current version of GStreamer packaged by
> >> > Buildroot, and continues to exist in 1.14.0 and therefore should be
> >> > kept in Buildroot, i.e BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_WAYLAND
> >> > should stay.  
> >>
> >> I think the BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_WAYLAND could/should
> >> move to base, but the waylandsink enabling BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WAYLAND
> >> should stay in bad....(maybe the confusion comes from the double use of
> >> --enable-wayland option in gst1-plugins-bad enabling wayland support in
> >> libGstGl and/or enabling the waylandsink element)...
> >>
> >> From package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk:
> >>
> >> ifneq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_WAYLAND)$(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WAYLAND),)
> >> GST1_PLUGINS_BAD_CONF_OPTS += --enable-wayland
> >> GST1_PLUGINS_BAD_DEPENDENCIES += wayland wayland-protocols
> >> else
> >> GST1_PLUGINS_BAD_CONF_OPTS += --disable-wayland
> >> endif
> >>
> >>
> >> From package/gstreamer1/gst1-plugins-bad/Config.in:
> >>
> >> config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_WAYLAND
> >>         bool "wayland"
> >>         default y
> >>         depends on BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_EGL
> >>         depends on BR2_PACKAGE_WAYLAND
> >>         select BR2_PACKAGE_WAYLAND_PROTOCOLS
> >>         select BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_WINDOW
> >> [...]
> >> config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WAYLAND
> >>         bool "wayland"
> >>         default y
> >>         depends on BR2_PACKAGE_WAYLAND
> >>         select BR2_PACKAGE_WAYLAND_PROTOCOLS
> >>         help
> >>           Wayland Video Sink
> >>
> >> I get a running waylandsink with:
> >>
> >> # BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_WAYLAND is not set
> >> BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WAYLAND=y  
> >
> > Still not sure to fully understand what you're proposing. Do you think
> > you could take over this series, make the changes that you think are
> > necessary and resubmit ? This would be useful to help the discussion
> > move forward.
> >
> > Thanks!
> >
> > Thomas
> > --
> > Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
> > Embedded Linux and Kernel engineering
> > https://bootlin.com  
> I agre with Thomas here. I would really appreciate either exactly what
> you had in
> mind, or I could add what you want if you send me exactly what you
> were thinking.

Will try to prepare a draft patch version....

Regards,
Peter

> 
> Thanks!
> 
> Adam

Patch

diff --git a/package/gstreamer1/gst1-plugins-bad/Config.in b/package/gstreamer1/gst1-plugins-bad/Config.in
index 7e166e43a1..3284b07b97 100644
--- a/package/gstreamer1/gst1-plugins-bad/Config.in
+++ b/package/gstreamer1/gst1-plugins-bad/Config.in
@@ -9,134 +9,6 @@  menuconfig BR2_PACKAGE_GST1_PLUGINS_BAD
 
 if BR2_PACKAGE_GST1_PLUGINS_BAD
 
-comment "libraries with external dependencies"
-
-menuconfig BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL
-	bool "opengl"
-	depends on BR2_PACKAGE_HAS_LIBGL || BR2_PACKAGE_HAS_LIBGLES
-
-if BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL
-
-config BR2_PACKAGE_GST1_PLUGINS_BAD_HAS_LIB_OPENGL
-	def_bool BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_WINDOW
-
-comment "The opengl library needs an API, a platform and a window system"
-	depends on !BR2_PACKAGE_GST1_PLUGINS_BAD_HAS_LIB_OPENGL
-
-comment "APIs"
-
-config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_API
-	bool
-
-config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_OPENGL
-	bool "opengl"
-	default y
-	depends on BR2_PACKAGE_HAS_LIBGL
-	select BR2_PACKAGE_LIBGLU
-	select BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_API
-
-comment "opengl needs an OpenGL backend"
-	depends on !BR2_PACKAGE_HAS_LIBGL
-
-config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_GLES2
-	bool "gles2"
-	default y
-	depends on BR2_PACKAGE_HAS_LIBGLES
-	select BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_API
-
-comment "gles2 needs an OpenGL ES backend"
-	depends on !BR2_PACKAGE_HAS_LIBGLES
-
-comment "Platforms"
-
-config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_PLATFORM
-	bool
-
-config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_GLX
-	bool "glx"
-	default y
-	depends on BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_OPENGL
-	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR # mesa needs big X
-	depends on !BR2_PACKAGE_RPI_USERLAND # x11
-	select BR2_PACKAGE_XLIB_LIBXRENDER
-	select BR2_PACKAGE_XPROTO_GLPROTO
-	select BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_X11
-	select BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_PLATFORM
-	help
-	  OpenGL Extension to the X Window System
-
-comment "glx not supported with rpi-userland"
-	depends on BR2_PACKAGE_RPI_USERLAND
-
-comment "glx needs the opengl API and modular X.org"
-	depends on !BR2_PACKAGE_RPI_USERLAND && \
-		(!BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_OPENGL || \
-		!BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR)
-
-config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_EGL
-	bool "egl"
-	default y
-	depends on BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_API
-	depends on BR2_PACKAGE_HAS_LIBEGL
-	select BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_PLATFORM
-
-comment "egl needs an API and an EGL backend"
-	depends on !BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_API || \
-		!BR2_PACKAGE_HAS_LIBEGL
-
-comment "Window systems"
-
-config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_WINDOW
-	bool
-
-config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_X11
-	bool "x11"
-	default y
-	depends on BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_PLATFORM
-	depends on !BR2_PACKAGE_RPI_USERLAND
-	depends on BR2_PACKAGE_XORG7
-	select BR2_PACKAGE_XLIB_LIBX11
-	select BR2_PACKAGE_XLIB_LIBXEXT
-	select BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_WINDOW
-
-comment "x11 not supported with rpi-userland"
-	depends on BR2_PACKAGE_RPI_USERLAND
-
-comment "x11 needs a platform and X.org"
-	depends on !BR2_PACKAGE_RPI_USERLAND && \
-		(!BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_PLATFORM || \
-		!BR2_PACKAGE_XORG7)
-
-config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_WAYLAND
-	bool "wayland"
-	default y
-	depends on BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_EGL
-	depends on BR2_PACKAGE_WAYLAND
-	select BR2_PACKAGE_WAYLAND_PROTOCOLS
-	select BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_WINDOW
-
-comment "wayland needs the egl platform and the wayland package"
-	depends on !BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_EGL || \
-		!BR2_PACKAGE_WAYLAND
-
-config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_DISPMANX
-	bool "dispmanx"
-	default y
-	depends on BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_EGL
-	depends on BR2_PACKAGE_RPI_USERLAND
-	select BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_WINDOW
-	help
-	  Raspberry Pi's Dispmanx windowing system
-
-comment "dispmanx needs the egl platform and rpi-userland"
-	depends on !BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_EGL || \
-		!BR2_PACKAGE_RPI_USERLAND
-
-endif
-
-comment "opengl needs an OpenGL or OpenGL ES backend"
-	depends on !BR2_PACKAGE_HAS_LIBGL && !BR2_PACKAGE_HAS_LIBGLES
-
 comment "dependency-less plugins"
 
 config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ACCURIP
@@ -174,11 +46,6 @@  config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOFXBAD
 	help
 	  Audio filters plugin
 
-config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOMIXER
-	bool "audiomixer"
-	help
-	  Audio mixer plugin
-
 config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOMIXMATRIX
 	bool "audiomixmatrix"
 	help
@@ -513,10 +380,10 @@  comment "fdk-aac needs a toolchain w/ C++"
 config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GL
 	bool "gl"
 	default y
-	depends on BR2_PACKAGE_GST1_PLUGINS_BAD_HAS_LIB_OPENGL
+	depends on BR2_PACKAGE_GST1_PLUGINS_BASE_HAS_LIB_OPENGL
 
-comment "gl needs the gst1-plugins-bad opengl library"
-	depends on !BR2_PACKAGE_GST1_PLUGINS_BAD_HAS_LIB_OPENGL
+comment "gl needs the gst1-plugins-base opengl library"
+	depends on !BR2_PACKAGE_GST1_PLUGINS_BASE_HAS_LIB_OPENGL
 
 config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_HLS
 	bool "hls"
@@ -677,14 +544,6 @@  config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VOAACENC
 	bool "voaacenc"
 	select BR2_PACKAGE_VO_AACENC
 
-config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WAYLAND
-	bool "wayland"
-	default y
-	depends on BR2_PACKAGE_WAYLAND
-	select BR2_PACKAGE_WAYLAND_PROTOCOLS
-	help
-	  Wayland Video Sink
-
 config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WEBP
 	bool "webp"
 	select BR2_PACKAGE_WEBP
diff --git a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash
index 752d50a56d..420b780903 100644
--- a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash
+++ b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash
@@ -1,2 +1,3 @@ 
-# From https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.12.4.tar.xz.sha256sum
-sha256 0c7857be16686d5c1ba6e34bd338664d3d4599d32714a8eca5c8a41a101e2d08 gst-plugins-bad-1.12.4.tar.xz
+# From https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.14.0.tar.xz.sha256sum
+sha256 ed5e2badb6f2858f60017b93334d91fe58a0e3f85ed2f37f2e931416fafb4f9f gst-plugins-bad-1.14.0.tar.xz
+sha256 0b12e4d1cd5db5f8a0c04fc98a1d8c3acc533097b6198d6644420da78d460223 COPYING
diff --git a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk
index 83cb94be81..7a027aef2e 100644
--- a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk
+++ b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk
@@ -4,7 +4,7 @@ 
 #
 ################################################################################
 
-GST1_PLUGINS_BAD_VERSION = 1.12.4
+GST1_PLUGINS_BAD_VERSION = 1.14.0
 GST1_PLUGINS_BAD_SOURCE = gst-plugins-bad-$(GST1_PLUGINS_BAD_VERSION).tar.xz
 GST1_PLUGINS_BAD_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-bad
 GST1_PLUGINS_BAD_INSTALL_STAGING = YES
@@ -58,8 +58,7 @@  GST1_PLUGINS_BAD_CONF_OPTS += \
 	--disable-schro \
 	--disable-zbar \
 	--disable-spandsp \
-	--disable-gtk3 \
-	--disable-qt
+	--disable-gtk3
 
 GST1_PLUGINS_BAD_DEPENDENCIES = gst1-plugins-base gstreamer1
 
@@ -72,58 +71,6 @@  GST1_PLUGINS_BAD_CONF_ENV += \
 	-I$(STAGING_DIR)/usr/include/interface/vmcs_host/linux"
 endif
 
-ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_OPENGL),y)
-GST1_PLUGINS_BAD_CONF_OPTS += --enable-opengl
-GST1_PLUGINS_BAD_DEPENDENCIES += libgl libglu
-else
-GST1_PLUGINS_BAD_CONF_OPTS += --disable-opengl
-endif
-
-ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_GLES2),y)
-GST1_PLUGINS_BAD_CONF_OPTS += --enable-gles2
-GST1_PLUGINS_BAD_DEPENDENCIES += libgles
-else
-GST1_PLUGINS_BAD_CONF_OPTS += --disable-gles2
-endif
-
-ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_GLX),y)
-GST1_PLUGINS_BAD_CONF_OPTS += --enable-glx
-GST1_PLUGINS_BAD_DEPENDENCIES += xproto_glproto xlib_libXrender
-else
-GST1_PLUGINS_BAD_CONF_OPTS += --disable-glx
-endif
-
-ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_EGL),y)
-GST1_PLUGINS_BAD_CONF_OPTS += --enable-egl
-GST1_PLUGINS_BAD_DEPENDENCIES += libegl
-GST1_PLUGINS_BAD_CONF_ENV += \
-	CPPFLAGS="$(TARGET_CPPFLAGS) `$(PKG_CONFIG_HOST_BINARY) --cflags egl`" \
-	LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs egl`"
-else
-GST1_PLUGINS_BAD_CONF_OPTS += --disable-egl
-endif
-
-ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_X11),y)
-GST1_PLUGINS_BAD_CONF_OPTS += --enable-x11
-GST1_PLUGINS_BAD_DEPENDENCIES += xlib_libX11 xlib_libXext
-else
-GST1_PLUGINS_BAD_CONF_OPTS += --disable-x11
-endif
-
-ifneq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_WAYLAND)$(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WAYLAND),)
-GST1_PLUGINS_BAD_CONF_OPTS += --enable-wayland
-GST1_PLUGINS_BAD_DEPENDENCIES += wayland wayland-protocols
-else
-GST1_PLUGINS_BAD_CONF_OPTS += --disable-wayland
-endif
-
-ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_DISPMANX),y)
-GST1_PLUGINS_BAD_CONF_OPTS += --enable-dispmanx
-GST1_PLUGINS_BAD_DEPENDENCIES += rpi-userland
-else
-GST1_PLUGINS_BAD_CONF_OPTS += --disable-dispmanx
-endif
-
 ifeq ($(BR2_PACKAGE_ORC),y)
 GST1_PLUGINS_BAD_DEPENDENCIES += orc
 GST1_PLUGINS_BAD_CONF_OPTS += --enable-orc
diff --git a/package/gstreamer1/gst1-plugins-base/Config.in b/package/gstreamer1/gst1-plugins-base/Config.in
index 6b08b68cf2..531fac4f47 100644
--- a/package/gstreamer1/gst1-plugins-base/Config.in
+++ b/package/gstreamer1/gst1-plugins-base/Config.in
@@ -28,6 +28,11 @@  config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOCONVERT
 	help
 	  Convert audio to different formats
 
+config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOMIXER
+	bool "audiomixer"
+	help
+	  Audio mixer plugin
+
 config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORATE
 	bool "audiorate"
 	help
@@ -111,6 +116,131 @@  config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VOLUME
 
 comment "plugins with external dependencies"
 
+menuconfig BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL
+	bool "opengl"
+	depends on BR2_PACKAGE_HAS_LIBGL || BR2_PACKAGE_HAS_LIBGLES
+
+if BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL
+
+config BR2_PACKAGE_GST1_PLUGINS_BASE_HAS_LIB_OPENGL
+	def_bool BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_WINDOW
+
+comment "The opengl library needs an API, a platform and a window system"
+	depends on !BR2_PACKAGE_GST1_PLUGINS_BASE_HAS_LIB_OPENGL
+
+comment "APIs"
+
+config BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_API
+	bool
+
+config BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_OPENGL
+	bool "opengl"
+	default y
+	depends on BR2_PACKAGE_HAS_LIBGL
+	select BR2_PACKAGE_LIBGLU
+	select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_API
+
+comment "opengl needs an OpenGL backend"
+	depends on !BR2_PACKAGE_HAS_LIBGL
+
+config BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLES2
+	bool "gles2"
+	default y
+	depends on BR2_PACKAGE_HAS_LIBGLES
+	select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_API
+
+comment "gles2 needs an OpenGL ES backend"
+	depends on !BR2_PACKAGE_HAS_LIBGLES
+
+comment "Platforms"
+
+config BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_PLATFORM
+	bool
+
+config BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLX
+	bool "glx"
+	default y
+	depends on BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_OPENGL
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR # mesa needs big X
+	depends on !BR2_PACKAGE_RPI_USERLAND # x11
+	select BR2_PACKAGE_XLIB_LIBXRENDER
+	select BR2_PACKAGE_XPROTO_GLPROTO
+	select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_X11
+	select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_PLATFORM
+	help
+	  OpenGL Extension to the X Window System
+
+comment "glx not supported with rpi-userland"
+	depends on BR2_PACKAGE_RPI_USERLAND
+
+comment "glx needs the opengl API and modular X.org"
+	depends on !BR2_PACKAGE_RPI_USERLAND && \
+		(!BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_OPENGL || \
+		!BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR)
+
+config BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_EGL
+	bool "egl"
+	default y
+	depends on BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_API
+	depends on BR2_PACKAGE_HAS_LIBEGL
+	select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_PLATFORM
+
+comment "egl needs an API and an EGL backend"
+	depends on !BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_API || \
+		!BR2_PACKAGE_HAS_LIBEGL
+
+comment "Window systems"
+
+config BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_WINDOW
+	bool
+
+config BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_X11
+	bool "x11"
+	default y
+	depends on BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_PLATFORM
+	depends on !BR2_PACKAGE_RPI_USERLAND
+	depends on BR2_PACKAGE_XORG7
+	select BR2_PACKAGE_XLIB_LIBX11
+	select BR2_PACKAGE_XLIB_LIBXEXT
+	select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_WINDOW
+
+comment "x11 not supported with rpi-userland"
+	depends on BR2_PACKAGE_RPI_USERLAND
+
+comment "x11 needs a platform and X.org"
+	depends on !BR2_PACKAGE_RPI_USERLAND && \
+		(!BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_PLATFORM || \
+		!BR2_PACKAGE_XORG7)
+
+config BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_WAYLAND
+	bool "wayland"
+	default y
+	depends on BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_EGL
+	depends on BR2_PACKAGE_WAYLAND
+	select BR2_PACKAGE_WAYLAND_PROTOCOLS
+	select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_WINDOW
+
+comment "wayland needs the egl platform and the wayland package"
+	depends on !BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_EGL || \
+		!BR2_PACKAGE_WAYLAND
+
+config BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_DISPMANX
+	bool "dispmanx"
+	default y
+	depends on BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_EGL
+	depends on BR2_PACKAGE_RPI_USERLAND
+	select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_WINDOW
+	help
+	  Raspberry Pi's Dispmanx windowing system
+
+comment "dispmanx needs the egl platform and rpi-userland"
+	depends on !BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_EGL || \
+		!BR2_PACKAGE_RPI_USERLAND
+endif
+
+comment "opengl needs an OpenGL or OpenGL ES backend"
+	depends on !BR2_PACKAGE_HAS_LIBGL && !BR2_PACKAGE_HAS_LIBGLES
+
 config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA
 	bool "alsa (mandatory for audio playback)"
 	select BR2_PACKAGE_ALSA_LIB
diff --git a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash
index b935f2f6dc..bfa61780fb 100644
--- a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash
+++ b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash
@@ -1,2 +1,3 @@ 
-# From https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.12.4.tar.xz.sha256sum
-sha256 4c306b03df0212f1b8903784e29bb3493319ba19ebebf13b0c56a17870292282 gst-plugins-base-1.12.4.tar.xz
+# From https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.14.0.tar.xz.sha256sum
+sha256 7e904660ff56e02b036cf7fdfb77a50a540828ca9d2614d69ba931772e5b6940 gst-plugins-base-1.14.0.tar.xz
+sha256 78fb5977f177ab71cba77a4a127d29b93cb1ca5c25962204b31f183a20cf5c7a COPYING
diff --git a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk
index 10361ee3c6..71ea964e09 100644
--- a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk
+++ b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk
@@ -4,7 +4,7 @@ 
 #
 ################################################################################
 
-GST1_PLUGINS_BASE_VERSION = 1.12.4
+GST1_PLUGINS_BASE_VERSION = 1.14.0
 GST1_PLUGINS_BASE_SOURCE = gst-plugins-base-$(GST1_PLUGINS_BASE_VERSION).tar.xz
 GST1_PLUGINS_BASE_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-base
 GST1_PLUGINS_BASE_INSTALL_STAGING = YES
@@ -24,13 +24,64 @@  GST1_PLUGINS_BASE_CONF_OPTS += \
 
 GST1_PLUGINS_BASE_DEPENDENCIES = gstreamer1
 
-# These plugins are liste in the order from ./configure --help
-
+# These plugins are listed in the order from ./configure --help
 ifeq ($(BR2_PACKAGE_ORC),y)
 GST1_PLUGINS_BASE_DEPENDENCIES += orc
 GST1_PLUGINS_BASE_CONF_OPTS += --enable-orc
 endif
 
+ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_OPENGL),y)
+GST1_PLUGINS_BASE_CONF_OPTS += --enable-opengl
+GST1_PLUGINS_BASE_DEPENDENCIES += libgl libglu
+else
+GST1_PLUGINS_BASE_CONF_OPTS += --disable-opengl
+endif
+
+ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLES2),y)
+GST1_PLUGINS_BASE_CONF_OPTS += --enable-gles2
+GST1_PLUGINS_BASE_DEPENDENCIES += libgles
+else
+GST1_PLUGINS_BASE_CONF_OPTS += --disable-gles2
+endif
+
+ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLX),y)
+GST1_PLUGINS_BASE_CONF_OPTS += --enable-glx
+GST1_PLUGINS_BASE_DEPENDENCIES += xproto_glproto xlib_libXrender
+else
+GST1_PLUGINS_BASE_CONF_OPTS += --disable-glx
+endif
+
+ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_EGL),y)
+GST1_PLUGINS_BASE_CONF_OPTS += --enable-egl
+GST1_PLUGINS_BASE_DEPENDENCIES += libegl
+GST1_PLUGINS_BASE_CONF_ENV += \
+	CPPFLAGS="$(TARGET_CPPFLAGS) `$(PKG_CONFIG_HOST_BINARY) --cflags egl`" \
+	LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs egl`"
+else
+GST1_PLUGINS_BASE_CONF_OPTS += --disable-egl
+endif
+
+ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_X11),y)
+GST1_PLUGINS_BASE_CONF_OPTS += --enable-x11
+GST1_PLUGINS_BASE_DEPENDENCIES += xlib_libX11 xlib_libXext
+else
+GST1_PLUGINS_BASE_CONF_OPTS += --disable-x11
+endif
+
+ifneq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_WAYLAND)$(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_WAYLAND),)
+GST1_PLUGINS_BASE_CONF_OPTS += --enable-wayland
+GST1_PLUGINS_BASE_DEPENDENCIES += wayland wayland-protocols
+else
+GST1_PLUGINS_BASE_CONF_OPTS += --disable-wayland
+endif
+
+ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_DISPMANX),y)
+GST1_PLUGINS_BASE_CONF_OPTS += --enable-dispmanx
+GST1_PLUGINS_BASE_DEPENDENCIES += rpi-userland
+else
+GST1_PLUGINS_BASE_CONF_OPTS += --disable-dispmanx
+endif
+
 ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ADDER),y)
 GST1_PLUGINS_BASE_CONF_OPTS += --enable-adder
 else
@@ -49,6 +100,12 @@  else
 GST1_PLUGINS_BASE_CONF_OPTS += --disable-audioconvert
 endif
 
+ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOMIXER),y)
+GST1_PLUGINS_BASE_CONF_OPTS += --enable-audiomixer
+else
+GST1_PLUGINS_BASE_CONF_OPTS += --disable-audiomixer
+endif
+
 ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORATE),y)
 GST1_PLUGINS_BASE_CONF_OPTS += --enable-audiorate
 else
diff --git a/package/gstreamer1/gst1-plugins-good/Config.in b/package/gstreamer1/gst1-plugins-good/Config.in
index 097f32d779..447738fd14 100644
--- a/package/gstreamer1/gst1-plugins-good/Config.in
+++ b/package/gstreamer1/gst1-plugins-good/Config.in
@@ -261,6 +261,18 @@  config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_Y4M
 
 comment "plugins with external dependencies"
 
+config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LAME
+	bool "lame (*.mp3 audio encoder)"
+	select BR2_PACKAGE_LAME
+	help
+	  Encode MP3s with LAME
+
+config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MPG123
+	bool "mpg123 (*.mp3 audio)"
+	select BR2_PACKAGE_MPG123
+	help
+	  mp3 decoding based on the mpg123 library
+
 config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_OSS
 	bool "ossaudio (OSS audio)"
 	help
diff --git a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash
index c6f6138154..999e2883cd 100644
--- a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash
+++ b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash
@@ -1,2 +1,3 @@ 
-# From https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.12.4.tar.xz.sha256sum
-sha256 649f49bec60892d47ee6731b92266974c723554da1c6649f21296097715eb957 gst-plugins-good-1.12.4.tar.xz
+# From https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.14.0.tar.xz.sha256sum
+sha256 6afa35747d528d3ab4ed8f5eac13f7235d7d28100d6a24dd78f81ec7c0d04688 gst-plugins-good-1.14.0.tar.xz
+sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING
diff --git a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk
index 53e2341586..3a1c08e5c1 100644
--- a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk
+++ b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk
@@ -4,7 +4,7 @@ 
 #
 ################################################################################
 
-GST1_PLUGINS_GOOD_VERSION = 1.12.4
+GST1_PLUGINS_GOOD_VERSION = 1.14.0
 GST1_PLUGINS_GOOD_SOURCE = gst-plugins-good-$(GST1_PLUGINS_GOOD_VERSION).tar.xz
 GST1_PLUGINS_GOOD_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-good
 GST1_PLUGINS_GOOD_LICENSE_FILES = COPYING
@@ -20,7 +20,8 @@  GST1_PLUGINS_GOOD_CONF_OPTS = \
 	--disable-osx_video \
 	--disable-aalib \
 	--disable-aalibtest \
-	--disable-libcaca
+	--disable-libcaca \
+	--disable-qt
 
 # Options which require currently unpackaged libraries
 GST1_PLUGINS_GOOD_CONF_OPTS += \
@@ -175,6 +176,21 @@  else
 GST1_PLUGINS_GOOD_CONF_OPTS += --disable-isomp4
 endif
 
+ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LAME),y)
+GST1_PLUGINS_GOOD_CONF_OPTS += --enable-lame
+GST1_PLUGINS_GOOD_DEPENDENCIES += lame
+else
+GST1_PLUGINS_GOOD_CONF_OPTS += --disable-lame
+endif
+
+ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MPG123),y)
+GST1_PLUGINS_GOOD_CONF_OPTS += --enable-mpg123
+GST1_PLUGINS_GOOD_DEPENDENCIES += mpg123
+else
+GST1_PLUGINS_GOOD_CONF_OPTS += --disable-mpg123
+endif
+
+
 ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LAW),y)
 GST1_PLUGINS_GOOD_CONF_OPTS += --enable-law
 else
diff --git a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash
index d0581531d4..f942653af1 100644
--- a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash
+++ b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash
@@ -1,2 +1,3 @@ 
-# From https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.12.4.tar.xz.sha256sum
-sha256 1c165b8d888ed350acd8e6ac9f6fe06508e6fcc0a3afc6ccc9fbeb30df9be522 gst-plugins-ugly-1.12.4.tar.xz
+# From https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.14.0.tar.xz.sha256sum
+sha256 3fb9ea5fc8a2de4b3eaec4128d71c6a2d81dd19befe1cd87cb833b98bcb542d1 gst-plugins-ugly-1.14.0.tar.xz
+sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING
diff --git a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk
index af02a560a8..ca50a790a6 100644
--- a/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk
+++ b/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk
@@ -4,7 +4,7 @@ 
 #
 ################################################################################
 
-GST1_PLUGINS_UGLY_VERSION = 1.12.4
+GST1_PLUGINS_UGLY_VERSION = 1.14.0
 GST1_PLUGINS_UGLY_SOURCE = gst-plugins-ugly-$(GST1_PLUGINS_UGLY_VERSION).tar.xz
 GST1_PLUGINS_UGLY_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-ugly
 GST1_PLUGINS_UGLY_LICENSE_FILES = COPYING
@@ -70,20 +70,6 @@  else
 GST1_PLUGINS_UGLY_CONF_OPTS += --disable-dvdread
 endif
 
-ifeq ($(BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_LAME),y)
-GST1_PLUGINS_UGLY_CONF_OPTS += --enable-lame
-GST1_PLUGINS_UGLY_DEPENDENCIES += lame
-else
-GST1_PLUGINS_UGLY_CONF_OPTS += --disable-lame
-endif
-
-ifeq ($(BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MPG123),y)
-GST1_PLUGINS_UGLY_CONF_OPTS += --enable-mpg123
-GST1_PLUGINS_UGLY_DEPENDENCIES += mpg123
-else
-GST1_PLUGINS_UGLY_CONF_OPTS += --disable-mpg123
-endif
-
 ifeq ($(BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MPEG2DEC),y)
 GST1_PLUGINS_UGLY_CONF_OPTS += --enable-mpeg2dec
 GST1_PLUGINS_UGLY_DEPENDENCIES += libmpeg2