diff options
Diffstat (limited to 'yocto-poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base')
19 files changed, 711 insertions, 733 deletions
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 - |