Patchwork [v3,6/7] gstreamer1.0-libav: upgrade to 1.4.0

login
register
mail settings
Submitter Carlos Rafael Giani
Date July 30, 2014, 8:57 a.m.
Message ID <1406710655-6778-6-git-send-email-dv@pseudoterminal.org>
Download mbox | patch
Permalink /patch/76929/
State Accepted
Commit b8199244e913584d21c4217fb3ec71484d62ecf7
Headers show

Comments

Carlos Rafael Giani - July 30, 2014, 8:57 a.m.
* Backported patch removed, since it is already included in this release

Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
---
 .../videodec-Don-t-use-non-growable-pool.patch     | 75 ----------------------
 ...-libav_1.2.4.bb => gstreamer1.0-libav_1.4.0.bb} |  7 +-
 2 files changed, 3 insertions(+), 79 deletions(-)
 delete mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/videodec-Don-t-use-non-growable-pool.patch
 rename meta/recipes-multimedia/gstreamer/{gstreamer1.0-libav_1.2.4.bb => gstreamer1.0-libav_1.4.0.bb} (78%)

Patch

diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/videodec-Don-t-use-non-growable-pool.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/videodec-Don-t-use-non-growable-pool.patch
deleted file mode 100644
index d9b796b..0000000
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/videodec-Don-t-use-non-growable-pool.patch
+++ /dev/null
@@ -1,75 +0,0 @@ 
-From 62a4d065ed7bd117d869fd8bcb61274c2870ddf5 Mon Sep 17 00:00:00 2001
-From: Nicolas Dufresne <nicolas.dufresne@collabora.com>
-Date: Thu, 27 Mar 2014 18:53:53 -0400
-Subject: [PATCH] videodec: Don't use non-growable pool
-
-As we don't know how many output buffers we need to operate, we need to
-avoid pool that can't grow. Otherwise the pipeline may stall, waiting
-for buffers. For now, we require it to be able to grow to at least
-32 buffers, which I think is a fair amount of buffers for decoders.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=726299
-
-Commit 2a337d926cc30cd7eaae13a4b46eea68ba89e368 in master branch
-
-Upstream Status:  Backported
-
-Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
----
- ext/libav/gstavviddec.c |   22 +++++++++++++++++++++-
- 1 file changed, 21 insertions(+), 1 deletion(-)
-
-diff --git a/ext/libav/gstavviddec.c b/ext/libav/gstavviddec.c
-index 6c9c0c9..d80fd52 100644
---- a/ext/libav/gstavviddec.c
-+++ b/ext/libav/gstavviddec.c
-@@ -46,6 +46,7 @@ GST_DEBUG_CATEGORY_EXTERN (GST_CAT_PERFORMANCE);
- #define DEFAULT_DIRECT_RENDERING	TRUE
- #define DEFAULT_DEBUG_MV		FALSE
- #define DEFAULT_MAX_THREADS		0
-+#define REQUIRED_POOL_MAX_BUFFERS       32
- 
- enum
- {
-@@ -1620,7 +1621,7 @@ gst_ffmpegviddec_decide_allocation (GstVideoDecoder * decoder, GstQuery * query)
-   GstBufferPool *pool;
-   guint size, min, max;
-   GstStructure *config;
--  gboolean have_videometa, have_alignment;
-+  gboolean have_videometa, have_alignment, update_pool;
-   GstAllocator *allocator = NULL;
-   GstAllocationParams params = { 0, 15, 0, 0, };
- 
-@@ -1639,6 +1640,22 @@ gst_ffmpegviddec_decide_allocation (GstVideoDecoder * decoder, GstQuery * query)
- 
-   gst_query_parse_nth_allocation_pool (query, 0, &pool, &size, &min, &max);
- 
-+  /* Don't use pool that can't grow, as we don't know how many buffer we'll
-+   * need, otherwise we may stall */
-+  if (max != 0 && max < REQUIRED_POOL_MAX_BUFFERS) {
-+    gst_object_unref (pool);
-+    pool = gst_video_buffer_pool_new ();
-+    max = 0;
-+    update_pool = TRUE;
-+
-+    /* if there is an allocator, also drop it, as it might be the reason we
-+     * have this limit. Default will be used */
-+    if (allocator) {
-+      gst_object_unref (allocator);
-+      allocator = NULL;
-+    }
-+  }
-+
-   config = gst_buffer_pool_get_config (pool);
-   gst_buffer_pool_config_set_params (config, state->caps, size, min, max);
-   /* we are happy with the default allocator but we would like to have 16 bytes
-@@ -1726,6 +1743,9 @@ gst_ffmpegviddec_decide_allocation (GstVideoDecoder * decoder, GstQuery * query)
-   /* and store */
-   gst_buffer_pool_set_config (pool, config);
- 
-+  if (update_pool)
-+    gst_query_set_nth_allocation_pool (query, 0, pool, size, min, max);
-+
-   gst_object_unref (pool);
-   if (allocator)
-     gst_object_unref (allocator);
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.2.4.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.4.0.bb
similarity index 78%
rename from meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.2.4.bb
rename to meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.4.0.bb
index 9e23219..bc79d54 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.2.4.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.4.0.bb
@@ -3,7 +3,7 @@  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;md5=df1087a33b5cafe5e70b3452aac81515 \
                     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 \
@@ -12,10 +12,9 @@  LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
 SRC_URI = " \
     http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz \
     file://0001-Disable-yasm-for-libav-when-disable-yasm.patch \
-    file://videodec-Don-t-use-non-growable-pool.patch \
 "
-SRC_URI[md5sum] = "6454f9f22b3aa37694781633e0d20a9c"
-SRC_URI[sha256sum] = "2a69480d63fc2db93249d9e2e229ab3541bbc2db881b0f64de13d0bfc7d1f037"
+SRC_URI[md5sum] = "60811ae08c26fa093a96996582962c75"
+SRC_URI[sha256sum] = "c82c7a657863f2e27ac5cba539b0bd0a8114ad6bd4ba33bae777e4dbfab9e380"
 LIBAV_EXTRA_CONFIGURE_COMMON_ARG = "--target-os=linux \
   --cc='${CC}' --as='${CC}' --ld='${CC}' --nm='${NM}' --ar='${AR}' \
   --ranlib='${RANLIB}' \