7650 Commits

Author SHA1 Message Date
Chris Robinson
5b2489c3e8 Convert AmbDecConf to DecoderConfig for loading
This keeps AmbDecConf uses confined to multi-channel panning initialization,
and avoids spreading conversions and maps all over.
2021-06-23 09:44:58 -07:00
Chris Robinson
2b7c446363 Support built-in 3D ambisonic decoders 2021-06-23 03:22:54 -07:00
Chris Robinson
d28cf80b6f Allow querying ALC_ALL_DEVICES_SPECIFIER from loopback devices
They only return the default/driver name, since loopback devices don't have a
canonical name.
2021-06-22 03:25:31 -07:00
Chris Robinson
8f3148ba53 Don't allocate full buffer lines in each voice
There's now effectively a 16-channel limit for buffers (as determined by the
number of elements in DeviceBase::mSampleData). Any more than that are
ignored when mixing.
2021-06-21 09:04:33 -07:00
Chris Robinson
7584458ecd Avoid mixing extraneous channels 2021-06-21 07:36:47 -07:00
Chris Robinson
1c5a6ad92b Use a unique_ptr to hold raw byte memory 2021-06-21 03:54:49 -07:00
kcat
5b1d9030a1
Merge pull request #578 from alexey-lysiuk/coreaudio_channel_count
Fix getting of device channel count in CoreAudio backend
2021-06-21 03:40:16 -07:00
alexey.lysiuk
375838c473 Fix getting of device channel count in CoreAudio backend
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: 008a1abc57/audio/mac/audio_manager_mac.cc (266)
There were occasional crashes because of memory corruption which was confirmed by address sanitizer
2021-06-21 13:24:45 +03:00
Chris Robinson
04a6e418d7 Fix some size types 2021-06-18 21:03:31 -07:00
Chris Robinson
a7d2e2974f Initial attempt at CoreAudio playback enumeration 2021-06-18 20:55:00 -07:00
Chris Robinson
302b6f3ced Avoid altering SrcBufferSize in each channel 2021-06-14 16:56:46 -07:00
Chris Robinson
2f16fc190f Combine some checks 2021-06-14 01:51:04 -07:00
Chris Robinson
9c58ed73d3 Reorder some channel label indices 2021-06-13 21:45:42 -07:00
Chris Robinson
76a9fdae75 Use a unique_ptr to auto-free the jack ports list 2021-06-12 14:19:55 -07:00
Chris Robinson
7e32478327 Set the JACK output ports as terminal
Since there are no input ports associated with the output.
2021-06-12 12:54:31 -07:00
Chris Robinson
241107faeb Give a name to a lambda 2021-06-11 13:43:01 -07:00
Chris Robinson
f5bcd12be1 Improve name duplication handling with JACK
If a custom device pattern matches an existing one, its name will be replaced.
A separate loop is used to check and handle duplicate display names.
2021-06-10 16:15:00 -07:00
Chris Robinson
debb932573 Add an option to mix directly in the JACK callback 2021-06-08 10:52:37 -07:00
Chris Robinson
58a9549a58 Handle the listener position separate from the rotation matrix
It's too unstable with larger vectors. Even when the source and listener
positions are the same, floating point precision can cause noticeable rounding
errors.
2021-05-25 14:08:16 -07:00
Chris Robinson
62e6ce6d73 Leave an artifact on AppVeyor for a DLL build 2021-05-21 19:08:34 -07:00
Chris Robinson
8d868ff33f Fix setting the channel distance compensation buffers 2021-05-20 23:48:43 -07:00
Chris Robinson
0ec549ae7a Fix short initial packet preparation in alffplay 2021-05-20 23:48:43 -07:00
kcat
4733c9fc37
Merge pull request #564 from halx99/patch-1
Improve cmake to handle tvOS
2021-05-13 15:14:11 -07:00
kcat
8324471b8a
Merge pull request #559 from tatokis/split-sse-sse2
Allow enabling SSE without SSE2
2021-05-13 15:13:00 -07:00
HALX99
2516fdee66
Handle tvOS case 2021-05-13 19:05:47 +08:00
HALX99
66ebc3dc4b
Update CMakeLists.txt 2021-05-13 18:53:26 +08:00
Chris Robinson
1d7ff54f7d Update some comments in CMake 2021-05-13 01:46:09 -07:00
Chris Robinson
bab6e92980 Avoid shadowing a variable name 2021-05-13 01:44:06 -07:00
Chris Robinson
6aff0715a1 Don't fail fast on github CI 2021-05-13 01:44:06 -07:00
HALX99
44d58bc69c
Fix check_include_file return unexpected result (#563)
Don't overwrite existing CMAKE_TRY_COMPILE_PLATFORM_VARIABLES values.
2021-05-13 01:43:39 -07:00
Tasos Sahanidis
b40272d256
Allow enabling SSE without SSE2 2021-04-30 13:29:39 +03:00
Chris Robinson
2f0e37bc24 Add back some more missing includes 2021-04-27 23:03:24 -07:00
Chris Robinson
1195bba833 Add back a missing include 2021-04-27 19:46:33 -07:00
Chris Robinson
e3c0b60cc6 Rename alcontext.h and move some functions to context.cpp 2021-04-27 19:04:45 -07:00
Chris Robinson
3d8e705107 Move some functions to a more appropriate place 2021-04-27 17:01:27 -07:00
Chris Robinson
06dcfc3fcf Rename alcmain.h to device.h 2021-04-27 16:40:22 -07:00
Chris Robinson
061148072f Update include headers
Don't add alc/ to the include paths.
2021-04-27 16:04:54 -07:00
Chris Robinson
2571d9bbc4 Update some license notices
Permission to relicense was granted via email.
2021-04-27 11:56:29 -07:00
Chris Robinson
d06209ef5a Update includes 2021-04-27 08:39:17 -07:00
Chris Robinson
ff380298e4 Move BufferStorage and Voice to core 2021-04-27 08:26:42 -07:00
Chris Robinson
99157f149f Move ContextBase and VoiceChange to core 2021-04-27 08:04:09 -07:00
Chris Robinson
26c8c50c26 Partially implement an extension to hold sources on disconnect
Rather than stopping voices/sources when the device becomes disconnected, the
context can be set to leave them alone. As a consequence, their state will
remain as playing and they'll keep their last known sample offset indefinately.
For applications mindful of this behavior, it will allow resetting or reopening
the device to reconnect and automatically resume where it left off.
2021-04-26 20:25:24 -07:00
Chris Robinson
22a8ebff80 Move GetChannelIdxByName and clean up some more includes 2021-04-26 08:04:50 -07:00
Chris Robinson
2479483645 Move bformatdec to core 2021-04-25 18:08:08 -07:00
Chris Robinson
8d09d03ed3 Move async_event.h to core 2021-04-25 14:29:21 -07:00
Chris Robinson
0fe38c053d Move some functions to core
And clean up more includes
2021-04-25 11:36:37 -07:00
Chris Robinson
9b65ca4556 More include cleanup 2021-04-24 15:52:53 -07:00
Chris Robinson
440ce71dce Move GetHFOrderScales to a more appropriate place 2021-04-24 13:46:52 -07:00
Chris Robinson
f10cc1e1ac Update some more includes 2021-04-24 12:09:18 -07:00
Chris Robinson
fc7d55be4b Don't bother with al string types 2021-04-24 11:50:49 -07:00