diff options
Diffstat (limited to 'platform/android')
-rw-r--r-- | platform/android/audio_driver_jandroid.cpp | 13 | ||||
-rw-r--r-- | platform/android/audio_driver_jandroid.h | 2 | ||||
-rw-r--r-- | platform/android/audio_driver_opensl.cpp | 14 | ||||
-rw-r--r-- | platform/android/audio_driver_opensl.h | 2 | ||||
-rw-r--r-- | platform/android/export/export.cpp | 28 |
5 files changed, 21 insertions, 38 deletions
diff --git a/platform/android/audio_driver_jandroid.cpp b/platform/android/audio_driver_jandroid.cpp index 5a8e3b94da..e94dad9ac6 100644 --- a/platform/android/audio_driver_jandroid.cpp +++ b/platform/android/audio_driver_jandroid.cpp @@ -48,7 +48,7 @@ int AudioDriverAndroid::mix_rate = 44100; bool AudioDriverAndroid::quit = false; jobject AudioDriverAndroid::audioBuffer = NULL; void *AudioDriverAndroid::audioBufferPinned = NULL; -Mutex *AudioDriverAndroid::mutex = NULL; +Mutex AudioDriverAndroid::mutex; int32_t *AudioDriverAndroid::audioBuffer32 = NULL; const char *AudioDriverAndroid::get_name() const { @@ -58,7 +58,6 @@ const char *AudioDriverAndroid::get_name() const { Error AudioDriverAndroid::init() { - mutex = Mutex::create(); /* // TODO: pass in/return a (Java) device ID, also whether we're opening for input or output this->spec.samples = Android_JNI_OpenAudioDevice(this->spec.freq, this->spec.format == AUDIO_U8 ? 0 : 1, this->spec.channels, this->spec.samples); @@ -133,7 +132,7 @@ void AudioDriverAndroid::thread_func(JNIEnv *env) { int16_t *ptr = (int16_t *)audioBufferPinned; int fc = audioBufferFrames; - if (!s_ad->active || mutex->try_lock() != OK) { + if (!s_ad->active || mutex.try_lock() != OK) { for (int i = 0; i < fc; i++) { ptr[i] = 0; @@ -143,7 +142,7 @@ void AudioDriverAndroid::thread_func(JNIEnv *env) { s_ad->audio_server_process(fc / 2, audioBuffer32); - mutex->unlock(); + mutex.unlock(); for (int i = 0; i < fc; i++) { @@ -167,14 +166,12 @@ AudioDriver::SpeakerMode AudioDriverAndroid::get_speaker_mode() const { void AudioDriverAndroid::lock() { - if (mutex) - mutex->lock(); + mutex.lock(); } void AudioDriverAndroid::unlock() { - if (mutex) - mutex->unlock(); + mutex.unlock(); } void AudioDriverAndroid::finish() { diff --git a/platform/android/audio_driver_jandroid.h b/platform/android/audio_driver_jandroid.h index d3d1641c20..b1cc3f9aa0 100644 --- a/platform/android/audio_driver_jandroid.h +++ b/platform/android/audio_driver_jandroid.h @@ -37,7 +37,7 @@ class AudioDriverAndroid : public AudioDriver { - static Mutex *mutex; + static Mutex mutex; static AudioDriverAndroid *s_ad; static jobject io; static jmethodID _init_audio; diff --git a/platform/android/audio_driver_opensl.cpp b/platform/android/audio_driver_opensl.cpp index 6e9864c803..307bc3a169 100644 --- a/platform/android/audio_driver_opensl.cpp +++ b/platform/android/audio_driver_opensl.cpp @@ -44,8 +44,8 @@ void AudioDriverOpenSL::_buffer_callback( if (pause) { mix = false; - } else if (mutex) { - mix = mutex->try_lock() == OK; + } else { + mix = mutex.try_lock() == OK; } if (mix) { @@ -58,8 +58,8 @@ void AudioDriverOpenSL::_buffer_callback( } } - if (mutex && mix) - mutex->unlock(); + if (mix) + mutex.unlock(); const int32_t *src_buff = mixdown_buffer; @@ -107,7 +107,6 @@ Error AudioDriverOpenSL::init() { void AudioDriverOpenSL::start() { - mutex = Mutex::create(); active = false; SLresult res; @@ -330,13 +329,13 @@ AudioDriver::SpeakerMode AudioDriverOpenSL::get_speaker_mode() const { void AudioDriverOpenSL::lock() { if (active && mutex) - mutex->lock(); + mutex.lock(); } void AudioDriverOpenSL::unlock() { if (active && mutex) - mutex->unlock(); + mutex.unlock(); } void AudioDriverOpenSL::finish() { @@ -359,7 +358,6 @@ void AudioDriverOpenSL::set_pause(bool p_pause) { AudioDriverOpenSL::AudioDriverOpenSL() { s_ad = this; - mutex = Mutex::create(); //NULL; pause = false; active = false; } diff --git a/platform/android/audio_driver_opensl.h b/platform/android/audio_driver_opensl.h index 57d9b30af6..569e2aa54b 100644 --- a/platform/android/audio_driver_opensl.h +++ b/platform/android/audio_driver_opensl.h @@ -40,7 +40,7 @@ class AudioDriverOpenSL : public AudioDriver { bool active; - Mutex *mutex; + Mutex mutex; enum { diff --git a/platform/android/export/export.cpp b/platform/android/export/export.cpp index 50bf671a84..c618177475 100644 --- a/platform/android/export/export.cpp +++ b/platform/android/export/export.cpp @@ -257,7 +257,7 @@ class EditorExportPlatformAndroid : public EditorExportPlatform { Vector<Device> devices; volatile bool devices_changed; - Mutex *device_lock; + Mutex device_lock; Thread *device_thread; volatile bool quit_request; @@ -288,7 +288,7 @@ class EditorExportPlatformAndroid : public EditorExportPlatform { ldevices.push_back(d); } - ea->device_lock->lock(); + MutexLock lock(ea->device_lock); bool different = false; @@ -381,8 +381,6 @@ class EditorExportPlatformAndroid : public EditorExportPlatform { ea->devices = ndevices; ea->devices_changed = true; } - - ea->device_lock->unlock(); } uint64_t sleep = 200; @@ -1432,11 +1430,8 @@ public: virtual int get_options_count() const { - device_lock->lock(); - int dc = devices.size(); - device_lock->unlock(); - - return dc; + MutexLock lock(device_lock); + return devices.size(); } virtual String get_options_tooltip() const { @@ -1447,16 +1442,14 @@ public: virtual String get_option_label(int p_index) const { ERR_FAIL_INDEX_V(p_index, devices.size(), ""); - device_lock->lock(); - String s = devices[p_index].name; - device_lock->unlock(); - return s; + MutexLock lock(device_lock); + return devices[p_index].name; } virtual String get_option_tooltip(int p_index) const { ERR_FAIL_INDEX_V(p_index, devices.size(), ""); - device_lock->lock(); + MutexLock lock(device_lock); String s = devices[p_index].description; if (devices.size() == 1) { // Tooltip will be: @@ -1464,7 +1457,6 @@ public: // Description s = devices[p_index].name + "\n\n" + s; } - device_lock->unlock(); return s; } @@ -1479,7 +1471,7 @@ public: return ERR_UNCONFIGURED; } - device_lock->lock(); + MutexLock lock(device_lock); EditorProgress ep("run", "Running on " + devices[p_device].name, 3); @@ -1487,7 +1479,6 @@ public: // Export_temp APK. if (ep.step("Exporting APK...", 0)) { - device_lock->unlock(); return ERR_SKIP; } @@ -1502,7 +1493,6 @@ public: #define CLEANUP_AND_RETURN(m_err) \ { \ DirAccess::remove_file_or_error(tmp_export_path); \ - device_lock->unlock(); \ return m_err; \ } @@ -2570,7 +2560,6 @@ public: run_icon.instance(); run_icon->create_from_image(img); - device_lock = Mutex::create(); devices_changed = true; quit_request = false; device_thread = Thread::create(_device_poll_thread, this); @@ -2579,7 +2568,6 @@ public: ~EditorExportPlatformAndroid() { quit_request = true; Thread::wait_to_finish(device_thread); - memdelete(device_lock); memdelete(device_thread); } }; |