[gnome-build-meta/abderrahim/remove-gstreamer: 19/19] use gstreamer from freedesktop-sdk, and rebuild the same version of the plugins
- From: Abderrahim Kitouni <akitouni src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-build-meta/abderrahim/remove-gstreamer: 19/19] use gstreamer from freedesktop-sdk, and rebuild the same version of the plugins
- Date: Fri, 30 Nov 2018 17:04:53 +0000 (UTC)
commit 13e619bd9b43c62ffc5a4757e7ac0dd4c5a41d82
Author: Abderrahim Kitouni <akitouni gnome org>
Date: Wed Nov 7 10:28:19 2018 +0100
use gstreamer from freedesktop-sdk, and rebuild the same version of the plugins
Fixes #97
elements/core-deps/gnome-video-effects.bst | 3 +-
elements/core-deps/gupnp-dlna.bst | 3 +-
elements/core-deps/tracker-miners.bst | 3 +-
elements/core/cheese.bst | 3 +-
elements/core/gnome-contacts.bst | 3 +-
elements/core/gnome-control-center.bst | 3 +-
elements/core/gnome-initial-setup.bst | 3 +-
elements/core/gnome-shell.bst | 3 +-
elements/core/sushi.bst | 3 +-
elements/core/totem.bst | 3 +-
elements/sdk-platform.bst | 3 +-
elements/sdk/clutter-gst.bst | 3 +-
elements/sdk/cogl.bst | 3 +-
elements/sdk/gst-libav.bst | 29 +++++-
elements/sdk/gst-plugins-bad.bst | 103 ++++++++++-----------
elements/sdk/gst-plugins-base.bst | 57 ++++++++----
elements/sdk/gst-plugins-good.bst | 43 +++++----
elements/sdk/gstreamer.bst | 23 -----
elements/sdk/gtk+.bst | 3 +-
elements/world/evolution.bst | 3 +-
elements/world/gnome-internet-radio-locator.bst | 3 +-
elements/world/gnome-sound-recorder.bst | 3 +-
...v-avmux-Place-pva-case-after-generic-case.patch | 63 +++++++++++++
.../gst-libav-decoders-fix-draining.patch | 90 ++++++++++++++++++
files/gst-libav/gst-libav-disable-1.15-api.patch | 20 ++++
.../gst-libav/gst-libav-drop-1.15-dependency.patch | 15 +++
.../gst-libav/gst-libav-stop-caching-codecs.patch | 46 +++++++++
project.conf | 1 +
28 files changed, 406 insertions(+), 135 deletions(-)
---
diff --git a/elements/core-deps/gnome-video-effects.bst b/elements/core-deps/gnome-video-effects.bst
index 0215bce..1eb246d 100644
--- a/elements/core-deps/gnome-video-effects.bst
+++ b/elements/core-deps/gnome-video-effects.bst
@@ -5,7 +5,8 @@ sources:
track: master
depends:
- sdk/gnome-common.bst
-- sdk/gstreamer.bst
+- filename: desktop/gstreamer.bst
+ junction: freedesktop-sdk.bst
- filename: base/intltool.bst
junction: freedesktop-sdk.bst
type: build
diff --git a/elements/core-deps/gupnp-dlna.bst b/elements/core-deps/gupnp-dlna.bst
index f503c39..228314d 100644
--- a/elements/core-deps/gupnp-dlna.bst
+++ b/elements/core-deps/gupnp-dlna.bst
@@ -7,11 +7,12 @@ depends:
- sdk/glib.bst
- sdk/gst-plugins-base.bst
- sdk/gst-plugins-good.bst
-- sdk/gstreamer.bst
- filename: sdk/gtk-doc.bst
type: build
- filename: sdk/vala.bst
type: build
+- filename: desktop/gstreamer.bst
+ junction: freedesktop-sdk.bst
- filename: base/buildsystem-autotools.bst
junction: freedesktop-sdk.bst
type: build
diff --git a/elements/core-deps/tracker-miners.bst b/elements/core-deps/tracker-miners.bst
index eeab6d7..d1b9598 100644
--- a/elements/core-deps/tracker-miners.bst
+++ b/elements/core-deps/tracker-miners.bst
@@ -14,8 +14,9 @@ depends:
- sdk/gdk-pixbuf.bst
- sdk/glib.bst
- sdk/gst-plugins-base.bst
-- sdk/gstreamer.bst
- sdk/libsecret.bst
+- filename: desktop/gstreamer.bst
+ junction: freedesktop-sdk.bst
- filename: desktop/libseccomp.bst
junction: freedesktop-sdk.bst
- filename: base/intltool.bst
diff --git a/elements/core/cheese.bst b/elements/core/cheese.bst
index 9267052..4cdb4ff 100644
--- a/elements/core/cheese.bst
+++ b/elements/core/cheese.bst
@@ -15,7 +15,6 @@ depends:
- sdk/gst-plugins-bad.bst
- sdk/gst-plugins-base.bst
- sdk/gst-plugins-good.bst
-- sdk/gstreamer.bst
- sdk/gtk+-3.bst
- filename: sdk/gtk-doc.bst
type: build
@@ -23,6 +22,8 @@ depends:
- sdk/librsvg.bst
- filename: sdk/vala.bst
type: build
+- filename: desktop/gstreamer.bst
+ junction: freedesktop-sdk.bst
- filename: base/intltool.bst
junction: freedesktop-sdk.bst
type: build
diff --git a/elements/core/gnome-contacts.bst b/elements/core/gnome-contacts.bst
index 7eec0eb..25b9508 100644
--- a/elements/core/gnome-contacts.bst
+++ b/elements/core/gnome-contacts.bst
@@ -13,9 +13,10 @@ depends:
- core/gnome-desktop.bst
- sdk/adwaita-icon-theme.bst
- sdk/glib.bst
-- sdk/gstreamer.bst
- sdk/gtk+-3.bst
- sdk/vala.bst
+- filename: desktop/gstreamer.bst
+ junction: freedesktop-sdk.bst
- filename: base/buildsystem-meson.bst
junction: freedesktop-sdk.bst
type: build
diff --git a/elements/core/gnome-control-center.bst b/elements/core/gnome-control-center.bst
index 7dea8e6..32d3a1d 100644
--- a/elements/core/gnome-control-center.bst
+++ b/elements/core/gnome-control-center.bst
@@ -28,11 +28,12 @@ depends:
- sdk/gdk-pixbuf.bst
- sdk/glib.bst
- sdk/gsettings-desktop-schemas.bst
-- sdk/gstreamer.bst
- sdk/gtk+-3.bst
- filename: sdk/gtk-doc.bst
type: build
- sdk/ibus.bst
+- filename: desktop/gstreamer.bst
+ junction: freedesktop-sdk.bst
- filename: base/buildsystem-meson.bst
junction: freedesktop-sdk.bst
type: build
diff --git a/elements/core/gnome-initial-setup.bst b/elements/core/gnome-initial-setup.bst
index 873adc6..e9de946 100644
--- a/elements/core/gnome-initial-setup.bst
+++ b/elements/core/gnome-initial-setup.bst
@@ -21,9 +21,10 @@ depends:
- sdk/adwaita-icon-theme.bst
- sdk/geoclue.bst
- sdk/glib.bst
-- sdk/gstreamer.bst
- sdk/gtk+-3.bst
- sdk/ibus.bst
+- filename: desktop/gstreamer.bst
+ junction: freedesktop-sdk.bst
- filename: base/buildsystem-meson.bst
junction: freedesktop-sdk.bst
type: build
diff --git a/elements/core/gnome-shell.bst b/elements/core/gnome-shell.bst
index e96fa7a..8d48daa 100644
--- a/elements/core/gnome-shell.bst
+++ b/elements/core/gnome-shell.bst
@@ -23,10 +23,11 @@ depends:
- sdk/glib.bst
- sdk/gobject-introspection.bst
- sdk/gst-plugins-base.bst
-- sdk/gstreamer.bst
- sdk/gtk+-3.bst
- sdk/libcroco.bst
- sdk/libsoup.bst
+- filename: desktop/gstreamer.bst
+ junction: freedesktop-sdk.bst
- filename: base/docbook-xsl.bst
junction: freedesktop-sdk.bst
type: build
diff --git a/elements/core/sushi.bst b/elements/core/sushi.bst
index e963b8b..4981f92 100644
--- a/elements/core/sushi.bst
+++ b/elements/core/sushi.bst
@@ -14,8 +14,9 @@ depends:
- sdk/gjs.bst
- sdk/gobject-introspection.bst
- sdk/gst-plugins-base.bst
-- sdk/gstreamer.bst
- sdk/gtk+-3.bst
+- filename: desktop/gstreamer.bst
+ junction: freedesktop-sdk.bst
- filename: base/buildsystem-meson.bst
junction: freedesktop-sdk.bst
type: build
diff --git a/elements/core/totem.bst b/elements/core/totem.bst
index 98c5e40..6a26291 100644
--- a/elements/core/totem.bst
+++ b/elements/core/totem.bst
@@ -20,9 +20,10 @@ depends:
- sdk/gst-plugins-bad.bst
- sdk/gst-plugins-base.bst
- sdk/gst-plugins-good.bst
-- sdk/gstreamer.bst
- sdk/gtk+-3.bst
- sdk/yelp-tools.bst
+- filename: desktop/gstreamer.bst
+ junction: freedesktop-sdk.bst
- filename: base/intltool.bst
junction: freedesktop-sdk.bst
type: build
diff --git a/elements/sdk-platform.bst b/elements/sdk-platform.bst
index d71457f..21ee484 100644
--- a/elements/sdk-platform.bst
+++ b/elements/sdk-platform.bst
@@ -31,7 +31,6 @@ depends:
- sdk/gst-plugins-bad.bst
- sdk/gst-plugins-base.bst
- sdk/gst-plugins-good.bst
-- sdk/gstreamer.bst
- sdk/gtk+.bst
- sdk/gtk+-3.bst
- sdk/gvfs.bst
@@ -105,6 +104,8 @@ depends:
junction: freedesktop-sdk.bst
- filename: desktop/graphite2.bst
junction: freedesktop-sdk.bst
+- filename: desktop/gstreamer.bst
+ junction: freedesktop-sdk.bst
- filename: desktop/harfbuzz.bst
junction: freedesktop-sdk.bst
- filename: desktop/hicolor-icon-theme.bst
diff --git a/elements/sdk/clutter-gst.bst b/elements/sdk/clutter-gst.bst
index 11df417..6a8599f 100644
--- a/elements/sdk/clutter-gst.bst
+++ b/elements/sdk/clutter-gst.bst
@@ -8,9 +8,10 @@ depends:
- sdk/cogl.bst
- sdk/gobject-introspection.bst
- sdk/gst-plugins-base.bst
-- sdk/gstreamer.bst
- filename: sdk/gtk-doc.bst
type: build
+- filename: desktop/gstreamer.bst
+ junction: freedesktop-sdk.bst
- filename: base/buildsystem-autotools.bst
junction: freedesktop-sdk.bst
type: build
diff --git a/elements/sdk/cogl.bst b/elements/sdk/cogl.bst
index 57a95cd..161c915 100644
--- a/elements/sdk/cogl.bst
+++ b/elements/sdk/cogl.bst
@@ -7,10 +7,11 @@ depends:
- sdk/glib.bst
- sdk/gobject-introspection.bst
- sdk/gst-plugins-base.bst
-- sdk/gstreamer.bst
- filename: sdk/gtk-doc.bst
type: build
- sdk/pango.bst
+- filename: desktop/gstreamer.bst
+ junction: freedesktop-sdk.bst
- filename: desktop/wayland.bst
junction: freedesktop-sdk.bst
- filename: base/buildsystem-autotools.bst
diff --git a/elements/sdk/gst-libav.bst b/elements/sdk/gst-libav.bst
index f57059f..d106fdc 100644
--- a/elements/sdk/gst-libav.bst
+++ b/elements/sdk/gst-libav.bst
@@ -1,16 +1,37 @@
kind: autotools
sources:
-- kind: git
- url: git_freedesktop_org:gstreamer/gst-libav
- track: master
+- kind: tar
+ # Snapshot used by debian so we can use their patches
+ url:
https://deb.debian.org/debian/pool/main/g/gst-libav1.0/gst-libav1.0_1.15.0.1+git20180723+db823502.orig.tar.xz
+- kind: patch
+ path: files/gst-libav/gst-libav-stop-caching-codecs.patch
+- kind: patch
+ path: files/gst-libav/gst-libav-disable-1.15-api.patch
+- kind: patch
+ path: files/gst-libav/gst-libav-drop-1.15-dependency.patch
+- kind: patch
+ path: files/gst-libav/gst-libav-avmux-Place-pva-case-after-generic-case.patch
+- kind: patch
+ path: files/gst-libav/gst-libav-decoders-fix-draining.patch
depends:
- sdk/gst-plugins-base.bst
+- filename: desktop/orc.bst
+ junction: freedesktop-sdk.bst
+- filename: desktop/gstreamer.bst
+ junction: freedesktop-sdk.bst
- filename: desktop/ffmpeg.bst
junction: freedesktop-sdk.bst
+ type: build
+- filename: base/nasm.bst
+ junction: freedesktop-sdk.bst
+ type: build
- filename: base/buildsystem-autotools.bst
junction: freedesktop-sdk.bst
type: build
- filename: base-platform.bst
junction: freedesktop-sdk.bst
variables:
- conf-local: --with-system-libav
+ conf-local: |
+ --with-system-libav
+environment:
+ GST_CFLAGS: -DTRIPLET=\"%{gcc_triplet}\"
diff --git a/elements/sdk/gst-plugins-bad.bst b/elements/sdk/gst-plugins-bad.bst
index 088b710..310776c 100644
--- a/elements/sdk/gst-plugins-bad.bst
+++ b/elements/sdk/gst-plugins-bad.bst
@@ -1,66 +1,63 @@
-kind: meson
+kind: autotools
sources:
-- kind: git
- url: git_freedesktop_org:gstreamer/gst-plugins-bad
- track: master
+- kind: tar
+ url: gstreamer:gst-plugins-bad/gst-plugins-bad-1.14.4.tar.xz
depends:
+- filename: sdk/gobject-introspection.bst
+ type: build
- sdk/gst-plugins-base.bst
- sdk/librsvg.bst
-- filename: desktop/vulkan.bst
+- filename: desktop/orc.bst
+ junction: freedesktop-sdk.bst
+- filename: desktop/gstreamer.bst
+ junction: freedesktop-sdk.bst
+- filename: desktop/libdrm.bst
junction: freedesktop-sdk.bst
- filename: desktop/libfdk-aac.bst
junction: freedesktop-sdk.bst
-- filename: base/opus.bst
+- filename: desktop/libglvnd.bst
+ junction: freedesktop-sdk.bst
+- filename: desktop/libvdpau.bst
+ junction: freedesktop-sdk.bst
+- filename: desktop/mesa.bst
junction: freedesktop-sdk.bst
-- filename: base/buildsystem-meson.bst
+- filename: desktop/openal.bst
+ junction: freedesktop-sdk.bst
+- filename: desktop/vulkan.bst
+ junction: freedesktop-sdk.bst
+- filename: desktop/wayland.bst
+ junction: freedesktop-sdk.bst
+- filename: desktop/wayland-protocols.bst
+ junction: freedesktop-sdk.bst
+ type: build
+- filename: base/buildsystem-autotools.bst
junction: freedesktop-sdk.bst
type: build
- filename: base-platform.bst
junction: freedesktop-sdk.bst
variables:
- meson-local: >
- -Daom=disabled
- -Dassrender=disabled
- -Dbluez=disabled
- -Dbs2b=disabled
- -Dchromaprint=disabled
- -Dcurl-ssh2=disabled
- -Ddirectfb=disabled
- -Ddts=disabled
- -Dfaac=disabled
- -Dfaad=disabled
- -Dflite=disabled
- -Dfluidsynth=disabled
- -Dgsm=disabled
- -Diqa=disabled
- -Dkate=disabled
- -Dladspa=disabled
- -Dlibde265=disabled
- -Dlibmms=disabled
- -Dlv2=disabled
- -Dmpeg2enc=disabled
- -Dmplex=disabled
- -Dmsdk=disabled
- -Dmusepack=disabled
- -Dneon=disabled
- -Dnvdec=disabled
- -Dnvenc=disabled
- -Dopencv=disabled
- -Dopenh264=disabled
- -Dopenjpeg=disabled
- -Dopensles=disabled
- -Dresindvd=disabled
- -Drtmp=disabled
- -Dsbc=disabled
- -Dsctp=disabled
- -Dsoundtouch=disabled
- -Dspandsp=disabled
- -Dsrt=disabled
- -Dsrtp=disabled
- -Duvch264=disabled
- -Dvoaacenc=disabled
- -Dwasapi=disabled
- -Dwebrtc=disabled
- -Dwebrtcdsp=disabled
- -Dx265=disabled
- -Dzbar=disabled
+ conf-local: |
+ --enable-experimental \
+ --enable-introspection \
+ --enable-orc \
+ --enable-wayland
+public:
+ bst:
+ split-rules:
+ devel:
+ (>):
+ - '%{libdir}/libgstbadallocators-1.0.so'
+ - '%{libdir}/libgstbadbase-1.0.so'
+ - '%{libdir}/libgstcodecparsers-1.0.so'
+ - '%{libdir}/libgstplayer-1.0.so'
+ - '%{libdir}/libgstbadvideo-1.0.so'
+ - '%{libdir}/libgstbadaudio-1.0.so'
+ - '%{libdir}/libgstmpegts-1.0.so'
+ - '%{libdir}/libgstadaptivedemux-1.0.so'
+ - '%{libdir}/libgstinsertbin-1.0.so'
+ - '%{libdir}/libgsturidownloader-1.0.so'
+ - '%{libdir}/libgstbasecamerabinsrc-1.0.so'
+ - '%{libdir}/libgstphotography-1.0.so'
+ - '%{libdir}/libgstisoff-1.0.so'
+ - '%{libdir}/libgstwebrtc-1.0.so'
+ - '%{libdir}/libgstwayland-1.0.so'
diff --git a/elements/sdk/gst-plugins-base.bst b/elements/sdk/gst-plugins-base.bst
index 7fd5e23..0f69d42 100644
--- a/elements/sdk/gst-plugins-base.bst
+++ b/elements/sdk/gst-plugins-base.bst
@@ -1,32 +1,51 @@
-kind: meson
+kind: autotools
sources:
-- kind: git
- url: git_freedesktop_org:gstreamer/gst-plugins-base
- track: master
+- kind: tar
+ url: gstreamer:gst-plugins-base/gst-plugins-base-1.14.4.tar.xz
depends:
-- sdk/gobject-introspection.bst
-- sdk/gstreamer.bst
-- sdk/gtk+-3.bst
-- sdk/pango.bst
-- filename: sdk/gtk-doc.bst
+- filename: sdk/gobject-introspection.bst
type: build
-- filename: desktop/alsa-lib.bst
- junction: freedesktop-sdk.bst
+- sdk/pango.bst
- filename: desktop/orc.bst
junction: freedesktop-sdk.bst
+- filename: desktop/gstreamer.bst
+ junction: freedesktop-sdk.bst
+- filename: desktop/mesa.bst
+ junction: freedesktop-sdk.bst
- filename: desktop/xorg-lib-xv.bst
junction: freedesktop-sdk.bst
-- filename: base/opus.bst
+- filename: base/buildsystem-autotools.bst
junction: freedesktop-sdk.bst
-- filename: base/buildsystem-meson.bst
+ type: build
+- filename: base/gettext.bst
junction: freedesktop-sdk.bst
type: build
- filename: base-platform.bst
junction: freedesktop-sdk.bst
variables:
- meson-local: >
- -Dcdparanoia=disabled
- -Dexamples=disabled
- -Dgl-graphene=disabled
- -Dlibvisual=disabled
- -Dtremor=disabled
+ conf-local: |
+ --enable-experimental \
+ --enable-introspection \
+ --enable-ogg \
+ --enable-opus \
+ --enable-orc \
+ --enable-pango \
+ --enable-theora \
+ --enable-vorbis
+public:
+ bst:
+ split-rules:
+ devel:
+ (>):
+ - '%{libdir}/libgstfft-1.0.so'
+ - '%{libdir}/libgstrtp-1.0.so'
+ - '%{libdir}/libgstsdp-1.0.so'
+ - '%{libdir}/libgstvideo-1.0.so'
+ - '%{libdir}/libgstapp-1.0.so'
+ - '%{libdir}/libgstriff-1.0.so'
+ - '%{libdir}/libgstrtsp-1.0.so'
+ - '%{libdir}/libgstallocators-1.0.so'
+ - '%{libdir}/libgsttag-1.0.so'
+ - '%{libdir}/libgstaudio-1.0.so'
+ - '%{libdir}/libgstpbutils-1.0.so'
+ - '%{libdir}/libgstgl-1.0.so'
diff --git a/elements/sdk/gst-plugins-good.bst b/elements/sdk/gst-plugins-good.bst
index 656554a..34f4775 100644
--- a/elements/sdk/gst-plugins-good.bst
+++ b/elements/sdk/gst-plugins-good.bst
@@ -1,36 +1,41 @@
-kind: meson
+kind: autotools
sources:
-- kind: git
- url: git_freedesktop_org:gstreamer/gst-plugins-good
- track: master
+- kind: tar
+ url: gstreamer:gst-plugins-good/gst-plugins-good-1.14.4.tar.xz
depends:
-- sdk/gtk+-3.bst
+- filename: sdk/gobject-introspection.bst
+ type: build
- sdk/gdk-pixbuf.bst
- sdk/gst-plugins-base.bst
+- sdk/gtk+-3.bst
- sdk/libsoup.bst
+- filename: desktop/cairo.bst
+ junction: freedesktop-sdk.bst
+- filename: desktop/orc.bst
+ junction: freedesktop-sdk.bst
- filename: desktop/lame.bst
junction: freedesktop-sdk.bst
- filename: desktop/libpulse.bst
junction: freedesktop-sdk.bst
- filename: desktop/mpg123.bst
junction: freedesktop-sdk.bst
-- filename: base/wavpack.bst
+- filename: desktop/gstreamer.bst
junction: freedesktop-sdk.bst
-- filename: base/buildsystem-meson.bst
+- filename: base/buildsystem-autotools.bst
junction: freedesktop-sdk.bst
type: build
+# should be in base-platform
+- filename: base/wavpack.bst
+ junction: freedesktop-sdk.bst
- filename: base-platform.bst
junction: freedesktop-sdk.bst
variables:
- meson-local: >
- -Daalib=disabled
- -Ddv1394=disabled
- -Ddv=disabled
- -Dexamples=disabled
- -Djack=disabled
- -Dlibcaca=disabled
- -Dqt5=disabled
- -Dshout2=disabled
- -Dtaglib=disabled
- -Dtwolame=disabled
- -Dv4l2=disabled
+ conf-local: |
+ --enable-cairo \
+ --enable-experimental \
+ --enable-introspection \
+ --enable-lame \
+ --enable-soup \
+ --enable-orc \
+ --enable-pulse \
+ --with-default-visualizer=autoaudiosink
diff --git a/elements/sdk/gtk+.bst b/elements/sdk/gtk+.bst
index 67f9dd0..bdbef25 100644
--- a/elements/sdk/gtk+.bst
+++ b/elements/sdk/gtk+.bst
@@ -12,12 +12,13 @@ depends:
- sdk/graphene.bst
- sdk/gst-plugins-bad.bst
- sdk/gst-plugins-base.bst
-- sdk/gstreamer.bst
- filename: sdk/gtk-doc.bst
type: build
- sdk/pango.bst
- filename: desktop/cups.bst
junction: freedesktop-sdk.bst
+- filename: desktop/gstreamer.bst
+ junction: freedesktop-sdk.bst
- filename: desktop/wayland.bst
junction: freedesktop-sdk.bst
- filename: base/buildsystem-meson.bst
diff --git a/elements/world/evolution.bst b/elements/world/evolution.bst
index fa53fa4..488b565 100644
--- a/elements/world/evolution.bst
+++ b/elements/world/evolution.bst
@@ -18,11 +18,12 @@ depends:
- sdk/geoclue.bst
- sdk/glib.bst
- sdk/gsettings-desktop-schemas.bst
-- sdk/gstreamer.bst
- sdk/gtk+-3.bst
- sdk/libnotify.bst
- sdk/libsoup.bst
- sdk/yelp-tools.bst
+- filename: desktop/gstreamer.bst
+ junction: freedesktop-sdk.bst
- filename: base.bst
junction: freedesktop-sdk.bst
variables:
diff --git a/elements/world/gnome-internet-radio-locator.bst b/elements/world/gnome-internet-radio-locator.bst
index 83c75ac..89f7566 100644
--- a/elements/world/gnome-internet-radio-locator.bst
+++ b/elements/world/gnome-internet-radio-locator.bst
@@ -14,8 +14,9 @@ depends:
- sdk/gst-plugins-bad.bst
- sdk/gst-plugins-base.bst
- sdk/gst-plugins-good.bst
-- sdk/gstreamer.bst
- sdk/gtk+-3.bst
- sdk/pango.bst
+- filename: desktop/gstreamer.bst
+ junction: freedesktop-sdk.bst
- filename: base.bst
junction: freedesktop-sdk.bst
diff --git a/elements/world/gnome-sound-recorder.bst b/elements/world/gnome-sound-recorder.bst
index e2ed55d..1fb5a0c 100644
--- a/elements/world/gnome-sound-recorder.bst
+++ b/elements/world/gnome-sound-recorder.bst
@@ -9,7 +9,8 @@ depends:
- sdk/glib.bst
- sdk/gst-plugins-base.bst
- sdk/gst-plugins-good.bst
-- sdk/gstreamer.bst
- sdk/gtk+-3.bst
+- filename: desktop/gstreamer.bst
+ junction: freedesktop-sdk.bst
- filename: base.bst
junction: freedesktop-sdk.bst
diff --git a/files/gst-libav/gst-libav-avmux-Place-pva-case-after-generic-case.patch
b/files/gst-libav/gst-libav-avmux-Place-pva-case-after-generic-case.patch
new file mode 100644
index 0000000..c19878c
--- /dev/null
+++ b/files/gst-libav/gst-libav-avmux-Place-pva-case-after-generic-case.patch
@@ -0,0 +1,63 @@
+From 962d2a78fe28bb1fee6cd9259170d9f2ac2ce884 Mon Sep 17 00:00:00 2001
+From: Georg Ottinger <g ottinger gmx at>
+Date: Tue, 3 Jul 2018 13:15:54 +0200
+Subject: [PATCH] avmux: Place pva case after generic case
+
+In the function gst_ffmpeg_formatid_get_codecids() in the if / else if
+construct the special case !strcmp (format_name, "pva") should be
+handled before the generic case (plugin->audio_codec !=
+AV_CODEC_ID_NONE) || (plugin->video_codec != AV_CODEC_ID_NONE)
+This patch fixes the ordering.
+
+I stumbled accorss this issue while adding a new format to
+gst_ffmpeg_formatid_get_codecids()
+
+https://bugzilla.gnome.org/show_bug.cgi?id=796738
+---
+ ext/libav/gstavcodecmap.c | 22 +++++++++++-----------
+ 1 file changed, 11 insertions(+), 11 deletions(-)
+
+diff --git a/ext/libav/gstavcodecmap.c b/ext/libav/gstavcodecmap.c
+index 19fef71..be95828 100644
+--- a/ext/libav/gstavcodecmap.c
++++ b/ext/libav/gstavcodecmap.c
+@@ -3770,25 +3770,25 @@ gst_ffmpeg_formatid_get_codecids (const gchar * format_name,
+ };
+ *video_codec_list = gif_image_list;
+ *audio_codec_list = NULL;
+- } else if ((plugin->audio_codec != AV_CODEC_ID_NONE) ||
+- (plugin->video_codec != AV_CODEC_ID_NONE)) {
+- tmp_vlist[0] = plugin->video_codec;
+- tmp_alist[0] = plugin->audio_codec;
+-
+- *video_codec_list = tmp_vlist;
+- *audio_codec_list = tmp_alist;
+ } else if ((!strcmp (format_name, "pva"))) {
+- static enum AVCodecID tgp_video_list[] = {
++ static enum AVCodecID pga_video_list[] = {
+ AV_CODEC_ID_MPEG2VIDEO,
+ AV_CODEC_ID_NONE
+ };
+- static enum AVCodecID tgp_audio_list[] = {
++ static enum AVCodecID pga_audio_list[] = {
+ AV_CODEC_ID_MP2,
+ AV_CODEC_ID_NONE
+ };
+
+- *video_codec_list = tgp_video_list;
+- *audio_codec_list = tgp_audio_list;
++ *video_codec_list = pga_video_list;
++ *audio_codec_list = pga_audio_list;
++ } else if ((plugin->audio_codec != AV_CODEC_ID_NONE) ||
++ (plugin->video_codec != AV_CODEC_ID_NONE)) {
++ tmp_vlist[0] = plugin->video_codec;
++ tmp_alist[0] = plugin->audio_codec;
++
++ *video_codec_list = tmp_vlist;
++ *audio_codec_list = tmp_alist;
+ } else {
+ GST_LOG ("Format %s not found", format_name);
+ return FALSE;
+--
+2.19.0.rc2
+
diff --git a/files/gst-libav/gst-libav-decoders-fix-draining.patch
b/files/gst-libav/gst-libav-decoders-fix-draining.patch
new file mode 100644
index 0000000..2f06868
--- /dev/null
+++ b/files/gst-libav/gst-libav-decoders-fix-draining.patch
@@ -0,0 +1,90 @@
+From ff3a8f6627811c95c51acf7a07c62b78bb02d0a0 Mon Sep 17 00:00:00 2001
+From: Mathieu Duponchelle <mathieu centricular com>
+Date: Tue, 31 Jul 2018 18:35:22 +0200
+Subject: [PATCH] decoders: fix draining
+
+https://bugzilla.gnome.org/show_bug.cgi?id=796900
+---
+ ext/libav/gstavauddec.c | 11 ++++++++---
+ ext/libav/gstavviddec.c | 14 +++++++++++---
+ 2 files changed, 19 insertions(+), 6 deletions(-)
+
+diff --git a/ext/libav/gstavauddec.c b/ext/libav/gstavauddec.c
+index dbec03c..fa2786c 100644
+--- a/ext/libav/gstavauddec.c
++++ b/ext/libav/gstavauddec.c
+@@ -539,10 +539,9 @@ gst_ffmpegauddec_audio_frame (GstFFMpegAudDec * ffmpegdec,
+ GST_BUFFER_FLAG_SET (*outbuf, GST_BUFFER_FLAG_CORRUPTED);
+ } else if (res == AVERROR (EAGAIN)) {
+ *outbuf = NULL;
+- } else if (res == AVERROR_EOF) { /* Should not happen */
++ } else if (res == AVERROR_EOF) {
+ *ret = GST_FLOW_EOS;
+- GST_WARNING_OBJECT (ffmpegdec,
+- "Tried to receive frame on a flushed context");
++ GST_DEBUG_OBJECT (ffmpegdec, "Context was entirely flushed");
+ } else if (res < 0) {
+ *ret = GST_FLOW_OK;
+ GST_WARNING_OBJECT (ffmpegdec, "Legitimate decoding error");
+@@ -611,6 +610,9 @@ gst_ffmpegauddec_drain (GstFFMpegAudDec * ffmpegdec)
+ GST_LOG_OBJECT (ffmpegdec,
+ "codec has delay capabilities, calling until libav has drained everything");
+
++ if (avcodec_send_packet (ffmpegdec->context, NULL))
++ goto send_packet_failed;
++
+ do {
+ GstFlowReturn ret;
+
+@@ -623,6 +625,9 @@ gst_ffmpegauddec_drain (GstFFMpegAudDec * ffmpegdec)
+ gst_audio_decoder_finish_frame (GST_AUDIO_DECODER (ffmpegdec),
+ ffmpegdec->outbuf, 1);
+ ffmpegdec->outbuf = NULL;
++
++send_packet_failed:
++ GST_WARNING_OBJECT (ffmpegdec, "send packet failed, could not drain decoder");
+ }
+
+ static void
+diff --git a/ext/libav/gstavviddec.c b/ext/libav/gstavviddec.c
+index 40ad991..de23954 100644
+--- a/ext/libav/gstavviddec.c
++++ b/ext/libav/gstavviddec.c
+@@ -1488,10 +1488,9 @@ gst_ffmpegviddec_video_frame (GstFFMpegVidDec * ffmpegdec,
+ /* No frames available at this time */
+ if (res == AVERROR (EAGAIN))
+ goto beach;
+- else if (res == AVERROR_EOF) { /* Should not happen */
++ else if (res == AVERROR_EOF) {
+ *ret = GST_FLOW_EOS;
+- GST_WARNING_OBJECT (ffmpegdec,
+- "Tried to receive frame on a flushed context");
++ GST_DEBUG_OBJECT (ffmpegdec, "Context was entirely flushed");
+ goto beach;
+ } else if (res < 0) {
+ *ret = GST_FLOW_OK;
+@@ -1721,12 +1720,21 @@ gst_ffmpegviddec_drain (GstVideoDecoder * decoder)
+ GST_LOG_OBJECT (ffmpegdec,
+ "codec has delay capabilities, calling until ffmpeg has drained everything");
+
++ if (avcodec_send_packet (ffmpegdec->context, NULL))
++ goto send_packet_failed;
++
+ do {
+ got_frame = gst_ffmpegviddec_frame (ffmpegdec, NULL, &ret);
+ } while (got_frame && ret == GST_FLOW_OK);
++ avcodec_flush_buffers (ffmpegdec->context);
+ }
+
++done:
+ return GST_FLOW_OK;
++
++send_packet_failed:
++ GST_WARNING_OBJECT (ffmpegdec, "send packet failed, could not drain decoder");
++ goto done;
+ }
+
+ static GstFlowReturn
+--
+2.19.0.rc2
+
diff --git a/files/gst-libav/gst-libav-disable-1.15-api.patch
b/files/gst-libav/gst-libav-disable-1.15-api.patch
new file mode 100644
index 0000000..8dd22e5
--- /dev/null
+++ b/files/gst-libav/gst-libav-disable-1.15-api.patch
@@ -0,0 +1,20 @@
+Index: gst-libav1.0/ext/libav/gstavviddec.c
+===================================================================
+--- gst-libav1.0.orig/ext/libav/gstavviddec.c
++++ gst-libav1.0/ext/libav/gstavviddec.c
+@@ -1595,6 +1595,7 @@ gst_ffmpegviddec_video_frame (GstFFMpegV
+ GST_VIDEO_BUFFER_FLAG_INTERLACED);
+ }
+
++#if 0
+ {
+ AVFrameSideData *side_data =
+ av_frame_get_side_data (ffmpegdec->picture, AV_FRAME_DATA_A53_CC);
+@@ -1607,6 +1608,7 @@ gst_ffmpegviddec_video_frame (GstFFMpegV
+ GST_VIDEO_CAPTION_TYPE_CEA708_RAW, side_data->data, side_data->size);
+ }
+ }
++#endif
+
+ /* cleaning time */
+ /* so we decoded this frame, frames preceding it in decoding order
diff --git a/files/gst-libav/gst-libav-drop-1.15-dependency.patch
b/files/gst-libav/gst-libav-drop-1.15-dependency.patch
new file mode 100644
index 0000000..a0279b3
--- /dev/null
+++ b/files/gst-libav/gst-libav-drop-1.15-dependency.patch
@@ -0,0 +1,15 @@
+Index: gst-libav1.0/configure.ac
+===================================================================
+--- gst-libav1.0.orig/configure.ac
++++ gst-libav1.0/configure.ac
+@@ -45,8 +45,8 @@ AG_GST_LIBTOOL_PREPARE
+ AS_LIBTOOL(GST, 1500, 0, 1500)
+
+ dnl *** required versions of GStreamer stuff ***
+-GST_REQ=1.15.0.1
+-GST_PBREQ=1.15.0.1
++GST_REQ=1.14.2
++GST_PBREQ=1.14.2
+
+ ORC_REQ=0.4.16
+ ORC_CHECK([$ORC_REQ])
diff --git a/files/gst-libav/gst-libav-stop-caching-codecs.patch
b/files/gst-libav/gst-libav-stop-caching-codecs.patch
new file mode 100644
index 0000000..db518c7
--- /dev/null
+++ b/files/gst-libav/gst-libav-stop-caching-codecs.patch
@@ -0,0 +1,46 @@
+From 2c371f17af1695bd42f572d5ccdb837152b8b67a Mon Sep 17 00:00:00 2001
+From: Thomas Coldrick <othko97 gmail com>
+Date: Thu, 8 Nov 2018 17:46:53 +0000
+Subject: [PATCH] gst-libav-stop-caching-codecs
+
+---
+ ext/libav/gstav.c | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+diff --git a/ext/libav/gstav.c b/ext/libav/gstav.c
+index 2a88230..bfd19a1 100644
+--- a/ext/libav/gstav.c
++++ b/ext/libav/gstav.c
+@@ -138,6 +138,8 @@ gst_ffmpeg_log_callback (void *ptr, int level, const char *fmt, va_list vl)
+ static gboolean
+ plugin_init (GstPlugin * plugin)
+ {
++ char libdir[30];
++ char path[100];
+ GST_DEBUG_CATEGORY_INIT (ffmpeg_debug, "libav", 0, "libav elements");
+
+ /* Bail if not FFmpeg. We can no longer ensure operation with Libav */
+@@ -155,6 +157,20 @@ plugin_init (GstPlugin * plugin)
+ /* build global ffmpeg param/property info */
+ gst_ffmpeg_cfg_init ();
+
++ strcpy(libdir, "/usr/lib/");
++ strcat(libdir, TRIPLET);
++ strcpy(path, libdir);
++ strcat(path, ":/usr/local/lib:");
++ strcat(path, libdir);
++ strcat(path, "/ffmpeg/lib");
++
++ gst_plugin_add_dependency_simple (plugin, NULL,
++ path,
++ "libavcodec.so.58,"
++ "libavformat.so.58,"
++ "libswscale.so.5",
++ GST_PLUGIN_DEPENDENCY_FLAG_NONE);
++
+ gst_ffmpegaudenc_register (plugin);
+ gst_ffmpegvidenc_register (plugin);
+ gst_ffmpegauddec_register (plugin);
+--
+2.19.1
+
diff --git a/project.conf b/project.conf
index 1c964e5..39f0920 100644
--- a/project.conf
+++ b/project.conf
@@ -49,6 +49,7 @@ aliases:
gitlab_com: https://gitlab.com/
gitlab_gnome_org: https://gitlab.gnome.org/
gnome_download: https://download.gnome.org/
+ gstreamer: https://gstreamer.freedesktop.org/src/
icon_theme_freedesktop_org: https://icon-theme.freedesktop.org/releases/
iso_codes: https://pkg-isocodes.alioth.debian.org/downloads/
people_freedesktop_org: https://people.freedesktop.org/
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]