3 * Copyright (C) 2011-2013 Team XBMC
6 * This Program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2, or (at your option)
11 * This Program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with XBMC; see the file COPYING. If not, see
18 * <http://www.gnu.org/licenses/>.
24 #if defined(TARGET_DARWIN_OSX)
26 #include "CoreAudioDevice.h"
28 // There is only one AudioSystemObject instance system-side.
29 // Therefore, all CCoreAudioHardware methods are static
30 class CCoreAudioHardware
33 static bool GetAutoHogMode();
34 static void SetAutoHogMode(bool enable);
35 static AudioStreamBasicDescription* FormatsList(AudioStreamID stream);
36 static AudioStreamID* StreamsList(AudioDeviceID device);
37 static void ResetAudioDevices();
38 static void ResetStream(AudioStreamID stream);
39 static AudioDeviceID FindAudioDevice(const std::string &deviceName);
40 static AudioDeviceID GetDefaultOutputDevice();
41 static void GetOutputDeviceName(std::string &name);
42 static UInt32 GetOutputDevices(CoreAudioDeviceList *pList);