aboutsummaryrefslogtreecommitdiffstats
path: root/alc/backends/coreaudio.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Use cinttypes instead of inttypes.h in C++Chris Robinson2023-06-011-1/+1
|
* Specify the device type for the event callbackChris Robinson2023-06-011-14/+14
|
* Report device change events from CoreAudio (#856)Deal(一线灵)2023-06-011-1/+50
| | | | | | | | | * Report device change events from CoreAudio * Fix compile error * Use optional * Use optional, no unique_ptr
* Include IOAudioTypes.h only when neededChris Robinson2023-05-311-4/+3
|
* Avoid using al::vector unnecessarilyChris Robinson2023-05-121-2/+2
|
* Clean up some more includesChris Robinson2023-05-121-4/+4
|
* Use std::byte instead of a custom al::byteChris Robinson2023-05-041-3/+3
|
* Handle signed int values holding FourCC codesChris Robinson2023-04-261-0/+1
|
* Print CoreAudio errors as FourCC codes when possibleChris Robinson2023-04-261-43/+58
|
* Check the correct device property to detect headphonesChris Robinson2023-04-251-3/+3
|
* Try to detect headphones with CoreAudioChris Robinson2023-04-241-0/+18
|
* Change a function to a static methodChris Robinson2022-11-131-1/+1
|
* Add preliminary support for 7.1.4 output modesChris Robinson2022-11-031-0/+1
| | | | | | | | I don't know how different sound APIs handle 7.1.4 ("Atmos" or "Auro3D") output, but currently it simply specifies the additional channels with the height channel labels. This isn't likely how it works for a virtualized channel bed, for playing over other with-height configurations (7.1.2, 5.1.4, etc), but this should be an okay start.
* Fix the ringbuffer write sizeChris Robinson2022-08-181-1/+1
|
* Use an intermediate buffer for writing to the ringbufferChris Robinson2022-08-181-26/+11
| | | | | It doesn't seem as though AudioUnitRender likes being given two buffers to render/capture samples into segmented memory.
* Pass the action flags to AudioUnitRender from the callbackChris Robinson2022-08-171-3/+2
|
* Pass the bus number to AudioUnitRender from the callbackChris Robinson2022-08-161-2/+2
|
* Remove a couple unnecessary castsChris Robinson2022-05-131-3/+3
|
* Fix the CoreAudio output element valueChris Robinson2022-05-101-1/+1
|
* Fix CoreAudio audio unit element values for captureChris Robinson2022-05-021-19/+21
|
* Handle 3D7.1 as a separate channel configurationChris Robinson2022-04-261-0/+1
| | | | | | | It's treated as 5.1 + 2 aux channels. This allows AL_DIRECT_CHANNELS_SOFT to behave better, not forwarding rear left/right channel inputs to lower front and upper rear, and allows reporting a more appropriate output mode to the app instead of 7.1.
* Define the CoreAudio default name only when neededChris Robinson2022-02-231-2/+4
|
* Avoid 5.1Rear as its own channel configurationChris Robinson2021-07-301-1/+0
| | | | | | It messes with 5.1 sources using direct channels, and the surround channels are supposed to map to the side labels. Individual backends can deal with the channel order/label differences, as they already do to a degree.
* Set the CoreAudio stream according to the device channel formatChris Robinson2021-07-241-53/+19
|
* Attempt to support capture enumeration with CoreAudioChris Robinson2021-07-101-45/+72
|
* Use variables and types when they're definedChris Robinson2021-07-091-0/+6
|
* Don't define enumeration functions when they're not usedChris Robinson2021-07-091-16/+25
|
* Use a unique_ptr to hold raw byte memoryChris Robinson2021-06-211-2/+4
|
* Fix getting of device channel count in CoreAudio backendalexey.lysiuk2021-06-211-3/+1
| | | | | | | AudioBufferList contains a variable length array of mNumberBuffers elements, so it should not be created with the default constructor like usual class instances. Unfortunately, Apple developer site documentation is literally empty for this API. There is a bunch of comments in framework's header files. Here is the correct usage of AudioBufferList pointer from Chromium: https://chromium.googlesource.com/chromium/src/media/+/008a1abc573e1f8bcf513b50ce48a923b30ef130/audio/mac/audio_manager_mac.cc#266 There were occasional crashes because of memory corruption which was confirmed by address sanitizer
* Fix some size typesChris Robinson2021-06-181-2/+2
|
* Initial attempt at CoreAudio playback enumerationChris Robinson2021-06-181-14/+253
|
* Handle tvOS caseHALX992021-05-131-3/+3
|
* Add back a missing includeChris Robinson2021-04-271-0/+1
|
* Update include headersChris Robinson2021-04-271-7/+6
| | | | Don't add alc/ to the include paths.
* Use the DeviceBase for the backendChris Robinson2021-04-241-3/+3
|
* Move some more sources to coreChris Robinson2021-04-241-1/+1
|
* Initialize the new audio unit before disposing the old oneChris Robinson2021-03-091-6/+6
|
* Allow calling BackendBase::open multiple times on playback devicesChris Robinson2021-03-081-1/+11
| | | | | | | | | | | It will not be called while the device is running. If the first call succeeds, a subsequent call that happens to fail must leave the existing device state as it was so it can be resumed. This is a rough first pass. It will fail when trying to re-open the same device which can only be opened once (for instance, with direct hardware access, on hardware that doesn't do its own mixing). Some backends won't guarantee the new device is usable until the reset() or start() call.
* Move alexcpt to coreChris Robinson2020-12-241-1/+0
|
* Avoid AL/ALC types in the backendsChris Robinson2020-12-171-15/+15
|
* Don't use ALC error enums for the backend error codeChris Robinson2020-12-171-25/+36
|
* Don't return an enum from captureSamplesChris Robinson2020-12-171-9/+8
| | | | It's always no_error
* Move logging to coreChris Robinson2020-12-171-1/+1
|
* Change a couple macros into constexpr variablesChris Robinson2020-11-281-1/+1
|
* Fix a UInt32 variable typeChris Robinson2020-11-241-1/+1
|
* Fill all buffers for CoreAudio playbackChris Robinson2020-11-241-2/+6
|
* Disable buffer allocation with CoreAudio captureChris Robinson2020-11-241-0/+8
|
* Ceil the scaled buffer size instead of roundChris Robinson2020-11-231-1/+3
| | | | The result has to be large enough to get the original requested size from it.
* Fix buffer offset for the second conversionChris Robinson2020-11-231-1/+1
|
* Fix capture buffer size scaling in CoreAudioChris Robinson2020-11-231-5/+5
|