diff options
author | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2018-02-01 10:27:11 -0500 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2018-03-12 22:51:39 -0400 |
commit | 6e60e8b2b2bab889379b380a28a167a0edd9d1d3 (patch) | |
tree | f12f54d5ba8e74e67e5fad3651a1e125bb8f4191 /import-layers/meta-raspberrypi/recipes-multimedia | |
parent | 509842add85b53e13164c1569a1fd43d5b8d91c5 (diff) | |
download | talos-openbmc-6e60e8b2b2bab889379b380a28a167a0edd9d1d3.tar.gz talos-openbmc-6e60e8b2b2bab889379b380a28a167a0edd9d1d3.zip |
Yocto 2.3
Move OpenBMC to Yocto 2.3(pyro).
Tested: Built and verified Witherspoon and Palmetto images
Change-Id: I50744030e771f4850afc2a93a10d3507e76d36bc
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Resolves: openbmc/openbmc#2461
Diffstat (limited to 'import-layers/meta-raspberrypi/recipes-multimedia')
17 files changed, 87 insertions, 308 deletions
diff --git a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx%.bbappend b/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx%.bbappend new file mode 100644 index 000000000..67e46de95 --- /dev/null +++ b/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx%.bbappend @@ -0,0 +1,9 @@ +GSTREAMER_1_0_OMX_TARGET_rpi = "rpi" +GSTREAMER_1_0_OMX_CORE_NAME_rpi = "${libdir}/libopenmaxil.so" + + +# How to make this RPI specific? +EXTRA_OECONF_append_rpi = " CFLAGS="$CFLAGS -I${STAGING_DIR_TARGET}/usr/include/IL -I${STAGING_DIR_TARGET}/usr/include/interface/vcos/pthreads -I${STAGING_DIR_TARGET}/usr/include/interface/vmcs_host/linux"" +#examples only build with GL but not GLES, so disable it for RPI +EXTRA_OECONF_append_rpi = " --disable-examples" + diff --git a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.2.0/0001-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch b/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.10/0001-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch index 815a7c2b6..815a7c2b6 100644 --- a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.2.0/0001-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch +++ b/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.10/0001-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch diff --git a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.2.0/0001-config-files-path.patch b/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.10/0001-config-files-path.patch index a7da9221c..a7da9221c 100644 --- a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.2.0/0001-config-files-path.patch +++ b/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.10/0001-config-files-path.patch diff --git a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.2.0/0002-fix-decoder-flushing.patch b/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.10/0002-fix-decoder-flushing.patch index d4c7c81d2..d4c7c81d2 100644 --- a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.2.0/0002-fix-decoder-flushing.patch +++ b/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.10/0002-fix-decoder-flushing.patch diff --git a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.2.0/0003-no-timeout-on-get-state.patch b/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.10/0003-no-timeout-on-get-state.patch index 0a0050de7..0a0050de7 100644 --- a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.2.0/0003-no-timeout-on-get-state.patch +++ b/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.10/0003-no-timeout-on-get-state.patch diff --git a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.10/0004-Properly-handle-drain-requests-while-flushing.patch b/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.10/0004-Properly-handle-drain-requests-while-flushing.patch new file mode 100644 index 000000000..4d10f24de --- /dev/null +++ b/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.10/0004-Properly-handle-drain-requests-while-flushing.patch @@ -0,0 +1,30 @@ +From 80dddfd13aaf2fe7272765f8cf291215fe375e28 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Enrique=20Oca=C3=B1a=20Gonz=C3=A1lez?= <eocanha@igalia.com> +Date: Tue, 17 Nov 2015 16:51:27 +0000 +Subject: [PATCH] Properly handle drain requests while flushing + +Without this commit the decoder streaming thread stops without ever attending +the drain request, leaving the decoder input thread waiting forever. +--- + omx/gstomx.c | 7 +++++++ + omx/gstomxvideodec.c | 13 +++++++++++++ + 2 files changed, 20 insertions(+) + +Index: gst-omx-1.10.2/omx/gstomx.c +=================================================================== +--- gst-omx-1.10.2.orig/omx/gstomx.c ++++ gst-omx-1.10.2/omx/gstomx.c +@@ -737,6 +737,13 @@ gst_omx_component_new (GstObject * paren + + g_mutex_lock (&comp->lock); + gst_omx_component_handle_messages (comp); ++ ++ if (err != OMX_ErrorNone && comp->last_error == OMX_ErrorNone) { ++ GST_ERROR_OBJECT (comp->parent, ++ "Last operation returned an error. Setting last_error manually."); ++ comp->last_error = err; ++ } ++ + g_mutex_unlock (&comp->lock); + + return comp; diff --git a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.2.0/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch b/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.10/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch index b7a875375..b7a875375 100644 --- a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.2.0/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch +++ b/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.10/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch diff --git a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.2.0/0004-Properly-handle-drain-requests-while-flushing.patch b/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.2.0/0004-Properly-handle-drain-requests-while-flushing.patch deleted file mode 100644 index 98689f3fb..000000000 --- a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.2.0/0004-Properly-handle-drain-requests-while-flushing.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 80dddfd13aaf2fe7272765f8cf291215fe375e28 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Enrique=20Oca=C3=B1a=20Gonz=C3=A1lez?= <eocanha@igalia.com> -Date: Tue, 17 Nov 2015 16:51:27 +0000 -Subject: [PATCH] Properly handle drain requests while flushing - -Without this commit the decoder streaming thread stops without ever attending -the drain request, leaving the decoder input thread waiting forever. ---- - omx/gstomx.c | 7 +++++++ - omx/gstomxvideodec.c | 13 +++++++++++++ - 2 files changed, 20 insertions(+) - -diff --git a/omx/gstomx.c b/omx/gstomx.c -index 69696c4..f0cd890 100644 ---- a/omx/gstomx.c -+++ b/omx/gstomx.c -@@ -830,6 +830,13 @@ gst_omx_component_set_state (GstOMXComponent * comp, OMX_STATETYPE state) - done: - - gst_omx_component_handle_messages (comp); -+ -+ if (err != OMX_ErrorNone && comp->last_error == OMX_ErrorNone) { -+ GST_ERROR_OBJECT (comp->parent, -+ "Last operation returned an error. Setting last_error manually."); -+ comp->last_error = err; -+ } -+ - g_mutex_unlock (&comp->lock); - - if (err != OMX_ErrorNone) { -diff --git a/omx/gstomxvideodec.c b/omx/gstomxvideodec.c -index d531f75..a26c4a6 100644 ---- a/omx/gstomxvideodec.c -+++ b/omx/gstomxvideodec.c -@@ -1539,9 +1539,16 @@ component_error: - flushing: - { - GST_DEBUG_OBJECT (self, "Flushing -- stopping task"); -+ -+ g_mutex_lock (&self->drain_lock); -+ if (self->draining) { -+ self->draining = FALSE; -+ g_cond_broadcast (&self->drain_cond); -+ } - gst_pad_pause_task (GST_VIDEO_DECODER_SRC_PAD (self)); - self->downstream_flow_ret = GST_FLOW_FLUSHING; - self->started = FALSE; -+ g_mutex_unlock (&self->drain_lock); - return; - } - -@@ -1599,8 +1606,14 @@ flow_error: - self->started = FALSE; - } else if (flow_ret == GST_FLOW_FLUSHING) { - GST_DEBUG_OBJECT (self, "Flushing -- stopping task"); -+ g_mutex_lock (&self->drain_lock); -+ if (self->draining) { -+ self->draining = FALSE; -+ g_cond_broadcast (&self->drain_cond); -+ } - gst_pad_pause_task (GST_VIDEO_DECODER_SRC_PAD (self)); - self->started = FALSE; -+ g_mutex_unlock (&self->drain_lock); - } - GST_VIDEO_DECODER_STREAM_UNLOCK (self); - return; --- -1.8.3.2 - diff --git a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.2.0/0006-omxvideodec-unref-allocator-after-getting-it-from-al.patch b/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.2.0/0006-omxvideodec-unref-allocator-after-getting-it-from-al.patch deleted file mode 100644 index ace60a617..000000000 --- a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.2.0/0006-omxvideodec-unref-allocator-after-getting-it-from-al.patch +++ /dev/null @@ -1,48 +0,0 @@ -From d2df0fb032c36b366a08a1355c4f4c816eb53447 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Aur=C3=A9lien=20Zanelli?= <aurelien.zanelli@darkosphere.fr> -Date: Fri, 3 Jul 2015 00:26:48 +0200 -Subject: [PATCH] omxvideodec: unref allocator after getting it from allocation - query - -Otherwise a reference will be leaked for each allocator. It only happens -when target platform is Raspberry Pi and when we have GL support. - -https://bugzilla.gnome.org/show_bug.cgi?id=751867 ---- - omx/gstomxvideodec.c | 20 ++++++++++++-------- - 1 file changed, 12 insertions(+), 8 deletions(-) - -diff --git a/omx/gstomxvideodec.c b/omx/gstomxvideodec.c -index cd24944..b8c3756 100644 ---- a/omx/gstomxvideodec.c -+++ b/omx/gstomxvideodec.c -@@ -2530,14 +2530,18 @@ gst_omx_video_dec_decide_allocation (GstVideoDecoder * bdec, GstQuery * query) - GstAllocationParams params; - - gst_query_parse_nth_allocation_param (query, i, &allocator, ¶ms); -- if (allocator -- && g_strcmp0 (allocator->mem_type, -- GST_EGL_IMAGE_MEMORY_TYPE) == 0) { -- found = TRUE; -- gst_query_set_nth_allocation_param (query, 0, allocator, ¶ms); -- while (gst_query_get_n_allocation_params (query) > 1) -- gst_query_remove_nth_allocation_param (query, 1); -- break; -+ if (allocator) { -+ if (g_strcmp0 (allocator->mem_type, GST_EGL_IMAGE_MEMORY_TYPE) == 0) { -+ found = TRUE; -+ gst_query_set_nth_allocation_param (query, 0, allocator, ¶ms); -+ while (gst_query_get_n_allocation_params (query) > 1) -+ gst_query_remove_nth_allocation_param (query, 1); -+ } -+ -+ gst_object_unref (allocator); -+ -+ if (found) -+ break; - } - } - --- -2.5.5 - diff --git a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.2.0/0007-omxvideodec-Use-gstglmemoryegl-for-the-RPi.patch b/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.2.0/0007-omxvideodec-Use-gstglmemoryegl-for-the-RPi.patch deleted file mode 100644 index ed828c361..000000000 --- a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.2.0/0007-omxvideodec-Use-gstglmemoryegl-for-the-RPi.patch +++ /dev/null @@ -1,115 +0,0 @@ -From 1cb902edb51d8f5d95f910b79b9b4c208550a7b6 Mon Sep 17 00:00:00 2001 -From: Gwang Yoon Hwang <yoon@igalia.com> -Date: Wed, 20 Jan 2016 03:10:38 +0900 -Subject: [PATCH] omxvideodec : Use gstglmemoryegl for the RPi - -Modified to use gstglmemoryegl to avoid texture creation/copy operations -at the glupload. ---- - omx/gstomxvideodec.c | 28 ++++++++++++++-------------- - 1 file changed, 14 insertions(+), 14 deletions(-) - -diff --git a/omx/gstomxvideodec.c b/omx/gstomxvideodec.c -index ec97731..c9d60ff 100644 ---- a/omx/gstomxvideodec.c -+++ b/omx/gstomxvideodec.c -@@ -38,7 +38,7 @@ - - #if defined (USE_OMX_TARGET_RPI) && defined (HAVE_GST_GL) - #include <gst/gl/gl.h> --#include <gst/gl/egl/gsteglimagememory.h> -+#include <gst/gl/egl/gstglmemoryegl.h> - #endif - - #if defined (USE_OMX_TARGET_RPI) && defined(__GNUC__) -@@ -125,7 +125,7 @@ gst_omx_video_dec_class_init (GstOMXVideoDecClass * klass) - klass->cdata.type = GST_OMX_COMPONENT_TYPE_FILTER; - klass->cdata.default_src_template_caps = - #if defined (USE_OMX_TARGET_RPI) && defined (HAVE_GST_GL) -- GST_VIDEO_CAPS_MAKE_WITH_FEATURES (GST_CAPS_FEATURE_MEMORY_EGL_IMAGE, -+ GST_VIDEO_CAPS_MAKE_WITH_FEATURES (GST_CAPS_FEATURE_MEMORY_GL_MEMORY, - "RGBA") "; " - #endif - "video/x-raw, " -@@ -596,8 +596,8 @@ gst_omx_video_dec_allocate_output_buffers (GstOMXVideoDec * self) - gst_structure_free (config); - - #if defined (USE_OMX_TARGET_RPI) && defined (HAVE_GST_GL) -- eglimage = self->eglimage && (allocator -- && g_strcmp0 (allocator->mem_type, GST_EGL_IMAGE_MEMORY_TYPE) == 0); -+ eglimage = self->eglimage -+ && (allocator && GST_IS_GL_MEMORY_EGL_ALLOCATOR (allocator)); - #else - /* TODO: Implement something that works for other targets too */ - eglimage = FALSE; -@@ -640,12 +640,12 @@ gst_omx_video_dec_allocate_output_buffers (GstOMXVideoDec * self) - for (i = 0; i < min; i++) { - GstBuffer *buffer; - GstMemory *mem; -+ GstGLMemoryEGL *gl_mem; - - if (gst_buffer_pool_acquire_buffer (pool, &buffer, ¶ms) != GST_FLOW_OK - || gst_buffer_n_memory (buffer) != 1 - || !(mem = gst_buffer_peek_memory (buffer, 0)) -- || g_strcmp0 (mem->allocator->mem_type, -- GST_EGL_IMAGE_MEMORY_TYPE) != 0) { -+ || !GST_IS_GL_MEMORY_EGL_ALLOCATOR (mem->allocator)) { - GST_INFO_OBJECT (self, "Failed to allocated %d-th EGLImage", i); - g_list_free_full (buffers, (GDestroyNotify) gst_buffer_unref); - g_list_free (images); -@@ -656,13 +656,13 @@ gst_omx_video_dec_allocate_output_buffers (GstOMXVideoDec * self) - err = OMX_ErrorUndefined; - goto done; - } -- -+ gl_mem = (GstGLMemoryEGL *)mem; - buffers = g_list_append (buffers, buffer); -- gst_egl_image_memory_set_orientation (mem, -+ gst_gl_memory_egl_set_orientation (gl_mem, - GST_VIDEO_GL_TEXTURE_ORIENTATION_X_NORMAL_Y_FLIP); -- images = g_list_append (images, gst_egl_image_memory_get_image (mem)); -+ images = g_list_append (images, gst_gl_memory_egl_get_image (gl_mem)); - if (egl_display == EGL_NO_DISPLAY) -- egl_display = gst_egl_image_memory_get_display (mem); -+ egl_display = gst_gl_memory_egl_get_display (gl_mem); - } - - GST_DEBUG_OBJECT (self, "Allocated %d EGLImages successfully", min); -@@ -954,14 +954,14 @@ gst_omx_video_dec_reconfigure_output_port (GstOMXVideoDec * self) - gst_caps_unref (state->caps); - state->caps = gst_video_info_to_caps (&state->info); - gst_caps_set_features (state->caps, 0, -- gst_caps_features_new (GST_CAPS_FEATURE_MEMORY_EGL_IMAGE, NULL)); -+ gst_caps_features_new (GST_CAPS_FEATURE_MEMORY_GL_MEMORY, NULL)); - - /* try to negotiate with caps feature */ - if (!gst_video_decoder_negotiate (GST_VIDEO_DECODER (self))) { - - GST_DEBUG_OBJECT (self, - "Failed to negotiate with feature %s", -- GST_CAPS_FEATURE_MEMORY_EGL_IMAGE); -+ GST_CAPS_FEATURE_MEMORY_GL_MEMORY); - - if (state->caps) - gst_caps_replace (&state->caps, NULL); -@@ -2554,7 +2554,7 @@ gst_omx_video_dec_decide_allocation (GstVideoDecoder * bdec, GstQuery * query) - - gst_query_parse_nth_allocation_param (query, i, &allocator, ¶ms); - if (allocator) { -- if (g_strcmp0 (allocator->mem_type, GST_EGL_IMAGE_MEMORY_TYPE) == 0) { -+ if (GST_IS_GL_MEMORY_EGL_ALLOCATOR (allocator)) { - found = TRUE; - gst_query_set_nth_allocation_param (query, 0, allocator, ¶ms); - while (gst_query_get_n_allocation_params (query) > 1) -@@ -2572,7 +2572,7 @@ gst_omx_video_dec_decide_allocation (GstVideoDecoder * bdec, GstQuery * query) - * and if allocator is not of type memory EGLImage then fails */ - if (feature - && gst_caps_features_contains (feature, -- GST_CAPS_FEATURE_MEMORY_EGL_IMAGE) && !found) { -+ GST_CAPS_FEATURE_MEMORY_GL_MEMORY) && !found) { - return FALSE; - } - } --- -2.5.0 - diff --git a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.10%.bbappend b/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.10%.bbappend new file mode 100644 index 000000000..d4198677a --- /dev/null +++ b/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.10%.bbappend @@ -0,0 +1,13 @@ +# +# Need to make this conditional to gstreamer1 +# +SRC_URI_append_rpi = " \ + file://0001-config-files-path.patch \ + file://0001-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch \ + file://0002-fix-decoder-flushing.patch \ + file://0003-no-timeout-on-get-state.patch \ + file://0004-Properly-handle-drain-requests-while-flushing.patch \ + file://0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch \ +" + +FILESEXTRAPATHS_prepend := "${THISDIR}/gstreamer1.0-omx-1.10:" diff --git a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.2.0.bbappend b/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.2.0.bbappend deleted file mode 100644 index 1e84abe6b..000000000 --- a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.2.0.bbappend +++ /dev/null @@ -1,24 +0,0 @@ -# -# Need to make this conditional to gstreamer1 -# -SRC_URI_append_rpi = " \ - file://0001-config-files-path.patch \ - file://0001-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch \ - file://0002-fix-decoder-flushing.patch \ - file://0003-no-timeout-on-get-state.patch \ - file://0004-Properly-handle-drain-requests-while-flushing.patch \ - file://0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch \ - file://0006-omxvideodec-unref-allocator-after-getting-it-from-al.patch \ - file://0007-omxvideodec-Use-gstglmemoryegl-for-the-RPi.patch \ -" - -FILESEXTRAPATHS_prepend := "${THISDIR}/gstreamer1.0-omx-1.2.0:" - -GSTREAMER_1_0_OMX_TARGET_rpi = "rpi" -GSTREAMER_1_0_OMX_CORE_NAME_rpi = "${libdir}/libopenmaxil.so" - - -# How to make this RPI specific? -EXTRA_OECONF_append_rpi = " CFLAGS="$CFLAGS -I${STAGING_DIR_TARGET}/usr/include/IL -I${STAGING_DIR_TARGET}/usr/include/interface/vcos/pthreads -I${STAGING_DIR_TARGET}/usr/include/interface/vmcs_host/linux"" -#examples only build with GL but not GLES, so disable it for RPI -EXTRA_OECONF_append_rpi = " --disable-examples" diff --git a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_git.bbappend b/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_git.bbappend deleted file mode 100644 index a13aad778..000000000 --- a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_git.bbappend +++ /dev/null @@ -1,22 +0,0 @@ -# -# Need to make this conditional to gstreamer1 -# -SRC_URI_append_rpi = " \ - file://0001-config-files-path.patch \ - file://0002-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch \ - file://0003-fix-decoder-flushing.patch \ - file://0003-no-timeout-on-get-state.patch \ - file://0004-Properly-handle-drain-requests-while-flushing.patch \ - file://0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch \ -" - -FILESEXTRAPATHS_prepend := "${THISDIR}/gstreamer1.0-omx:" - -GSTREAMER_1_0_OMX_TARGET_rpi = "rpi" -GSTREAMER_1_0_OMX_CORE_NAME_rpi = "${libdir}/libopenmaxil.so" - - -# How to make this RPI specific? -EXTRA_OECONF_append_rpi = " CFLAGS="$CFLAGS -I${STAGING_DIR_TARGET}/usr/include/IL -I${STAGING_DIR_TARGET}/usr/include/interface/vcos/pthreads -I${STAGING_DIR_TARGET}/usr/include/interface/vmcs_host/linux"" -#examples only build with GL but not GLES, so disable it for RPI -EXTRA_OECONF_append_rpi = " --disable-examples" diff --git a/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0002-Libraries-and-headers-from-ffmpeg-are-installed-in-u.patch b/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0002-Libraries-and-headers-from-ffmpeg-are-installed-in-u.patch index 75f72548a..203f34b2d 100644 --- a/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0002-Libraries-and-headers-from-ffmpeg-are-installed-in-u.patch +++ b/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0002-Libraries-and-headers-from-ffmpeg-are-installed-in-u.patch @@ -14,33 +14,33 @@ Signed-off-by: Jonathan Liu <net147@gmail.com> Makefile.ffmpeg | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) -diff --git a/Makefile b/Makefile -index be97c2b..2c120fc 100644 ---- a/Makefile -+++ b/Makefile +Index: git/Makefile +=================================================================== +--- git.orig/Makefile ++++ git/Makefile @@ -1,9 +1,9 @@ CFLAGS+=-std=c++0x -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -DTARGET_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_CMAKE_CONFIG -D__VIDEOCORE4__ -U_FORTIFY_SOURCE -Wall -DHAVE_OMXLIB -DUSE_EXTERNAL_FFMPEG -DHAVE_LIBAVCODEC_AVCODEC_H -DHAVE_LIBAVUTIL_OPT_H -DHAVE_LIBAVUTIL_MEM_H -DHAVE_LIBAVUTIL_AVUTIL_H -DHAVE_LIBAVFORMAT_AVFORMAT_H -DHAVE_LIBAVFILTER_AVFILTER_H -DHAVE_LIBSWRESAMPLE_SWRESAMPLE_H -DOMX -DOMX_SKIP64BIT -ftree-vectorize -DUSE_EXTERNAL_OMX -DTARGET_RASPBERRY_PI -DUSE_EXTERNAL_LIBBCM_HOST --LDFLAGS+=-L./ -Lffmpeg_compiled/usr/local/lib/ -lc -lWFC -lGLESv2 -lEGL -lbcm_host -lopenmaxil -lfreetype -lz -+LDFLAGS+=-L./ -Lffmpeg_compiled/usr/lib/ -lc -lWFC -lGLESv2 -lEGL -lbcm_host -lopenmaxil -lfreetype -lz +-LDFLAGS+=-L./ -Lffmpeg_compiled/usr/local/lib/ -lc -lWFC -lGLESv2 -lEGL -lbcm_host -lopenmaxil -lfreetype -lz -lasound ++LDFLAGS+=-L./ -Lffmpeg_compiled/usr/lib/ -lc -lWFC -lGLESv2 -lEGL -lbcm_host -lopenmaxil -lfreetype -lz -lasound -INCLUDES+=-I./ -Ilinux -Iffmpeg_compiled/usr/local/include/ -I /usr/include/dbus-1.0 -I /usr/lib/arm-linux-gnueabihf/dbus-1.0/include -+INCLUDES+=-I./ -Ilinux -Iffmpeg_compiled/usr/include/ -I=/usr/include/dbus-1.0 -I /usr/lib/arm-linux-gnueabihf/dbus-1.0/include ++INCLUDES+=-I./ -Ilinux -Iffmpeg_compiled/usr/include/ -I=/usr/include/dbus-1.0 DIST ?= omxplayer-dist -@@ -87,5 +87,5 @@ dist: omxplayer.bin omxplayer.1 +@@ -88,5 +88,5 @@ dist: omxplayer.bin omxplayer.1 cp COPYING $(DIST)/usr/share/doc/omxplayer cp README.md $(DIST)/usr/share/doc/omxplayer/README cp omxplayer.1 $(DIST)/usr/share/man/man1 - cp -P ffmpeg_compiled/usr/local/lib/*.so* $(DIST)/usr/lib/omxplayer/ + cp -P ffmpeg_compiled/usr/lib/*.so* $(DIST)/usr/lib/omxplayer/ cd $(DIST); tar -czf ../$(DIST).tgz * -diff --git a/Makefile.ffmpeg b/Makefile.ffmpeg -index 5ccf96f..a7ddd5f 100644 ---- a/Makefile.ffmpeg -+++ b/Makefile.ffmpeg +Index: git/Makefile.ffmpeg +=================================================================== +--- git.orig/Makefile.ffmpeg ++++ git/Makefile.ffmpeg @@ -254,5 +254,5 @@ checkout: .PHONY : install install: @@ -48,6 +48,3 @@ index 5ccf96f..a7ddd5f 100644 - $(HOST)-strip ffmpeg_compiled/usr/local/lib/*.so + $(HOST)-strip ffmpeg_compiled/usr/lib/*.so --- -1.9.3 - diff --git a/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0004-Add-FFMPEG_EXTRA_CFLAGS-and-FFMPEG_EXTRA_LDFLAGS.patch b/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0004-Add-FFMPEG_EXTRA_CFLAGS-and-FFMPEG_EXTRA_LDFLAGS.patch index edb388e4f..ea8530def 100644 --- a/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0004-Add-FFMPEG_EXTRA_CFLAGS-and-FFMPEG_EXTRA_LDFLAGS.patch +++ b/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0004-Add-FFMPEG_EXTRA_CFLAGS-and-FFMPEG_EXTRA_LDFLAGS.patch @@ -12,20 +12,26 @@ Signed-off-by: Andrei Gherzan <andrei@gherzan.ro> Makefile.ffmpeg | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -diff --git a/Makefile.ffmpeg b/Makefile.ffmpeg -index abe4b26..c9d42d7 100644 ---- a/Makefile.ffmpeg -+++ b/Makefile.ffmpeg -@@ -22,7 +22,8 @@ configure: +Index: git/Makefile.ffmpeg +=================================================================== +--- git.orig/Makefile.ffmpeg ++++ git/Makefile.ffmpeg +@@ -1,6 +1,8 @@ + + CFLAGS=-D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -DTARGET_LINUX -fPIC -DPIC -D_REENTRANT -D_HAVE_SBRK -D_LARGEFILE64_SOURCE -DHAVE_CMAKE_CONFIG -DHAVE_VMCS_CONFIG -D_REENTRANT -DUSE_VCHIQ_ARM -DVCHI_BULK_ALIGN=1 -DVCHI_BULK_GRANULARITY=1 -DEGL_SERVER_DISPMANX -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__VIDEOCORE4__ -DGRAPHICS_X_VG=1 -U_FORTIFY_SOURCE -Wall -DHAVE_OMXLIB -DUSE_EXTERNAL_FFMPEG -DHAVE_LIBAVCODEC_AVCODEC_H -DHAVE_LIBAVUTIL_MEM_H -DHAVE_LIBAVUTIL_AVUTIL_H -DHAVE_LIBAVFORMAT_AVFORMAT_H -DHAVE_LIBAVFILTER_AVFILTER_H -DOMX -DOMX_SKIP64BIT + ++FFMPEG_EXTRA_CFLAGS?=-mfpu=vfp -mfloat-abi=$(FLOAT) -mno-apcs-stack-check -mstructure-size-boundary=32 -mno-sched-prolog ++ + WORK=$(PWD) + + .PHONY : all +@@ -21,7 +23,8 @@ configure: CFLAGS="$(CFLAGS) ${INCLUDES}" \ LDFLAGS="" \ ./configure \ - --extra-cflags="-mfpu=vfp -mfloat-abi=$(FLOAT) -mno-apcs-stack-check -mstructure-size-boundary=32 -mno-sched-prolog" \ -+ --extra-cflags="-mfpu=vfp -mfloat-abi=$(FLOAT) -mno-apcs-stack-check -mstructure-size-boundary=32 -mno-sched-prolog $(FFMPEG_EXTRA_CFLAGS)" \ ++ --extra-cflags="$(FFMPEG_EXTRA_CFLAGS)" \ + --extra-ldflags="$(FFMPEG_EXTRA_LDFLAGS)" \ --enable-cross-compile \ --enable-shared \ --disable-static \ --- -2.1.0 - diff --git a/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb b/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb index d9460de22..0e0f9ba40 100644 --- a/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb +++ b/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb @@ -7,10 +7,10 @@ SECTION = "console/utils" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" -DEPENDS = "libpcre libav virtual/egl boost freetype dbus openssl samba libssh" +DEPENDS = "libpcre libav virtual/egl boost freetype dbus openssl samba libssh libomxil coreutils-native curl-native" PR = "r4" -SRCREV = "8466acf65f5f444dfa22631fb83c07ac759c02a5" +SRCREV = "061425a5eabf6e9ee43229911c073a863d144038" SRC_URI = "git://github.com/popcornmix/omxplayer.git;protocol=git;branch=master \ file://0001-Remove-Makefile.include-which-includes-hardcoded.patch \ file://0002-Libraries-and-headers-from-ffmpeg-are-installed-in-u.patch \ @@ -21,7 +21,9 @@ SRC_URI = "git://github.com/popcornmix/omxplayer.git;protocol=git;branch=master " S = "${WORKDIR}/git" -COMPATIBLE_MACHINE = "raspberrypi" +COMPATIBLE_MACHINE ?= "null" +COMPATIBLE_MACHINE_rpi_aarch64 = "null" +COMPATIBLE_MACHINE_rpi = "(.*)" inherit autotools-brokensep pkgconfig @@ -31,9 +33,8 @@ export TEMPDIR = "${S}/tmp" # Needed in Makefile.ffmpeg export HOST = "${HOST_SYS}" export WORK = "${S}" -export FLOAT = "${@bb.utils.contains("TUNE_FEATURES", "callconvention-hard", "hard", "softfp", d)}" -export FFMPEG_EXTRA_CFLAGS = "--sysroot=${STAGING_DIR_TARGET}" -export FFMPEG_EXTRA_LDFLAGS = "--sysroot=${STAGING_DIR_TARGET}" +export FFMPEG_EXTRA_CFLAGS = "${TUNE_CCARGS} ${TOOLCHAIN_OPTIONS}" +export FFMPEG_EXTRA_LDFLAGS = "${TUNE_CCARGS} ${TOOLCHAIN_OPTIONS}" # Needed in top Makefile export LDFLAGS = "-L${S}/ffmpeg_compiled/usr/lib \ diff --git a/import-layers/meta-raspberrypi/recipes-multimedia/x264/x264_git.bbappend b/import-layers/meta-raspberrypi/recipes-multimedia/x264/x264_git.bbappend new file mode 100644 index 000000000..c1cb3bc5e --- /dev/null +++ b/import-layers/meta-raspberrypi/recipes-multimedia/x264/x264_git.bbappend @@ -0,0 +1 @@ +EXTRA_OECONF_append_raspberrypi = " --disable-asm" |