opensl es fatal problem on Android jni


#1

Hi, when I use android jni to call opensl es in android app, I get a fatal error when I destroy the player.
The error is
03-04 16:40:59.977 W/art ( 3315): Native thread exiting without having called DetachCurrentThread (maybe it’s going to use a pthread_key_create destructor?): Thread[25,tid=3577,Native,Thread*=0xb4bdf000,peer=0x12f16 0a0,“Thread-24441”]

It happened when I call the function Destroy(sys->playerObject); Can someone help? It seems as if there’s a pthread exit in the function, how can I circumvent this error?

================================================== ================
result = SetPlayState(sys->playerPlay, SL_PLAYSTATE_STOPPED);
CHECK_OPENSL_ERROR(“failed to SetPlayState SL_PLAYSTATE_STOPPED.”);

result = Clear(sys->playerBufferQueue);
CHECK_OPENSL_ERROR(“failed to Clear playerBufferQueue.”);

usleep(100000);
Destroy(sys->playerObject);
usleep(100000);
sys->playerObject = NULL;

Destroy(sys->outputMixObject);


#2

can you fix ?