[fpc-pascal] FPCJVM Android and libbass.so calling issue

Mgr. Janusz Chmiel janusz.chmiel at volny.cz
Wed Apr 17 19:53:47 CEST 2019


Dear specialists,
Please does somebody of you know, why is it impossible to call 
libbass.so in JVM Android mode if external command is being used for 
this task?
Because I Am getting run-time error:
error
Failed resolution of libbass.so
OK
I have analysed bass.pas unit and I have found that The following 
command is being used to call functions and procedures from this .so 
library.
Here is AN example from bass.pas

function BASS_SetConfig(option, value: DWORD): BOOL; {$IFDEF 
MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF}; external bassdll;

So do I have to replace external command by The command
JLSystem.loadLibrary('libbass.so');
But when I have done this, compiler have informed Me about other errors 
and compilation aborted with fatal warning.

bass.pas(725,101) Warning: Calling convention directive ignored: "StdCall"
bass.pas(733,102) Warning: Calling convention directive ignored: "StdCall"
bass.pas(745,126) Warning: Calling convention directive ignored: "StdCall"
bass.pas(757,121) Warning: Calling convention directive ignored: "StdCall"
bass.pas(780,79) Warning: Calling convention directive ignored: "StdCall"
Fatal: Compilation aborted

Bass.pas unit which I try to use in JVM mode and Android emeulation is here.

https://github.com/r1me/LAMWBassStreamPlayback/blob/master/jni/bass.pas

It is really interesting developers adventure. Because originally The 
unit have been created for FPC ARMHF or other similar target and 
cthreads unit is being used by The app, which calls bass.pas unit. So 
The question is, if I have chance to call libbass.so in JVM mode or if I 
can only dream about it?
Thank you very much for yours help. Libbass.so have been developed by 
using SSL to play live streams so it do not allocate too much of RAM, it 
can play live streams 24 hours A day without crashes and author deeply 
know C language and he is constantly hardly work on this library. So its 
quality is better and better.
It is even possible to use this library for making sound games for 
visually impaired, because it can load many short sounds without delay 
and distortion.




More information about the fpc-pascal mailing list