Re: ANDROIDBUFFERQUEUE interface of OpenSL ES not present in the library binary

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: ANDROIDBUFFERQUEUE interface of OpenSL ES not present in the library binary

Roet Fuss
I am not seeing this symbol in $NDK/platforms/android-14/arch-arm/usr/lib/libOpenSLES.so  (both r8b & r8c), OSX. The nm output above was from r8c. 

Victor

On Friday, 30 November 2012 16:33:51 UTC, Glenn Kasten wrote:
I have not been able to duplicate this yet ... I'm seeing the symbol in the files I'm looking at.

OP - did you find the symbol missing in the NDK version of the .so (e.g. $NDK/platforms/android-14/arch-arm/usr/lib/libOpenMAXAL.so or SLES.so), or in the on-device version of the .so (/system/lib/libOpenMAXAL.so or SLES.so)?  If NDK, please supply the NDK version number.  If on-device file, please supply the device name and platform version. Thanks!

On Friday, November 30, 2012 8:03:12 AM UTC-8, Digit wrote:
This looks like either a packaging or header bug, but it's a bit hard to tell right now.

From the platform sources in AOSP, it looks like SL_IID_ANDROIDBUFFERQUEUE was renamed to SL_IID_ANDROIDBUFFERQUEUESOURCE for Android 4.1
Something tells me that this API wasn't ready and should not be exposed by NDK headers.

I'd recommend filing a bug at b.android.com for this. Hopefully Glenn will be able to comment.

On Thu, Nov 29, 2012 at 1:06 PM, Roet Fuss <[hidden email]> wrote:
Hi everyone,

I wanted to report here that even though the android OpenSL headers for platform-14 in the NDK contain the declaration for
the ANDROIDBUFFERQUEUESOURCE interface (SL_IID_ANDROIDBUFFERQUEUESOURCE), libOpenSL.so does not have it.
I am wondering whether this is an oversight by the Android system developers, because surely they can't add symbols to published headers if
they are not supported.

If I use it in a program, I get a link error

