aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWarren Dukes <warren.dukes@gmail.com>2005-03-13 21:33:55 +0000
committerWarren Dukes <warren.dukes@gmail.com>2005-03-13 21:33:55 +0000
commit92f1bb82f7d9b7df73f4f3e09abc97d5fe8e229c (patch)
tree45d9946c3784aafb70cfbb70dc8f4db9c752cedf
parent8936789631ce729e44fc8fc0296d4b7c0cf0c5f6 (diff)
downloadmpd-92f1bb82f7d9b7df73f4f3e09abc97d5fe8e229c.tar.gz
mpd-92f1bb82f7d9b7df73f4f3e09abc97d5fe8e229c.tar.xz
mpd-92f1bb82f7d9b7df73f4f3e09abc97d5fe8e229c.zip
some broken OS X stuff
git-svn-id: https://svn.musicpd.org/mpd/trunk@3075 09075e82-0dd4-0310-85a5-a0d7c8717e4f
-rw-r--r--configure.ac1
-rw-r--r--src/audioOutputs/audioOutput_osx.c20
2 files changed, 20 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac
index a21304503..c405448a1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -106,6 +106,7 @@ enable_osx=no
case $host in
*-darwin*)
AC_DEFINE(HAVE_OSX, 1, [Define for compiling OS X support])
+ MPD_LIBS="$MPD_LIBS -framework CoreAudio"
enable_osx=yes ;;
esac
diff --git a/src/audioOutputs/audioOutput_osx.c b/src/audioOutputs/audioOutput_osx.c
index d4b3401a1..fc5ae13b9 100644
--- a/src/audioOutputs/audioOutput_osx.c
+++ b/src/audioOutputs/audioOutput_osx.c
@@ -23,9 +23,11 @@
#include "../conf.h"
#include "../log.h"
+#include <CoreAudio/AudioHardware.h>
#include <stdlib.h>
typedef struct _OsxData {
+ AudioDeviceID deviceID;
} OsxData;
static OsxData * newOsxData() {
@@ -34,6 +36,22 @@ static OsxData * newOsxData() {
return ret;
}
+static int osx_testDefault() {
+ int err;
+ AudioDeviceID deviceID;
+ UInt32 propertySize = sizeof(deviceID);
+
+ err = AudioHardwareGetProperty(
+ kAudioHardwarePropertyDefaultOutputDevice,
+ &propertySize, &deviceID);
+ if(err || deviceID == kAudioDeviceUnknown) {
+ WARNING("Not able to get the default OS X device\n");
+ return -1;
+ }
+
+ return 0;
+}
+
static int osx_initDriver(AudioOutput * audioOutput, ConfigParam * param) {
OsxData * od = newOsxData();
@@ -79,7 +97,7 @@ static int osx_play(AudioOutput * audioOutput, char * playChunk, int size) {
AudioOutputPlugin osxPlugin =
{
"osx",
- NULL,
+ osx_testDefault,
osx_initDriver,
osx_finishDriver,
osx_openDevice,