Browse Source

play-audio: Fix 64-bit build

PTHREAD_MUTEX_INITIALIZER and PTHREAD_COND_INITIALIZER should only
be used for statically allocated mutexes - not doing it here breaks
building on 64-bit Android.
android-5
Fredrik Fornwall 9 years ago
parent
commit
5c6bb69607
  1. 10
      packages/play-audio/play-audio.cpp

10
packages/play-audio/play-audio.cpp

@ -32,7 +32,11 @@ class AudioPlayer {
class MutexWithCondition { class MutexWithCondition {
public: public:
MutexWithCondition() { pthread_mutex_lock(&mutex); } MutexWithCondition() {
pthread_mutex_init(&mutex, NULL);
pthread_cond_init(&condition, NULL);
pthread_mutex_lock(&mutex);
}
~MutexWithCondition() { pthread_mutex_unlock(&mutex); } ~MutexWithCondition() { pthread_mutex_unlock(&mutex); }
void waitFor() { while (!occurred) pthread_cond_wait(&condition, &mutex); } void waitFor() { while (!occurred) pthread_cond_wait(&condition, &mutex); }
/** From waking thread. */ /** From waking thread. */
@ -44,8 +48,8 @@ class MutexWithCondition {
} }
private: private:
volatile bool occurred{false}; volatile bool occurred{false};
pthread_mutex_t mutex{PTHREAD_MUTEX_INITIALIZER}; pthread_mutex_t mutex;
pthread_cond_t condition{PTHREAD_COND_INITIALIZER}; pthread_cond_t condition;
}; };
AudioPlayer::AudioPlayer() { AudioPlayer::AudioPlayer() {

Loading…
Cancel
Save