../jni/opensl_io3.c:104: undefined reference to `SL_IID_ANDROIDBUFFERQUEUESOURCE'

Then if I look at the symbols with nm, I get this:

00002000 B SL_IID_3DCOMMIT
00002004 B SL_IID_3DDOPPLER
00002008 B SL_IID_3DGROUPING
0000200c B SL_IID_3DLOCATION
00002010 B SL_IID_3DMACROSCOPIC
00002014 B SL_IID_3DSOURCE
00002018 B SL_IID_ANDROIDCONFIGURATION
0000201c B SL_IID_ANDROIDEFFECT
00002020 B SL_IID_ANDROIDEFFECTCAPABILITIES
00002024 B SL_IID_ANDROIDEFFECTSEND
00002028 B SL_IID_ANDROIDSIMPLEBUFFERQUEUE
0000202c B SL_IID_AUDIODECODERCAPABILITIES
00002030 B SL_IID_AUDIOENCODER
00002034 B SL_IID_AUDIOENCODERCAPABILITIES
00002038 B SL_IID_AUDIOIODEVICECAPABILITIES
0000203c B SL_IID_BASSBOOST
00002040 B SL_IID_BUFFERQUEUE
00002044 B SL_IID_DEVICEVOLUME
00002048 B SL_IID_DYNAMICINTERFACEMANAGEMENT
0000204c B SL_IID_DYNAMICSOURCE
00002050 B SL_IID_EFFECTSEND
00002054 B SL_IID_ENGINE
00002058 B SL_IID_ENGINECAPABILITIES
0000205c B SL_IID_ENVIRONMENTALREVERB
00002060 B SL_IID_EQUALIZER
00002064 B SL_IID_LED
00002068 B SL_IID_METADATAEXTRACTION
0000206c B SL_IID_METADATATRAVERSAL
00002070 B SL_IID_MIDIMESSAGE
00002074 B SL_IID_MIDIMUTESOLO
00002078 B SL_IID_MIDITEMPO
0000207c B SL_IID_MIDITIME
00002080 B SL_IID_MUTESOLO
00002084 B SL_IID_NULL
00002088 B SL_IID_OBJECT
0000208c B SL_IID_OUTPUTMIX
00002090 B SL_IID_PITCH
00002094 B SL_IID_PLAY
00002098 B SL_IID_PLAYBACKRATE
0000209c B SL_IID_PREFETCHSTATUS
000020a0 B SL_IID_PRESETREVERB
000020a4 B SL_IID_RATEPITCH
000020a8 B SL_IID_RECORD
000020ac B SL_IID_SEEK
000020b0 B SL_IID_THREADSYNC
000020b4 B SL_IID_VIBRA
000020b8 B SL_IID_VIRTUALIZER
000020bc B SL_IID_VISUALIZATION
000020c0 B SL_IID_VOLUME
00001f90 d _DYNAMIC
00002000 A __bss_start
00002000 A _edata
000020c4 A _end
00000a34 T slCreateEngine
00000a48 T slQueryNumSupportedEngineInterfaces
00000a5c T slQuerySupportedEngineInterfaces

=======
No Android Buffer Queue Source then.

Should I file a ticket on this, where?

Victor



--
You received this message because you are subscribed to the Google Groups "android-ndk" group.
To view this discussion on the web visit https://groups.google.com/d/msg/android-ndk/-/VToRQ9m-WmAJ.
To post to this group, send email to [hidden email].
To unsubscribe from this group, send email to android-ndk...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/android-ndk?hl=en.

--
You received this message because you are subscribed to the Google Groups "android-ndk" group.
To view this discussion on the web visit https://groups.google.com/d/msg/android-ndk/-/Tcj8uy6KVg4J.
To post to this group, send email to [hidden email].
To unsubscribe from this group, send email to [hidden email].
For more options, visit this group at http://groups.google.com/group/android-ndk?hl=en.
Reply | Threaded
Open this post in threaded view
|

Re: ANDROIDBUFFERQUEUE interface of OpenSL ES not present in the library binary

Glenn Kasten
OK,  I see what you mean.  The symbol does appear to libOpenMAXAL.so but with an XA_ prefix.
For now try linking with libOpenMAXAL.so [in addition to libOpenSLES.so if needed], and use the XA_ prefix.
Interestingly the docs in $NDK/docs/openmaxal/index.html only mention the XA_IID_ANDROIDBUFFERQUEUESOURCE symbol.

On Sunday, December 2, 2012 9:35:29 AM UTC-8, Roet Fuss wrote:
I am not seeing this symbol in $NDK/platforms/android-14/arch-arm/usr/lib/libOpenSLES.so  (both r8b & r8c), OSX. The nm output above was from r8c. 

Victor

On Friday, 30 November 2012 16:33:51 UTC, Glenn Kasten wrote:
I have not been able to duplicate this yet ... I'm seeing the symbol in the files I'm looking at.

OP - did you find the symbol missing in the NDK version of the .so (e.g. $NDK/platforms/android-14/arch-arm/usr/lib/libOpenMAXAL.so or SLES.so), or in the on-device version of the .so (/system/lib/libOpenMAXAL.so or SLES.so)?  If NDK, please supply the NDK version number.  If on-device file, please supply the device name and platform version. Thanks!

On Friday, November 30, 2012 8:03:12 AM UTC-8, Digit wrote:
This looks like either a packaging or header bug, but it's a bit hard to tell right now.

From the platform sources in AOSP, it looks like SL_IID_ANDROIDBUFFERQUEUE was renamed to SL_IID_ANDROIDBUFFERQUEUESOURCE for Android 4.1
Something tells me that this API wasn't ready and should not be exposed by NDK headers.

I'd recommend filing a bug at b.android.com for this. Hopefully Glenn will be able to comment.

On Thu, Nov 29, 2012 at 1:06 PM, Roet Fuss <[hidden email]> wrote:
Hi everyone,

I wanted to report here that even though the android OpenSL headers for platform-14 in the NDK contain the declaration for
the ANDROIDBUFFERQUEUESOURCE interface (SL_IID_ANDROIDBUFFERQUEUESOURCE), libOpenSL.so does not have it.
I am wondering whether this is an oversight by the Android system developers, because surely they can't add symbols to published headers if
they are not supported.

If I use it in a program, I get a link error

../jni/opensl_io3.c:104: undefined reference to `SL_IID_ANDROIDBUFFERQUEUESOURCE'

