diff options
| author | Sonicadvance1 <sonicadvance1@gmail.com> | 2009-09-24 21:35:06 +0000 |
|---|---|---|
| committer | Sonicadvance1 <sonicadvance1@gmail.com> | 2009-09-24 21:35:06 +0000 |
| commit | 804b9e99f82d5672e7500d66f2f5d5de3e681e81 (patch) | |
| tree | 8bff4952ddfb289b33c83aa2977e1b38cfc48f4e /Source/Core/AudioCommon/Src/CoreAudioSoundStream.cpp | |
| parent | 578fc8d54a2f91adad17d83ac20c070775c49ccd (diff) | |
Add CoreAudio Backend, still needs a bit of work. Will cleanup AudioCommon.cpp, and finish off CoreAudioStream.cpp if I ever get running games working in Snow Leopard. Interpreter seems to run in to a spinlock, dunno why yet, and Jit just crashes out. Core problems is probably something I won't be able to fix
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4316 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core/AudioCommon/Src/CoreAudioSoundStream.cpp')
| -rw-r--r-- | Source/Core/AudioCommon/Src/CoreAudioSoundStream.cpp | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/Source/Core/AudioCommon/Src/CoreAudioSoundStream.cpp b/Source/Core/AudioCommon/Src/CoreAudioSoundStream.cpp new file mode 100644 index 0000000000..49c0af6f26 --- /dev/null +++ b/Source/Core/AudioCommon/Src/CoreAudioSoundStream.cpp @@ -0,0 +1,88 @@ +// Copyright (C) 2003 Dolphin Project. + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, version 2.0. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License 2.0 for more details. + +// A copy of the GPL 2.0 should have been included with the program. +// If not, see http://www.gnu.org/licenses/ + +// Official SVN repository and contact information can be found at +// http://code.google.com/p/dolphin-emu/ + +#include "CoreAudioSoundStream.h" + + +AudioDeviceID outputDeviceId; +AudioStreamBasicDescription outputStreamBasicDescription; +AudioDeviceIOProcID outputProcId; +UInt32 outputBufferByteCount; + +static OSStatus outputIoProc(AudioDeviceID inDevice, const AudioTimeStamp *inNow,const AudioBufferList *inInputData, const AudioTimeStamp *inInputTime, AudioBufferList *outOutputData, const AudioTimeStamp *inOutputTime, void *inClientData) +{ + +} + +void CoreAudioSound::SoundLoop() +{ + CoreAudioInit(); + +} +CoreAudioSound::CoreAudioSound(CMixer *mixer) : SoundStream(mixer) +{ +} + +CoreAudioSound::~CoreAudioSound() +{ +} +bool CoreAudioSound::CoreAudioInit() +{ + + OSStatus status; + UInt32 size; + size = sizeof(outputDeviceId); + status = AudioHardwareGetProperty(kAudioHardwarePropertyDefaultOutputDevice, &size, &outputDeviceId); + if (outputDeviceId == kAudioDeviceUnknown) { + printf("CoreAudioDevice Unknown\n"); + return false; + } + + size = sizeof(outputStreamBasicDescription); + status = AudioDeviceGetProperty(outputDeviceId, 0, false, kAudioDevicePropertyStreamFormat, &size, &outputStreamBasicDescription); + + size = sizeof(outputBufferByteCount); + + outputBufferByteCount = 8192; + status = AudioDeviceSetProperty(outputDeviceId, 0, 0, false, kAudioDevicePropertyBufferSize, size, &outputBufferByteCount); + + status = AudioDeviceGetProperty(outputDeviceId, 0, false, kAudioDevicePropertyBufferSize, &size, &outputBufferByteCount); + + + status = AudioDeviceCreateIOProcID( outputDeviceId, outputIoProc, NULL, &outputProcId ); + + return true; + +} + +bool CoreAudioSound::Start() +{ + AudioDeviceStart(outputDeviceId,outputProcId); + return true; +} + + +void CoreAudioSound::Stop() +{ + return; + +} +void CoreAudioSound::Update() +{ + return; + +}
\ No newline at end of file |
