gst-fsl-plugin: fix video not working with mfw_isink

There were two problems here:

* The 'vssconfig' files need to be removed so the displays are
  auto-configured directly.

* Fix a problem with a missing library. The code tries to 'dlopen' a
  shared library using the symbolic link instead of the soname. But the
  symbolic link is only installed with the development package PN-dev,
  so it's not available with the normal 'gst-fsl-plugin' package. Added
  patch that fixes this problem.

https://jira.digi.com/browse/DEL-167

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This commit is contained in:
Javier Viguera 2013-05-22 12:32:38 +02:00
parent db55ff5a32
commit b5e4c77c4e
2 changed files with 36 additions and 0 deletions

View File

@ -0,0 +1,29 @@
From: Javier Viguera <javier.viguera@digi.com>
Date: Tue, 21 May 2013 16:52:52 +0200
Subject: [PATCH] Use library's SONAME in dlopen
The 'libmfwba.so' symbolic link is only installed with the development
package, and without that symlink some gstreamer pipelines (mostly using
mfw_isink) fail with:
Can not open dll, libmfwba.so: cannot open shared object file: No such file or directory.
Caught SIGSEGV accessing address (nil)
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
---
libs/vss/vss_common.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libs/vss/vss_common.c b/libs/vss/vss_common.c
index 8731da9..52cd126 100755
--- a/libs/vss/vss_common.c
+++ b/libs/vss/vss_common.c
@@ -86,7 +86,7 @@ static void * g_dlhandle = NULL;
void open_allocator_dll()
{
char * errstr;
- g_dlhandle = dlopen("libmfwba.so", RTLD_LAZY);
+ g_dlhandle = dlopen("libmfwba.so.0", RTLD_LAZY);
if (!g_dlhandle) {
printf("Can not open dll, %s.\n", dlerror());

View File

@ -20,4 +20,11 @@ SRC_URI += " \
file://gst-fsl-plugin-2.0.3-0012-gplay_repeat.patch \ file://gst-fsl-plugin-2.0.3-0012-gplay_repeat.patch \
file://gst-fsl-plugin-2.0.3-0013-Only-call-MXCFB_SET_OVERLAY_POS-with-overlay-framebuffer.patch \ file://gst-fsl-plugin-2.0.3-0013-Only-call-MXCFB_SET_OVERLAY_POS-with-overlay-framebuffer.patch \
file://gst-fsl-plugin-2.0.3-0014-Do-not-blank-the-display-on-device-close.patch \ file://gst-fsl-plugin-2.0.3-0014-Do-not-blank-the-display-on-device-close.patch \
file://gst-fsl-plugin-2.0.3-0015-Use-library-s-SONAME-in-dlopen.patch \
" "
do_install_append() {
# Remove 'vssconfig' config files as we have a patch that configures
# the displays on the fly.
rm -f ${D}${datadir}/vssconfig*
}