diff options
author | Kostadin Damyanov <maxmight@gmail.com> | 2015-08-14 22:52:28 +0300 |
---|---|---|
committer | Kostadin Damyanov <maxmight@gmail.com> | 2015-08-14 22:52:28 +0300 |
commit | 2a757a6ad4ef4e7767b7d3ef7e177ec6613ef6d1 (patch) | |
tree | d0d5c4fff40fe548f6c3e35037b2eb373ad4d403 /drivers | |
parent | b038a2c3c21b7be4cc1db0aca6c84ddaf57132cf (diff) | |
download | redot-engine-2a757a6ad4ef4e7767b7d3ef7e177ec6613ef6d1.tar.gz |
Haiku: move the audio driver to platform/haiku
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/SCsub | 1 | ||||
-rw-r--r-- | drivers/media_kit/SCsub | 5 | ||||
-rw-r--r-- | drivers/media_kit/audio_driver_media_kit.cpp | 143 | ||||
-rw-r--r-- | drivers/media_kit/audio_driver_media_kit.h | 72 |
4 files changed, 0 insertions, 221 deletions
diff --git a/drivers/SCsub b/drivers/SCsub index bed1f22a64..3028139f50 100644 --- a/drivers/SCsub +++ b/drivers/SCsub @@ -12,7 +12,6 @@ SConscript('windows/SCsub'); SConscript('gles2/SCsub'); SConscript('gl_context/SCsub'); SConscript('openssl/SCsub'); -SConscript('media_kit/SCsub'); if (env["png"]=="yes"): SConscript("png/SCsub"); diff --git a/drivers/media_kit/SCsub b/drivers/media_kit/SCsub deleted file mode 100644 index 9fbb467baa..0000000000 --- a/drivers/media_kit/SCsub +++ /dev/null @@ -1,5 +0,0 @@ -Import('env') - -env.add_source_files(env.drivers_sources,"*.cpp") - -Export('env') diff --git a/drivers/media_kit/audio_driver_media_kit.cpp b/drivers/media_kit/audio_driver_media_kit.cpp deleted file mode 100644 index 3fabe4f96f..0000000000 --- a/drivers/media_kit/audio_driver_media_kit.cpp +++ /dev/null @@ -1,143 +0,0 @@ -/*************************************************************************/ -/* audio_driver_media_kit.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#include "audio_driver_media_kit.h" - -#ifdef MEDIA_KIT_ENABLED - -#include "globals.h" - -int32_t* AudioDriverMediaKit::samples_in = NULL; - -Error AudioDriverMediaKit::init() { - active = false; - - mix_rate = 44100; - output_format = OUTPUT_STEREO; - channels = 2; - - int latency = GLOBAL_DEF("audio/output_latency", 25); - buffer_size = nearest_power_of_2(latency * mix_rate / 1000); - samples_in = memnew_arr(int32_t, buffer_size * channels); - - media_raw_audio_format format; - format = media_raw_audio_format::wildcard; - format.frame_rate = mix_rate; - format.channel_count = channels; - format.format = media_raw_audio_format::B_AUDIO_INT; - format.byte_order = B_MEDIA_LITTLE_ENDIAN; - format.buffer_size = buffer_size * sizeof(int32_t) * channels; - - player = new BSoundPlayer( - &format, - "godot_sound_server", - AudioDriverMediaKit::PlayBuffer, - NULL, - this - ); - - if (player->InitCheck() != B_OK) { - fprintf(stderr, "MediaKit ERR: can not create a BSoundPlayer instance\n"); - ERR_FAIL_COND_V(player == NULL, ERR_CANT_OPEN); - } - - mutex = Mutex::create(); - player->Start(); - - return OK; -} - -void AudioDriverMediaKit::PlayBuffer(void* cookie, void* buffer, size_t size, const media_raw_audio_format& format) { - AudioDriverMediaKit* ad = (AudioDriverMediaKit*) cookie; - int32_t* buf = (int32_t*) buffer; - - if (!ad->active) { - for (unsigned int i = 0; i < ad->buffer_size * ad->channels; i++) { - AudioDriverMediaKit::samples_in[i] = 0; - } - } else { - ad->lock(); - ad->audio_server_process(ad->buffer_size, AudioDriverMediaKit::samples_in); - ad->unlock(); - } - - for (unsigned int i = 0; i < ad->buffer_size * ad->channels; i++) { - buf[i] = AudioDriverMediaKit::samples_in[i]; - } -} - -void AudioDriverMediaKit::start() { - active = true; -} - -int AudioDriverMediaKit::get_mix_rate() const { - return mix_rate; -} - -AudioDriverSW::OutputFormat AudioDriverMediaKit::get_output_format() const { - return output_format; -} - -void AudioDriverMediaKit::lock() { - if (!mutex) - return; - - mutex->lock(); -} - -void AudioDriverMediaKit::unlock() { - if (!mutex) - return; - - mutex->unlock(); -} - -void AudioDriverMediaKit::finish() { - if (player) - delete player; - - if (samples_in) { - memdelete_arr(samples_in); - }; - - if (mutex) { - memdelete(mutex); - mutex = NULL; - } -} - -AudioDriverMediaKit::AudioDriverMediaKit() { - mutex = NULL; - player = NULL; -} - -AudioDriverMediaKit::~AudioDriverMediaKit() { - -} - -#endif diff --git a/drivers/media_kit/audio_driver_media_kit.h b/drivers/media_kit/audio_driver_media_kit.h deleted file mode 100644 index a23ec447f1..0000000000 --- a/drivers/media_kit/audio_driver_media_kit.h +++ /dev/null @@ -1,72 +0,0 @@ -/*************************************************************************/ -/* audio_driver_media_kit.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#include "servers/audio/audio_server_sw.h" - -#ifdef MEDIA_KIT_ENABLED - -#include "core/os/thread.h" -#include "core/os/mutex.h" - -#include <kernel/image.h> // needed for image_id -#include <SoundPlayer.h> - -class AudioDriverMediaKit : public AudioDriverSW { - Mutex* mutex; - - BSoundPlayer* player; - static int32_t* samples_in; - - static void PlayBuffer(void* cookie, void* buffer, size_t size, const media_raw_audio_format& format); - - unsigned int mix_rate; - OutputFormat output_format; - unsigned int buffer_size; - int channels; - - bool active; - -public: - - const char* get_name() const { - return "MediaKit"; - }; - - virtual Error init(); - virtual void start(); - virtual int get_mix_rate() const; - virtual OutputFormat get_output_format() const; - virtual void lock(); - virtual void unlock(); - virtual void finish(); - - AudioDriverMediaKit(); - ~AudioDriverMediaKit(); -}; - -#endif |