Well, users do need to know the SONAME if they are loaded with dlopen() (and this is how their documentations suggest it should be done.) See the beepdec registry in imx-gst1.0-plugin for an example. Also, the configure.ac in imx-gst1.0-plugin runs objdump on the plugins to get the SONAME. I do not see how just linking to uniaudio codecs could work. The way their API is designed requires you to explicitely query for a "UniACodecQueryInterface" symbol via dlsym().

Carlos

On 2016-04-06 10:36, Yuqing Zhu wrote:
Hi Carlos,

       Thanks for your feedback.
        But it's not reasonable to add this file to imx-codec, it's gstreamer 
plugin specific file, imx-codec is a codec general package.
        User doesn't need to know SONAME, they just link the lib_codec.so in 
the makefile.



B.R.
Yuqing Zhu

-----Original Message-----
From: meta-freescale-boun...@yoctoproject.org 
[mailto:meta-freescale-boun...@yoctoproject.org] On Behalf Of Carlos Rafael 
Giani
Sent: Thursday, March 31, 2016 11:14 PM
To: meta-freescale@yoctoproject.org
Subject: Re: [meta-freescale] [meta-fsl-arm][PATCH 1/5] libfslcodec: Upgrade to 
v4.0.9

I have a suggestion for this recipe.

The uniaudio codecs require knowledge about the SONAME of the plugin.
Without this SONAME, accessing these plugins is not possible. For this reason, 
imx-gst1.0-plugin installs a file in /etc/ that contains a list of these 
plugins.
(gstreamer-imx scans for plugins and extracts the SONAME at build time
instead.)

It would make more sense to add such a file to the libfslcodec package.
This list would contain a list of each uniaudio plugin along with its SONAME. 
This way, other packages such as imx-gst1.0-plugin and gstreamer-imx do not 
have to scan the plugins on their own for the SONAME - they can just rely on 
this list file to exist in the rootfs.


On 03/31/2016 11:37 AM, Yuqing Zhu wrote:
--Change the recipe name from "libfslcodec" to "imx-codec"

--[aac_dec] refine the code for pure c build
    aac decoder c build need float point support, which use some
    float point function.

Signed-off-by: Yuqing Zhu <carol....@nxp.com>
---
   .../{libfslcodec/libfslcodec.inc => imx-codec/imx-codec.inc}   | 10 
+++++-----
   recipes-multimedia/imx-codec/imx-codec_4.0.9.bb                | 10 
++++++++++
   recipes-multimedia/libfslcodec/libfslcodec_4.0.8.bb            |  9 ---------
   3 files changed, 15 insertions(+), 14 deletions(-)
   rename recipes-multimedia/{libfslcodec/libfslcodec.inc => 
imx-codec/imx-codec.inc} (91%)
   create mode 100644 recipes-multimedia/imx-codec/imx-codec_4.0.9.bb
   delete mode 100644
recipes-multimedia/libfslcodec/libfslcodec_4.0.8.bb

diff --git a/recipes-multimedia/libfslcodec/libfslcodec.inc
b/recipes-multimedia/imx-codec/imx-codec.inc
similarity index 91%
rename from recipes-multimedia/libfslcodec/libfslcodec.inc
rename to recipes-multimedia/imx-codec/imx-codec.inc
index 2f0bc44..b2aca48 100644
--- a/recipes-multimedia/libfslcodec/libfslcodec.inc
+++ b/recipes-multimedia/imx-codec/imx-codec.inc
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2014 Freescale Semiconductor
+# Copyright (C) 2012-2016 Freescale Semiconductor
   # Released under the MIT license (see COPYING.MIT for the terms)
   DESCRIPTION = "Freescale Multimedia codec libs"
   LICENSE = "Proprietary"
@@ -41,7 +41,7 @@ python __set_insane_skip() {
# FIXME: All binaries lack GNU_HASH in elf binary but as we don't have
           # the source we cannot fix it. Disable the insane check for now.
-        if p == 'libfslcodec-test-bin':
+        if p == 'imx-codec-test-bin':
               # FIXME: includes the DUT .so files so we need to deploy those
               d.setVar("INSANE_SKIP_%s" % p, "ldflags textrel libdir")
           else:
@@ -54,7 +54,7 @@ python __split_libfslcodec_plugins() {
       codecdir = bb.data.expand('${libdir}', d)
       do_split_packages(d, codecdir, '^lib_([^_]*).*_arm.*_elinux\.so\..*',
                         
aux_files_pattern='${libdir}/imx-mm/audio-codec/wrap/lib_%sd_wrap_arm*_elinux.so.*',
-                      output_pattern='libfslcodec-%s',
+                      output_pattern='imx-codec-%s',
                         description='Freescale i.MX Codec (%s)',
                         extra_depends='')
   }
@@ -63,9 +63,9 @@ python __set_metapkg_rdepends() {
       # Allow addition of all codecs in a image; useful specially for
       # debugging.
       codec_pkgs = oe.utils.packages_filter_out_system(d)
-    codec_pkgs = filter(lambda x: x not in ['libfslcodec-test-bin', 
'libfslcodec-test-source'],
+    codec_pkgs = filter(lambda x: x not in ['imx-codec-test-bin',
+ 'imx-codec-test-source'],
                           codec_pkgs)
-    d.appendVar('RDEPENDS_libfslcodec-meta', ' ' + ' '.join(codec_pkgs))
+    d.appendVar('RDEPENDS_imx-codec-meta', ' ' + '
+ '.join(codec_pkgs))
   }
PACKAGESPLITFUNCS =+ "__split_libfslcodec_plugins __set_metapkg_rdepends"
diff --git a/recipes-multimedia/imx-codec/imx-codec_4.0.9.bb
b/recipes-multimedia/imx-codec/imx-codec_4.0.9.bb
new file mode 100644
index 0000000..e7bdfc8
--- /dev/null
+++ b/recipes-multimedia/imx-codec/imx-codec_4.0.9.bb
@@ -0,0 +1,10 @@
+# Copyright (C) 2013-2016 Freescale Semiconductor # Released under
+the MIT license (see COPYING.MIT for the terms)
+
+require imx-codec.inc
+LIC_FILES_CHKSUM = "file://COPYING;md5=8cf95184c220e247b9917e7244124c5a"
+
+SRC_URI[md5sum] = "bcf54698af6f52958b36e34dcbd9fcd1"
+SRC_URI[sha256sum] = 
"62bda182143cde9743cba0eb2a1c315a53cb434294605742f9fc364219958888"
+
+COMPATIBLE_MACHINE = "(mx6|mx6ul|mx7)"
diff --git a/recipes-multimedia/libfslcodec/libfslcodec_4.0.8.bb
b/recipes-multimedia/libfslcodec/libfslcodec_4.0.8.bb
deleted file mode 100644
index 1b32f90..0000000
--- a/recipes-multimedia/libfslcodec/libfslcodec_4.0.8.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (C) 2013-2015 Freescale Semiconductor -# Released under
the MIT license (see COPYING.MIT for the terms)
-
-require libfslcodec.inc
-
-SRC_URI[md5sum] = "462fb27b20cd7df56a49b9e7d6b7c8b4"
-SRC_URI[sha256sum] = 
"544ffc5989bce18ca50c7a826cc03370b1cf8455335e4291ef0c0779b4c33de0"
-
-COMPATIBLE_MACHINE = "(mx6|mx6ul|mx7)"
--
_______________________________________________
meta-freescale mailing list
meta-freescale@yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-freescale

--
_______________________________________________
meta-freescale mailing list
meta-freescale@yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-freescale

Reply via email to