summaryrefslogtreecommitdiffstats
path: root/meta/recipes-multimedia
diff options
context:
space:
mode:
authorCarlos Rafael Giani <dv@pseudoterminal.org>2014-07-30 10:57:34 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-08-02 09:26:15 +0100
commitb8199244e913584d21c4217fb3ec71484d62ecf7 (patch)
treef97fb8e8dc34e1232ac82c5f8c19d2757d98dcfe /meta/recipes-multimedia
parentd36561ce1d226195cf53f7149c4004fe972673d2 (diff)
downloadpoky-b8199244e913584d21c4217fb3ec71484d62ecf7.tar.gz
gstreamer1.0-libav: upgrade to 1.4.0
* Backported patch removed, since it is already included in this release (From OE-Core rev: e9bc4272c7415db278046d2dd9ac2df33f9b7122) Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-multimedia')
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/videodec-Don-t-use-non-growable-pool.patch75
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.4.0.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.2.4.bb)7
2 files changed, 3 insertions, 79 deletions
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 d9b796b6bc..0000000000
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/videodec-Don-t-use-non-growable-pool.patch
+++ /dev/null
@@ -1,75 +0,0 @@
1From 62a4d065ed7bd117d869fd8bcb61274c2870ddf5 Mon Sep 17 00:00:00 2001
2From: Nicolas Dufresne <nicolas.dufresne@collabora.com>
3Date: Thu, 27 Mar 2014 18:53:53 -0400
4Subject: [PATCH] videodec: Don't use non-growable pool
5
6As we don't know how many output buffers we need to operate, we need to
7avoid pool that can't grow. Otherwise the pipeline may stall, waiting
8for buffers. For now, we require it to be able to grow to at least
932 buffers, which I think is a fair amount of buffers for decoders.
10
11https://bugzilla.gnome.org/show_bug.cgi?id=726299
12
13Commit 2a337d926cc30cd7eaae13a4b46eea68ba89e368 in master branch
14
15Upstream Status: Backported
16
17Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
18---
19 ext/libav/gstavviddec.c | 22 +++++++++++++++++++++-
20 1 file changed, 21 insertions(+), 1 deletion(-)
21
22diff --git a/ext/libav/gstavviddec.c b/ext/libav/gstavviddec.c
23index 6c9c0c9..d80fd52 100644
24--- a/ext/libav/gstavviddec.c
25+++ b/ext/libav/gstavviddec.c
26@@ -46,6 +46,7 @@ GST_DEBUG_CATEGORY_EXTERN (GST_CAT_PERFORMANCE);
27 #define DEFAULT_DIRECT_RENDERING TRUE
28 #define DEFAULT_DEBUG_MV FALSE
29 #define DEFAULT_MAX_THREADS 0
30+#define REQUIRED_POOL_MAX_BUFFERS 32
31
32 enum
33 {
34@@ -1620,7 +1621,7 @@ gst_ffmpegviddec_decide_allocation (GstVideoDecoder * decoder, GstQuery * query)
35 GstBufferPool *pool;
36 guint size, min, max;
37 GstStructure *config;
38- gboolean have_videometa, have_alignment;
39+ gboolean have_videometa, have_alignment, update_pool;
40 GstAllocator *allocator = NULL;
41 GstAllocationParams params = { 0, 15, 0, 0, };
42
43@@ -1639,6 +1640,22 @@ gst_ffmpegviddec_decide_allocation (GstVideoDecoder * decoder, GstQuery * query)
44
45 gst_query_parse_nth_allocation_pool (query, 0, &pool, &size, &min, &max);
46
47+ /* Don't use pool that can't grow, as we don't know how many buffer we'll
48+ * need, otherwise we may stall */
49+ if (max != 0 && max < REQUIRED_POOL_MAX_BUFFERS) {
50+ gst_object_unref (pool);
51+ pool = gst_video_buffer_pool_new ();
52+ max = 0;
53+ update_pool = TRUE;
54+
55+ /* if there is an allocator, also drop it, as it might be the reason we
56+ * have this limit. Default will be used */
57+ if (allocator) {
58+ gst_object_unref (allocator);
59+ allocator = NULL;
60+ }
61+ }
62+
63 config = gst_buffer_pool_get_config (pool);
64 gst_buffer_pool_config_set_params (config, state->caps, size, min, max);
65 /* we are happy with the default allocator but we would like to have 16 bytes
66@@ -1726,6 +1743,9 @@ gst_ffmpegviddec_decide_allocation (GstVideoDecoder * decoder, GstQuery * query)
67 /* and store */
68 gst_buffer_pool_set_config (pool, config);
69
70+ if (update_pool)
71+ gst_query_set_nth_allocation_pool (query, 0, pool, size, min, max);
72+
73 gst_object_unref (pool);
74 if (allocator)
75 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
index 9e2321956c..bc79d54f5f 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
3LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ 3LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
4 file://COPYING.LIB;md5=6762ed442b3822387a51c92d928ead0d \ 4 file://COPYING.LIB;md5=6762ed442b3822387a51c92d928ead0d \
5 file://ext/libav/gstav.h;beginline=1;endline=18;md5=a752c35267d8276fd9ca3db6994fca9c \ 5 file://ext/libav/gstav.h;beginline=1;endline=18;md5=a752c35267d8276fd9ca3db6994fca9c \
6 file://gst-libs/ext/libav/LICENSE;md5=23a54f59b82572c203a559346e89ed57 \ 6 file://gst-libs/ext/libav/LICENSE;md5=df1087a33b5cafe5e70b3452aac81515 \
7 file://gst-libs/ext/libav/COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ 7 file://gst-libs/ext/libav/COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
8 file://gst-libs/ext/libav/COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \ 8 file://gst-libs/ext/libav/COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \
9 file://gst-libs/ext/libav/COPYING.LGPLv2.1;md5=bd7a443320af8c812e4c18d1b79df004 \ 9 file://gst-libs/ext/libav/COPYING.LGPLv2.1;md5=bd7a443320af8c812e4c18d1b79df004 \
@@ -12,10 +12,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
12SRC_URI = " \ 12SRC_URI = " \
13 http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz \ 13 http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz \
14 file://0001-Disable-yasm-for-libav-when-disable-yasm.patch \ 14 file://0001-Disable-yasm-for-libav-when-disable-yasm.patch \
15 file://videodec-Don-t-use-non-growable-pool.patch \
16" 15"
17SRC_URI[md5sum] = "6454f9f22b3aa37694781633e0d20a9c" 16SRC_URI[md5sum] = "60811ae08c26fa093a96996582962c75"
18SRC_URI[sha256sum] = "2a69480d63fc2db93249d9e2e229ab3541bbc2db881b0f64de13d0bfc7d1f037" 17SRC_URI[sha256sum] = "c82c7a657863f2e27ac5cba539b0bd0a8114ad6bd4ba33bae777e4dbfab9e380"
19LIBAV_EXTRA_CONFIGURE_COMMON_ARG = "--target-os=linux \ 18LIBAV_EXTRA_CONFIGURE_COMMON_ARG = "--target-os=linux \
20 --cc='${CC}' --as='${CC}' --ld='${CC}' --nm='${NM}' --ar='${AR}' \ 19 --cc='${CC}' --as='${CC}' --ld='${CC}' --nm='${NM}' --ar='${AR}' \
21 --ranlib='${RANLIB}' \ 20 --ranlib='${RANLIB}' \