Chris Robinson
eac427dff7
Report unexpected types for the sample rate from PipeWire
2021-11-14 11:43:33 -08:00
Chris Robinson
bdc9d6955f
Workaround a GCC bug with noexcept(this->...)
2021-11-14 05:59:06 -08:00
Chris Robinson
cf85ffd22f
Support "enum" choices for sample rates with PipeWire
2021-11-14 05:58:39 -08:00
Chris Robinson
3b9c831c30
Update changelog
2021-11-13 09:30:42 -08:00
Chris Robinson
5eb93f6c74
Update alsoft-config
2021-11-11 22:40:10 -08:00
Chris Robinson
bbff1efa2a
Update some in-progress extension types
2021-11-10 01:21:49 -08:00
Chris Robinson
35348869a9
Disable MSVC warning 4127
...
"conditional expression is constant", which C++14 can't do anything about since
'if constexpr' was added in C++17. The checks are necessary since it's dealing
with a templatized type, or a compile-time non-macro constant for the target
system's endian order.
2021-11-08 21:16:33 -08:00
Chris Robinson
e3168c9112
Add an extension to request stereo UHJ output
2021-11-08 16:56:05 -08:00
Chris Robinson
ad3d82c3f4
Fix up some al::optional ops
2021-11-08 16:48:33 -08:00
Chris Robinson
c06abe2dfe
Make al::optional constexpr
2021-11-07 01:24:57 -08:00
Chris Robinson
b81fa0dc90
Don't trace unused metadata properties and node types
...
As useful as it may sometimes be to see what's being provided, at least under
kwin_wayland a not-insignificant number of video-related nodes and metadata
properties are sent through normal use of the system (most notably when
hovering over the taskbar to see window thumbnails).
2021-10-26 09:40:10 -07:00
Chris Robinson
4de789ba68
Don't change the requested format when it's usable with WASAPI
2021-10-25 06:37:48 -07:00
Chris Robinson
49a36334bd
Use a tri-state optional for the stereo output mode
2021-10-24 11:51:39 -07:00
Chris Robinson
096bed35fa
Pass a parameter to aluInitRenderer to specify UHJ output
2021-10-23 11:37:46 -07:00
Chris Robinson
837652624b
Remove an unnecessary noexcept
2021-10-23 08:14:30 -07:00
Chris Robinson
1a448b2e92
Fix a double-release
2021-10-23 07:57:17 -07:00
Chris Robinson
d0e5e138e2
Use a flag to indicate headphone-like output
2021-10-23 07:51:06 -07:00
Chris Robinson
0e93fc53f4
Don't reset the ambisonic layout and scale with stereo output
2021-10-23 05:48:47 -07:00
Chris Robinson
d5dc2828bf
Don't pass the whole decoder to InitDistanceComp
2021-10-23 03:57:49 -07:00
Chris Robinson
aa92c6c0a8
Fix the ambisonic scaling used by custom decoders
2021-10-23 03:24:51 -07:00
Chris Robinson
f963a2c543
Remove some lingering mentions of surround51rear
2021-10-21 07:38:57 -07:00
Chris Robinson
15827b2887
Don't declare functions outside of where they're used
2021-10-21 06:03:37 -07:00
Chris Robinson
e70f3e97b3
Remove the last external uses of GetConfigValue
2021-10-21 05:54:03 -07:00
Chris Robinson
ed3e40c22d
Add more noexcept
2021-10-14 12:44:05 -07:00
Chris Robinson
8305973e7a
Properly noexcept the destroy methods
2021-10-14 12:44:05 -07:00
Devin Braune
0e9ce1aa83
Fix cone angle calculation ( #605 )
2021-10-14 11:18:54 -07:00
Chris Robinson
6a3c4c09f8
Explicitly declare optional_storage's default constructor
...
This should help MSVC
2021-10-10 05:12:24 -07:00
Chris Robinson
92b65fa15f
Avoid manually prefixing EventType_ enums
...
And use a better fitting type that matches how it's used
2021-10-10 05:07:31 -07:00
Chris Robinson
87e88e97e2
Try again to satisfy MSVC
2021-10-09 08:41:08 -07:00
Chris Robinson
85d98e32ed
Explicitly initialize the first union member
2021-10-09 05:56:39 -07:00
Chris Robinson
2d3b501fd8
Add more noexcept when possible
...
And try to fix MSVC missing a constructor
2021-10-09 05:30:16 -07:00
Chris Robinson
c893ca0491
Always define optional::operator=.
...
MSVC doesn't seem to like using enable_if for special member functions.
2021-10-09 03:39:33 -07:00
Chris Robinson
720bedb455
Make optional more trivial when possible
2021-10-08 18:08:48 -07:00
Chris Robinson
e3b8f8fe27
Make a construct_at method amd use it
2021-10-08 11:05:36 -07:00
Chris Robinson
8da4eaff29
Add the gnu::malloc attribute to al_malloc and al_calloc
...
This helps the compiler know the returned pointer won't alias another pointer
or existing object, since it's a fresh allocation, and is unlikely to return
nullptr.
2021-10-07 13:37:47 -07:00
Chris Robinson
c3e2fbef49
Avoid double indirection to access spa_data::datas
2021-10-07 13:36:33 -07:00
Chris Robinson
86abe8dca2
Fix the render step value for WinMM
2021-10-05 03:02:45 -07:00
Chris Robinson
90cfd090d6
Fix inverted macro check
2021-10-04 00:08:39 -07:00
Chris Robinson
1a0287e2a0
Don't call OutputDebugStringW in Release builds
2021-10-03 23:49:06 -07:00
Chris Robinson
f92cc479d8
Silence some static analysis warnings
2021-10-03 08:02:57 -07:00
Chris Robinson
53d9033ec7
Remove a couple unnecessary variables
2021-10-03 06:48:00 -07:00
Chris Robinson
38d3ea3501
Make simpler likely/unlikely functions and use them in some places
2021-10-03 06:41:14 -07:00
Chris Robinson
c66e4f5bd4
Use a constexpr char array instead of duplicating strings
2021-09-19 17:02:10 -07:00
Chris Robinson
52bfe430a3
Replace a hardcoded offset value
2021-09-14 15:09:58 -07:00
Chris Robinson
302d662c0a
Wait for the pipewire capture stream to start before returning
2021-09-13 14:30:38 -07:00
Chris Robinson
9c136bb3b4
Track whether nodes are marked as headphones
...
Newer versions of PipeWire copy the PW_KEY_DEVICE_FORM_FACTOR property to the
sink node, so this should work to detect whether the device should be treated
as headphones or not.
2021-09-12 03:04:46 -07:00
Chris Robinson
c40e7db82a
Use a constexpr char array for a reused prefix string
2021-09-12 02:19:38 -07:00
Chris Robinson
2df78e49b1
Use a local unique_ptr array instead of a struct member
...
For the sndio poll fds.
2021-09-01 20:10:30 -07:00
Chris Robinson
d97ff8f1c4
Remove a leftover debug trace
2021-09-01 20:06:24 -07:00
Chris Robinson
325523b06a
Fix when a PipeWire metadata property is being cleared
2021-09-01 20:06:24 -07:00