All of lore.kernel.org
 help / color / mirror / Atom feed
* [poky][PATCH 0/2] Add patches for gstreamer 1.6
@ 2016-01-28  9:02 Yuqing Zhu
  2016-01-28  9:02 ` [poky][PATCH 1/2] gstreamer1.0-plugins-bad: Fix memory leak of navigation thread Yuqing Zhu
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Yuqing Zhu @ 2016-01-28  9:02 UTC (permalink / raw)
  To: openembedded-core

As gstreamer has been upgraded from 1.6.2 to 1.6.3, and my former patches haven't 
been accepted yet, need to recreate the patches based on new recipe.

---gstreamer1.0-plugins-base
   Add video crop supporting when convert frame.

---gstreamer1.0-plugins-bad
   Fix memory leak of navigation thread.


Yuqing Zhu (2):
  gstreamer1.0-plugins-bad: Fix memory leak of navigation thread
  gstreamer1.0-plugins-base: Add video crop supporting when convert
    frame

 ...window-fix-memory-leak-of-navigation-thre.patch |  35 +++++
 .../gstreamer/gstreamer1.0-plugins-bad_1.6.3.bb    |   1 +
 ...ame-Support-video-crop-when-convert-frame.patch | 143 +++++++++++++++++++++
 .../gstreamer/gstreamer1.0-plugins-base_1.6.3.bb   |   1 +
 4 files changed, 180 insertions(+)
 create mode 100755 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-glplugin-glwindow-fix-memory-leak-of-navigation-thre.patch
 create mode 100755 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0005-convertframe-Support-video-crop-when-convert-frame.patch

-- 
1.9.1



^ permalink raw reply	[flat|nested] 5+ messages in thread

* [poky][PATCH 1/2] gstreamer1.0-plugins-bad: Fix memory leak of navigation thread
  2016-01-28  9:02 [poky][PATCH 0/2] Add patches for gstreamer 1.6 Yuqing Zhu
@ 2016-01-28  9:02 ` Yuqing Zhu
  2016-01-28  9:02 ` [poky][PATCH 2/2] gstreamer1.0-plugins-base: Add video crop supporting when convert frame Yuqing Zhu
  2016-01-28 12:54 ` [poky][PATCH 0/2] Add patches for gstreamer 1.6 Alexander Kanavin
  2 siblings, 0 replies; 5+ messages in thread
From: Yuqing Zhu @ 2016-01-28  9:02 UTC (permalink / raw)
  To: openembedded-core

When exit navigation thread, call g_thread_join() to release
the resource hold by it.

Signed-off-by: Yuqing Zhu <b54851@freescale.com>
---
 ...window-fix-memory-leak-of-navigation-thre.patch | 35 ++++++++++++++++++++++
 .../gstreamer/gstreamer1.0-plugins-bad_1.6.3.bb    |  1 +
 2 files changed, 36 insertions(+)
 create mode 100755 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-glplugin-glwindow-fix-memory-leak-of-navigation-thre.patch

diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-glplugin-glwindow-fix-memory-leak-of-navigation-thre.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-glplugin-glwindow-fix-memory-leak-of-navigation-thre.patch
new file mode 100755
index 0000000..3491a15
--- /dev/null
+++ b/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/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.3.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.3.bb
index 4b9143f..c51a637 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.3.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.3.bb
@@ -9,6 +9,7 @@ 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"
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [poky][PATCH 2/2] gstreamer1.0-plugins-base: Add video crop supporting when convert frame
  2016-01-28  9:02 [poky][PATCH 0/2] Add patches for gstreamer 1.6 Yuqing Zhu
  2016-01-28  9:02 ` [poky][PATCH 1/2] gstreamer1.0-plugins-bad: Fix memory leak of navigation thread Yuqing Zhu
@ 2016-01-28  9:02 ` Yuqing Zhu
  2016-01-28 12:54 ` [poky][PATCH 0/2] Add patches for gstreamer 1.6 Alexander Kanavin
  2 siblings, 0 replies; 5+ messages in thread
From: Yuqing Zhu @ 2016-01-28  9:02 UTC (permalink / raw)
  To: openembedded-core

Getting thumbnail will use convertframe to convert video frame to
desired video format and size. But haven't process crop meta on
the video buffer. Need to add video crop support.

Signed-off-by: Yuqing Zhu <b54851@freescale.com>
---
 ...ame-Support-video-crop-when-convert-frame.patch | 143 +++++++++++++++++++++
 .../gstreamer/gstreamer1.0-plugins-base_1.6.3.bb   |   1 +
 2 files changed, 144 insertions(+)
 create mode 100755 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0005-convertframe-Support-video-crop-when-convert-frame.patch

diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0005-convertframe-Support-video-crop-when-convert-frame.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0005-convertframe-Support-video-crop-when-convert-frame.patch
new file mode 100755
index 0000000..096a6f4
--- /dev/null
+++ b/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/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.6.3.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.6.3.bb
index 95a012e..b9ed3f4 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.6.3.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.6.3.bb
@@ -10,6 +10,7 @@ SRC_URI = " \
     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"
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [poky][PATCH 0/2] Add patches for gstreamer 1.6
  2016-01-28  9:02 [poky][PATCH 0/2] Add patches for gstreamer 1.6 Yuqing Zhu
  2016-01-28  9:02 ` [poky][PATCH 1/2] gstreamer1.0-plugins-bad: Fix memory leak of navigation thread Yuqing Zhu
  2016-01-28  9:02 ` [poky][PATCH 2/2] gstreamer1.0-plugins-base: Add video crop supporting when convert frame Yuqing Zhu
@ 2016-01-28 12:54 ` Alexander Kanavin
  2016-01-31 14:13   ` Yuqing Zhu
  2 siblings, 1 reply; 5+ messages in thread
From: Alexander Kanavin @ 2016-01-28 12:54 UTC (permalink / raw)
  To: openembedded-core

On 01/28/2016 11:02 AM, Yuqing Zhu wrote:
> As gstreamer has been upgraded from 1.6.2 to 1.6.3, and my former patches haven't
> been accepted yet, need to recreate the patches based on new recipe.

The patches have not been accepted because you didn't answer the 
questions that oe-core maintainers had asked you.


Alex



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [poky][PATCH 0/2] Add patches for gstreamer 1.6
  2016-01-28 12:54 ` [poky][PATCH 0/2] Add patches for gstreamer 1.6 Alexander Kanavin
@ 2016-01-31 14:13   ` Yuqing Zhu
  0 siblings, 0 replies; 5+ messages in thread
From: Yuqing Zhu @ 2016-01-31 14:13 UTC (permalink / raw)
  To: Alexander Kanavin, openembedded-core

Hi Alex,

     Sorry for causing this misunderstanding.
     Actually I have replied the maintainer's email. And for some rejected patches, I said I would keep them in our internal layer. 
     For these two following patches, Richard said the Backports might be ok, so I was waiting for these two patches' feedback.
     But I might regenerate a second version patches only with these two patches at that time. That was my inconsideration.
     
      Really sorry for this misunderstanding! Please help to review them again, thanks!



B.R.

Yuqing Zhu

-----Original Message-----
From: Alexander Kanavin [mailto:alexander.kanavin@linux.intel.com] 
Sent: Thursday, January 28, 2016 8:55 PM
To: openembedded-core@lists.openembedded.org
Cc: b54851@freescale.com
Subject: Re: [OE-core] [poky][PATCH 0/2] Add patches for gstreamer 1.6

On 01/28/2016 11:02 AM, Yuqing Zhu wrote:
> As gstreamer has been upgraded from 1.6.2 to 1.6.3, and my former 
> patches haven't been accepted yet, need to recreate the patches based on new recipe.

The patches have not been accepted because you didn't answer the questions that oe-core maintainers had asked you.


Alex



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-01-31 14:28 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-28  9:02 [poky][PATCH 0/2] Add patches for gstreamer 1.6 Yuqing Zhu
2016-01-28  9:02 ` [poky][PATCH 1/2] gstreamer1.0-plugins-bad: Fix memory leak of navigation thread Yuqing Zhu
2016-01-28  9:02 ` [poky][PATCH 2/2] gstreamer1.0-plugins-base: Add video crop supporting when convert frame Yuqing Zhu
2016-01-28 12:54 ` [poky][PATCH 0/2] Add patches for gstreamer 1.6 Alexander Kanavin
2016-01-31 14:13   ` Yuqing Zhu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.