[OE-core] [poky][PATCH 10/13] gstreamer1.0-plugins-bad: Fix frame rate info lost when fixate caps

Yuqing Zhu b54851 at freescale.com
Mon Jan 18 09:32:59 UTC 2016


Frame rate info will be lost when fixate caps. It will
cause down stream element fail, such as avimux.

Signed-off-by: Yuqing Zhu <b54851 at freescale.com>
---
 ...ter-Lost-frame-rate-info-when-fixate-caps.patch | 51 ++++++++++++++++++++++
 .../gstreamer/gstreamer1.0-plugins-bad_1.6.2.bb    |  1 +
 2 files changed, 52 insertions(+)
 create mode 100755 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0005-glfilter-Lost-frame-rate-info-when-fixate-caps.patch

diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0005-glfilter-Lost-frame-rate-info-when-fixate-caps.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0005-glfilter-Lost-frame-rate-info-when-fixate-caps.patch
new file mode 100755
index 0000000..7313415
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0005-glfilter-Lost-frame-rate-info-when-fixate-caps.patch
@@ -0,0 +1,51 @@
+From 15fcb87bc9abd69377b38ef0f8b48b84a56909f4 Mon Sep 17 00:00:00 2001
+From: Song Bing <b06498 at freescale.com>
+Date: Mon, 8 Jun 2015 17:06:22 +0800
+Subject: [PATCH 06/10] glfilter: Lost frame rate info when fixate caps
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Lost frame rate info when fixate caps. It will cause
+down stream element fail, such avimux.
+
+Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=750545]
+
+---
+ gst-libs/gst/gl/gstglfilter.c | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
+
+diff --git a/gst-libs/gst/gl/gstglfilter.c b/gst-libs/gst/gl/gstglfilter.c
+index 78bcbc9..65eba1e 100644
+--- a/gst-libs/gst/gl/gstglfilter.c
++++ b/gst-libs/gst/gl/gstglfilter.c
+@@ -258,7 +258,8 @@ gst_gl_filter_fixate_caps (GstBaseTransform * bt,
+     GstPadDirection direction, GstCaps * caps, GstCaps * othercaps)
+ {
+   GstStructure *ins, *outs;
+-  const GValue *from_par, *to_par;
++  const GValue *from_par, *to_par, *from_fps;
++  gint framerate_num, framerate_den;
+   GValue fpar = { 0, }, tpar = {
+   0,};
+ 
+@@ -271,6 +272,16 @@ gst_gl_filter_fixate_caps (GstBaseTransform * bt,
+   ins = gst_caps_get_structure (caps, 0);
+   outs = gst_caps_get_structure (othercaps, 0);
+ 
++  /* replace frame rate */
++  from_fps = gst_structure_get_value (ins, "framerate");
++  if (from_fps) {
++      gst_structure_set_value (outs, "framerate", from_fps);
++  } else {
++    if (gst_structure_get_fraction (ins, "framerate", &framerate_num, &framerate_den))
++      gst_structure_set (outs, "framerate", GST_TYPE_FRACTION, framerate_num, framerate_den,
++          NULL);
++  }
++
+   from_par = gst_structure_get_value (ins, "pixel-aspect-ratio");
+   to_par = gst_structure_get_value (outs, "pixel-aspect-ratio");
+ 
+-- 
+1.9.1
+
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.2.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.2.bb
index 4628018..c434a08 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.2.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.2.bb
@@ -9,6 +9,7 @@ SRC_URI += "file://0001-glimagesink-Downrank-to-marginal.patch \
             file://0002-mpegtsmux-Need-get-pid-when-create-streams.patch \
             file://0003-mpeg4videoparse-Need-detect-picture-coding-type-when.patch \
             file://0004-mpegvideoparse-Need-detect-picture-coding-type-when-.patch \
+            file://0005-glfilter-Lost-frame-rate-info-when-fixate-caps.patch \
 "
 
 SRC_URI[md5sum] = "7c73bec1d389f0e184ebbbbb9e9f883d"
-- 
1.9.1




More information about the Openembedded-core mailing list