summaryrefslogtreecommitdiffstats
path: root/yocto-poky/meta/recipes-multimedia/gstreamer
diff options
context:
space:
mode:
Diffstat (limited to 'yocto-poky/meta/recipes-multimedia/gstreamer')
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/files/0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch42
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gst-player_git.bb5
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gst-plugins-package.inc12
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav.inc32
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/workaround-to-build-gst-libav-for-i586-with-gcc.patch2
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.6.3.bb (renamed from yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.4.5.bb)14
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_git.bb33
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-meta-base.bb7
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx.inc8
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.2.0.bb1
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_git.bb7
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc116
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch57
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-gl-do-not-check-for-GL-GLU-EGL-GLES2-libs-if-disable.patch41
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-glimagesink-Downrank-to-marginal.patch4
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-gstreamer-gl.pc.in-don-t-append-GL_CFLAGS-to-CFLAGS.patch27
-rwxr-xr-xyocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-glplugin-glwindow-fix-memory-leak-of-navigation-thre.patch35
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch30
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch86
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch28
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.4.5.bb16
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.3.bb28
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_git.bb59
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base.inc48
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch168
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-basetextoverlay-make-memory-copy-when-video-buffer-s.patch129
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-video-frame-Don-t-ref-buffers-twice-when-mapping.patch26
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch298
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-gstplaysink-don-t-set-async-of-custom-text-sink-to-f.patch31
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-video-frame-Add-GST_VIDEO_FRAME_MAP_FLAG_NO_REF.patch87
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-riff-add-missing-include-directories-when-calling-in.patch28
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-videofilter-Use-new-GST_VIDEO_FRAME_MAP_FLAG_NO_REF.patch69
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch27
-rwxr-xr-xyocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0005-convertframe-Support-video-crop-when-convert-frame.patch143
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/do-not-change-eos-event-to-gap-event-if.patch37
-rwxr-xr-xyocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/do-not-change-eos-event-to-gap-event2.patch49
-rwxr-xr-xyocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/do-not-change-eos-event-to-gap-event3.patch31
-rwxr-xr-xyocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/fix-id3demux-utf16-to-utf8-issue.patch54
-rwxr-xr-xyocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/handle-audio-video-decoder-error.patch64
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/make-gio_unix_2_0-dependency-configurable.patch47
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/taglist-not-send-to-down-stream-if-all-the-frame-cor.patch57
-rwxr-xr-xyocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/videobuffer_updata_alignment_update.patch53
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/videoencoder-Keep-sticky-events-around-when-doing-a-soft-.patch46
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.4.5.bb30
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.6.3.bb25
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_git.bb24
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good.inc38
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/avoid-including-sys-poll.h-directly.patch44
-rwxr-xr-xyocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/decrease_asteriskh263_rank.patch25
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/ensure-valid-sentinel-for-gst_structure_get.patch40
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.6.3.bb (renamed from yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.4.5.bb)10
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_git.bb22
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly.inc15
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.4.5.bb10
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.6.3.bb13
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_git.bb34
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc57
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server.inc16
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-Don-t-hardcode-libtool-name-when-using-introspection.patch27
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.4.5.bb6
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.6.2.bb6
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0.inc55
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gstinfo-Shorten-__FILE__-on-all-platforms.patch55
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0002-basesink-Fix-QoS-lateness-checking-if-subclass-imple.patch70
-rwxr-xr-xyocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-basesink-Shouldn-t-drop-buffer-when-sync-false.patch30
-rwxr-xr-xyocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/inputselector-sticky-events-haven-t-send-out-when-ac-1-4-1.patch167
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.4.5.bb18
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.6.3.bb14
-rw-r--r--yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_git.bb24
69 files changed, 1611 insertions, 1446 deletions
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/files/0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch b/yocto-poky/meta/recipes-multimedia/gstreamer/files/0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch
new file mode 100644
index 000000000..2cab87f9e
--- /dev/null
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/files/0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch
@@ -0,0 +1,42 @@
+From 90916f96262fa7b27a0a99788c69f9fd6df11000 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 24 Nov 2015 16:46:27 +0200
+Subject: [PATCH] introspection.m4: prefix pkgconfig paths with
+ PKG_CONFIG_SYSROOT_DIR
+
+We can't use our tweaked introspection.m4 from gobject-introspection tarball
+because gstreamer also defines INTROSPECTION_INIT in its introspection.m4, which
+is later supplied to g-ir-scanner.
+
+Upstream-Status: Pending [review on oe-core list]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ common/m4/introspection.m4 | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/common/m4/introspection.m4 b/common/m4/introspection.m4
+index 162be57..217a6ae 100644
+--- a/common/m4/introspection.m4
++++ b/common/m4/introspection.m4
+@@ -54,14 +54,14 @@ m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL],
+ INTROSPECTION_GIRDIR=
+ INTROSPECTION_TYPELIBDIR=
+ if test "x$found_introspection" = "xyes"; then
+- INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
+- INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
+- INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
++ INTROSPECTION_SCANNER=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
++ INTROSPECTION_COMPILER=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
++ INTROSPECTION_GENERATE=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
+ INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0`
+ INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
+ INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0`
+ INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0`
+- INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
++ INTROSPECTION_MAKEFILE=$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
+ INTROSPECTION_INIT="extern void gst_init(gint*,gchar**); gst_init(NULL,NULL);"
+ fi
+ AC_SUBST(INTROSPECTION_SCANNER)
+--
+2.6.2
+
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gst-player_git.bb b/yocto-poky/meta/recipes-multimedia/gstreamer/gst-player_git.bb
index 985024256..8129169c5 100644
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gst-player_git.bb
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gst-player_git.bb
@@ -1,5 +1,4 @@
-SUMMARY="GStreamer playback helper library and examples"
-
+SUMMARY = "GStreamer playback helper library and examples"
LICENSE = "LGPL-2.0+"
LIC_FILES_CHKSUM = "file://lib/gst/player/gstplayer.c;beginline=1;endline=19;md5=03aeca9d8295f811817909075a15ff65"
@@ -16,7 +15,7 @@ SRCREV = "5386c5b984d40ef5434673ed62204e69aaf52645"
S = "${WORKDIR}/git"
-inherit autotools gtk-doc lib_package pkgconfig distro_features_check
+inherit autotools gtk-doc lib_package pkgconfig distro_features_check gobject-introspection
ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gst-plugins-package.inc b/yocto-poky/meta/recipes-multimedia/gstreamer/gst-plugins-package.inc
index cb1be06d0..c24493e1e 100644
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gst-plugins-package.inc
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gst-plugins-package.inc
@@ -8,8 +8,9 @@ python split_gstreamer10_packages () {
do_split_packages(d, glibdir, '^lib(.*)\.so\.*', 'lib%s', 'gstreamer %s library', extra_depends='', allow_links=True)
do_split_packages(d, gst_libdir, 'libgst(.*)\.so$', d.expand('${PN}-%s'), 'GStreamer plugin for %s', postinst=postinst, extra_depends='')
- do_split_packages(d, gst_libdir, 'libgst(.*)\.la$', d.expand('${PN}-%s-dev'), 'GStreamer plugin for %s (development files)', extra_depends=d.expand('${PN}-dev'))
- do_split_packages(d, gst_libdir, 'libgst(.*)\.a$', d.expand('${PN}-%s-staticdev'), 'GStreamer plugin for %s (static development files)', extra_depends=d.expand('${PN}-staticdev'))
+ do_split_packages(d, glibdir+'/girepository-1.0', 'Gst(.*)-1.0\.typelib$', d.expand('${PN}-%s-typelib'), 'GStreamer typelib file for %s', postinst=postinst, extra_depends='')
+ do_split_packages(d, gst_libdir, 'libgst(.*)\.la$', d.expand('${PN}-%s-dev'), 'GStreamer plugin for %s (development files)', extra_depends='${PN}-dev')
+ do_split_packages(d, gst_libdir, 'libgst(.*)\.a$', d.expand('${PN}-%s-staticdev'), 'GStreamer plugin for %s (static development files)', extra_depends='${PN}-staticdev')
}
python set_metapkg_rdepends () {
@@ -47,12 +48,9 @@ ALLOW_EMPTY_${PN}-dev = "1"
ALLOW_EMPTY_${PN}-staticdev = "1"
PACKAGES += "${PN}-apps ${PN}-meta ${PN}-glib"
-FILES_${PN}-apps = "${bindir}"
-
-RDEPENDS_${PN}-apps += "perl"
-RRECOMMENDS_${PN} += "${PN}-meta"
FILES_${PN} = ""
-FILES_${PN}-dbg += "${libdir}/gstreamer-${LIBV}/.debug"
+FILES_${PN}-apps = "${bindir}"
FILES_${PN}-glib = "${datadir}/glib-2.0"
+RRECOMMENDS_${PN} += "${PN}-meta"
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav.inc b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav.inc
index 84e6e95d3..363101e1a 100644
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav.inc
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav.inc
@@ -1,32 +1,46 @@
SUMMARY = "Libav-based GStreamer 1.x plugin"
+HOMEPAGE = "http://gstreamer.freedesktop.org/"
SECTION = "multimedia"
+
LICENSE = "GPLv2+ & LGPLv2+ & ( (GPLv2+ & LGPLv2.1+) | (GPLv3+ & LGPLv3+) )"
LICENSE_FLAGS = "commercial"
-HOMEPAGE = "http://www.gstreamer.net/"
-DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base zlib bzip2"
-inherit autotools pkgconfig
+DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base zlib bzip2 xz"
+
+inherit autotools pkgconfig upstream-version-is-even
# CAUTION: Using the system libav is not recommended. Since the libav API is changing all the time,
# compilation errors (and other, more subtle bugs) can happen. It is usually better to rely on the
# libav copy included in the gst-libav package.
-PACKAGECONFIG ??= " orc yasm "
-PACKAGECONFIG[libav] = "--with-system-libav,,libav"
-PACKAGECONFIG[lgpl] = "--enable-lgpl,,"
-PACKAGECONFIG[yasm] = "--enable-yasm,--disable-yasm,yasm-native"
-PACKAGECONFIG[orc] = "--enable-orc,--disable-orc,orc"
+PACKAGECONFIG ??= "orc yasm"
+PACKAGECONFIG[gpl] = "--enable-gpl,--disable-gpl,"
+PACKAGECONFIG[libav] = "--with-system-libav,,libav"
+PACKAGECONFIG[orc] = "--enable-orc,--disable-orc,orc"
+PACKAGECONFIG[yasm] = "--enable-yasm,--disable-yasm,yasm-native"
GSTREAMER_1_0_DEBUG ?= "--disable-debug"
LIBAV_EXTRA_CONFIGURE = "--with-libav-extra-configure"
+
+LIBAV_EXTRA_CONFIGURE_COMMON_ARG = "--target-os=linux \
+ --cc='${CC}' --as='${CC}' --ld='${CC}' --nm='${NM}' --ar='${AR}' \
+ --ranlib='${RANLIB}' \
+ ${GSTREAMER_1_0_DEBUG} \
+ --cross-prefix='${HOST_PREFIX}'"
+
LIBAV_EXTRA_CONFIGURE_COMMON = \
'${LIBAV_EXTRA_CONFIGURE}="${LIBAV_EXTRA_CONFIGURE_COMMON_ARG}"'
EXTRA_OECONF = "${LIBAV_EXTRA_CONFIGURE_COMMON}"
FILES_${PN} += "${libdir}/gstreamer-1.0/*.so"
-FILES_${PN}-dbg += "${libdir}/gstreamer-1.0/.debug"
FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la"
FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
+# http://errors.yoctoproject.org/Errors/Details/20493/
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
+
+# ffmpeg/libav disables PIC on some platforms (e.g. x86-32)
+INSANE_SKIP_${PN} = "textrel"
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/workaround-to-build-gst-libav-for-i586-with-gcc.patch b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/workaround-to-build-gst-libav-for-i586-with-gcc.patch
index ccadea4d5..36abf8607 100644
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/workaround-to-build-gst-libav-for-i586-with-gcc.patch
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/workaround-to-build-gst-libav-for-i586-with-gcc.patch
@@ -22,5 +22,5 @@ Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+ ( (unsigned char*)(h->non_zero_count[mb_xy]) ) [i] = 16;
+ }
h->cur_pic.mb_type[mb_xy] = mb_type;
- h->last_qscale_diff = 0;
+ sl->last_qscale_diff = 0;
return 0;
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.4.5.bb b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.6.3.bb
index 5d74a2e57..687230a8f 100644
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.4.5.bb
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.6.3.bb
@@ -3,7 +3,6 @@ include gstreamer1.0-libav.inc
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://COPYING.LIB;md5=6762ed442b3822387a51c92d928ead0d \
file://ext/libav/gstav.h;beginline=1;endline=18;md5=a752c35267d8276fd9ca3db6994fca9c \
- file://gst-libs/ext/libav/LICENSE;md5=ea66e97a7ac1db978cf3529068a8c948 \
file://gst-libs/ext/libav/COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://gst-libs/ext/libav/COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \
file://gst-libs/ext/libav/COPYING.LGPLv2.1;md5=bd7a443320af8c812e4c18d1b79df004 \
@@ -14,17 +13,8 @@ SRC_URI = " \
file://0001-Disable-yasm-for-libav-when-disable-yasm.patch \
file://workaround-to-build-gst-libav-for-i586-with-gcc.patch \
"
-SRC_URI[md5sum] = "f4922a46adbcbe7bd01331ff5dc7979d"
-SRC_URI[sha256sum] = "605c62624604f3bb5c870844cc1f2711779cc533b004c2aa1d8c0d58557afbbc"
-LIBAV_EXTRA_CONFIGURE_COMMON_ARG = "--target-os=linux \
- --cc='${CC}' --as='${CC}' --ld='${CC}' --nm='${NM}' --ar='${AR}' \
- --ranlib='${RANLIB}' \
- ${GSTREAMER_1_0_DEBUG} \
- --cross-prefix='${HOST_PREFIX}'"
+SRC_URI[md5sum] = "cfe9a06913d4fd4067e9e47f6e05fac2"
+SRC_URI[sha256sum] = "857b9c060a0337de38c6d26238c47352433c02eabf26c2f860c854dbc35bd4ab"
S = "${WORKDIR}/gst-libav-${PV}"
-
-# http://errors.yoctoproject.org/Errors/Details/20493/
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_git.bb b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_git.bb
index bf1b87e6d..ebc8a5ef2 100644
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_git.bb
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_git.bb
@@ -5,25 +5,34 @@ include gstreamer1.0-libav.inc
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://COPYING.LIB;md5=6762ed442b3822387a51c92d928ead0d \
file://ext/libav/gstav.h;beginline=1;endline=18;md5=a752c35267d8276fd9ca3db6994fca9c \
- file://gst-libs/ext/libav/LICENSE;md5=23a54f59b82572c203a559346e89ed57 \
+ file://gst-libs/ext/libav/LICENSE.md;md5=acda96fe91ccaabc9cd9d541806a0d37 \
file://gst-libs/ext/libav/COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://gst-libs/ext/libav/COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \
file://gst-libs/ext/libav/COPYING.LGPLv2.1;md5=bd7a443320af8c812e4c18d1b79df004 \
file://gst-libs/ext/libav/COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02"
-SRC_URI = "git://anongit.freedesktop.org/gstreamer/gst-libav;branch=master"
-S = "${WORKDIR}/git"
+# To build using the system libav/ffmpeg, append "libav" to PACKAGECONFIG
+# and remove the ffmpeg sources from SRC_URI below. However, first note the
+# warnings in gstreamer1.0-libav.inc
+SRC_URI = " \
+ git://anongit.freedesktop.org/gstreamer/gst-libav;name=base \
+ git://anongit.freedesktop.org/gstreamer/common;destsuffix=git/common;name=common \
+ git://source.ffmpeg.org/ffmpeg;destsuffix=git/gst-libs/ext/libav;name=ffmpeg;branch=release/3.0 \
+ file://0001-Disable-yasm-for-libav-when-disable-yasm.patch \
+ file://workaround-to-build-gst-libav-for-i586-with-gcc.patch \
+"
+
+PV = "1.7.2+git${SRCPV}"
-SRCREV = "127202d6f65584891dabf92be031f0d170b0e7f1"
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))"
-LIBAV_EXTRA_CONFIGURE_COMMON_ARG = "--target-os=linux \
- --cc='${CC}' --as='${CC}' --ld='${CC}' --nm='${NM}' --ar='${AR}' \
- ${GSTREAMER_1_0_DEBUG} \
- --cross-prefix='${HOST_PREFIX}'"
+SRCREV_base = "6c4878b6abc916b7f6f25b8926c4859119acf1ec"
+SRCREV_common = "b64f03f6090245624608beb5d2fff335e23a01c0"
+SRCREV_ffmpeg = "c40983a6f631d22fede713d535bb9c31d5c9740c"
+SRCREV_FORMAT = "base"
+
+S = "${WORKDIR}/git"
do_configure_prepend() {
- cd ${S}
- ./autogen.sh --noconfigure
- cd ${B}
+ ${S}/autogen.sh --noconfigure
}
-
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-meta-base.bb b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-meta-base.bb
index 3ef10c372..c542b13f0 100644
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-meta-base.bb
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-meta-base.bb
@@ -1,6 +1,9 @@
-DESCRIPTION = "Gstreamer1.0 package groups"
+SUMMARY = "Gstreamer1.0 package groups"
LICENSE = "MIT"
+# Due to use of COMBINED_FEATURES
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
inherit packagegroup
COMMERCIAL_PLUGINS = "${COMMERCIAL_AUDIO_PLUGINS} ${COMMERCIAL_VIDEO_PLUGINS}"
@@ -26,7 +29,7 @@ RDEPENDS_gstreamer1.0-meta-base = "\
gstreamer1.0 \
gstreamer1.0-plugins-base-playback \
gstreamer1.0-plugins-base-gio \
- gstreamer1.0-plugins-base-alsa \
+ ${@bb.utils.contains('COMBINED_FEATURES', 'alsa', 'gstreamer1.0-plugins-base-alsa', '',d)} \
gstreamer1.0-plugins-base-volume \
gstreamer1.0-plugins-base-audioconvert \
gstreamer1.0-plugins-base-audioresample \
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx.inc b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx.inc
index 26c13361f..0fff612ee 100644
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx.inc
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx.inc
@@ -1,10 +1,11 @@
SUMMARY = "OpenMAX IL plugins for GStreamer"
+HOMEPAGE = "http://gstreamer.freedesktop.org/"
SECTION = "multimedia"
+
LICENSE = "LGPLv2.1"
LICENSE_FLAGS = "commercial"
-HOMEPAGE = "http://www.gstreamer.net/"
+
DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
-RDEPENDS_${PN} = "libomxil"
inherit autotools pkgconfig gettext
@@ -32,10 +33,11 @@ python __anonymous () {
set_omx_core_name() {
sed -i -e "s;^core-name=.*;core-name=${GSTREAMER_1_0_OMX_CORE_NAME};" "${D}${sysconfdir}/xdg/gstomx.conf"
}
+
do_install[postfuncs] += " set_omx_core_name "
FILES_${PN} += "${libdir}/gstreamer-1.0/*.so"
-FILES_${PN}-dbg += "${libdir}/gstreamer-1.0/.debug"
FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la"
FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
+RDEPENDS_${PN} = "libomxil"
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.2.0.bb b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.2.0.bb
index fe7c91cb3..74358a724 100644
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.2.0.bb
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.2.0.bb
@@ -9,4 +9,3 @@ SRC_URI[md5sum] = "d24e8c0153c35dfefee3e26b1c2c35f8"
SRC_URI[sha256sum] = "0b4874961e6488ad9e5808114bd486ea981c540907262caab1419355fd82d745"
S = "${WORKDIR}/gst-omx-${PV}"
-
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_git.bb b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_git.bb
index 99c84668e..970554352 100644
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_git.bb
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_git.bb
@@ -9,18 +9,17 @@ SRC_URI = " \
git://anongit.freedesktop.org/gstreamer/gst-omx;branch=master;name=gst-omx \
git://anongit.freedesktop.org/gstreamer/common;destsuffix=git/common;branch=master;name=common \
file://0001-omx-fixed-type-error-in-printf-call.patch \
- "
-
-S = "${WORKDIR}/git"
+"
SRCREV_gst-omx = "a2db76b048db278ef0aa798e106b7594264e06c0"
SRCREV_common = "5edcd857b2107cd8b78c16232dd10877513ec157"
SRCREV_FORMAT = "gst-omx"
+S = "${WORKDIR}/git"
+
do_configure_prepend() {
cd ${S}
./autogen.sh --noconfigure
cd ${B}
}
-
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc
index b4f01afe5..9e2b94ede 100644
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc
@@ -1,136 +1,148 @@
require gstreamer1.0-plugins.inc
-LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+ "
+LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+"
DEPENDS += "gstreamer1.0-plugins-base libpng jpeg"
-S = "${WORKDIR}/gst-plugins-bad-${PV}"
-
-SRC_URI += "file://configure-allow-to-disable-libssh2.patch \
- "
-
inherit gettext bluetooth
+SRC_URI_append = " \
+ file://0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch \
+"
+
# opengl packageconfig factored out to make it easy for distros
# and BSP layers to pick either (desktop) opengl, gles2, or no GL
PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2', '', d)}"
+# gtk is not in the PACKAGECONFIG variable by default until
+# the transition to gtk+3 is finished
PACKAGECONFIG ??= " \
+ ${GSTREAMER_ORC} \
${PACKAGECONFIG_GL} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)} \
- orc curl neon sndfile \
- hls sbc dash bz2 smoothstreaming \
- "
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \
+ bz2 curl dash dtls hls neon rsvg sbc smoothstreaming sndfile uvch264 webp \
+"
-# dash = Dynamic Adaptive Streaming over HTTP
PACKAGECONFIG[assrender] = "--enable-assrender,--disable-assrender,libass"
+PACKAGECONFIG[bluez] = "--enable-bluez,--disable-bluez,${BLUEZ}"
+PACKAGECONFIG[bz2] = "--enable-bz2,--disable-bz2,bzip2"
PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl"
-PACKAGECONFIG[gles2] = "--enable-gles2,--disable-gles2,virtual/libgles2"
-PACKAGECONFIG[opengl] = "--enable-opengl,--disable-opengl,virtual/libgl libglu"
+PACKAGECONFIG[dash] = "--enable-dash,--disable-dash,libxml2"
+PACKAGECONFIG[directfb] = "--enable-directfb,--disable-directfb,directfb"
+PACKAGECONFIG[dtls] = "--enable-dtls,--disable-dtls,openssl"
PACKAGECONFIG[faac] = "--enable-faac,--disable-faac,faac"
PACKAGECONFIG[faad] = "--enable-faad,--disable-faad,faad2"
+PACKAGECONFIG[flite] = "--enable-flite,--disable-flite,flite-alsa"
+PACKAGECONFIG[fluidsynth] = "--enable-fluidsynth,--disable-fluidsynth,fluidsynth"
+PACKAGECONFIG[gles2] = "--enable-gles2,--disable-gles2,virtual/libgles2"
+PACKAGECONFIG[gtk] = "--enable-gtk3,--disable-gtk3,gtk+3"
+PACKAGECONFIG[hls] = "--enable-hls,--disable-hls,nettle"
PACKAGECONFIG[libmms] = "--enable-libmms,--disable-libmms,libmms"
+PACKAGECONFIG[libssh2] = "--enable-libssh2,--disable-libssh2,libssh2"
PACKAGECONFIG[modplug] = "--enable-modplug,--disable-modplug,libmodplug"
-PACKAGECONFIG[mpg123] = "--enable-mpg123,--disable-mpg123,mpg123"
-PACKAGECONFIG[opus] = "--enable-opus,--disable-opus,libopus"
-PACKAGECONFIG[flite] = "--enable-flite,--disable-flite,flite-alsa"
-PACKAGECONFIG[opencv] = "--enable-opencv,--disable-opencv,opencv"
-PACKAGECONFIG[wayland] = "--enable-wayland --enable-egl,--disable-wayland --disable-egl,wayland virtual/egl"
-PACKAGECONFIG[uvch264] = "--enable-uvch264,--disable-uvch264,libusb1 libgudev"
-PACKAGECONFIG[directfb] = "--enable-directfb,--disable-directfb,directfb"
PACKAGECONFIG[neon] = "--enable-neon,--disable-neon,neon"
PACKAGECONFIG[openal] = "--enable-openal,--disable-openal,openal-soft"
-PACKAGECONFIG[hls] = "--enable-hls,--disable-hls,gnutls"
+PACKAGECONFIG[opencv] = "--enable-opencv,--disable-opencv,opencv"
+PACKAGECONFIG[opengl] = "--enable-opengl,--disable-opengl,virtual/libgl libglu"
+PACKAGECONFIG[opus] = "--enable-opus,--disable-opus,libopus"
+PACKAGECONFIG[resindvd] = "--enable-resindvd,--disable-resindvd,libdvdread libdvdnav"
+PACKAGECONFIG[rsvg] = "--enable-rsvg,--disable-rsvg,librsvg"
+PACKAGECONFIG[rtmp] = "--enable-rtmp,--disable-rtmp,rtmpdump"
PACKAGECONFIG[sbc] = "--enable-sbc,--disable-sbc,sbc"
-PACKAGECONFIG[dash] = "--enable-dash,--disable-dash,libxml2"
-PACKAGECONFIG[bz2] = "--enable-bz2,--disable-bz2,bzip2"
-PACKAGECONFIG[fluidsynth] = "--enable-fluidsynth,--disable-fluidsynth,fluidsynth"
PACKAGECONFIG[schroedinger] = "--enable-schro,--disable-schro,schroedinger"
PACKAGECONFIG[smoothstreaming] = "--enable-smoothstreaming,--disable-smoothstreaming,libxml2"
-PACKAGECONFIG[bluez] = "--enable-bluez,--disable-bluez,${BLUEZ}"
-PACKAGECONFIG[rsvg] = "--enable-rsvg,--disable-rsvg,librsvg"
PACKAGECONFIG[sndfile] = "--enable-sndfile,--disable-sndfile,libsndfile1"
-PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp"
-PACKAGECONFIG[rtmp] = "--enable-rtmp,--disable-rtmp,rtmpdump"
-PACKAGECONFIG[libssh2] = "--enable-libssh2,--disable-libssh2,libssh2"
-PACKAGECONFIG[voamrwbenc] = "--enable-voamrwbenc,--disable-voamrwbenc,vo-amrwbenc"
+PACKAGECONFIG[srtp] = "--enable-srtp,--disable-srtp,libsrtp"
+PACKAGECONFIG[uvch264] = "--enable-uvch264,--disable-uvch264,libusb1 libgudev"
PACKAGECONFIG[voaacenc] = "--enable-voaacenc,--disable-voaacenc,vo-aacenc"
-PACKAGECONFIG[resindvd] = "--enable-resindvd,--disable-resindvd,libdvdnav libdvdread"
+PACKAGECONFIG[voamrwbenc] = "--enable-voamrwbenc,--disable-voamrwbenc,vo-amrwbenc"
+PACKAGECONFIG[wayland] = "--enable-wayland --enable-egl,--disable-wayland --disable-egl,wayland virtual/egl"
+PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp"
# these plugins have not been ported to 1.0 (yet):
-# directdraw vcd apexsink dc1394 lv2 linsys musepack mythtv
-# nas timidity teletextdec sdl xvid wininet acm gsettings
-# sndio qtwrapper cdxaparse dccp faceoverlay hdvparse tta
-# mve nuvdemux osx_video patchdetect quicktime real sdi
-# videomeasure gsettings
+# apexsink dc1394 lv2 linsys musepack nas timidity teletextdec sdl xvid wininet
+# acm gsettings sndio cdxaparse dccp faceoverlay hdvparse tta mve nuvdemux
+# patchdetect real sdi videomeasure gsettings
# these plugins have no corresponding library in OE-core or meta-openembedded:
-# openni2 winks direct3d directdraw directsound winscreencap osx_video
-# apple_media android_media avc chromaprint daala dts gme gsm kate ladspa mimic
-# mpeg2enc mplex ofa openjpeg opensles pvr rtmp soundtouch spandsp spc
-# srtp vdpau wasapi zbar
+# openni2 winks direct3d directsound winscreencap
+# apple_media android_media avc bs2b chromaprint daala dts gme gsm kate ladspa
+# libde265 mimic mpeg2enc mplex ofa openh264 opensles pvr soundtouch spandsp
+# spc vdpau wasapi x265 zbar
+
+# qt5 support is disabled, because it is not present in OE core, and requires more work than
+# just adding a packageconfig (it requires access to moc, uic, rcc, and qmake paths).
+# This is better done in a separate qt5 layer (which then should add a "qt5" packageconfig
+# in a gstreamer1.0-plugins-bad bbappend).
EXTRA_OECONF += " \
+ --enable-decklink \
--enable-dvb \
- --enable-shm \
--enable-fbdev \
- --enable-decklink \
+ --enable-shm \
+ --enable-vcd \
--disable-acm \
--disable-android_media \
--disable-apexsink \
--disable-apple_media \
--disable-avc \
+ --disable-bs2b \
--disable-chromaprint \
--disable-cocoa \
--disable-daala \
--disable-dc1394 \
--disable-direct3d \
- --disable-directdraw \
--disable-directsound \
--disable-dts \
--disable-gme \
- --disable-gsettings \
--disable-gsm \
--disable-kate \
--disable-ladspa \
+ --disable-libde265 \
+ --disable-libvisual \
--disable-linsys \
--disable-lv2 \
--disable-mimic \
--disable-mpeg2enc \
--disable-mplex \
--disable-musepack \
- --disable-mythtv \
--disable-nas \
--disable-ofa \
+ --disable-openexr \
+ --disable-openh264 \
--disable-openjpeg \
+ --disable-openni2 \
--disable-opensles \
- --disable-osx_video \
--disable-pvr \
- --disable-quicktime \
+ --disable-qt \
--disable-sdl \
--disable-sdltest \
--disable-sndio \
--disable-soundtouch \
--disable-spandsp \
--disable-spc \
- --disable-srtp \
--disable-teletextdec \
--disable-timidity \
- --disable-vcd \
--disable-vdpau \
--disable-wasapi \
--disable-wildmidi \
--disable-wininet \
+ --disable-winks \
--disable-winscreencap \
+ --disable-x265 \
--disable-xvid \
--disable-zbar \
${@bb.utils.contains("TUNE_FEATURES", "mx32", "--disable-yadif", "", d)} \
- "
+"
-ARM_INSTRUCTION_SET = "arm"
+export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}"
-FILES_gstreamer1.0-plugins-bad-opencv += "${datadir}/gst-plugins-bad/1.0/opencv*"
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
+FILES_${PN}-dev += "${libdir}/gstreamer-${LIBV}/include/gst/gl/gstglconfig.h"
+FILES_${PN}-freeverb += "${datadir}/gstreamer-${LIBV}/presets/GstFreeverb.prs"
+FILES_${PN}-opencv += "${datadir}/gst-plugins-bad/${LIBV}/opencv*"
FILES_${PN}-voamrwbenc += "${datadir}/gstreamer-${LIBV}/presets/GstVoAmrwbEnc.prs"
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch
new file mode 100644
index 000000000..154d340e4
--- /dev/null
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch
@@ -0,0 +1,57 @@
+From cff6fbf555a072408c21da1e818209c9d3814dd3 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 27 Oct 2015 14:36:58 +0200
+Subject: [PATCH] Makefile.am: don't hardcode libtool name when running
+ introspection tools
+
+Upstream-Status: Pending [review on oe-core list]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
+---
+ gst-libs/gst/gl/Makefile.am | 2 +-
+ gst-libs/gst/insertbin/Makefile.am | 2 +-
+ gst-libs/gst/mpegts/Makefile.am | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/gst-libs/gst/gl/Makefile.am b/gst-libs/gst/gl/Makefile.am
+index f968357..7cc2c7a 100644
+--- a/gst-libs/gst/gl/Makefile.am
++++ b/gst-libs/gst/gl/Makefile.am
+@@ -149,7 +149,7 @@ GstGL-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstgl-@GST_API_VERSION@
+ --library=libgstgl-@GST_API_VERSION@.la \
+ --include=Gst-@GST_API_VERSION@ \
+ --include=GstBase-@GST_API_VERSION@ \
+- --libtool="$(top_builddir)/libtool" \
++ --libtool="$(LIBTOOL)" \
+ --pkg gstreamer-@GST_API_VERSION@ \
+ --pkg gstreamer-base-@GST_API_VERSION@ \
+ --pkg gstreamer-video-@GST_API_VERSION@ \
+diff --git a/gst-libs/gst/insertbin/Makefile.am b/gst-libs/gst/insertbin/Makefile.am
+index 09eb97c..b746885 100644
+--- a/gst-libs/gst/insertbin/Makefile.am
++++ b/gst-libs/gst/insertbin/Makefile.am
+@@ -43,7 +43,7 @@ GstInsertBin-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstinsertbin-@GS
+ --library=libgstinsertbin-@GST_API_VERSION@.la \
+ --include=Gst-@GST_API_VERSION@ \
+ --include=GstBase-@GST_API_VERSION@ \
+- --libtool="$(top_builddir)/libtool" \
++ --libtool="$(LIBTOOL)" \
+ --pkg gstreamer-@GST_API_VERSION@ \
+ --pkg gstreamer-base-@GST_API_VERSION@ \
+ --pkg-export gstreamer-insertbin-@GST_API_VERSION@ \
+diff --git a/gst-libs/gst/mpegts/Makefile.am b/gst-libs/gst/mpegts/Makefile.am
+index 2511d49..c1cbce6 100644
+--- a/gst-libs/gst/mpegts/Makefile.am
++++ b/gst-libs/gst/mpegts/Makefile.am
+@@ -78,7 +78,7 @@ GstMpegts-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstmpegts-@GST_API_
+ --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-video-@GST_API_VERSION@` \
+ --library=libgstmpegts-@GST_API_VERSION@.la \
+ --include=Gst-@GST_API_VERSION@ \
+- --libtool="$(top_builddir)/libtool" \
++ --libtool="$(LIBTOOL)" \
+ --pkg gstreamer-@GST_API_VERSION@ \
+ --pkg gstreamer-video-@GST_API_VERSION@ \
+ --pkg-export gstreamer-mpegts-@GST_API_VERSION@ \
+--
+2.6.2
+
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-gl-do-not-check-for-GL-GLU-EGL-GLES2-libs-if-disable.patch b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-gl-do-not-check-for-GL-GLU-EGL-GLES2-libs-if-disable.patch
deleted file mode 100644
index 042a32c04..000000000
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-gl-do-not-check-for-GL-GLU-EGL-GLES2-libs-if-disable.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From deba0da45ec821209a7ed148a4521d562e6512cd Mon Sep 17 00:00:00 2001
-From: Carlos Rafael Giani <dv@pseudoterminal.org>
-Date: Wed, 27 Aug 2014 14:47:25 +0200
-Subject: [PATCH] gl: do not check for GL/GLU/EGL/GLES2 libs if disabled in
- configuration
-
-Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=735522]
-
-Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
----
- configure.ac | 14 ++++++++++----
- 1 file changed, 10 insertions(+), 4 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 1a46afb..e85d4ba 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -661,10 +661,16 @@ case $host in
- fi
- ;;
- *)
-- AG_GST_CHECK_LIBHEADER(GL, GL, glTexImage2D,, GL/gl.h)
-- AG_GST_CHECK_LIBHEADER(GLU, GLU, gluSphere,, GL/glu.h)
-- AG_GST_CHECK_LIBHEADER(GLES2, GLESv2, glTexImage2D,, GLES2/gl2.h)
-- AG_GST_CHECK_LIBHEADER(EGL, EGL, eglGetError,, EGL/egl.h)
-+ if test "x$NEED_GL" != "xno"; then
-+ AG_GST_CHECK_LIBHEADER(GL, GL, glTexImage2D,, GL/gl.h)
-+ AG_GST_CHECK_LIBHEADER(GLU, GLU, gluSphere,, GL/glu.h)
-+ fi
-+ if test "x$NEED_GLES2" != "xno"; then
-+ AG_GST_CHECK_LIBHEADER(GLES2, GLESv2, glTexImage2D,, GLES2/gl2.h)
-+ fi
-+ if test "x$NEED_EGL" != "xno"; then
-+ AG_GST_CHECK_LIBHEADER(EGL, EGL, eglGetError,, EGL/egl.h)
-+ fi
-
- old_LIBS=$LIBS
- old_CFLAGS=$CFLAGS
---
-1.8.3.2
-
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-glimagesink-Downrank-to-marginal.patch b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-glimagesink-Downrank-to-marginal.patch
index f677603eb..1085e95e8 100644
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-glimagesink-Downrank-to-marginal.patch
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-glimagesink-Downrank-to-marginal.patch
@@ -22,8 +22,8 @@ index a4b2540..0ccaacd 100644
#endif
if (!gst_element_register (plugin, "glimagesink",
-- GST_RANK_SECONDARY, GST_TYPE_GLIMAGE_SINK)) {
-+ GST_RANK_MARGINAL, GST_TYPE_GLIMAGE_SINK)) {
+- GST_RANK_SECONDARY, gst_gl_image_sink_bin_get_type ())) {
++ GST_RANK_MARGINAL, gst_gl_image_sink_bin_get_type ())) {
return FALSE;
}
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-gstreamer-gl.pc.in-don-t-append-GL_CFLAGS-to-CFLAGS.patch b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-gstreamer-gl.pc.in-don-t-append-GL_CFLAGS-to-CFLAGS.patch
new file mode 100644
index 000000000..e81b06570
--- /dev/null
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-gstreamer-gl.pc.in-don-t-append-GL_CFLAGS-to-CFLAGS.patch
@@ -0,0 +1,27 @@
+From a93ca63d01e7cd1e40b5be576992f77fac364bd5 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Mon, 21 Mar 2016 18:21:17 +0200
+Subject: [PATCH] gstreamer-gl.pc.in: don't append GL_CFLAGS to CFLAGS
+
+Dependencies' include directories should not be added in this way;
+it causes problems when cross-compiling in sysroot environments.
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ pkgconfig/gstreamer-gl.pc.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/pkgconfig/gstreamer-gl.pc.in b/pkgconfig/gstreamer-gl.pc.in
+index 5589e2a..b986450 100644
+--- a/pkgconfig/gstreamer-gl.pc.in
++++ b/pkgconfig/gstreamer-gl.pc.in
+@@ -10,4 +10,4 @@ Version: @VERSION@
+ Requires: gstreamer-base-@GST_API_VERSION@ gstreamer-@GST_API_VERSION@
+
+ Libs: -L${libdir} -lgstgl-@GST_API_VERSION@ @GL_LIBS@
+-Cflags: -I${includedir} @GL_CFLAGS@
++Cflags: -I${includedir}
+--
+2.7.0
+
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-glplugin-glwindow-fix-memory-leak-of-navigation-thre.patch b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-glplugin-glwindow-fix-memory-leak-of-navigation-thre.patch
new file mode 100755
index 000000000..3491a15e6
--- /dev/null
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-glplugin-glwindow-fix-memory-leak-of-navigation-thre.patch
@@ -0,0 +1,35 @@
+From 95cda7fbcf1a81289d9315c801c8e2b3d896f4cb Mon Sep 17 00:00:00 2001
+From: Haihua Hu <b55597@freescale.com>
+Date: Mon, 30 Nov 2015 09:36:09 +0800
+Subject: [PATCH 2/5] [glplugin] glwindow: fix memory leak of navigation
+ thread
+
+When exit navigation thread, call g_thread_join() to release
+the resource hold by it.
+
+Upstream-Status: Backport [1.7.1]
+
+bugzilla URL: https://bugzilla.gnome.org/show_bug.cgi?id=758820
+
+Signed-off-by: Haihua Hu <b55597@freescale.com>
+---
+ gst-libs/gst/gl/gstglwindow.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/gst-libs/gst/gl/gstglwindow.c b/gst-libs/gst/gl/gstglwindow.c
+index 44b74ca..42ef296 100644
+--- a/gst-libs/gst/gl/gstglwindow.c
++++ b/gst-libs/gst/gl/gstglwindow.c
+@@ -343,6 +343,9 @@ gst_gl_window_finalize (GObject * object)
+ while (window->nav_alive) {
+ g_cond_wait (&window->nav_destroy_cond, &window->nav_lock);
+ }
++ /* release resource hold by navigation thread */
++ g_thread_join(window->priv->navigation_thread);
++ window->priv->navigation_thread = NULL;
+ g_mutex_unlock (&window->nav_lock);
+ }
+
+--
+1.7.9.5
+
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch
new file mode 100644
index 000000000..357fd7800
--- /dev/null
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch
@@ -0,0 +1,30 @@
+From 72561a0fca562d03567ace7b4cfc94992cd6525c Mon Sep 17 00:00:00 2001
+From: Andre McCurdy <armccurdy@gmail.com>
+Date: Wed, 3 Feb 2016 18:05:41 -0800
+Subject: [PATCH] avoid including <sys/poll.h> directly
+
+musl libc generates warnings if <sys/poll.h> is included directly.
+
+Upstream-Status: Pending
+
+Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
+---
+ sys/dvb/gstdvbsrc.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/sys/dvb/gstdvbsrc.c b/sys/dvb/gstdvbsrc.c
+index b93255f..49f145a 100644
+--- a/sys/dvb/gstdvbsrc.c
++++ b/sys/dvb/gstdvbsrc.c
+@@ -93,7 +93,7 @@
+ #include <gst/gst.h>
+ #include <gst/glib-compat-private.h>
+ #include <sys/ioctl.h>
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <fcntl.h>
+ #include <errno.h>
+ #include <stdio.h>
+--
+1.9.1
+
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch
new file mode 100644
index 000000000..369ff93ac
--- /dev/null
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch
@@ -0,0 +1,86 @@
+From 2262ba4b686d5cc0d3e894707fe1d31619a3a8f1 Mon Sep 17 00:00:00 2001
+From: Andre McCurdy <armccurdy@gmail.com>
+Date: Tue, 9 Feb 2016 14:00:00 -0800
+Subject: [PATCH] ensure valid sentinals for gst_structure_get() etc
+
+For GStreamer functions declared with G_GNUC_NULL_TERMINATED,
+ie __attribute__((__sentinel__)), gcc will generate a warning if the
+last parameter passed to the function is not NULL (where a valid NULL
+in this context is defined as zero with any pointer type).
+
+The C callers to such functions within gst-plugins-bad use the C NULL
+definition (ie ((void*)0)), which is a valid sentinel.
+
+However the C++ NULL definition (ie 0L), is not a valid sentinel
+without an explicit cast to a pointer type.
+
+Upstream-Status: Pending
+
+Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
+---
+ sys/decklink/gstdecklink.cpp | 10 +++++-----
+ sys/decklink/gstdecklinkaudiosrc.cpp | 2 +-
+ sys/decklink/gstdecklinkvideosink.cpp | 2 +-
+ 3 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/sys/decklink/gstdecklink.cpp b/sys/decklink/gstdecklink.cpp
+index 64637f1..bac956f 100644
+--- a/sys/decklink/gstdecklink.cpp
++++ b/sys/decklink/gstdecklink.cpp
+@@ -324,22 +324,22 @@ gst_decklink_mode_get_structure (GstDecklinkModeEnum e, BMDPixelFormat f)
+ "height", G_TYPE_INT, mode->height,
+ "pixel-aspect-ratio", GST_TYPE_FRACTION, mode->par_n, mode->par_d,
+ "interlace-mode", G_TYPE_STRING, mode->interlaced ? "interleaved" : "progressive",
+- "framerate", GST_TYPE_FRACTION, mode->fps_n, mode->fps_d, NULL);
++ "framerate", GST_TYPE_FRACTION, mode->fps_n, mode->fps_d, (void *) NULL);
+
+ switch (f) {
+ case bmdFormat8BitYUV: /* '2vuy' */
+ gst_structure_set (s, "format", G_TYPE_STRING, "UYVY",
+ "colorimetry", G_TYPE_STRING, mode->colorimetry,
+- "chroma-site", G_TYPE_STRING, "mpeg2", NULL);
++ "chroma-site", G_TYPE_STRING, "mpeg2", (void *) NULL);
+ break;
+ case bmdFormat10BitYUV: /* 'v210' */
+- gst_structure_set (s, "format", G_TYPE_STRING, "v210", NULL);
++ gst_structure_set (s, "format", G_TYPE_STRING, "v210", (void *) NULL);
+ break;
+ case bmdFormat8BitARGB: /* 'ARGB' */
+- gst_structure_set (s, "format", G_TYPE_STRING, "ARGB", NULL);
++ gst_structure_set (s, "format", G_TYPE_STRING, "ARGB", (void *) NULL);
+ break;
+ case bmdFormat8BitBGRA: /* 'BGRA' */
+- gst_structure_set (s, "format", G_TYPE_STRING, "BGRA", NULL);
++ gst_structure_set (s, "format", G_TYPE_STRING, "BGRA", (void *) NULL);
+ break;
+ case bmdFormat10BitRGB: /* 'r210' Big-endian RGB 10-bit per component with SMPTE video levels (64-960). Packed as 2:10:10:10 */
+ case bmdFormat12BitRGB: /* 'R12B' Big-endian RGB 12-bit per component with full range (0-4095). Packed as 12-bit per component */
+diff --git a/sys/decklink/gstdecklinkaudiosrc.cpp b/sys/decklink/gstdecklinkaudiosrc.cpp
+index 9a701ee..26fb7ec 100644
+--- a/sys/decklink/gstdecklinkaudiosrc.cpp
++++ b/sys/decklink/gstdecklinkaudiosrc.cpp
+@@ -312,7 +312,7 @@ gst_decklink_audio_src_set_caps (GstBaseSrc * bsrc, GstCaps * caps)
+ g_mutex_unlock (&self->input->lock);
+
+ if (videosrc) {
+- g_object_get (videosrc, "connection", &vconn, NULL);
++ g_object_get (videosrc, "connection", &vconn, (void *) NULL);
+ gst_object_unref (videosrc);
+
+ switch (vconn) {
+diff --git a/sys/decklink/gstdecklinkvideosink.cpp b/sys/decklink/gstdecklinkvideosink.cpp
+index eebeff3..da6e486 100644
+--- a/sys/decklink/gstdecklinkvideosink.cpp
++++ b/sys/decklink/gstdecklinkvideosink.cpp
+@@ -158,7 +158,7 @@ reset_framerate (GstCapsFeatures * features, GstStructure * structure,
+ gpointer user_data)
+ {
+ gst_structure_set (structure, "framerate", GST_TYPE_FRACTION_RANGE, 0, 1,
+- G_MAXINT, 1, NULL);
++ G_MAXINT, 1, (void *) NULL);
+
+ return TRUE;
+ }
+--
+1.9.1
+
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch
new file mode 100644
index 000000000..5ce57714e
--- /dev/null
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch
@@ -0,0 +1,28 @@
+From a67781000e82bd9ae3813da29401e8c0c852328a Mon Sep 17 00:00:00 2001
+From: Andre McCurdy <armccurdy@gmail.com>
+Date: Tue, 26 Jan 2016 15:16:01 -0800
+Subject: [PATCH] fix maybe-uninitialized warnings when compiling with -Os
+
+Upstream-Status: Pending
+
+Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
+---
+ gst-libs/gst/codecparsers/gstvc1parser.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gst-libs/gst/codecparsers/gstvc1parser.c b/gst-libs/gst/codecparsers/gstvc1parser.c
+index fd16ee0..ddb890c 100644
+--- a/gst-libs/gst/codecparsers/gstvc1parser.c
++++ b/gst-libs/gst/codecparsers/gstvc1parser.c
+@@ -1729,7 +1729,7 @@ gst_vc1_parse_sequence_layer (const guint8 * data, gsize size,
+ GstVC1SeqLayer * seqlayer)
+ {
+ guint32 tmp;
+- guint8 tmp8;
++ guint8 tmp8 = 0;
+ guint8 structA[8] = { 0, };
+ guint8 structB[12] = { 0, };
+ GstBitReader br;
+--
+1.9.1
+
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.4.5.bb b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.4.5.bb
deleted file mode 100644
index 687366924..000000000
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.4.5.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-include gstreamer1.0-plugins-bad.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=73a5855a8119deb017f5f13cf327095d \
- file://gst/tta/filters.h;beginline=12;endline=29;md5=8a08270656f2f8ad7bb3655b83138e5a \
- file://COPYING.LIB;md5=21682e4e8fea52413fd26c60acb907e5 \
- file://gst/tta/crc32.h;beginline=12;endline=29;md5=27db269c575d1e5317fffca2d33b3b50"
-
-SRC_URI += "file://0001-gl-do-not-check-for-GL-GLU-EGL-GLES2-libs-if-disable.patch \
- file://0001-glimagesink-Downrank-to-marginal.patch \
- "
-
-SRC_URI[md5sum] = "e0bb39412cf4a48fe0397bcf3a7cd451"
-SRC_URI[sha256sum] = "152fad7250683d72f9deb36c5685428338365fe4a4c87ffe15e38783b14f983c"
-
-S = "${WORKDIR}/gst-plugins-bad-${PV}"
-
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.3.bb b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.3.bb
new file mode 100644
index 000000000..8eb47c265
--- /dev/null
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.3.bb
@@ -0,0 +1,28 @@
+include gstreamer1.0-plugins-bad.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=73a5855a8119deb017f5f13cf327095d \
+ file://COPYING.LIB;md5=21682e4e8fea52413fd26c60acb907e5 \
+ file://gst/tta/crc32.h;beginline=12;endline=29;md5=27db269c575d1e5317fffca2d33b3b50 \
+ file://gst/tta/filters.h;beginline=12;endline=29;md5=8a08270656f2f8ad7bb3655b83138e5a"
+
+# Note: The mpg123 plugin was moved to gst-plugins-ugly prior to the 1.7.2
+# release, so this line should be removed during the update to 1.8.x
+# https://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=08d8aefcdaaf89ecb6dd53ec1e4f95cd42d01664
+PACKAGECONFIG[mpg123] = "--enable-mpg123,--disable-mpg123,mpg123"
+
+# Note: The gsettings plug-in was dropped prior to the 1.7.2 release,
+# so this line should be removed during the update to 1.8.x
+# https://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=914291808ad10621d6a74031f3d46d45eef5a3a3
+EXTRA_OECONF += "--disable-gsettings"
+
+SRC_URI = " \
+ http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \
+ file://configure-allow-to-disable-libssh2.patch \
+ file://0001-glimagesink-Downrank-to-marginal.patch \
+ file://0002-glplugin-glwindow-fix-memory-leak-of-navigation-thre.patch \
+"
+
+SRC_URI[md5sum] = "4857adcafe41e4b9b8805cf88303bd55"
+SRC_URI[sha256sum] = "971b29101d6a9c5e3fe94d99d977a227f58f0b2d29b6ca2c7f292052542b3a61"
+
+S = "${WORKDIR}/gst-plugins-bad-${PV}"
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_git.bb b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_git.bb
index 309505f7d..ef6581b2a 100644
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_git.bb
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_git.bb
@@ -3,24 +3,63 @@ DEFAULT_PREFERENCE = "-1"
include gstreamer1.0-plugins-bad.inc
LIC_FILES_CHKSUM = "file://COPYING;md5=73a5855a8119deb017f5f13cf327095d \
- file://gst/tta/filters.h;beginline=12;endline=29;md5=8a08270656f2f8ad7bb3655b83138e5a \
file://COPYING.LIB;md5=21682e4e8fea52413fd26c60acb907e5 \
- file://gst/tta/crc32.h;beginline=12;endline=29;md5=27db269c575d1e5317fffca2d33b3b50"
+ file://gst/tta/crc32.h;beginline=12;endline=29;md5=27db269c575d1e5317fffca2d33b3b50 \
+ file://gst/tta/filters.h;beginline=12;endline=29;md5=8a08270656f2f8ad7bb3655b83138e5a"
+
+SRC_URI = " \
+ git://anongit.freedesktop.org/gstreamer/gst-plugins-bad;name=base \
+ git://anongit.freedesktop.org/gstreamer/common;destsuffix=git/common;name=common \
+ file://configure-allow-to-disable-libssh2.patch \
+ file://fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch \
+ file://avoid-including-sys-poll.h-directly.patch \
+ file://ensure-valid-sentinels-for-gst_structure_get-etc.patch \
+ file://0001-gstreamer-gl.pc.in-don-t-append-GL_CFLAGS-to-CFLAGS.patch \
+"
+
+PV = "1.7.2+git${SRCPV}"
+
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))"
+
+SRCREV_base = "50ae46cc0f8827bf966920d9c221e5cf86e811ba"
+SRCREV_common = "a25397448942079002622be231e9ec49b985745a"
+SRCREV_FORMAT = "base"
S = "${WORKDIR}/git"
-SRCREV = "6e5db57d2446a753aaa76bee268e1f95600b14ce"
+# over-ride the default hls PACKAGECONFIG in gstreamer1.0-plugins-bad.inc to
+# pass an additional --with-hls-crypto=XXX option (new in 1.7.x) and switch HLS
+# AES decryption from nettle to openssl (ie a shared dependency with dtls).
+# This should move back to the common .inc once the main recipe updates to 1.8.x
+PACKAGECONFIG[hls] = "--enable-hls --with-hls-crypto=openssl,--disable-hls,openssl"
-PACKAGECONFIG[sbc] = "--enable-sbc,--disable-sbc,sbc"
-PACKAGECONFIG[hls] = "--enable-hls,--disable-hls,gnutls"
+# The tinyalsa plugin was added prior to the 1.7.2 release
+# https://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=c8bd74fa9a81398f57d976c478d2043f30188684
+PACKAGECONFIG[tinyalsa] = "--enable-tinyalsa,--disable-tinyalsa,tinyalsa"
+# The vulkan based video sink plugin was added prior to the 1.7.2 release
+# https://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=5de6dd9f40629562acf90e35e1fa58464d66617d
+PACKAGECONFIG[vulkan] = "--enable-vulkan,--disable-vulkan,libxcb"
+
+# The dependency-less netsim plugin was added prior to the 1.7.2 release
+# https://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=e3f9e854f08e82bfab11182c5a2aa6f9a0c73cd5
EXTRA_OECONF += " \
- -disable-openjpeg \
- "
+ --enable-netsim \
+"
do_configure_prepend() {
- cd ${S}
- ./autogen.sh --noconfigure
- cd ${B}
+ ${S}/autogen.sh --noconfigure
}
+# In 1.6.2, the "--enable-hls" configure option generated an installable package
+# called "gstreamer1.0-plugins-bad-fragmented". In 1.7.1 that HLS plugin package
+# has become "gstreamer1.0-plugins-bad-hls". See:
+# http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=efe62292a3d045126654d93239fdf4cc8e48ae08
+
+PACKAGESPLITFUNCS_append = " handle_hls_rename "
+
+python handle_hls_rename () {
+ d.setVar('RPROVIDES_gstreamer1.0-plugins-bad-hls', 'gstreamer1.0-plugins-bad-fragmented')
+ d.setVar('RREPLACES_gstreamer1.0-plugins-bad-hls', 'gstreamer1.0-plugins-bad-fragmented')
+ d.setVar('RCONFLICTS_gstreamer1.0-plugins-bad-hls', 'gstreamer1.0-plugins-bad-fragmented')
+}
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base.inc b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base.inc
index 4909b10d5..7381458f4 100644
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base.inc
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base.inc
@@ -1,38 +1,50 @@
require gstreamer1.0-plugins.inc
+SRC_URI_append = "\
+ file://0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch \
+ file://0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch \
+ file://0003-riff-add-missing-include-directories-when-calling-in.patch \
+ file://0004-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch \
+"
+
LICENSE = "GPLv2+ & LGPLv2+"
-DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxv', '', d)}"
-DEPENDS += "freetype liboil util-linux"
+DEPENDS += "iso-codes util-linux zlib"
inherit gettext
PACKAGES_DYNAMIC =+ "^libgst.*"
PACKAGECONFIG ??= " \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
+ ${GSTREAMER_ORC} \
${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)} \
- orc ivorbis ogg theora vorbis pango \
- "
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
+ gio-unix-2.0 ivorbis ogg pango theora vorbis \
+"
-X11DEPENDS = "virtual/libx11 libsm libxrender"
+X11DEPENDS = "virtual/libx11 libsm libxrender libxv"
X11ENABLEOPTS = "--enable-x --enable-xvideo --enable-xshm"
X11DISABLEOPTS = "--disable-x --disable-xvideo --disable-xshm"
-PACKAGECONFIG[x11] = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}"
-PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib"
-PACKAGECONFIG[ivorbis] = "--enable-ivorbis,--disable-ivorbis,tremor"
-PACKAGECONFIG[ogg] = "--enable-ogg,--disable-ogg,libogg"
-PACKAGECONFIG[theora] = "--enable-theora,--disable-theora,libtheora"
-PACKAGECONFIG[vorbis] = "--enable-vorbis,--disable-vorbis,libvorbis"
-PACKAGECONFIG[pango] = "--enable-pango,--disable-pango,pango"
-# libvisual do not seem to exist anywhere in OE
-PACKAGECONFIG[visual] = "--enable-libvisual,--disable-libvisual,libvisual"
-PACKAGECONFIG[cdparanoia] = "--enable-cdparanoia,--disable-cdparanoia,cdparanoia"
+
+PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib"
+PACKAGECONFIG[cdparanoia] = "--enable-cdparanoia,--disable-cdparanoia,cdparanoia"
+PACKAGECONFIG[gio-unix-2.0] = "--enable-gio_unix_2_0,--disable-gio_unix_2_0,glib-2.0"
+PACKAGECONFIG[ivorbis] = "--enable-ivorbis,--disable-ivorbis,tremor"
+PACKAGECONFIG[ogg] = "--enable-ogg,--disable-ogg,libogg"
+PACKAGECONFIG[pango] = "--enable-pango,--disable-pango,pango"
+PACKAGECONFIG[theora] = "--enable-theora,--disable-theora,libtheora"
+PACKAGECONFIG[visual] = "--enable-libvisual,--disable-libvisual,libvisual"
+PACKAGECONFIG[vorbis] = "--enable-vorbis,--disable-vorbis,libvorbis"
+PACKAGECONFIG[x11] = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}"
EXTRA_OECONF += " \
- --disable-freetypetest \
+ --enable-zlib \
"
+CACHED_CONFIGUREVARS_append_x86 = " ac_cv_header_emmintrin_h=no ac_cv_header_xmmintrin_h=no"
+
FILES_${MLPREFIX}libgsttag-1.0 += "${datadir}/gst-plugins-base/1.0/license-translations.dict"
-CACHED_CONFIGUREVARS_append_x86 = " ac_cv_header_emmintrin_h=no ac_cv_header_xmmintrin_h=no"
+do_compile_prepend() {
+ export GIR_EXTRA_LIBS_PATH="${B}/gst-libs/gst/tag/.libs:${B}/gst-libs/gst/video/.libs:${B}/gst-libs/gst/audio/.libs:${B}/gst-libs/gst/rtp/.libs"
+}
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch
new file mode 100644
index 000000000..781e4d801
--- /dev/null
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch
@@ -0,0 +1,168 @@
+From f1d9652351e7754c63003104eceb526af424c7e0 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Fri, 20 Nov 2015 16:53:04 +0200
+Subject: [PATCH 1/4] Makefile.am: don't hardcode libtool name when running
+ introspection tools
+
+Upstream-Status: Pending [review on oe-core maillist]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ gst-libs/gst/allocators/Makefile.am | 2 +-
+ gst-libs/gst/app/Makefile.am | 2 +-
+ gst-libs/gst/audio/Makefile.am | 2 +-
+ gst-libs/gst/fft/Makefile.am | 2 +-
+ gst-libs/gst/pbutils/Makefile.am | 2 +-
+ gst-libs/gst/riff/Makefile.am | 2 +-
+ gst-libs/gst/rtp/Makefile.am | 2 +-
+ gst-libs/gst/rtsp/Makefile.am | 2 +-
+ gst-libs/gst/sdp/Makefile.am | 2 +-
+ gst-libs/gst/tag/Makefile.am | 2 +-
+ gst-libs/gst/video/Makefile.am | 2 +-
+ 11 files changed, 11 insertions(+), 11 deletions(-)
+
+diff --git a/gst-libs/gst/allocators/Makefile.am b/gst-libs/gst/allocators/Makefile.am
+index 9361bf9..bc7f53a 100644
+--- a/gst-libs/gst/allocators/Makefile.am
++++ b/gst-libs/gst/allocators/Makefile.am
+@@ -37,7 +37,7 @@ GstAllocators-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstallocators-@
+ --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
+ --library=libgstallocators-@GST_API_VERSION@.la \
+ --include=Gst-@GST_API_VERSION@ \
+- --libtool="$(top_builddir)/libtool" \
++ --libtool="$(LIBTOOL)" \
+ --pkg gstreamer-@GST_API_VERSION@ \
+ --pkg-export gstreamer-allocators-@GST_API_VERSION@ \
+ --output $@ \
+diff --git a/gst-libs/gst/app/Makefile.am b/gst-libs/gst/app/Makefile.am
+index 6d6de8d..dcc2fe0 100644
+--- a/gst-libs/gst/app/Makefile.am
++++ b/gst-libs/gst/app/Makefile.am
+@@ -52,7 +52,7 @@ GstApp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstapp-@GST_API_VERSIO
+ --library=libgstapp-@GST_API_VERSION@.la \
+ --include=Gst-@GST_API_VERSION@ \
+ --include=GstBase-@GST_API_VERSION@ \
+- --libtool="$(top_builddir)/libtool" \
++ --libtool="$(LIBTOOL)" \
+ --pkg gstreamer-@GST_API_VERSION@ \
+ --pkg gstreamer-base-@GST_API_VERSION@ \
+ --pkg-export gstreamer-app-@GST_API_VERSION@ \
+diff --git a/gst-libs/gst/audio/Makefile.am b/gst-libs/gst/audio/Makefile.am
+index 275d222..2374196 100644
+--- a/gst-libs/gst/audio/Makefile.am
++++ b/gst-libs/gst/audio/Makefile.am
+@@ -106,7 +106,7 @@ GstAudio-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstaudio-@GST_API_VE
+ --include=Gst-@GST_API_VERSION@ \
+ --include=GstBase-@GST_API_VERSION@ \
+ --include=GstTag-@GST_API_VERSION@ \
+- --libtool="$(top_builddir)/libtool" \
++ --libtool="$(LIBTOOL)" \
+ --pkg gstreamer-@GST_API_VERSION@ \
+ --pkg gstreamer-base-@GST_API_VERSION@ \
+ --pkg-export gstreamer-audio-@GST_API_VERSION@ \
+diff --git a/gst-libs/gst/fft/Makefile.am b/gst-libs/gst/fft/Makefile.am
+index 09b3d68..f545354 100644
+--- a/gst-libs/gst/fft/Makefile.am
++++ b/gst-libs/gst/fft/Makefile.am
+@@ -64,7 +64,7 @@ GstFft-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstfft-@GST_API_VERSIO
+ --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
+ --library=libgstfft-@GST_API_VERSION@.la \
+ --include=Gst-@GST_API_VERSION@ \
+- --libtool="$(top_builddir)/libtool" \
++ --libtool="$(LIBTOOL)" \
+ --pkg gstreamer-@GST_API_VERSION@ \
+ --pkg-export gstreamer-fft-@GST_API_VERSION@ \
+ --output $@ \
+diff --git a/gst-libs/gst/pbutils/Makefile.am b/gst-libs/gst/pbutils/Makefile.am
+index 64d5eb0..91dc214 100644
+--- a/gst-libs/gst/pbutils/Makefile.am
++++ b/gst-libs/gst/pbutils/Makefile.am
+@@ -94,7 +94,7 @@ GstPbutils-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstpbutils-@GST_AP
+ --include=GstTag-@GST_API_VERSION@ \
+ --include=GstVideo-@GST_API_VERSION@ \
+ --include=GstAudio-@GST_API_VERSION@ \
+- --libtool="$(top_builddir)/libtool" \
++ --libtool="$(LIBTOOL)" \
+ --pkg gstreamer-@GST_API_VERSION@ \
+ --pkg gstreamer-tag-@GST_API_VERSION@ \
+ --pkg gstreamer-video-@GST_API_VERSION@ \
+diff --git a/gst-libs/gst/riff/Makefile.am b/gst-libs/gst/riff/Makefile.am
+index 83d83cb..3bd8fc0 100644
+--- a/gst-libs/gst/riff/Makefile.am
++++ b/gst-libs/gst/riff/Makefile.am
+@@ -47,7 +47,7 @@ libgstriff_@GST_API_VERSION@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS)
+ # --include=GstAudio-@GST_API_VERSION@ \
+ # --include=GstTag-@GST_API_VERSION@ \
+ # --include=Gst-@GST_API_VERSION@ \
+-# --libtool="$(top_builddir)/libtool" \
++# --libtool="$(LIBTOOL)" \
+ # --pkg gstreamer-@GST_API_VERSION@ \
+ # --pkg gstreamer-tag-@GST_API_VERSION@ \
+ # --pkg gstreamer-audio-@GST_API_VERSION@ \
+diff --git a/gst-libs/gst/rtp/Makefile.am b/gst-libs/gst/rtp/Makefile.am
+index fdd01c1..f5445c1 100644
+--- a/gst-libs/gst/rtp/Makefile.am
++++ b/gst-libs/gst/rtp/Makefile.am
+@@ -64,7 +64,7 @@ GstRtp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtp-@GST_API_VERSIO
+ --library=libgstrtp-@GST_API_VERSION@.la \
+ --include=Gst-@GST_API_VERSION@ \
+ --include=GstBase-@GST_API_VERSION@ \
+- --libtool="$(top_builddir)/libtool" \
++ --libtool="$(LIBTOOL)" \
+ --pkg gstreamer-@GST_API_VERSION@ \
+ --pkg gstreamer-base-@GST_API_VERSION@ \
+ --pkg-export gstreamer-rtp-@GST_API_VERSION@ \
+diff --git a/gst-libs/gst/rtsp/Makefile.am b/gst-libs/gst/rtsp/Makefile.am
+index ede5706..9b0b258 100644
+--- a/gst-libs/gst/rtsp/Makefile.am
++++ b/gst-libs/gst/rtsp/Makefile.am
+@@ -71,7 +71,7 @@ GstRtsp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtsp-@GST_API_VERS
+ --include=Gio-2.0 \
+ --include=Gst-@GST_API_VERSION@ \
+ --include=GstSdp-@GST_API_VERSION@ \
+- --libtool="$(top_builddir)/libtool" \
++ --libtool="$(LIBTOOL)" \
+ --pkg gio-2.0 \
+ --pkg gstreamer-@GST_API_VERSION@ \
+ --pkg gstreamer-sdp-@GST_API_VERSION@ \
+diff --git a/gst-libs/gst/sdp/Makefile.am b/gst-libs/gst/sdp/Makefile.am
+index a90f30b..0e149b8 100644
+--- a/gst-libs/gst/sdp/Makefile.am
++++ b/gst-libs/gst/sdp/Makefile.am
+@@ -31,7 +31,7 @@ GstSdp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstsdp-@GST_API_VERSIO
+ --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
+ --library=libgstsdp-@GST_API_VERSION@.la \
+ --include=Gst-@GST_API_VERSION@ \
+- --libtool="$(top_builddir)/libtool" \
++ --libtool="$(LIBTOOL)" \
+ --pkg gstreamer-@GST_API_VERSION@ \
+ --pkg-export gstreamer-sdp-@GST_API_VERSION@ \
+ --output $@ \
+diff --git a/gst-libs/gst/tag/Makefile.am b/gst-libs/gst/tag/Makefile.am
+index c534a4d..cafafd3 100644
+--- a/gst-libs/gst/tag/Makefile.am
++++ b/gst-libs/gst/tag/Makefile.am
+@@ -44,7 +44,7 @@ GstTag-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgsttag-@GST_API_VERSIO
+ --library=libgsttag-@GST_API_VERSION@.la \
+ --include=Gst-@GST_API_VERSION@ \
+ --include=GstBase-@GST_API_VERSION@ \
+- --libtool="$(top_builddir)/libtool" \
++ --libtool="$(LIBTOOL)" \
+ --pkg gstreamer-@GST_API_VERSION@ \
+ --pkg gstreamer-base-@GST_API_VERSION@ \
+ --pkg-export gstreamer-tag-@GST_API_VERSION@ \
+diff --git a/gst-libs/gst/video/Makefile.am b/gst-libs/gst/video/Makefile.am
+index 5d31fa1..ac64eb3 100644
+--- a/gst-libs/gst/video/Makefile.am
++++ b/gst-libs/gst/video/Makefile.am
+@@ -113,7 +113,7 @@ GstVideo-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstvideo-@GST_API_VE
+ --library=libgstvideo-@GST_API_VERSION@.la \
+ --include=Gst-@GST_API_VERSION@ \
+ --include=GstBase-@GST_API_VERSION@ \
+- --libtool="$(top_builddir)/libtool" \
++ --libtool="$(LIBTOOL)" \
+ --pkg gstreamer-@GST_API_VERSION@ \
+ --pkg gstreamer-base-@GST_API_VERSION@ \
+ --pkg-export gstreamer-video-@GST_API_VERSION@ \
+--
+2.6.2
+
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-basetextoverlay-make-memory-copy-when-video-buffer-s.patch b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-basetextoverlay-make-memory-copy-when-video-buffer-s.patch
deleted file mode 100644
index 03dca956a..000000000
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-basetextoverlay-make-memory-copy-when-video-buffer-s.patch
+++ /dev/null
@@ -1,129 +0,0 @@
-From 3781d40940d46d7e6a502092d24aac7997f6da5b Mon Sep 17 00:00:00 2001
-From: Mingke Wang <mingke.wang@freescale.com>
-Date: Thu, 5 Mar 2015 12:06:23 +0800
-Subject: [PATCH 1/4] basetextoverlay: make memory copy when video buffer's
- memory is ready only
-
-1. since gst_buffer_make_writable just lookup the refcount to determine if
- a buffer is writable, and it will use _gst_buffer_copy() which don't
- perform a deep memory copy even if the flag of a memory is set to
- GST_MEMORY_FLAG_READONLY. So, we detect the memory flag and use
- gst_buffer_copy_region with GST_BUFFER_COPY_DEEP parameter to perform
- deep memory copy. if the allocator of a memory don't support mem_copy
- interface, the it will return NULL, if this case, we can use
- gst_buffer_make_writable() to get a shared memory buffer or the orignal
- buffer if the buffer's refcount is 1.
-2. new feature is no added if caps has no feature during caps negotiation
-
-Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=747495]
-
-Signed-off-by: Mingke Wang <mingke.wang@freescale.com>
-
-diff --git a/ext/pango/gstbasetextoverlay.c b/ext/pango/gstbasetextoverlay.c
-index c919861..3c0a1d7 100755
---- a/ext/pango/gstbasetextoverlay.c
-+++ b/ext/pango/gstbasetextoverlay.c
-@@ -747,6 +747,7 @@ gst_base_text_overlay_negotiate (GstBaseTextOverlay * overlay, GstCaps * caps)
- if (f == NULL) {
- f = gst_caps_features_new
- (GST_CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION, NULL);
-+ gst_caps_set_features(overlay_caps, 0, f);
- } else {
- gst_caps_features_add (f,
- GST_CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION);
-@@ -1890,16 +1891,71 @@ gst_base_text_overlay_push_frame (GstBaseTextOverlay * overlay,
- if (gst_pad_check_reconfigure (overlay->srcpad))
- gst_base_text_overlay_negotiate (overlay, NULL);
-
-- video_frame = gst_buffer_make_writable (video_frame);
--
- if (overlay->attach_compo_to_buffer) {
- GST_DEBUG_OBJECT (overlay, "Attaching text overlay image to video buffer");
-+ video_frame = gst_buffer_make_writable (video_frame);
- gst_buffer_add_video_overlay_composition_meta (video_frame,
- overlay->composition);
- /* FIXME: emulate shaded background box if want_shading=true */
- goto done;
- }
-
-+ gint m = gst_buffer_n_memory(video_frame);
-+ gboolean mem_rdonly = FALSE;
-+ GstMemory *mem;
-+ GstBuffer *orig = video_frame;
-+
-+ while (--m>=0) {
-+ mem = gst_buffer_get_memory(video_frame, m);
-+ if (GST_MEMORY_IS_READONLY(mem)) {
-+ mem_rdonly = TRUE;
-+ gst_memory_unref (mem);
-+ break;
-+ }
-+ gst_memory_unref (mem);
-+ }
-+
-+ if (mem_rdonly) {
-+ // since gst_buffer_make_writable just lookup the refcount to determine if
-+ // a buffer is writable, and it will use _gst_buffer_copy() which don't
-+ // perform a deep memory copy even if the flag of a memory is set to
-+ // GST_MEMORY_FLAG_READONLY. So, we detect the memory flag and use
-+ // gst_buffer_copy_region with GST_BUFFER_COPY_DEEP parameter to perform
-+ // deep memory copy. if the allocator of a memory don't support mem_copy
-+ // interface, the it will return NULL, if this case, we can use
-+ // gst_buffer_make_writable() to get a shared memory buffer or the orignal
-+ // buffer if the buffer's refcount is 1.
-+ GstBuffer *new_buf = gst_buffer_copy_region (video_frame,
-+ GST_BUFFER_COPY_ALL | GST_BUFFER_COPY_DEEP, 0, -1);
-+
-+ GST_DEBUG_OBJECT (overlay, "copy %s video frame buffer %p -> %p",
-+ g_type_name (GST_MINI_OBJECT_TYPE (video_frame)), video_frame, new_buf);
-+
-+ if (!new_buf) {
-+ //maybe the allocator don't support mem_copy interface, the we just use
-+ //gst_buffer_make_writable() to get a writable buffer.
-+ video_frame = gst_buffer_make_writable (video_frame);
-+ } else {
-+ gst_mini_object_unref (video_frame);
-+ GST_BUFFER_FLAG_UNSET (new_buf, GST_BUFFER_FLAG_TAG_MEMORY);
-+ video_frame = new_buf;
-+ }
-+
-+ if (!video_frame) {
-+ GST_WARNING_OBJECT (overlay, "make writable buffer failed");
-+ return GST_FLOW_OK;
-+ }
-+
-+ m = gst_buffer_n_memory(video_frame);
-+ while (--m>=0) {
-+ mem = gst_buffer_get_memory(video_frame, m);
-+ GST_MEMORY_FLAG_UNSET (mem, GST_MEMORY_FLAG_READONLY);
-+ gst_memory_unref (mem);
-+ }
-+ } else {
-+ video_frame = gst_buffer_make_writable (video_frame);
-+ }
-+
- if (!gst_video_frame_map (&frame, &overlay->info, video_frame,
- GST_MAP_READWRITE))
- goto invalid_frame;
-@@ -1918,6 +1974,18 @@ gst_base_text_overlay_push_frame (GstBaseTextOverlay * overlay,
-
- gst_video_frame_unmap (&frame);
-
-+ if (mem_rdonly && orig == video_frame) {
-+ //if we used the original buffer and it's mem is set to read only,
-+ //recover the memory ready only flag since we unset it before
-+ // gst_video_frame_map ()
-+ m = gst_buffer_n_memory(video_frame);
-+ while (--m>=0) {
-+ mem = gst_buffer_get_memory(video_frame, m);
-+ GST_MEMORY_FLAGS(mem) |= (GST_MEMORY_FLAG_READONLY);
-+ gst_memory_unref (mem);
-+ }
-+ }
-+
- done:
-
- return gst_pad_push (overlay->srcpad, video_frame);
---
-1.7.9.5
-
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-video-frame-Don-t-ref-buffers-twice-when-mapping.patch b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-video-frame-Don-t-ref-buffers-twice-when-mapping.patch
deleted file mode 100644
index 3db4724fe..000000000
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-video-frame-Don-t-ref-buffers-twice-when-mapping.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 269f642c45d85cfd630ed490478e6bd6b71a767f Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
-Date: Tue, 16 Sep 2014 01:07:18 +0300
-Subject: [PATCH] video-frame: Don't ref buffers twice when mapping
-
-Upstream-Status: Backport [1.5.1]
----
- gst-libs/gst/video/video-frame.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gst-libs/gst/video/video-frame.c b/gst-libs/gst/video/video-frame.c
-index 01f23c0..8a9ae96 100644
---- a/gst-libs/gst/video/video-frame.c
-+++ b/gst-libs/gst/video/video-frame.c
-@@ -105,7 +105,7 @@ gst_video_frame_map_id (GstVideoFrame * frame, GstVideoInfo * info,
- frame->data[i] = frame->map[0].data + info->offset[i];
- }
- }
-- frame->buffer = gst_buffer_ref (buffer);
-+ frame->buffer = buffer;
- if ((flags & GST_VIDEO_FRAME_MAP_FLAG_NO_REF) == 0)
- gst_buffer_ref (frame->buffer);
-
---
-1.7.9.5
-
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch
new file mode 100644
index 000000000..85fcacb55
--- /dev/null
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch
@@ -0,0 +1,298 @@
+From 990b653c7b6de1937ec759019982d6c5f15770f7 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Mon, 26 Oct 2015 16:38:18 +0200
+Subject: [PATCH 2/4] Makefile.am: prefix calls to pkg-config with
+ PKG_CONFIG_SYSROOT_DIR
+
+Upstream-Status: Pending [review on oe-core maillist]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ gst-libs/gst/allocators/Makefile.am | 4 ++--
+ gst-libs/gst/app/Makefile.am | 4 ++--
+ gst-libs/gst/audio/Makefile.am | 12 ++++++------
+ gst-libs/gst/fft/Makefile.am | 4 ++--
+ gst-libs/gst/pbutils/Makefile.am | 12 ++++++------
+ gst-libs/gst/riff/Makefile.am | 8 ++++----
+ gst-libs/gst/rtp/Makefile.am | 8 ++++----
+ gst-libs/gst/rtsp/Makefile.am | 4 ++--
+ gst-libs/gst/sdp/Makefile.am | 4 ++--
+ gst-libs/gst/tag/Makefile.am | 8 ++++----
+ gst-libs/gst/video/Makefile.am | 8 ++++----
+ 11 files changed, 38 insertions(+), 38 deletions(-)
+
+diff --git a/gst-libs/gst/allocators/Makefile.am b/gst-libs/gst/allocators/Makefile.am
+index bc7f53a..0ef5f86 100644
+--- a/gst-libs/gst/allocators/Makefile.am
++++ b/gst-libs/gst/allocators/Makefile.am
+@@ -34,7 +34,7 @@ GstAllocators-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstallocators-@
+ --c-include "gst/allocators/allocators.h" \
+ -I$(top_srcdir)/gst-libs \
+ -I$(top_builddir)/gst-libs \
+- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
++ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
+ --library=libgstallocators-@GST_API_VERSION@.la \
+ --include=Gst-@GST_API_VERSION@ \
+ --libtool="$(LIBTOOL)" \
+@@ -58,7 +58,7 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
+ $(INTROSPECTION_COMPILER) \
+ --includedir=$(srcdir) \
+ --includedir=$(builddir) \
+- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
++ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
+ $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
+
+ CLEANFILES = $(BUILT_GIRSOURCES) $(typelibs_DATA)
+diff --git a/gst-libs/gst/app/Makefile.am b/gst-libs/gst/app/Makefile.am
+index dcc2fe0..dc076cb 100644
+--- a/gst-libs/gst/app/Makefile.am
++++ b/gst-libs/gst/app/Makefile.am
+@@ -47,8 +47,8 @@ GstApp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstapp-@GST_API_VERSIO
+ --c-include "gst/app/app.h" \
+ -I$(top_srcdir)/gst-libs \
+ -I$(top_builddir)/gst-libs \
+- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
+- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
++ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
++ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
+ --library=libgstapp-@GST_API_VERSION@.la \
+ --include=Gst-@GST_API_VERSION@ \
+ --include=GstBase-@GST_API_VERSION@ \
+diff --git a/gst-libs/gst/audio/Makefile.am b/gst-libs/gst/audio/Makefile.am
+index 2374196..295eb42 100644
+--- a/gst-libs/gst/audio/Makefile.am
++++ b/gst-libs/gst/audio/Makefile.am
+@@ -96,12 +96,12 @@ GstAudio-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstaudio-@GST_API_VE
+ -I$(top_srcdir)/gst-libs \
+ -I$(top_builddir)/gst-libs \
+ --c-include "gst/audio/audio.h" \
+- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
+- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
++ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
++ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
+ --add-include-path="$(top_builddir)/gst-libs/gst/tag/" \
+ --library=libgstaudio-@GST_API_VERSION@.la \
+- --library-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-@GST_API_VERSION@` \
+- --library-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-base-@GST_API_VERSION@` \
++ --library-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-@GST_API_VERSION@` \
++ --library-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-base-@GST_API_VERSION@` \
+ --library-path="$(top_builddir)/gst-libs/gst/tag/" \
+ --include=Gst-@GST_API_VERSION@ \
+ --include=GstBase-@GST_API_VERSION@ \
+@@ -130,8 +130,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
+ --includedir=$(srcdir) \
+ --includedir=$(builddir) \
+ --includedir="$(top_builddir)/gst-libs/gst/tag/" \
+- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
+- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
++ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
++ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
+ $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
+
+ CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA)
+diff --git a/gst-libs/gst/fft/Makefile.am b/gst-libs/gst/fft/Makefile.am
+index f545354..1bb6243 100644
+--- a/gst-libs/gst/fft/Makefile.am
++++ b/gst-libs/gst/fft/Makefile.am
+@@ -61,7 +61,7 @@ GstFft-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstfft-@GST_API_VERSIO
+ --c-include "gst/fft/fft.h" \
+ -I$(top_srcdir)/gst-libs \
+ -I$(top_builddir)/gst-libs \
+- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
++ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
+ --library=libgstfft-@GST_API_VERSION@.la \
+ --include=Gst-@GST_API_VERSION@ \
+ --libtool="$(LIBTOOL)" \
+@@ -85,7 +85,7 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
+ $(INTROSPECTION_COMPILER) \
+ --includedir=$(srcdir) \
+ --includedir=$(builddir) \
+- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
++ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
+ $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
+
+ CLEANFILES = $(BUILT_GIRSOURCES) $(typelibs_DATA)
+diff --git a/gst-libs/gst/pbutils/Makefile.am b/gst-libs/gst/pbutils/Makefile.am
+index 91dc214..dc8e1d3 100644
+--- a/gst-libs/gst/pbutils/Makefile.am
++++ b/gst-libs/gst/pbutils/Makefile.am
+@@ -79,14 +79,14 @@ GstPbutils-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstpbutils-@GST_AP
+ --c-include "gst/pbutils/pbutils.h" \
+ -I$(top_srcdir)/gst-libs \
+ -I$(top_builddir)/gst-libs \
+- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
+- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
++ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
++ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
+ --add-include-path="$(top_builddir)/gst-libs/gst/tag/" \
+ --add-include-path="$(top_builddir)/gst-libs/gst/video/" \
+ --add-include-path="$(top_builddir)/gst-libs/gst/audio/" \
+ --library=libgstpbutils-@GST_API_VERSION@.la \
+- --library-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-@GST_API_VERSION@` \
+- --library-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-base-@GST_API_VERSION@` \
++ --library-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-@GST_API_VERSION@` \
++ --library-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-base-@GST_API_VERSION@` \
+ --library-path="$(top_builddir)/gst-libs/gst/tag/" \
+ --library-path="$(top_builddir)/gst-libs/gst/video/" \
+ --library-path="$(top_builddir)/gst-libs/gst/audio/" \
+@@ -119,8 +119,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
+ $(INTROSPECTION_COMPILER) \
+ --includedir=$(srcdir) \
+ --includedir=$(builddir) \
+- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
+- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
++ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
++ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
+ --includedir="$(top_builddir)/gst-libs/gst/tag/" \
+ --includedir="$(top_builddir)/gst-libs/gst/video/" \
+ --includedir="$(top_builddir)/gst-libs/gst/audio/" \
+diff --git a/gst-libs/gst/riff/Makefile.am b/gst-libs/gst/riff/Makefile.am
+index 3bd8fc0..0a115cc 100644
+--- a/gst-libs/gst/riff/Makefile.am
++++ b/gst-libs/gst/riff/Makefile.am
+@@ -41,8 +41,8 @@ libgstriff_@GST_API_VERSION@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS)
+ # --c-include "gst/riff/riff.h" \
+ # --add-include-path=$(builddir)/../tag \
+ # --add-include-path=$(builddir)/../audio \
+-# --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
+-# --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
++# --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
++# --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
+ # --library=libgstriff-@GST_API_VERSION@.la \
+ # --include=GstAudio-@GST_API_VERSION@ \
+ # --include=GstTag-@GST_API_VERSION@ \
+@@ -73,8 +73,8 @@ libgstriff_@GST_API_VERSION@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS)
+ # --includedir=$(builddir) \
+ # --includedir=$(builddir)/../tag \
+ # --includedir=$(builddir)/../audio \
+-# --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
+-# --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
++# --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
++# --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
+ # $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
+ #
+ #CLEANFILES = $(BUILT_GIRSOURCES) $(typelibs_DATA)
+diff --git a/gst-libs/gst/rtp/Makefile.am b/gst-libs/gst/rtp/Makefile.am
+index f5445c1..527c0b4 100644
+--- a/gst-libs/gst/rtp/Makefile.am
++++ b/gst-libs/gst/rtp/Makefile.am
+@@ -59,8 +59,8 @@ GstRtp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtp-@GST_API_VERSIO
+ --c-include "gst/rtp/rtp.h" \
+ -I$(top_builddir)/gst-libs \
+ -I$(top_srcdir)/gst-libs \
+- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
+- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
++ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
++ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
+ --library=libgstrtp-@GST_API_VERSION@.la \
+ --include=Gst-@GST_API_VERSION@ \
+ --include=GstBase-@GST_API_VERSION@ \
+@@ -87,8 +87,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
+ $(INTROSPECTION_COMPILER) \
+ --includedir=$(srcdir) \
+ --includedir=$(builddir) \
+- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
+- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
++ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
++ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
+ $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
+
+ CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA)
+diff --git a/gst-libs/gst/rtsp/Makefile.am b/gst-libs/gst/rtsp/Makefile.am
+index 9b0b258..4f6d9f8 100644
+--- a/gst-libs/gst/rtsp/Makefile.am
++++ b/gst-libs/gst/rtsp/Makefile.am
+@@ -66,7 +66,7 @@ GstRtsp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtsp-@GST_API_VERS
+ -I$(top_builddir)/gst-libs \
+ -I$(top_srcdir)/gst-libs \
+ --add-include-path=$(builddir)/../sdp \
+- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
++ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
+ --library=libgstrtsp-@GST_API_VERSION@.la \
+ --include=Gio-2.0 \
+ --include=Gst-@GST_API_VERSION@ \
+@@ -96,7 +96,7 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
+ --includedir=$(srcdir) \
+ --includedir=$(builddir) \
+ --includedir=$(builddir)/../sdp \
+- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
++ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
+ $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
+
+ CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA)
+diff --git a/gst-libs/gst/sdp/Makefile.am b/gst-libs/gst/sdp/Makefile.am
+index 0e149b8..9aa0512 100644
+--- a/gst-libs/gst/sdp/Makefile.am
++++ b/gst-libs/gst/sdp/Makefile.am
+@@ -28,7 +28,7 @@ GstSdp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstsdp-@GST_API_VERSIO
+ --warn-all \
+ --c-include "gst/sdp/sdp.h" \
+ -I$(top_srcdir)/gst-libs \
+- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
++ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
+ --library=libgstsdp-@GST_API_VERSION@.la \
+ --include=Gst-@GST_API_VERSION@ \
+ --libtool="$(LIBTOOL)" \
+@@ -52,7 +52,7 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
+ $(INTROSPECTION_COMPILER) \
+ --includedir=$(srcdir) \
+ --includedir=$(builddir) \
+- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
++ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
+ $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
+
+ CLEANFILES = $(BUILT_GIRSOURCES) $(typelibs_DATA)
+diff --git a/gst-libs/gst/tag/Makefile.am b/gst-libs/gst/tag/Makefile.am
+index cafafd3..ba99279 100644
+--- a/gst-libs/gst/tag/Makefile.am
++++ b/gst-libs/gst/tag/Makefile.am
+@@ -39,8 +39,8 @@ GstTag-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgsttag-@GST_API_VERSIO
+ --c-include "gst/tag/tag.h" \
+ -I$(top_srcdir)/gst-libs \
+ -I$(top_builddir)/gst-libs \
+- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
+- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
++ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
++ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
+ --library=libgsttag-@GST_API_VERSION@.la \
+ --include=Gst-@GST_API_VERSION@ \
+ --include=GstBase-@GST_API_VERSION@ \
+@@ -67,8 +67,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
+ $(INTROSPECTION_COMPILER) \
+ --includedir=$(srcdir) \
+ --includedir=$(builddir) \
+- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
+- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
++ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
++ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
+ $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
+
+ CLEANFILES = $(BUILT_GIRSOURCES) $(typelibs_DATA)
+diff --git a/gst-libs/gst/video/Makefile.am b/gst-libs/gst/video/Makefile.am
+index ac64eb3..342c8c6 100644
+--- a/gst-libs/gst/video/Makefile.am
++++ b/gst-libs/gst/video/Makefile.am
+@@ -108,8 +108,8 @@ GstVideo-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstvideo-@GST_API_VE
+ --c-include "gst/video/video.h" \
+ -I$(top_srcdir)/gst-libs \
+ -I$(top_builddir)/gst-libs \
+- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
+- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
++ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
++ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
+ --library=libgstvideo-@GST_API_VERSION@.la \
+ --include=Gst-@GST_API_VERSION@ \
+ --include=GstBase-@GST_API_VERSION@ \
+@@ -136,8 +136,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
+ $(INTROSPECTION_COMPILER) \
+ --includedir=$(srcdir) \
+ --includedir=$(builddir) \
+- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
+- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
++ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
++ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
+ $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
+
+ CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA)
+--
+2.6.2
+
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-gstplaysink-don-t-set-async-of-custom-text-sink-to-f.patch b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-gstplaysink-don-t-set-async-of-custom-text-sink-to-f.patch
deleted file mode 100644
index 39c146aad..000000000
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-gstplaysink-don-t-set-async-of-custom-text-sink-to-f.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 0a78555ea6c8c2f1ee27ee4707e8d7aa00ab7a66 Mon Sep 17 00:00:00 2001
-From: Mingke Wang <mingke.wang@freescale.com>
-Date: Thu, 19 Mar 2015 14:15:25 +0800
-Subject: [PATCH 2/4] gstplaysink: don't set async of custom text-sink to
- false
-
-set async to false lead to A/V sync problem when seeking.
-the preroll need use GAP event instead of set async to false.
-
-Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=747499]
-
-Signed-off-by: Mingke Wang <mingke.wang@freescale.com>
-
-diff --git a/gst/playback/gstplaysink.c b/gst/playback/gstplaysink.c
-old mode 100644
-new mode 100755
-index f5a2d42..fba0172
---- a/gst/playback/gstplaysink.c
-+++ b/gst/playback/gstplaysink.c
-@@ -2408,7 +2408,7 @@ gen_text_chain (GstPlaySink * playsink)
- G_TYPE_BOOLEAN);
- if (elem) {
- /* make sure the sparse subtitles don't participate in the preroll */
-- g_object_set (elem, "async", FALSE, NULL);
-+ //g_object_set (elem, "async", FALSE, NULL);
- GST_DEBUG_OBJECT (playsink, "adding custom text sink");
- gst_bin_add (bin, chain->sink);
- /* NOTE streamsynchronizer needs streams decoupled */
---
-1.7.9.5
-
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-video-frame-Add-GST_VIDEO_FRAME_MAP_FLAG_NO_REF.patch b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-video-frame-Add-GST_VIDEO_FRAME_MAP_FLAG_NO_REF.patch
deleted file mode 100644
index c465b5cee..000000000
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-video-frame-Add-GST_VIDEO_FRAME_MAP_FLAG_NO_REF.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From 40a293d44d1aeccf5eb8e86f23a0b13666111c5c Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
-Date: Fri, 12 Sep 2014 14:39:16 +0300
-Subject: [PATCH 2/3] video-frame: Add GST_VIDEO_FRAME_MAP_FLAG_NO_REF
-
-This makes sure that the buffer is not reffed another time when
-storing it in the GstVideoFrame, keeping it writable if it was
-writable.
-
-Upstream-Status: Backport [1.5.1]
-https://bugzilla.gnome.org/show_bug.cgi?id=736118
----
- gst-libs/gst/video/video-frame.c | 9 ++++++++-
- gst-libs/gst/video/video-frame.h | 18 ++++++++++++++++++
- 2 files changed, 26 insertions(+), 1 deletion(-)
-
-diff --git a/gst-libs/gst/video/video-frame.c b/gst-libs/gst/video/video-frame.c
-index 537cf70..01f23c0 100644
---- a/gst-libs/gst/video/video-frame.c
-+++ b/gst-libs/gst/video/video-frame.c
-@@ -106,6 +106,9 @@ gst_video_frame_map_id (GstVideoFrame * frame, GstVideoInfo * info,
- }
- }
- frame->buffer = gst_buffer_ref (buffer);
-+ if ((flags & GST_VIDEO_FRAME_MAP_FLAG_NO_REF) == 0)
-+ gst_buffer_ref (frame->buffer);
-+
- frame->meta = meta;
-
- /* buffer flags enhance the frame flags */
-@@ -189,11 +192,13 @@ gst_video_frame_unmap (GstVideoFrame * frame)
- GstBuffer *buffer;
- GstVideoMeta *meta;
- gint i;
-+ GstMapFlags flags;
-
- g_return_if_fail (frame != NULL);
-
- buffer = frame->buffer;
- meta = frame->meta;
-+ flags = frame->map[0].flags;
-
- if (meta) {
- for (i = 0; i < frame->info.finfo->n_planes; i++) {
-@@ -202,7 +207,9 @@ gst_video_frame_unmap (GstVideoFrame * frame)
- } else {
- gst_buffer_unmap (buffer, &frame->map[0]);
- }
-- gst_buffer_unref (buffer);
-+
-+ if ((flags & GST_VIDEO_FRAME_MAP_FLAG_NO_REF) == 0)
-+ gst_buffer_unref (frame->buffer);
- }
-
- /**
-diff --git a/gst-libs/gst/video/video-frame.h b/gst-libs/gst/video/video-frame.h
-index 627fab0..f8e6304 100644
---- a/gst-libs/gst/video/video-frame.h
-+++ b/gst-libs/gst/video/video-frame.h
-@@ -149,6 +149,24 @@ typedef enum {
- GST_VIDEO_BUFFER_FLAG_LAST = (GST_BUFFER_FLAG_LAST << 8)
- } GstVideoBufferFlags;
-
-+/**
-+ * GstVideoBufferFlags:
-+ * @GST_VIDEO_FRAME_MAP_FLAG_NO_REF: Don't take another reference of the buffer and store it in
-+ * the GstVideoFrame. This makes sure that the buffer stays
-+ * writable while the frame is mapped, but requires that the
-+ * buffer reference stays valid until the frame is unmapped again.
-+ * @GST_VIDEO_FRAME_MAP_FLAG_LAST: Offset to define more flags
-+ *
-+ * Additional mapping flags for gst_video_frame_map().
-+ *
-+ * Since: 1.6
-+ */
-+typedef enum {
-+ GST_VIDEO_FRAME_MAP_FLAG_NO_REF = (GST_MAP_FLAG_LAST << 0),
-+ GST_VIDEO_FRAME_MAP_FLAG_LAST = (GST_MAP_FLAG_LAST << 8)
-+ /* 8 more flags possible afterwards */
-+} GstVideoFrameMapFlags;
-+
- G_END_DECLS
-
- #endif /* __GST_VIDEO_FRAME_H__ */
---
-1.7.9.5
-
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-riff-add-missing-include-directories-when-calling-in.patch b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-riff-add-missing-include-directories-when-calling-in.patch
new file mode 100644
index 000000000..9b66f7f49
--- /dev/null
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-riff-add-missing-include-directories-when-calling-in.patch
@@ -0,0 +1,28 @@
+From 3c2c2d5dd08aa30ed0e8acd8566ec99412bb8209 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Mon, 26 Oct 2015 17:29:37 +0200
+Subject: [PATCH 3/4] riff: add missing include directories when calling
+ introspection scanner
+
+Upstream-Status: Pending [review on oe-core maillist]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ gst-libs/gst/riff/Makefile.am | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/gst-libs/gst/riff/Makefile.am b/gst-libs/gst/riff/Makefile.am
+index 0a115cc..5057a58 100644
+--- a/gst-libs/gst/riff/Makefile.am
++++ b/gst-libs/gst/riff/Makefile.am
+@@ -39,6 +39,8 @@ libgstriff_@GST_API_VERSION@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS)
+ # --strip-prefix=Gst \
+ # --warn-all \
+ # --c-include "gst/riff/riff.h" \
++# -I$(top_srcdir)/gst-libs \
++# -I$(top_builddir)/gst-libs \
+ # --add-include-path=$(builddir)/../tag \
+ # --add-include-path=$(builddir)/../audio \
+ # --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
+--
+2.6.2
+
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-videofilter-Use-new-GST_VIDEO_FRAME_MAP_FLAG_NO_REF.patch b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-videofilter-Use-new-GST_VIDEO_FRAME_MAP_FLAG_NO_REF.patch
deleted file mode 100644
index 132bf06f7..000000000
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-videofilter-Use-new-GST_VIDEO_FRAME_MAP_FLAG_NO_REF.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 3a7cdcdfc9c5b0d20394fe51b3b8cda23931ca6d Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
-Date: Fri, 12 Sep 2014 14:41:01 +0300
-Subject: [PATCH 3/3] videofilter: Use new GST_VIDEO_FRAME_MAP_FLAG_NO_REF
-
-Upstream-Status: Backport [1.5.1]
-https://bugzilla.gnome.org/show_bug.cgi?id=736118
----
- gst-libs/gst/video/gstvideofilter.c | 23 ++++-------------------
- 1 file changed, 4 insertions(+), 19 deletions(-)
-
-diff --git a/gst-libs/gst/video/gstvideofilter.c b/gst-libs/gst/video/gstvideofilter.c
-index e1fa2c1..874b2e8 100644
---- a/gst-libs/gst/video/gstvideofilter.c
-+++ b/gst-libs/gst/video/gstvideofilter.c
-@@ -260,23 +260,15 @@ gst_video_filter_transform (GstBaseTransform * trans, GstBuffer * inbuf,
- if (fclass->transform_frame) {
- GstVideoFrame in_frame, out_frame;
-
-- if (!gst_video_frame_map (&in_frame, &filter->in_info, inbuf, GST_MAP_READ))
-+ if (!gst_video_frame_map (&in_frame, &filter->in_info, inbuf,
-+ GST_MAP_READ | GST_VIDEO_FRAME_MAP_FLAG_NO_REF))
- goto invalid_buffer;
-
- if (!gst_video_frame_map (&out_frame, &filter->out_info, outbuf,
-- GST_MAP_WRITE))
-+ GST_MAP_WRITE | GST_VIDEO_FRAME_MAP_FLAG_NO_REF))
- goto invalid_buffer;
-
-- /* GstVideoFrame has another reference, so the buffer looks unwriteable,
-- * meaning that we can't attach any metas or anything to it. Other
-- * map() functions like gst_buffer_map() don't get another reference
-- * of the buffer and expect the buffer reference to be kept until
-- * the buffer is unmapped again. */
-- gst_buffer_unref (inbuf);
-- gst_buffer_unref (outbuf);
- res = fclass->transform_frame (filter, &in_frame, &out_frame);
-- gst_buffer_ref (inbuf);
-- gst_buffer_ref (outbuf);
-
- gst_video_frame_unmap (&out_frame);
- gst_video_frame_unmap (&in_frame);
-@@ -317,7 +309,7 @@ gst_video_filter_transform_ip (GstBaseTransform * trans, GstBuffer * buf)
- GstVideoFrame frame;
- GstMapFlags flags;
-
-- flags = GST_MAP_READ;
-+ flags = GST_MAP_READ | GST_VIDEO_FRAME_MAP_FLAG_NO_REF;
-
- if (!gst_base_transform_is_passthrough (trans))
- flags |= GST_MAP_WRITE;
-@@ -325,14 +317,7 @@ gst_video_filter_transform_ip (GstBaseTransform * trans, GstBuffer * buf)
- if (!gst_video_frame_map (&frame, &filter->in_info, buf, flags))
- goto invalid_buffer;
-
-- /* GstVideoFrame has another reference, so the buffer looks unwriteable,
-- * meaning that we can't attach any metas or anything to it. Other
-- * map() functions like gst_buffer_map() don't get another reference
-- * of the buffer and expect the buffer reference to be kept until
-- * the buffer is unmapped again. */
-- gst_buffer_unref (buf);
- res = fclass->transform_frame_ip (filter, &frame);
-- gst_buffer_ref (buf);
-
- gst_video_frame_unmap (&frame);
- } else {
---
-1.7.9.5
-
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch
new file mode 100644
index 000000000..42d99c1db
--- /dev/null
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch
@@ -0,0 +1,27 @@
+From 4330915d88dc4dd46eb4c28d756482b767c2747f Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Mon, 26 Oct 2015 17:30:14 +0200
+Subject: [PATCH 4/4] rtsp: drop incorrect reference to gstreamer-sdp in
+ Makefile.am
+
+Upstream-Status: Pending [review on oe-core maillist]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ gst-libs/gst/rtsp/Makefile.am | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/gst-libs/gst/rtsp/Makefile.am b/gst-libs/gst/rtsp/Makefile.am
+index 4f6d9f8..0afa370 100644
+--- a/gst-libs/gst/rtsp/Makefile.am
++++ b/gst-libs/gst/rtsp/Makefile.am
+@@ -74,7 +74,6 @@ GstRtsp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtsp-@GST_API_VERS
+ --libtool="$(LIBTOOL)" \
+ --pkg gio-2.0 \
+ --pkg gstreamer-@GST_API_VERSION@ \
+- --pkg gstreamer-sdp-@GST_API_VERSION@ \
+ --pkg-export gstreamer-rtsp-@GST_API_VERSION@ \
+ --add-init-section="$(INTROSPECTION_INIT)" \
+ --output $@ \
+--
+2.6.2
+
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0005-convertframe-Support-video-crop-when-convert-frame.patch b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0005-convertframe-Support-video-crop-when-convert-frame.patch
new file mode 100755
index 000000000..096a6f4cb
--- /dev/null
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0005-convertframe-Support-video-crop-when-convert-frame.patch
@@ -0,0 +1,143 @@
+From 5be6ed00aad028d9cbb4e0c63af0be69d335c71e Mon Sep 17 00:00:00 2001
+From: Song Bing <b06498@freescale.com>
+Date: Fri, 11 Dec 2015 21:42:00 +0800
+Subject: [PATCH] convertframe: Support video crop when convert frame
+
+Get thumbnail will user convertframe to convert video frame to
+desired video format and size. But haven't process crop meta on
+the video buffer. Add support video crop.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=759329
+
+Upstream-Status: Backport [1.7.1]
+
+---
+ gst-libs/gst/video/convertframe.c | 65 +++++++++++++++++++++++++++++++++------
+ 1 file changed, 56 insertions(+), 9 deletions(-)
+
+diff --git a/gst-libs/gst/video/convertframe.c b/gst-libs/gst/video/convertframe.c
+index aa9c3d3..942a51e 100644
+--- a/gst-libs/gst/video/convertframe.c
++++ b/gst-libs/gst/video/convertframe.c
+@@ -110,12 +110,23 @@ fail:
+ static GstElement *
+ build_convert_frame_pipeline (GstElement ** src_element,
+ GstElement ** sink_element, const GstCaps * from_caps,
+- const GstCaps * to_caps, GError ** err)
++ GstVideoCropMeta * cmeta, const GstCaps * to_caps, GError ** err)
+ {
+- GstElement *src = NULL, *csp = NULL, *vscale = NULL;
+- GstElement *sink = NULL, *encoder = NULL, *pipeline;
++ GstElement *vcrop = NULL, *csp = NULL, *csp2 = NULL, *vscale = NULL;
++ GstElement *src = NULL, *sink = NULL, *encoder = NULL, *pipeline;
++ GstVideoInfo info;
+ GError *error = NULL;
+
++ if (cmeta) {
++ if (!create_element ("videocrop", &vcrop, &error)) {
++ g_warning
++ ("build_convert_frame_pipeline: Buffer has crop metadata but videocrop element is not found. Cropping will be disabled");
++ } else {
++ if (!create_element ("videoconvert", &csp2, &error))
++ goto no_elements;
++ }
++ }
++
+ /* videoscale is here to correct for the pixel-aspect-ratio for us */
+ GST_DEBUG ("creating elements");
+ if (!create_element ("appsrc", &src, &error) ||
+@@ -133,15 +144,42 @@ build_convert_frame_pipeline (GstElement ** src_element,
+
+ GST_DEBUG ("adding elements");
+ gst_bin_add_many (GST_BIN (pipeline), src, csp, vscale, sink, NULL);
++ if (vcrop)
++ gst_bin_add_many (GST_BIN (pipeline), vcrop, csp2, NULL);
+
+ /* set caps */
+ g_object_set (src, "caps", from_caps, NULL);
++ if (vcrop) {
++ gst_video_info_from_caps (&info, from_caps);
++ g_object_set (vcrop, "left", cmeta->x, NULL);
++ g_object_set (vcrop, "top", cmeta->y, NULL);
++ g_object_set (vcrop, "right", GST_VIDEO_INFO_WIDTH (&info) - cmeta->width,
++ NULL);
++ g_object_set (vcrop, "bottom",
++ GST_VIDEO_INFO_HEIGHT (&info) - cmeta->height, NULL);
++ GST_DEBUG ("crop meta [x,y,width,height]: %d %d %d %d", cmeta->x, cmeta->y,
++ cmeta->width, cmeta->height);
++ }
+ g_object_set (sink, "caps", to_caps, NULL);
+
+ /* FIXME: linking is still way too expensive, profile this properly */
+- GST_DEBUG ("linking src->csp");
+- if (!gst_element_link_pads (src, "src", csp, "sink"))
+- goto link_failed;
++ if (vcrop) {
++ GST_DEBUG ("linking src->csp2");
++ if (!gst_element_link_pads (src, "src", csp2, "sink"))
++ goto link_failed;
++
++ GST_DEBUG ("linking csp2->vcrop");
++ if (!gst_element_link_pads (csp2, "src", vcrop, "sink"))
++ goto link_failed;
++
++ GST_DEBUG ("linking vcrop->csp");
++ if (!gst_element_link_pads (vcrop, "src", csp, "sink"))
++ goto link_failed;
++ } else {
++ GST_DEBUG ("linking src->csp");
++ if (!gst_element_link_pads (src, "src", csp, "sink"))
++ goto link_failed;
++ }
+
+ GST_DEBUG ("linking csp->vscale");
+ if (!gst_element_link_pads_full (csp, "src", vscale, "sink",
+@@ -193,8 +231,12 @@ no_elements:
+ {
+ if (src)
+ gst_object_unref (src);
++ if (vcrop)
++ gst_object_unref (vcrop);
+ if (csp)
+ gst_object_unref (csp);
++ if (csp2)
++ gst_object_unref (csp2);
+ if (vscale)
+ gst_object_unref (vscale);
+ if (sink)
+@@ -209,7 +251,11 @@ no_elements:
+ no_pipeline:
+ {
+ gst_object_unref (src);
++ if (vcrop)
++ gst_object_unref (vcrop);
+ gst_object_unref (csp);
++ if (csp2)
++ gst_object_unref (csp2);
+ gst_object_unref (vscale);
+ gst_object_unref (sink);
+
+@@ -282,7 +328,8 @@ gst_video_convert_sample (GstSample * sample, const GstCaps * to_caps,
+ }
+
+ pipeline =
+- build_convert_frame_pipeline (&src, &sink, from_caps, to_caps_copy, &err);
++ build_convert_frame_pipeline (&src, &sink, from_caps,
++ gst_buffer_get_video_crop_meta (buf), to_caps_copy, &err);
+ if (!pipeline)
+ goto no_pipeline;
+
+@@ -646,8 +693,8 @@ gst_video_convert_sample_async (GstSample * sample,
+ }
+
+ pipeline =
+- build_convert_frame_pipeline (&src, &sink, from_caps, to_caps_copy,
+- &error);
++ build_convert_frame_pipeline (&src, &sink, from_caps,
++ gst_buffer_get_video_crop_meta (buf), to_caps_copy, &error);
+ if (!pipeline)
+ goto no_pipeline;
+
+--
+2.5.0
+
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/do-not-change-eos-event-to-gap-event-if.patch b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/do-not-change-eos-event-to-gap-event-if.patch
deleted file mode 100644
index aa55de10e..000000000
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/do-not-change-eos-event-to-gap-event-if.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From b608d027fff6efc2d1988ebf169cbe3b2b44a61b Mon Sep 17 00:00:00 2001
-From: zhouming <b42586@freescale.com>
-Date: Thu, 8 May 2014 12:01:17 +0800
-Subject: [PATCH] ENGR00312034: do not change eos event to gap event if no
- data has passed to streamsynchronizer.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=727074
-
-Upstream-Status: Pending
-
-Signed-off-by: zhouming <b42586@freescale.com>
----
- gst/playback/gststreamsynchronizer.c | 5 ++---
- 1 file changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/gst/playback/gststreamsynchronizer.c b/gst/playback/gststreamsynchronizer.c
-index 3997d1b..3e17c55 100644
---- a/gst/playback/gststreamsynchronizer.c
-+++ b/gst/playback/gststreamsynchronizer.c
-@@ -488,12 +488,11 @@ gst_stream_synchronizer_sink_event (GstPad * pad, GstObject * parent,
- }
- g_slist_free (pads);
- } else {
-- /* if EOS, but no data has passed, then send something to replace EOS
-- * for preroll purposes */
-+ /* if EOS, but no data has passed, then send EOS event */
- if (!seen_data) {
- GstEvent *gap_event;
-
-- gap_event = gst_event_new_gap (timestamp, GST_CLOCK_TIME_NONE);
-+ gap_event = gst_event_new_eos ();
- ret = gst_pad_push_event (srcpad, gap_event);
- } else {
- GstEvent *gap_event;
---
-1.7.9.5
-
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/do-not-change-eos-event-to-gap-event2.patch b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/do-not-change-eos-event-to-gap-event2.patch
deleted file mode 100755
index f24bc7cd6..000000000
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/do-not-change-eos-event-to-gap-event2.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-commit f9536544f5ad182b4f78d0143d1daa45dd64e624
-Author: Song Bing <b06498@freescale.com>
-Date: Thu Oct 9 17:37:43 2014 +0800
-
-[gststreamsynchronizer] send EOS event insterd of GAP event as GAP
-event has issue when A/V have different duration.
-
-send EOS event insterd of GAP event as GAP event has issue when A/V have different duration.
-
-Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=736655]
-
-Signed-off-by: Song Bing <b06498@freescale.com>
-
-diff --git a/gst/playback/gststreamsynchronizer.c b/gst/playback/gststreamsynchronizer.c
-index 3e17c55..ff42d72 100644
---- a/gst/playback/gststreamsynchronizer.c
-+++ b/gst/playback/gststreamsynchronizer.c
-@@ -488,19 +488,24 @@ gst_stream_synchronizer_sink_event (GstPad * pad, GstObject * parent,
- }
- g_slist_free (pads);
- } else {
-- /* if EOS, but no data has passed, then send EOS event */
-+ /* if EOS, but no data has passed, then send something to replace EOS
-+ * for preroll purposes */
- if (!seen_data) {
-- GstEvent *gap_event;
-+ GstEvent *eos_event;
-
-- gap_event = gst_event_new_eos ();
-- ret = gst_pad_push_event (srcpad, gap_event);
-+ /* FIXME: change to EOS event as GAP event has issue when A/V have
-+ * different duration */
-+ eos_event = gst_event_new_eos ();
-+ ret = gst_pad_push_event (srcpad, eos_event);
- } else {
-- GstEvent *gap_event;
-+ GstEvent *eos_event;
-
- /* FIXME: Also send a GAP event to let audio sinks start their
- * clock in case they did not have enough data yet */
-- gap_event = gst_event_new_gap (timestamp, GST_CLOCK_TIME_NONE);
-- ret = gst_pad_push_event (srcpad, gap_event);
-+ /* FIXME: change to EOS event as GAP event has issue when A/V have
-+ * different duration */
-+ eos_event = gst_event_new_eos ();
-+ ret = gst_pad_push_event (srcpad, eos_event);
- }
- }
- gst_object_unref (srcpad);
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/do-not-change-eos-event-to-gap-event3.patch b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/do-not-change-eos-event-to-gap-event3.patch
deleted file mode 100755
index 731be686d..000000000
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/do-not-change-eos-event-to-gap-event3.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-commit 3f7052aac5e0118a9a9e09fff2f65091be448972
-Author: Song Bing <b06498@freescale.com>
-Date: Thu Oct 23 13:35:13 2014 +0800
-
-[streamsynchronizer] One stream can finish playback.
-
-As changed GAP event EOS event, so EOS will send more times, which will
-cause send function return error.
-Streamsynchronizer will don’t send second track EOS event if send the
-first track EOS return fail. Fixed by ignore the return error.
-
-Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=736655]
-
-Signed-off-by: Song Bing b06498@freescale.com
-
-diff --git a/gst/playback/gststreamsynchronizer.c b/gst/playback/gststreamsynchronizer.c
-index ff42d72..d1732c3 100644
---- a/gst/playback/gststreamsynchronizer.c
-+++ b/gst/playback/gststreamsynchronizer.c
-@@ -482,7 +482,10 @@ gst_stream_synchronizer_sink_event (GstPad * pad, GstObject * parent,
- while (epad) {
- pad = epad->data;
- GST_DEBUG_OBJECT (pad, "Pushing EOS");
-- ret = ret && gst_pad_push_event (pad, gst_event_new_eos ());
-+ /* FIXME: remove error check as GAP changed to EOS will send EOS
-+ * more times, which will cause return error and then don't send
-+ * EOS event to following tracks. */
-+ gst_pad_push_event (pad, gst_event_new_eos ());
- gst_object_unref (pad);
- epad = g_slist_next (epad);
- }
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/fix-id3demux-utf16-to-utf8-issue.patch b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/fix-id3demux-utf16-to-utf8-issue.patch
deleted file mode 100755
index ef3f75fba..000000000
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/fix-id3demux-utf16-to-utf8-issue.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-Author: Lyon Wang <b12696@freescale.com>
-Date: Thu Oct 9 17:37:43 2014 +0800
-
-[id3v2frames] Bug fix for id3demux issue
-
-Fix the issue that id3 tags utf16 charaters cannot be extreacted in id3demux
-when I tried to get the id3v2 tag such as TIT2, TALB etc. it will return extrac
-failed.
-
-Checked in id3v2frame.c, When parse the UTF-16 streams, it used g_convert() to
-convert the buffer from UTF-16 to UTF-8, however it will return err that this
-conversion is not supported which cause the extraction failed with these UTF-16
-characters.
-
-In the patch, use g_utf16_to_utf8() instead of g_convert, which can convert the
-character format successfully.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=741144
-
-Upstream-Status: Backport [1.5.1]
-
-Signed-off-by: Lyon Wang <b12696@freescale.com>
-
-diff --git a/gst-libs/gst/tag/id3v2frames.c b/gst-libs/gst/tag/id3v2frames.c
-old mode 100644
-new mode 100755
-index 3785c2a..7b9d8ac
---- a/gst-libs/gst/tag/id3v2frames.c
-+++ b/gst-libs/gst/tag/id3v2frames.c
-@@ -1057,14 +1057,17 @@ parse_insert_string_field (guint8 encoding, gchar * data, gint data_size,
- data_size -= 2;
- }
-
-- field = g_convert (data, data_size, "UTF-8", in_encode, NULL, NULL, NULL);
--
-- if (field == NULL || g_utf8_validate (field, -1, NULL) == FALSE) {
-- /* As a fallback, try interpreting UTF-16 in the other endianness */
-- if (in_encode == utf16beenc)
-- field = g_convert (data, data_size, "UTF-8", utf16leenc,
-- NULL, NULL, NULL);
-+ if (in_encode == utf16beenc) {
-+ gunichar2 *data_utf16;
-+ guint i;
-+ data_utf16 = (gunichar2 *) data;
-+ for (i=0; i<(data_size>>1); i++) {
-+ data_utf16[i] = GUINT16_TO_LE (data_utf16[i]);
-+ }
- }
-+ //field = g_convert (data, data_size, "UTF-8", in_encode, NULL, NULL, NULL);
-+ field = g_utf16_to_utf8((gunichar2 *)data, (glong)(data_size>>1), NULL, NULL, NULL);
-+
- }
-
- break;
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/handle-audio-video-decoder-error.patch b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/handle-audio-video-decoder-error.patch
deleted file mode 100755
index 833ce72bb..000000000
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/handle-audio-video-decoder-error.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From bcb2b8b6f49e7c66124a4f5e07dea829d5ebfe59 Mon Sep 17 00:00:00 2001
-From: Lyon Wang <lyon.wang@freescale.com>
-Date: Mon, 15 Dec 2014 16:52:07 +0800
-Subject: [PATCH] handle audio/video decoder error
-
-When there is input data and no output data to the end of the stream, it will
-send GST_ELEMENT_ERROR, So the clips playing will quit.
-However, if only one of the tracks is corrupt, there is no need to quit other
-tracks playing.
-
-The patch comments the GST_ELEMENT_ERROR() and just add GST_ERROR_OBJECT()
-information instead.
-
-Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=741542]
-
-Signed-off-by: Lyon Wang <lyon.wang@freescale.com>
----
- gst-libs/gst/audio/gstaudiodecoder.c | 5 +++--
- gst-libs/gst/video/gstvideodecoder.c | 5 +++--
- 2 files changed, 6 insertions(+), 4 deletions(-)
- mode change 100644 => 100755 gst-libs/gst/audio/gstaudiodecoder.c
- mode change 100644 => 100755 gst-libs/gst/video/gstvideodecoder.c
-
-diff --git a/gst-libs/gst/audio/gstaudiodecoder.c b/gst-libs/gst/audio/gstaudiodecoder.c
-old mode 100644
-new mode 100755
-index c2e7a28..891df0a
---- a/gst-libs/gst/audio/gstaudiodecoder.c
-+++ b/gst-libs/gst/audio/gstaudiodecoder.c
-@@ -2123,9 +2123,10 @@ gst_audio_decoder_sink_eventfunc (GstAudioDecoder * dec, GstEvent * event)
- GST_AUDIO_DECODER_STREAM_UNLOCK (dec);
-
- if (dec->priv->ctx.had_input_data && !dec->priv->ctx.had_output_data) {
-- GST_ELEMENT_ERROR (dec, STREAM, DECODE,
-+ /* GST_ELEMENT_ERROR (dec, STREAM, DECODE,
- ("No valid frames decoded before end of stream"),
-- ("no valid frames found"));
-+ ("no valid frames found")); */
-+ GST_ERROR_OBJECT(dec, "No valid frames decoded before end of stream");
- }
-
- /* send taglist if no valid frame is decoded util EOS */
-diff --git a/gst-libs/gst/video/gstvideodecoder.c b/gst-libs/gst/video/gstvideodecoder.c
-old mode 100644
-new mode 100755
-index ac581e1..4278bcd
---- a/gst-libs/gst/video/gstvideodecoder.c
-+++ b/gst-libs/gst/video/gstvideodecoder.c
-@@ -1068,9 +1068,10 @@ gst_video_decoder_sink_event_default (GstVideoDecoder * decoder,
-
- /* Error out even if EOS was ok when we had input, but no output */
- if (ret && priv->had_input_data && !priv->had_output_data) {
-- GST_ELEMENT_ERROR (decoder, STREAM, DECODE,
-+ /* GST_ELEMENT_ERROR (decoder, STREAM, DECODE,
- ("No valid frames decoded before end of stream"),
-- ("no valid frames found"));
-+ ("no valid frames found")); */
-+ GST_ERROR_OBJECT(decoder, "No valid frames decoded before end of stream");
- }
-
- /* Forward EOS immediately. This is required because no
---
-1.7.9.5
-
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/make-gio_unix_2_0-dependency-configurable.patch b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/make-gio_unix_2_0-dependency-configurable.patch
new file mode 100644
index 000000000..01e944ddd
--- /dev/null
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/make-gio_unix_2_0-dependency-configurable.patch
@@ -0,0 +1,47 @@
+From 10d2a977ee1d469f0bf9059bb2d0b55fd2eecbac Mon Sep 17 00:00:00 2001
+From: Andre McCurdy <armccurdy@gmail.com>
+Date: Wed, 20 Jan 2016 13:00:00 -0800
+Subject: [PATCH] make gio_unix_2_0 dependency configurable
+
+Prior to 1.7.1, gst-plugins-base accepted a configure option to
+disable gio_unix_2_0, however it was implemented incorrectly using
+AG_GST_CHECK_FEATURE. That was fixed in 1.7.1 by making the
+dependency unconditional.
+
+ http://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=aadefefba88afe4acbe64454650f24e7ce7c8d70
+
+To make builds deterministic, re-instate support for
+--disable-gio_unix_2_0, but implement it using the AC_ARG_ENABLE
+instead of AG_GST_CHECK_FEATURE.
+
+Upstream-Status: Pending
+
+Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
+---
+ configure.ac | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 9c52aeb..26cacd6 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -747,9 +747,16 @@ AC_SUBST(FT2_CFLAGS)
+ AC_SUBST(FT2_LIBS)
+
+ dnl *** gio-unix-2.0 for tests/check/pipelines/tcp.c ***
++AC_ARG_ENABLE([gio_unix_2_0],
++ [AS_HELP_STRING([--disable-gio_unix_2_0],[disable use of gio_unix_2_0])],
++ [],
++ [enable_gio_unix_2_0=yes])
++
++if test "x${enable_gio_unix_2_0}" != "xno"; then
+ PKG_CHECK_MODULES(GIO_UNIX_2_0, gio-unix-2.0 >= 2.24,
+ HAVE_GIO_UNIX_2_0="yes",
+ HAVE_GIO_UNIX_2_0="no")
++fi
+ AM_CONDITIONAL(USE_GIO_UNIX_2_0, test "x$HAVE_GIO_UNIX_2_0" = "xyes")
+
+ dnl *** finalize CFLAGS, LDFLAGS, LIBS
+--
+1.9.1
+
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/taglist-not-send-to-down-stream-if-all-the-frame-cor.patch b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/taglist-not-send-to-down-stream-if-all-the-frame-cor.patch
deleted file mode 100644
index 62a52b038..000000000
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/taglist-not-send-to-down-stream-if-all-the-frame-cor.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 68fa1b1425ad2c5f7c5013d0943153a8a6d0934e Mon Sep 17 00:00:00 2001
-From: Jian Li <lj.qfy.sh@gmail.com>
-Date: Wed, 24 Sep 2014 17:21:02 +0800
-Subject: [PATCH] taglist not send to down stream if all the frame corrupted
-
-https://bugzilla.gnome.org/show_bug.cgi?id=737246
-
-Upstream-Status: Pending
-
-Signed-off-by: Jian Li <lj.qfy.sh@gmail.com>
----
- gst-libs/gst/audio/gstaudiodecoder.c | 9 +++++++++
- gst-libs/gst/video/gstvideodecoder.c | 8 ++++++++
- 2 files changed, 17 insertions(+)
-
-diff --git a/gst-libs/gst/audio/gstaudiodecoder.c b/gst-libs/gst/audio/gstaudiodecoder.c
-index 3504678..3d69efe 100644
---- a/gst-libs/gst/audio/gstaudiodecoder.c
-+++ b/gst-libs/gst/audio/gstaudiodecoder.c
-@@ -2083,6 +2083,15 @@ gst_audio_decoder_sink_eventfunc (GstAudioDecoder * dec, GstEvent * event)
- gst_audio_decoder_drain (dec);
- GST_AUDIO_DECODER_STREAM_UNLOCK (dec);
-
-+ /* send taglist if no valid frame is decoded util EOS */
-+ if (dec->priv->taglist && dec->priv->taglist_changed) {
-+ GST_DEBUG_OBJECT (dec, "codec tag %" GST_PTR_FORMAT, dec->priv->taglist);
-+ if (!gst_tag_list_is_empty (dec->priv->taglist))
-+ gst_audio_decoder_push_event (dec,
-+ gst_event_new_tag (gst_tag_list_ref (dec->priv->taglist)));
-+ dec->priv->taglist_changed = FALSE;
-+ }
-+
- /* Forward EOS because no buffer or serialized event will come after
- * EOS and nothing could trigger another _finish_frame() call. */
- ret = gst_audio_decoder_push_event (dec, event);
-diff --git a/gst-libs/gst/video/gstvideodecoder.c b/gst-libs/gst/video/gstvideodecoder.c
-index dd8abe3..d9bfe4d 100644
---- a/gst-libs/gst/video/gstvideodecoder.c
-+++ b/gst-libs/gst/video/gstvideodecoder.c
-@@ -1024,6 +1024,14 @@ gst_video_decoder_sink_event_default (GstVideoDecoder * decoder,
- * parent class' ::sink_event() until a later time.
- */
- forward_immediate = TRUE;
-+
-+ /* send taglist if no valid frame is decoded util EOS */
-+ if (decoder->priv->tags && decoder->priv->tags_changed) {
-+ gst_video_decoder_push_event (decoder,
-+ gst_event_new_tag (gst_tag_list_ref (decoder->priv->tags)));
-+ decoder->priv->tags_changed = FALSE;
-+ }
-+
- break;
- }
- case GST_EVENT_GAP:
---
-1.7.9.5
-
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/videobuffer_updata_alignment_update.patch b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/videobuffer_updata_alignment_update.patch
deleted file mode 100755
index 8cfda955a..000000000
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/videobuffer_updata_alignment_update.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-commit 88d253ea23b06289df40401160b606323f16c910
-Author: Song Bing <b06498@freescale.com>
-Date: Mon Dec 15 09:34:35 2014 +0800
-
-videopool: update video alignment after video alignment
-
-Video buffer pool will update video alignment to respect stride alignment
-requirement. But haven't update it to video alignment in configure.
-Which will cause user get wrong video alignment.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=741501
-
-Upstream-Status: Backport [1.5.1]
-
-Signed-off-by: Song Bing <b06498@freescale.com>
-diff --git a/gst-libs/gst/video/gstvideopool.c b/gst-libs/gst/video/gstvideopool.c
-index 4475f45..acef594 100644
---- a/gst-libs/gst/video/gstvideopool.c
-+++ b/gst-libs/gst/video/gstvideopool.c
-@@ -167,6 +167,7 @@ video_buffer_pool_set_config (GstBufferPool * pool, GstStructure * config)
- /* get an apply the alignment to the info */
- gst_buffer_pool_config_get_video_alignment (config, &priv->video_align);
- gst_video_info_align (&info, &priv->video_align);
-+ gst_buffer_pool_config_set_video_alignment (config, &priv->video_align);
- }
- priv->info = info;
-
-diff --git a/sys/ximage/ximagepool.c b/sys/ximage/ximagepool.c
-index 6cc2cfa..6a1cbc9 100644
---- a/sys/ximage/ximagepool.c
-+++ b/sys/ximage/ximagepool.c
-@@ -597,6 +597,8 @@ ximage_buffer_pool_set_config (GstBufferPool * pool, GstStructure * config)
- /* do padding and alignment */
- gst_video_info_align (&info, &priv->align);
-
-+ gst_buffer_pool_config_set_video_alignment (config, &priv->align);
-+
- /* we need the video metadata too now */
- priv->add_metavideo = TRUE;
- } else {
-diff --git a/sys/xvimage/xvimagepool.c b/sys/xvimage/xvimagepool.c
-index 244a51a..34b1ab2 100644
---- a/sys/xvimage/xvimagepool.c
-+++ b/sys/xvimage/xvimagepool.c
-@@ -124,6 +124,8 @@ xvimage_buffer_pool_set_config (GstBufferPool * pool, GstStructure * config)
- /* do padding and alignment */
- gst_video_info_align (&info, &priv->align);
-
-+ gst_buffer_pool_config_set_video_alignment (config, &priv->align);
-+
- /* we need the video metadata too now */
- priv->add_metavideo = TRUE;
- } else {
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/videoencoder-Keep-sticky-events-around-when-doing-a-soft-.patch b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/videoencoder-Keep-sticky-events-around-when-doing-a-soft-.patch
deleted file mode 100644
index b47696911..000000000
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/videoencoder-Keep-sticky-events-around-when-doing-a-soft-.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From c3f7d36b992a3cbcee3386dea85720f3cb04e1ff Mon Sep 17 00:00:00 2001
-From: Song Bing <b06498@freescale.com>
-Date: Fri, 27 Mar 2015 13:39:43 +0800
-Subject: [PATCH] videoencoder: Keep sticky events around when doing a soft
- reset
-
-The current code will first discard all frames, and then tries to copy
-all sticky events from the (now discarded) frames. Let's change the order.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=746865
-
-Upstream-Status: Accepted
-
----
- gst-libs/gst/video/gstvideoencoder.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/gst-libs/gst/video/gstvideoencoder.c b/gst-libs/gst/video/gstvideoencoder.c
-index 614ba2d..4c5b111 100644
---- a/gst-libs/gst/video/gstvideoencoder.c
-+++ b/gst-libs/gst/video/gstvideoencoder.c
-@@ -340,10 +340,6 @@ gst_video_encoder_reset (GstVideoEncoder * encoder, gboolean hard)
-
- priv->drained = TRUE;
-
-- g_list_foreach (priv->frames, (GFunc) gst_video_codec_frame_unref, NULL);
-- g_list_free (priv->frames);
-- priv->frames = NULL;
--
- priv->bytes = 0;
- priv->time = 0;
-
-@@ -392,6 +388,10 @@ gst_video_encoder_reset (GstVideoEncoder * encoder, gboolean hard)
- encoder->priv->current_frame_events);
- }
-
-+ g_list_foreach (priv->frames, (GFunc) gst_video_codec_frame_unref, NULL);
-+ g_list_free (priv->frames);
-+ priv->frames = NULL;
-+
- GST_VIDEO_ENCODER_STREAM_UNLOCK (encoder);
-
- return ret;
---
-1.7.9.5
-
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.4.5.bb b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.4.5.bb
deleted file mode 100644
index b09c2cb58..000000000
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.4.5.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-include gstreamer1.0-plugins-base.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=c54ce9345727175ff66d17b67ff51f58 \
- file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607 \
- file://COPYING.LIB;md5=6762ed442b3822387a51c92d928ead0d \
- "
-
-SRC_URI += "file://do-not-change-eos-event-to-gap-event-if.patch \
- file://get-caps-from-src-pad-when-query-caps.patch \
- file://taglist-not-send-to-down-stream-if-all-the-frame-cor.patch \
- file://fix-id3demux-utf16-to-utf8-issue.patch \
- file://handle-audio-video-decoder-error.patch \
- file://videobuffer_updata_alignment_update.patch \
- file://0002-video-frame-Add-GST_VIDEO_FRAME_MAP_FLAG_NO_REF.patch \
- file://0001-video-frame-Don-t-ref-buffers-twice-when-mapping.patch \
- file://0003-videofilter-Use-new-GST_VIDEO_FRAME_MAP_FLAG_NO_REF.patch \
- file://videoencoder-Keep-sticky-events-around-when-doing-a-soft-.patch \
- file://do-not-change-eos-event-to-gap-event2.patch \
- file://do-not-change-eos-event-to-gap-event3.patch \
- file://0001-basetextoverlay-make-memory-copy-when-video-buffer-s.patch \
- file://0002-gstplaysink-don-t-set-async-of-custom-text-sink-to-f.patch \
- file://0003-ssaparse-enhance-SSA-text-lines-parsing.patch \
- file://0004-subparse-set-need_segment-after-sink-pad-received-GS.patch \
- file://encodebin-Need-more-buffers-in-output-queue-for-bett.patch \
-"
-
-SRC_URI[md5sum] = "357165af625c0ca353ab47c5d843920e"
-SRC_URI[sha256sum] = "77bd8199e7a312d3d71de9b7ddf761a3b78560a2c2a80829d0815ca39cbd551d"
-
-S = "${WORKDIR}/gst-plugins-base-${PV}"
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.6.3.bb b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.6.3.bb
new file mode 100644
index 000000000..429dc9338
--- /dev/null
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.6.3.bb
@@ -0,0 +1,25 @@
+include gstreamer1.0-plugins-base.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=c54ce9345727175ff66d17b67ff51f58 \
+ file://COPYING.LIB;md5=6762ed442b3822387a51c92d928ead0d \
+ file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607"
+
+# Note: The dependency on freetype was dropped shortly after the 1.7.1 release
+# so these lines should be removed during the update to 1.8.x
+# http://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=183610c035dd6955c9b3540b940aec50474af031
+DEPENDS += "freetype"
+EXTRA_OECONF += "--disable-freetypetest"
+
+SRC_URI = " \
+ http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${PV}.tar.xz \
+ file://get-caps-from-src-pad-when-query-caps.patch \
+ file://0003-ssaparse-enhance-SSA-text-lines-parsing.patch \
+ file://0004-subparse-set-need_segment-after-sink-pad-received-GS.patch \
+ file://encodebin-Need-more-buffers-in-output-queue-for-bett.patch \
+ file://0005-convertframe-Support-video-crop-when-convert-frame.patch \
+"
+
+SRC_URI[md5sum] = "3ddde0ad598ef69f58d6a2e87f8b460f"
+SRC_URI[sha256sum] = "b6154f8fdba4877e95efd94610ef0ada4f0171cd12eb829a3c3c97345d9c7a75"
+
+S = "${WORKDIR}/gst-plugins-base-${PV}"
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_git.bb b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_git.bb
index fbe3a42cd..38a9fcc29 100644
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_git.bb
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_git.bb
@@ -3,17 +3,25 @@ DEFAULT_PREFERENCE = "-1"
include gstreamer1.0-plugins-base.inc
LIC_FILES_CHKSUM = "file://COPYING;md5=c54ce9345727175ff66d17b67ff51f58 \
- file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607 \
file://COPYING.LIB;md5=6762ed442b3822387a51c92d928ead0d \
- "
+ file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607"
-S = "${WORKDIR}/git"
+SRC_URI = " \
+ git://anongit.freedesktop.org/gstreamer/gst-plugins-base;name=base \
+ git://anongit.freedesktop.org/gstreamer/common;destsuffix=git/common;name=common \
+ file://make-gio_unix_2_0-dependency-configurable.patch \
+"
+
+PV = "1.7.2+git${SRCPV}"
+
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))"
-SRCREV = "8d4cb64a4b9d84b10076bf350f80a0d6ea68ec2d"
+SRCREV_base = "97e108bebaa58821f4566a74cbf0135e93407c01"
+SRCREV_common = "b64f03f6090245624608beb5d2fff335e23a01c0"
+SRCREV_FORMAT = "base"
+
+S = "${WORKDIR}/git"
do_configure_prepend() {
- cd ${S}
- ./autogen.sh --noconfigure
- cd ${B}
+ ${S}/autogen.sh --noconfigure
}
-
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good.inc b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good.inc
index edaafe842..4621bf894 100644
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good.inc
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good.inc
@@ -2,52 +2,52 @@ require gstreamer1.0-plugins.inc
LICENSE = "GPLv2+ & LGPLv2.1+"
-# libid3tag
-DEPENDS += "gstreamer1.0-plugins-base zlib bzip2 libcap"
+DEPENDS += "gstreamer1.0-plugins-base libcap zlib bzip2"
inherit gettext
-
PACKAGECONFIG ??= " \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
+ ${GSTREAMER_ORC} \
${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)} \
- orc cairo flac gdk-pixbuf jpeg libpng soup speex taglib v4l2\
- "
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
+ cairo flac gdk-pixbuf gudev jpeg libpng soup speex taglib v4l2 \
+"
X11DEPENDS = "virtual/libx11 libsm libxrender libxfixes libxdamage"
-X11ENABLEOPTS = "--enable-x --enable-xshm"
-X11DISABLEOPTS = "--disable-x --disable-xshm"
-PACKAGECONFIG[x11] = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}"
-PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
+
PACKAGECONFIG[cairo] = "--enable-cairo,--disable-cairo,cairo"
+PACKAGECONFIG[dv1394] = "--enable-dv1394,--disable-dv1394,libiec61883 libavc1394 libraw1394"
PACKAGECONFIG[flac] = "--enable-flac,--disable-flac,flac"
PACKAGECONFIG[gdk-pixbuf] = "--enable-gdk_pixbuf,--disable-gdk_pixbuf,gdk-pixbuf"
PACKAGECONFIG[gudev] = "--with-gudev,--without-gudev,libgudev"
-PACKAGECONFIG[libv4l2] = "--with-libv4l2,--without-libv4l2,libv4l2"
PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack"
PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg"
PACKAGECONFIG[libpng] = "--enable-libpng,--disable-libpng,libpng"
+PACKAGECONFIG[libv4l2] = "--with-libv4l2,--without-libv4l2,libv4l2"
+PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
PACKAGECONFIG[soup] = "--enable-soup,--disable-soup,libsoup-2.4"
PACKAGECONFIG[speex] = "--enable-speex,--disable-speex,speex"
PACKAGECONFIG[taglib] = "--enable-taglib,--disable-taglib,taglib"
+PACKAGECONFIG[v4l2] = "--enable-gst_v4l2,--disable-gst_v4l2"
PACKAGECONFIG[vpx] = "--enable-vpx,--disable-vpx,libvpx"
PACKAGECONFIG[wavpack] = "--enable-wavpack,--disable-wavpack,wavpack"
-PACKAGECONFIG[dv1394] = "--enable-dv1394,--disable-dv1394,libraw1394 libiec61883 libavc1394"
-PACKAGECONFIG[v4l2] = "--enable-gst_v4l2,--disable-gst_v4l2"
+PACKAGECONFIG[x11] = "--enable-x,--disable-x,${X11DEPENDS}"
EXTRA_OECONF += " \
+ --enable-bz2 \
--enable-oss \
+ --enable-zlib \
+ --disable-aalib \
+ --disable-aalibtest \
--disable-directsound \
- --disable-waveform \
+ --disable-libcaca \
+ --disable-libdv \
--disable-oss4 \
- --disable-sunaudio \
--disable-osx_audio \
--disable-osx_video \
- --disable-aalib \
- --disable-libcaca \
- --disable-libdv \
--disable-shout2 \
- --disable-examples \
+ --disable-sunaudio \
+ --disable-waveform \
"
FILES_${PN}-equalizer += "${datadir}/gstreamer-1.0/presets/*.prs"
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/avoid-including-sys-poll.h-directly.patch b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/avoid-including-sys-poll.h-directly.patch
new file mode 100644
index 000000000..c7f3630ec
--- /dev/null
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/avoid-including-sys-poll.h-directly.patch
@@ -0,0 +1,44 @@
+From 4bfe2c8570a4a7080ec662504882969054d8a072 Mon Sep 17 00:00:00 2001
+From: Andre McCurdy <armccurdy@gmail.com>
+Date: Wed, 3 Feb 2016 18:12:38 -0800
+Subject: [PATCH] avoid including <sys/poll.h> directly
+
+musl libc generates warnings if <sys/poll.h> is included directly.
+
+Upstream-Status: Pending
+
+Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
+---
+ ext/raw1394/gstdv1394src.c | 2 +-
+ ext/raw1394/gsthdv1394src.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/ext/raw1394/gstdv1394src.c b/ext/raw1394/gstdv1394src.c
+index dbc7607..3c42b41 100644
+--- a/ext/raw1394/gstdv1394src.c
++++ b/ext/raw1394/gstdv1394src.c
+@@ -37,7 +37,7 @@
+ #include "config.h"
+ #endif
+ #include <unistd.h>
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <sys/socket.h>
+ #include <errno.h>
+ #include <fcntl.h>
+diff --git a/ext/raw1394/gsthdv1394src.c b/ext/raw1394/gsthdv1394src.c
+index 0b07a37..9785a15 100644
+--- a/ext/raw1394/gsthdv1394src.c
++++ b/ext/raw1394/gsthdv1394src.c
+@@ -36,7 +36,7 @@
+ #include "config.h"
+ #endif
+ #include <unistd.h>
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <sys/socket.h>
+ #include <errno.h>
+ #include <fcntl.h>
+--
+1.9.1
+
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/decrease_asteriskh263_rank.patch b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/decrease_asteriskh263_rank.patch
deleted file mode 100755
index 288631bf7..000000000
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/decrease_asteriskh263_rank.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-commit d71d74daac8ed54156ed103958ab455c63c72b0e
-Author: Song Bing <b06498@freescale.com>
-Date: Mon Nov 10 11:25:47 2014 +0800
-
-[asteriskh263] decrease the rank as we havn't this kind of decoder.
-
-Decrease the rank as we havn't this kind of decoder.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=739935
-
-Upstream-Status: Pending
-
-Signed-off-by: Song Bing <b06498@freescale.com>
-
-diff --git a/gst/rtp/gstasteriskh263.c b/gst/rtp/gstasteriskh263.c
-index a01fbc8..8fa3194 100644
---- a/gst/rtp/gstasteriskh263.c
-+++ b/gst/rtp/gstasteriskh263.c
-@@ -226,5 +226,5 @@ gboolean
- gst_asteriskh263_plugin_init (GstPlugin * plugin)
- {
- return gst_element_register (plugin, "asteriskh263",
-- GST_RANK_SECONDARY, GST_TYPE_ASTERISK_H263);
-+ GST_RANK_SECONDARY - 1, GST_TYPE_ASTERISK_H263);
- }
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/ensure-valid-sentinel-for-gst_structure_get.patch b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/ensure-valid-sentinel-for-gst_structure_get.patch
new file mode 100644
index 000000000..bc7ac0b6a
--- /dev/null
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/ensure-valid-sentinel-for-gst_structure_get.patch
@@ -0,0 +1,40 @@
+From 2169f2205c0205a220d826d7573e5a863bd36e0a Mon Sep 17 00:00:00 2001
+From: Andre McCurdy <armccurdy@gmail.com>
+Date: Tue, 9 Feb 2016 14:00:00 -0800
+Subject: [PATCH] ensure valid sentinal for gst_structure_get()
+
+gst_structure_get() is declared with G_GNUC_NULL_TERMINATED, ie
+__attribute__((__sentinel__)), which means gcc will generate a
+warning if the last parameter passed to the function is not NULL
+(where a valid NULL in this context is defined as zero with any
+pointer type).
+
+The C code callers to gst_structure_get() within gst-plugins-good
+use the C NULL definition (ie ((void*)0)), which is a valid sentinel.
+
+However gstid3v2mux.cc uses the C++ NULL definition (ie 0L), which
+is not a valid sentinel without an explicit cast to a pointer type.
+
+Upstream-Status: Pending
+
+Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
+---
+ ext/taglib/gstid3v2mux.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ext/taglib/gstid3v2mux.cc b/ext/taglib/gstid3v2mux.cc
+index 8651e77..a87234f 100644
+--- a/ext/taglib/gstid3v2mux.cc
++++ b/ext/taglib/gstid3v2mux.cc
+@@ -465,7 +465,7 @@ add_image_tag (ID3v2::Tag * id3v2tag, const GstTagList * list,
+
+ if (info_struct) {
+ if (gst_structure_get (info_struct, "image-type",
+- GST_TYPE_TAG_IMAGE_TYPE, &image_type, NULL)) {
++ GST_TYPE_TAG_IMAGE_TYPE, &image_type, (void *) NULL)) {
+ if (image_type > 0 && image_type <= 18) {
+ image_type += 2;
+ } else {
+--
+1.9.1
+
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.4.5.bb b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.6.3.bb
index 943ab6039..0b4f43690 100644
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.4.5.bb
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.6.3.bb
@@ -4,10 +4,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607 \
file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe"
-SRC_URI += "file://0001-gstrtpmp4gpay-set-dafault-value-for-MPEG4-without-co.patch \
- file://decrease_asteriskh263_rank.patch \
+SRC_URI = " \
+ http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \
+ file://0001-gstrtpmp4gpay-set-dafault-value-for-MPEG4-without-co.patch \
"
-SRC_URI[md5sum] = "eaf1a6daf73749bc423feac301d60038"
-SRC_URI[sha256sum] = "79b1b5f3f7bcaa8a615202eb5e176121eeb8336960f70687e536ad78dbc7e641"
+
+SRC_URI[md5sum] = "a1958df7aa498b42793e2f2048673815"
+SRC_URI[sha256sum] = "24b19db70b2a83461ebddfe20033db432dadfdb5d4b54ffb1dfa0d830134a177"
S = "${WORKDIR}/gst-plugins-good-${PV}"
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_git.bb b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_git.bb
index 2c0e0efe6..9cadc9afc 100644
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_git.bb
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_git.bb
@@ -6,13 +6,23 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607 \
file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe"
-S = "${WORKDIR}/git"
+SRC_URI = " \
+ git://anongit.freedesktop.org/gstreamer/gst-plugins-good;name=base \
+ git://anongit.freedesktop.org/gstreamer/common;destsuffix=git/common;name=common \
+ file://avoid-including-sys-poll.h-directly.patch \
+ file://ensure-valid-sentinel-for-gst_structure_get.patch \
+"
+
+PV = "1.7.2+git${SRCPV}"
+
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))"
-SRCREV = "fd0123800c8c1cf1468c0fa5d592ad0d0d8b4140"
+SRCREV_base = "1b6fdce67c15d59957e395b1957aa625322092d4"
+SRCREV_common = "b64f03f6090245624608beb5d2fff335e23a01c0"
+SRCREV_FORMAT = "base"
+
+S = "${WORKDIR}/git"
do_configure_prepend() {
- cd ${S}
- ./autogen.sh --noconfigure
- cd ${B}
+ ${S}/autogen.sh --noconfigure
}
-
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly.inc b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly.inc
index 63ba31632..aff223072 100644
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly.inc
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly.inc
@@ -7,12 +7,14 @@ DEPENDS += "gstreamer1.0-plugins-base libid3tag"
inherit gettext
-
PACKAGECONFIG ??= " \
- orc a52dec lame mad mpeg2dec \
- "
+ ${GSTREAMER_ORC} \
+ a52dec lame mad mpeg2dec \
+"
PACKAGECONFIG[a52dec] = "--enable-a52dec,--disable-a52dec,liba52"
+PACKAGECONFIG[amrnb] = "--enable-amrnb,--disable-amrnb,opencore-amr"
+PACKAGECONFIG[amrwb] = "--enable-amrwb,--disable-amrwb,opencore-amr"
PACKAGECONFIG[cdio] = "--enable-cdio,--disable-cdio,libcdio"
PACKAGECONFIG[dvdread] = "--enable-dvdread,--disable-dvdread,libdvdread"
PACKAGECONFIG[lame] = "--enable-lame,--disable-lame,lame"
@@ -20,11 +22,10 @@ PACKAGECONFIG[mad] = "--enable-mad,--disable-mad,libmad"
PACKAGECONFIG[mpeg2dec] = "--enable-mpeg2dec,--disable-mpeg2dec,mpeg2dec"
PACKAGECONFIG[x264] = "--enable-x264,--disable-x264,x264"
-
EXTRA_OECONF += " \
- --disable-amrnb \
- --disable-amrwb \
--disable-sidplay \
--disable-twolame \
- "
+"
+FILES_${PN}-amrnb += "${datadir}/gstreamer-1.0/presets/GstAmrnbEnc.prs"
+FILES_${PN}-x264 += "${datadir}/gstreamer-1.0/presets/GstX264Enc.prs"
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.4.5.bb b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.4.5.bb
deleted file mode 100644
index 25cb28c06..000000000
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.4.5.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-include gstreamer1.0-plugins-ugly.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
- file://tests/check/elements/xingmux.c;beginline=1;endline=21;md5=4c771b8af188724855cb99cadd390068 "
-
-SRC_URI[md5sum] = "6954beed7bb9a93e426dee543ff46393"
-SRC_URI[sha256sum] = "5cd5e81cf618944f4dc935f1669b2125e8bb2fe9cc7dc8dc15b72237aca49067"
-
-S = "${WORKDIR}/gst-plugins-ugly-${PV}"
-
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.6.3.bb b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.6.3.bb
new file mode 100644
index 000000000..7edfb81d2
--- /dev/null
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.6.3.bb
@@ -0,0 +1,13 @@
+include gstreamer1.0-plugins-ugly.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
+ file://tests/check/elements/xingmux.c;beginline=1;endline=21;md5=4c771b8af188724855cb99cadd390068"
+
+SRC_URI = " \
+ http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${PV}.tar.xz \
+"
+
+SRC_URI[md5sum] = "dbd92afb3816cbfa90ab1f197144a2e2"
+SRC_URI[sha256sum] = "2fecf7b7c7882f8f62f1900048f4013f98c214fb3d3303d8d812245bb41fd064"
+
+S = "${WORKDIR}/gst-plugins-ugly-${PV}"
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_git.bb b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_git.bb
index dcf5ffc3c..69afe4cfb 100644
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_git.bb
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_git.bb
@@ -3,15 +3,39 @@ DEFAULT_PREFERENCE = "-1"
include gstreamer1.0-plugins-ugly.inc
LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
- file://tests/check/elements/xingmux.c;beginline=1;endline=21;md5=4c771b8af188724855cb99cadd390068 "
+ file://tests/check/elements/xingmux.c;beginline=1;endline=21;md5=4c771b8af188724855cb99cadd390068"
+
+SRC_URI = " \
+ git://anongit.freedesktop.org/gstreamer/gst-plugins-ugly;name=base \
+ git://anongit.freedesktop.org/gstreamer/common;destsuffix=git/common;name=common \
+"
+
+PV = "1.7.2+git${SRCPV}"
+
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))"
+
+SRCREV_base = "8bdb68edbc605e21314b608e7a39bdbaab7302b8"
+SRCREV_common = "b64f03f6090245624608beb5d2fff335e23a01c0"
+SRCREV_FORMAT = "base"
S = "${WORKDIR}/git"
-SRCREV = "06b8ac10cee85c5c304ca320997aa8f44295a66f"
+# The mpg123 plugin was added prior to the 1.7.2 release
+# https://cgit.freedesktop.org/gstreamer/gst-plugins-ugly/commit/?id=43bd45ba991ef3247957ca37cdcb52f4b8c0acb1
+PACKAGECONFIG[mpg123] = "--enable-mpg123,--disable-mpg123,mpg123"
do_configure_prepend() {
- cd ${S}
- ./autogen.sh --noconfigure
- cd ${B}
+ ${S}/autogen.sh --noconfigure
}
+# In 1.7.2, the mpg123 plugin was moved from -bad to -ugly
+# https://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=08d8aefcdaaf89ecb6dd53ec1e4f95cd42d01664
+# https://cgit.freedesktop.org/gstreamer/gst-plugins-ugly/commit/?id=43bd45ba991ef3247957ca37cdcb52f4b8c0acb1
+
+PACKAGESPLITFUNCS_append = " handle_mpg123_rename "
+
+python handle_mpg123_rename () {
+ d.setVar('RPROVIDES_gstreamer1.0-plugins-ugly-mpg123', 'gstreamer1.0-plugins-bad-mpg123')
+ d.setVar('RREPLACES_gstreamer1.0-plugins-ugly-mpg123', 'gstreamer1.0-plugins-bad-mpg123')
+ d.setVar('RCONFLICTS_gstreamer1.0-plugins-ugly-mpg123', 'gstreamer1.0-plugins-bad-mpg123')
+}
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc
index f1783b768..2dcec509d 100644
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc
@@ -2,58 +2,39 @@ SUMMARY = "Plugins for the GStreamer multimedia framework 1.x"
HOMEPAGE = "http://gstreamer.freedesktop.org/"
BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer"
SECTION = "multimedia"
-DEPENDS = "gstreamer1.0"
-inherit autotools pkgconfig
+DEPENDS = "gstreamer1.0 glib-2.0-native"
-GSTREAMER_1_0_DEBUG ?= "--disable-debug"
-GSTREAMER_1_0_GIT_BRANCH ?= "master"
-EXTRA_OECONF = "--disable-valgrind ${GSTREAMER_1_0_DEBUG} --disable-examples "
+inherit autotools pkgconfig upstream-version-is-even gobject-introspection
acpaths = "-I ${S}/common/m4 -I ${S}/m4"
LIBV = "1.0"
require gst-plugins-package.inc
+# Orc enables runtime JIT compilation of data processing routines from Orc
+# bytecode to SIMD instructions for various architectures (currently SSE, MMX,
+# MIPS, Altivec and NEON are supported).
+
+GSTREAMER_ORC ?= "orc"
+
+PACKAGECONFIG[debug] = "--enable-debug,--disable-debug"
PACKAGECONFIG[orc] = "--enable-orc,--disable-orc,orc orc-native"
+PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,valgrind"
export ORCC = "${STAGING_DIR_NATIVE}${bindir}/orcc"
-PACKAGES_DYNAMIC = "^${PN}-.*"
+EXTRA_OECONF = " \
+ --disable-examples \
+"
-# apply gstreamer hack after Makefile.in.in in source is replaced by our version from
-# ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in, but before configure is executed
-# http://lists.linuxtogo.org/pipermail/openembedded-core/2012-November/032233.html
-oe_runconf_prepend() {
- if [ -e ${S}/po/Makefile.in.in ]; then
- sed -i -e "1a\\" -e 'GETTEXT_PACKAGE = @GETTEXT_PACKAGE@' ${S}/po/Makefile.in.in
- fi
-}
+SRC_URI_append = " file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch"
-SRC_URI = "${@get_gst_srcuri(d)}"
-
-def get_gst_srcuri(d):
- # check if expected prefix is present
- prefix = "gstreamer1.0-"
- bpn = d.getVar("BPN", True)
- if not bpn.startswith(prefix):
- bb.fatal('Invalid GStreamer 1.0 plugin package name "%s" : must start with "%s"' % (bpn, prefix))
-
- # replaced prefix with "gst-", which is what is used for the tarball and repository filenames
- gstpkg_basename = "gst-" + bpn[len(prefix):]
- pv = d.getVar("PV", True)
- branch = d.getVar("GSTREAMER_1_0_GIT_BRANCH", True)
-
- if pv == "git":
- s = "git://anongit.freedesktop.org/gstreamer/%s;branch=%s" % (gstpkg_basename, branch)
- else:
- s = "http://gstreamer.freedesktop.org/src/%s/%s-%s.tar.xz" % (gstpkg_basename, gstpkg_basename, pv)
- return s
-
-delete_liblink_m4_file() {
- # This m4 file contains nastiness which conflicts with libtool 2.2.2
- rm "${S}/m4/lib-link.m4" || true
+delete_pkg_m4_file() {
+ # This m4 file is out of date and is missing PKG_CONFIG_SYSROOT_PATH tweaks which we need for introspection
+ rm "${S}/common/m4/pkg.m4" || true
}
-do_configure[prefuncs] += " delete_liblink_m4_file "
+do_configure[prefuncs] += " delete_pkg_m4_file"
+PACKAGES_DYNAMIC = "^${PN}-.*"
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server.inc b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server.inc
index 28a9420f8..ae6d36477 100644
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server.inc
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server.inc
@@ -1,14 +1,24 @@
SUMMARY = "A library on top of GStreamer for building an RTSP server"
+HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-rtsp-server/"
SECTION = "multimedia"
LICENSE = "LGPLv2"
-HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-rtsp-server/"
+
DEPENDS = "gstreamer1.0 libcgroup gstreamer1.0-plugins-base"
PNREAL = "gst-rtsp-server"
-SRC_URI = "http://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz"
+SRC_URI = "http://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz \
+ file://0001-Don-t-hardcode-libtool-name-when-using-introspection.patch \
+ file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch"
S = "${WORKDIR}/${PNREAL}-${PV}"
-inherit autotools pkgconfig
+inherit autotools pkgconfig upstream-version-is-even gobject-introspection
+
+delete_pkg_m4_file() {
+ # This m4 file is out of date and is missing PKG_CONFIG_SYSROOT_PATH tweaks which we need for introspection
+ rm "${S}/common/m4/pkg.m4" || true
+}
+
+do_configure[prefuncs] += " delete_pkg_m4_file"
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-Don-t-hardcode-libtool-name-when-using-introspection.patch b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-Don-t-hardcode-libtool-name-when-using-introspection.patch
new file mode 100644
index 000000000..89d6384ad
--- /dev/null
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-Don-t-hardcode-libtool-name-when-using-introspection.patch
@@ -0,0 +1,27 @@
+From 4a12569e5ae5be63cd92a9b178860026a99746b1 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 27 Oct 2015 16:55:45 +0200
+Subject: [PATCH] Don't hardcode libtool name when using introspection
+
+Upstream-Status: Pending [review on oe-core maillist]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ gst/rtsp-server/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gst/rtsp-server/Makefile.am b/gst/rtsp-server/Makefile.am
+index 4fcd366..c67f5ab 100644
+--- a/gst/rtsp-server/Makefile.am
++++ b/gst/rtsp-server/Makefile.am
+@@ -87,7 +87,7 @@ GstRtspServer-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtspserver-@
+ --include=Gst-@GST_API_VERSION@ \
+ --include=GstRtsp-@GST_API_VERSION@ \
+ --include=GstNet-@GST_API_VERSION@ \
+- --libtool="$(top_builddir)/libtool" \
++ --libtool="$(LIBTOOL)" \
+ --pkg gstreamer-@GST_API_VERSION@ \
+ --pkg gstreamer-rtsp-@GST_API_VERSION@ \
+ --pkg gstreamer-net-@GST_API_VERSION@ \
+--
+2.1.4
+
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.4.5.bb b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.4.5.bb
deleted file mode 100644
index bb9b42b53..000000000
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.4.5.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-include gstreamer1.0-rtsp-server.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d"
-
-SRC_URI[md5sum] = "a9f9b8899ec7ab33663cda7627db40d3"
-SRC_URI[sha256sum] = "3089254bd31b7c1f1cf2c034a3b3551f92878f9e3cab65cef3a901a04c0f1d37"
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.6.2.bb b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.6.2.bb
new file mode 100644
index 000000000..5bdae6cf9
--- /dev/null
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.6.2.bb
@@ -0,0 +1,6 @@
+include gstreamer1.0-rtsp-server.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d"
+
+SRC_URI[md5sum] = "a1cafefb5fc14ac5d7e7d8cdbdfa9694"
+SRC_URI[sha256sum] = "0f51f9879556c0950203c766b09a1b62f1f25b17f9a7d516e01b13ecf93c8858"
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0.inc b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0.inc
index be8aa8f9c..10b4668e5 100644
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0.inc
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0.inc
@@ -5,25 +5,54 @@ HOMEPAGE = "http://gstreamer.freedesktop.org/"
BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer"
SECTION = "multimedia"
LICENSE = "LGPLv2+"
-DEPENDS = "glib-2.0 libxml2 bison-native flex-native"
-inherit autotools pkgconfig gettext
+DEPENDS = "glib-2.0 glib-2.0-native libcap libxml2 bison-native flex-native"
+
+inherit autotools pkgconfig gettext upstream-version-is-even gobject-introspection
+
+# This way common/m4/introspection.m4 will come first
+# (it has a custom INTROSPECTION_INIT macro, and so must be used instead of our common introspection.m4 file)
+acpaths = "-I ${S}/common/m4 -I ${S}/m4"
+
+SRC_URI_append = " \
+ file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \
+"
+
+PACKAGECONFIG ??= ""
-PACKAGECONFIG[debug] = "--enable-debug,--disable-debug"
PACKAGECONFIG[check] = "--enable-check,--disable-check"
+PACKAGECONFIG[debug] = "--enable-debug,--disable-debug"
+PACKAGECONFIG[tests] = "--enable-tests,--disable-tests"
+PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,valgrind,"
-EXTRA_OECONF = "--disable-docbook --disable-gtk-doc \
- --disable-dependency-tracking \
- --disable-examples --disable-tests \
- --disable-valgrind \
- "
+EXTRA_OECONF = " \
+ --disable-dependency-tracking \
+ --disable-docbook \
+ --disable-examples \
+ --disable-gtk-doc \
+"
-RRECOMMENDS_${PN}_qemux86 += "kernel-module-snd-ens1370 kernel-module-snd-rawmidi"
+CACHED_CONFIGUREVARS += "ac_cv_header_valgrind_valgrind_h=no"
+
+# musl libc generates warnings if <sys/poll.h> is included directly
+CACHED_CONFIGUREVARS += "ac_cv_header_sys_poll_h=no"
+
+PACKAGES += "${PN}-bash-completion"
+
+FILES_${PN} += "${libdir}/gstreamer-1.0/*.so"
+FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la ${libdir}/gstreamer-1.0/*.a ${libdir}/gstreamer-1.0/include"
+FILES_${PN}-bash-completion += "${datadir}/bash-completion/completions/ ${datadir}/bash-completion/helpers/gst*"
+
+RRECOMMENDS_${PN}_qemux86 += "kernel-module-snd-ens1370 kernel-module-snd-rawmidi"
RRECOMMENDS_${PN}_qemux86-64 += "kernel-module-snd-ens1370 kernel-module-snd-rawmidi"
-CACHED_CONFIGUREVARS += "ac_cv_header_valgrind_valgrind_h=no"
+delete_pkg_m4_file() {
+ # This m4 file is out of date and is missing PKG_CONFIG_SYSROOT_PATH tweaks which we need for introspection
+ rm "${S}/common/m4/pkg.m4" || true
+}
-FILES_${PN} += " ${libdir}/gstreamer-1.0/*.so"
-FILES_${PN}-dev += " ${libdir}/gstreamer-1.0/*.la ${libdir}/gstreamer-1.0/*.a"
-FILES_${PN}-dbg += " ${libdir}/gstreamer-1.0/.debug/ ${libexecdir}/gstreamer-1.0/.debug/"
+do_configure[prefuncs] += " delete_pkg_m4_file"
+do_compile_prepend() {
+ export GIR_EXTRA_LIBS_PATH="${B}/gst/.libs:${B}/libs/gst/base/.libs"
+}
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gstinfo-Shorten-__FILE__-on-all-platforms.patch b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gstinfo-Shorten-__FILE__-on-all-platforms.patch
deleted file mode 100644
index 8213c4b8b..000000000
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gstinfo-Shorten-__FILE__-on-all-platforms.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 81fecd367b016e5ac4fb0c04b84da5c474f30da6 Mon Sep 17 00:00:00 2001
-From: Peter Urbanec <git.user@urbanec.net>
-Date: Fri, 27 Feb 2015 01:16:58 +1100
-Subject: [PATCH 1/1] gstinfo: Shorten __FILE__ on all platforms.
-
-This is useful not only for MSVC, but also with gcc/Linux when doing
-cross-compilation builds and out-of-tree builds.
-
-Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=745213]
-
-Signed-off-by: Peter Urbanec <git.user@urbanec.net>
----
- gst/gstinfo.c | 11 ++++-------
- 1 file changed, 4 insertions(+), 7 deletions(-)
-
-diff --git a/gst/gstinfo.c b/gst/gstinfo.c
-index b2a3005..8b61d09 100644
---- a/gst/gstinfo.c
-+++ b/gst/gstinfo.c
-@@ -444,7 +444,6 @@ gst_debug_log (GstDebugCategory * category, GstDebugLevel level,
- va_end (var_args);
- }
-
--#ifdef G_OS_WIN32
- /* based on g_basename(), which we can't use because it was deprecated */
- static inline const gchar *
- gst_path_basename (const gchar * file_name)
-@@ -467,7 +466,6 @@ gst_path_basename (const gchar * file_name)
-
- return file_name;
- }
--#endif
-
- /**
- * gst_debug_log_valist:
-@@ -497,12 +495,11 @@ gst_debug_log_valist (GstDebugCategory * category, GstDebugLevel level,
- g_return_if_fail (function != NULL);
- g_return_if_fail (format != NULL);
-
-- /* The predefined macro __FILE__ is always the exact path given to the
-- * compiler with MSVC, which may or may not be the basename. We work
-- * around it at runtime to improve the readability. */
--#ifdef G_OS_WIN32
-+ /* The predefined macro __FILE__ can be an absolute path in some build
-+ * environments, such as MSVC or out-of-tree cross-compiles. This may
-+ * be significantly longer than the filename. We work around it at
-+ * runtime to improve the readability. */
- file = gst_path_basename (file);
--#endif
-
- message.message = NULL;
- message.format = format;
---
-2.3.0
-
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0002-basesink-Fix-QoS-lateness-checking-if-subclass-imple.patch b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0002-basesink-Fix-QoS-lateness-checking-if-subclass-imple.patch
deleted file mode 100644
index 1505cbefc..000000000
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0002-basesink-Fix-QoS-lateness-checking-if-subclass-imple.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From 6914566ed6a89c96973a578aa5ecd01ee68cdcfd Mon Sep 17 00:00:00 2001
-From: Jian <Jian.Li@freescale.com>
-Date: Thu, 14 May 2015 15:49:43 +0800
-Subject: [PATCH] basesink: Fix QoS/lateness checking if subclass implements
- prepare/prepare_list vfuncs
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-In basesink functions gst_base_sink_chain_unlocked(), below code is used to
-checking if buffer is late before doing prepare call to save some effort:
- if (syncable && do_sync)
- late =
- gst_base_sink_is_too_late (basesink, obj, rstart, rstop,
- GST_CLOCK_EARLY, 0, FALSE);
-
- if (G_UNLIKELY (late))
- goto dropped;
-
-But this code has problem, it should calculate jitter based on current media
-clock, rather than just passing 0. I found it will drop all the frames when
-rewind in slow speed, such as -2X.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=749258
-
-Upstream-Status: Backport [1.5.1]
----
- libs/gst/base/gstbasesink.c | 26 ++++++++++++++++++++++----
- 1 file changed, 22 insertions(+), 4 deletions(-)
-
-diff --git a/libs/gst/base/gstbasesink.c b/libs/gst/base/gstbasesink.c
-index a505695..5fb2d6a 100644
---- a/libs/gst/base/gstbasesink.c
-+++ b/libs/gst/base/gstbasesink.c
-@@ -3369,10 +3369,28 @@ gst_base_sink_chain_unlocked (GstBaseSink * basesink, GstPad * pad,
- if (G_UNLIKELY (stepped))
- goto dropped;
-
-- if (syncable && do_sync)
-- late =
-- gst_base_sink_is_too_late (basesink, obj, rstart, rstop,
-- GST_CLOCK_EARLY, 0, FALSE);
-+ if (syncable && do_sync) {
-+ GstClock *clock;
-+
-+ GST_OBJECT_LOCK (basesink);
-+ clock = GST_ELEMENT_CLOCK (basesink);
-+ if (clock && GST_STATE (basesink) == GST_STATE_PLAYING) {
-+ GstClockTime base_time;
-+ GstClockTime stime;
-+ GstClockTime now;
-+
-+ base_time = GST_ELEMENT_CAST (basesink)->base_time;
-+ stime = base_time + gst_base_sink_adjust_time (basesink, rstart);
-+ now = gst_clock_get_time (clock);
-+ GST_OBJECT_UNLOCK (basesink);
-+
-+ late =
-+ gst_base_sink_is_too_late (basesink, obj, rstart, rstop,
-+ GST_CLOCK_EARLY, GST_CLOCK_DIFF (stime, now), FALSE);
-+ } else {
-+ GST_OBJECT_UNLOCK (basesink);
-+ }
-+ }
-
- if (G_UNLIKELY (late))
- goto dropped;
---
-1.7.9.5
-
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-basesink-Shouldn-t-drop-buffer-when-sync-false.patch b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-basesink-Shouldn-t-drop-buffer-when-sync-false.patch
deleted file mode 100755
index d682ee60c..000000000
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-basesink-Shouldn-t-drop-buffer-when-sync-false.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 73df2b5c0aea58015788f5a94a3ec65296a688d3 Mon Sep 17 00:00:00 2001
-From: Song Bing <b06498@freescale.com>
-Date: Thu, 2 Jul 2015 14:32:21 +0800
-Subject: [PATCH] basesink: Shouldn't drop buffer when sync=false
-
-Shouldn't drop buffer when sync=false
-
-Upstream-Status: Accepted
-
-https://bugzilla.gnome.org/show_bug.cgi?id=751819
----
- libs/gst/base/gstbasesink.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libs/gst/base/gstbasesink.c b/libs/gst/base/gstbasesink.c
-index d44e8fc..cd759ac 100644
---- a/libs/gst/base/gstbasesink.c
-+++ b/libs/gst/base/gstbasesink.c
-@@ -3423,7 +3423,7 @@ gst_base_sink_chain_unlocked (GstBaseSink * basesink, GstPad * pad,
- if (G_UNLIKELY (stepped))
- goto dropped;
-
-- if (syncable && do_sync) {
-+ if (syncable && do_sync && gst_base_sink_get_sync (basesink)) {
- GstClock *clock;
-
- GST_OBJECT_LOCK (basesink);
---
-1.7.9.5
-
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/inputselector-sticky-events-haven-t-send-out-when-ac-1-4-1.patch b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/inputselector-sticky-events-haven-t-send-out-when-ac-1-4-1.patch
deleted file mode 100755
index f50ce6ff2..000000000
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/inputselector-sticky-events-haven-t-send-out-when-ac-1-4-1.patch
+++ /dev/null
@@ -1,167 +0,0 @@
-From 83bed90c306ed3185d48febf6441177d638f7341 Mon Sep 17 00:00:00 2001
-From: Song Bing <b06498@freescale.com>
-Date: Wed, 24 Dec 2014 10:13:51 +0800
-Subject: [PATCH] inputselector: sticky events haven't send out when active
- track reach EOS
-
-EOS event hasn't been send to down-element. The resolution is block EOS event
-of inactive pad, send the event after the pad actived.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=740949
-
-Upstream-Status: Backport [1.5.1]
-
-Signed-off-by: Song Bing <b06498@freescale.com>
----
- plugins/elements/gstinputselector.c | 58 ++++++++++++++++++++++++++---------
- plugins/elements/gstinputselector.h | 1 +
- 2 files changed, 45 insertions(+), 14 deletions(-)
-
-diff --git a/plugins/elements/gstinputselector.c b/plugins/elements/gstinputselector.c
-index fb50802..4461f7c 100644
---- a/plugins/elements/gstinputselector.c
-+++ b/plugins/elements/gstinputselector.c
-@@ -440,6 +440,17 @@ gst_selector_pad_iterate_linked_pads (GstPad * pad, GstObject * parent)
- }
-
- static gboolean
-+gst_input_selector_eos_wait (GstInputSelector * self, GstSelectorPad * pad)
-+{
-+ while (!self->eos && !self->flushing && !pad->flushing) {
-+ /* we can be unlocked here when we are shutting down (flushing) or when we
-+ * get unblocked */
-+ GST_INPUT_SELECTOR_WAIT (self);
-+ }
-+ return self->flushing;
-+}
-+
-+static gboolean
- gst_selector_pad_event (GstPad * pad, GstObject * parent, GstEvent * event)
- {
- gboolean res = TRUE;
-@@ -486,6 +497,7 @@ gst_selector_pad_event (GstPad * pad, GstObject * parent, GstEvent * event)
- case GST_EVENT_FLUSH_START:
- /* Unblock the pad if it's waiting */
- selpad->flushing = TRUE;
-+ sel->eos = FALSE;
- GST_INPUT_SELECTOR_BROADCAST (sel);
- break;
- case GST_EVENT_FLUSH_STOP:
-@@ -523,21 +535,12 @@ gst_selector_pad_event (GstPad * pad, GstObject * parent, GstEvent * event)
- case GST_EVENT_EOS:
- selpad->eos = TRUE;
-
-- if (forward) {
-- selpad->eos_sent = TRUE;
-- } else {
-- GstSelectorPad *active_selpad;
--
-- /* If the active sinkpad is in EOS state but EOS
-- * was not sent downstream this means that the pad
-- * got EOS before it was set as active pad and that
-- * the previously active pad got EOS after it was
-- * active
-- */
-- active_selpad = GST_SELECTOR_PAD (active_sinkpad);
-- forward = (active_selpad->eos && !active_selpad->eos_sent);
-- active_selpad->eos_sent = TRUE;
-+ if (!forward) {
-+ /* blocked until active the sind pad or flush */
-+ gst_input_selector_eos_wait (sel, selpad);
-+ forward = TRUE;
- }
-+ selpad->eos_sent = TRUE;
- GST_DEBUG_OBJECT (pad, "received EOS");
- break;
- case GST_EVENT_GAP:{
-@@ -676,6 +679,12 @@ gst_input_selector_wait_running_time (GstInputSelector * sel,
- gst_input_selector_activate_sinkpad (sel, GST_PAD_CAST (selpad));
- active_selpad = GST_SELECTOR_PAD_CAST (active_sinkpad);
-
-+ if (sel->eos) {
-+ GST_DEBUG_OBJECT (sel, "Not waiting because inputselector reach EOS.");
-+ GST_INPUT_SELECTOR_UNLOCK (sel);
-+ return FALSE;
-+ }
-+
- if (seg->format != GST_FORMAT_TIME) {
- GST_DEBUG_OBJECT (selpad,
- "Not waiting because we don't have a TIME segment");
-@@ -971,6 +980,12 @@ gst_selector_pad_chain (GstPad * pad, GstObject * parent, GstBuffer * buf)
- GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (buf)));
-
- GST_INPUT_SELECTOR_LOCK (sel);
-+ if (sel->eos) {
-+ GST_DEBUG_OBJECT (pad, "inputselector eos.");
-+ GST_INPUT_SELECTOR_UNLOCK (sel);
-+ goto eos;
-+ }
-+
- /* wait or check for flushing */
- if (gst_input_selector_wait (sel, selpad)) {
- GST_INPUT_SELECTOR_UNLOCK (sel);
-@@ -1151,6 +1166,13 @@ flushing:
- res = GST_FLOW_FLUSHING;
- goto done;
- }
-+eos:
-+ {
-+ GST_DEBUG_OBJECT (pad, "We are eos, discard buffer %p", buf);
-+ gst_buffer_unref (buf);
-+ res = GST_FLOW_EOS;
-+ goto done;
-+ }
- }
-
- static void gst_input_selector_dispose (GObject * object);
-@@ -1309,6 +1331,7 @@ gst_input_selector_init (GstInputSelector * sel)
- g_mutex_init (&sel->lock);
- g_cond_init (&sel->cond);
- sel->blocked = FALSE;
-+ sel->eos = FALSE;
-
- /* lets give a change for downstream to do something on
- * active-pad change before we start pushing new buffers */
-@@ -1377,6 +1400,11 @@ gst_input_selector_set_active_pad (GstInputSelector * self, GstPad * pad)
- GST_DEBUG_OBJECT (self, "New active pad is %" GST_PTR_FORMAT,
- self->active_sinkpad);
-
-+ if (old != new && new->eos && !new->eos_sent) {
-+ self->eos = TRUE;
-+ GST_INPUT_SELECTOR_BROADCAST (self);
-+ }
-+
- return TRUE;
- }
-
-@@ -1771,6 +1799,7 @@ gst_input_selector_change_state (GstElement * element,
- switch (transition) {
- case GST_STATE_CHANGE_READY_TO_PAUSED:
- GST_INPUT_SELECTOR_LOCK (self);
-+ self->eos = FALSE;
- self->blocked = FALSE;
- self->flushing = FALSE;
- GST_INPUT_SELECTOR_UNLOCK (self);
-@@ -1779,6 +1808,7 @@ gst_input_selector_change_state (GstElement * element,
- /* first unlock before we call the parent state change function, which
- * tries to acquire the stream lock when going to ready. */
- GST_INPUT_SELECTOR_LOCK (self);
-+ self->eos = TRUE;
- self->blocked = FALSE;
- self->flushing = TRUE;
- GST_INPUT_SELECTOR_BROADCAST (self);
-diff --git a/plugins/elements/gstinputselector.h b/plugins/elements/gstinputselector.h
-index 96c680f..9bf924f 100644
---- a/plugins/elements/gstinputselector.h
-+++ b/plugins/elements/gstinputselector.h
-@@ -77,6 +77,7 @@ struct _GstInputSelector {
- GMutex lock;
- GCond cond;
- gboolean blocked;
-+ gboolean eos;
- gboolean flushing;
- };
-
---
-1.7.9.5
-
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.4.5.bb b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.4.5.bb
deleted file mode 100644
index 73a4a9927..000000000
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.4.5.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-include gstreamer1.0.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \
- file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d"
-
-SRC_URI = " \
- http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \
- file://0001-Fix-crash-with-gst-inspect.patch \
- file://0001-gstinfo-Shorten-__FILE__-on-all-platforms.patch \
- file://inputselector-sticky-events-haven-t-send-out-when-ac-1-4-1.patch \
- file://0002-basesink-Fix-QoS-lateness-checking-if-subclass-imple.patch \
- file://0003-basesink-Shouldn-t-drop-buffer-when-sync-false.patch \
-"
-SRC_URI[md5sum] = "88a9289c64a4950ebb4f544980234289"
-SRC_URI[sha256sum] = "40801aa7f979024526258a0e94707ba42b8ab6f7d2206e56adbc4433155cb0ae"
-
-S = "${WORKDIR}/gstreamer-${PV}"
-
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.6.3.bb b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.6.3.bb
new file mode 100644
index 000000000..ba1b83b08
--- /dev/null
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.6.3.bb
@@ -0,0 +1,14 @@
+include gstreamer1.0.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \
+ file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d"
+
+SRC_URI = " \
+ http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \
+ file://0001-Fix-crash-with-gst-inspect.patch \
+"
+
+SRC_URI[md5sum] = "b4cdeb2b9cb20dd6ac022a4f417eae0d"
+SRC_URI[sha256sum] = "22f9568d67b87cf700a111f381144bd37cb93790a77e4e331db01fe854a37f24"
+
+S = "${WORKDIR}/gstreamer-${PV}"
diff --git a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_git.bb b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_git.bb
index cb00d319a..7715bb202 100644
--- a/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_git.bb
+++ b/yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_git.bb
@@ -5,14 +5,26 @@ include gstreamer1.0.inc
LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \
file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d"
-SRC_URI = "git://anongit.freedesktop.org/gstreamer/gstreamer;branch=master"
+SRC_URI = " \
+ git://anongit.freedesktop.org/gstreamer/gstreamer;name=base \
+ git://anongit.freedesktop.org/gstreamer/common;destsuffix=git/common;name=common \
+"
+
+PV = "1.7.2+git${SRCPV}"
+
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))"
+
+SRCREV_base = "9e33bfa2c7a5f43da2c49b0a8235fd43cba9feaf"
+SRCREV_common = "b64f03f6090245624608beb5d2fff335e23a01c0"
+SRCREV_FORMAT = "base"
+
S = "${WORKDIR}/git"
-SRCREV = "3b8181a8c550e74acaba4e8c55bdc649fa551dc9"
+# The option to configure tracer hooks was added prior to the 1.7.2 release
+# https://cgit.freedesktop.org/gstreamer/gstreamer/commit/?id=e5ca47236e4df4683707f0bcf99181a937d358d5
+PACKAGECONFIG[gst-tracer-hooks] = "--enable-gst-tracer-hooks,--disable-gst-tracer-hooks,"
+PACKAGECONFIG[trace-historic] = "--enable-trace,--disable-trace,"
do_configure_prepend() {
- cd ${S}
- ./autogen.sh --noconfigure
- cd ${B}
+ ${S}/autogen.sh --noconfigure
}
-
OpenPOWER on IntegriCloud