Then if I look at the symbols with nm, I get this:

00002000 B SL_IID_3DCOMMIT
00002004 B SL_IID_3DDOPPLER
00002008 B SL_IID_3DGROUPING
0000200c B SL_IID_3DLOCATION
00002010 B SL_IID_3DMACROSCOPIC
00002014 B SL_IID_3DSOURCE
00002018 B SL_IID_ANDROIDCONFIGURATION
0000201c B SL_IID_ANDROIDEFFECT
00002020 B SL_IID_ANDROIDEFFECTCAPABILITIES
00002024 B SL_IID_ANDROIDEFFECTSEND
00002028 B SL_IID_ANDROIDSIMPLEBUFFERQUEUE
0000202c B SL_IID_AUDIODECODERCAPABILITIES
00002030 B SL_IID_AUDIOENCODER
00002034 B SL_IID_AUDIOENCODERCAPABILITIES
00002038 B SL_IID_AUDIOIODEVICECAPABILITIES
0000203c B SL_IID_BASSBOOST
00002040 B SL_IID_BUFFERQUEUE
00002044 B SL_IID_DEVICEVOLUME
00002048 B SL_IID_DYNAMICINTERFACEMANAGEMENT
0000204c B SL_IID_DYNAMICSOURCE
00002050 B SL_IID_EFFECTSEND
00002054 B SL_IID_ENGINE
00002058 B SL_IID_ENGINECAPABILITIES
0000205c B SL_IID_ENVIRONMENTALREVERB
00002060 B SL_IID_EQUALIZER
00002064 B SL_IID_LED
00002068 B SL_IID_METADATAEXTRACTION
0000206c B SL_IID_METADATATRAVERSAL
00002070 B SL_IID_MIDIMESSAGE
00002074 B SL_IID_MIDIMUTESOLO
00002078 B SL_IID_MIDITEMPO
0000207c B SL_IID_MIDITIME
00002080 B SL_IID_MUTESOLO
00002084 B SL_IID_NULL
00002088 B SL_IID_OBJECT
0000208c B SL_IID_OUTPUTMIX
00002090 B SL_IID_PITCH
00002094 B SL_IID_PLAY
00002098 B SL_IID_PLAYBACKRATE
0000209c B SL_IID_PREFETCHSTATUS
000020a0 B SL_IID_PRESETREVERB
000020a4 B SL_IID_RATEPITCH
000020a8 B SL_IID_RECORD
000020ac B SL_IID_SEEK
000020b0 B SL_IID_THREADSYNC
000020b4 B SL_IID_VIBRA
000020b8 B SL_IID_VIRTUALIZER
000020bc B SL_IID_VISUALIZATION
000020c0 B SL_IID_VOLUME
00001f90 d _DYNAMIC
00002000 A __bss_start
00002000 A _edata
000020c4 A _end
00000a34 T slCreateEngine
00000a48 T slQueryNumSupportedEngineInterfaces
00000a5c T slQuerySupportedEngineInterfaces

=======
No Android Buffer Queue Source then.

Should I file a ticket on this, where?

Victor



--
You received this message because you are subscribed to the Google Groups "android-ndk" group.
To view this discussion on the web visit https://groups.google.com/d/msg/android-ndk/-/VToRQ9m-WmAJ.
To post to this group, send email to [hidden email].
To unsubscribe from this group, send email to android-ndk...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/android-ndk?hl=en.

--
You received this message because you are subscribed to the Google Groups "android-ndk" group.
To view this discussion on the web visit https://groups.google.com/d/msg/android-ndk/-/RO0Q8NdQCNAJ.
To post to this group, send email to [hidden email].
To unsubscribe from this group, send email to [hidden email].
For more options, visit this group at http://groups.google.com/group/android-ndk?hl=en.