|
|
@ -11,6 +11,8 @@ |
|
|
|
|
|
|
|
|
namespace AudioCore { |
|
|
namespace AudioCore { |
|
|
|
|
|
|
|
|
|
|
|
using DownmixCoefficients = std::array<float_le, 4>; |
|
|
|
|
|
|
|
|
enum class SinkTypes : u8 { |
|
|
enum class SinkTypes : u8 { |
|
|
Invalid = 0, |
|
|
Invalid = 0, |
|
|
Device = 1, |
|
|
Device = 1, |
|
|
@ -50,7 +52,7 @@ public: |
|
|
std::array<u8, AudioCommon::MAX_CHANNEL_COUNT> input; |
|
|
std::array<u8, AudioCommon::MAX_CHANNEL_COUNT> input; |
|
|
INSERT_UNION_PADDING_BYTES(1); |
|
|
INSERT_UNION_PADDING_BYTES(1); |
|
|
bool down_matrix_enabled; |
|
|
bool down_matrix_enabled; |
|
|
std::array<float_le, 4> down_matrix_coef; |
|
|
|
|
|
|
|
|
DownmixCoefficients down_matrix_coef; |
|
|
}; |
|
|
}; |
|
|
static_assert(sizeof(SinkInfo::DeviceIn) == 0x11c, "SinkInfo::DeviceIn is an invalid size"); |
|
|
static_assert(sizeof(SinkInfo::DeviceIn) == 0x11c, "SinkInfo::DeviceIn is an invalid size"); |
|
|
|
|
|
|
|
|
@ -81,14 +83,14 @@ public: |
|
|
[[nodiscard]] std::vector<u8> OutputBuffers() const; |
|
|
[[nodiscard]] std::vector<u8> OutputBuffers() const; |
|
|
|
|
|
|
|
|
[[nodiscard]] bool HasDownMixingCoefficients() const; |
|
|
[[nodiscard]] bool HasDownMixingCoefficients() const; |
|
|
[[nodiscard]] const std::array<float_le, 4>& GetDownmixCoefficients() const; |
|
|
|
|
|
|
|
|
[[nodiscard]] const DownmixCoefficients& GetDownmixCoefficients() const; |
|
|
|
|
|
|
|
|
private: |
|
|
private: |
|
|
bool in_use{false}; |
|
|
bool in_use{false}; |
|
|
s32 use_count{}; |
|
|
s32 use_count{}; |
|
|
std::array<u8, AudioCommon::MAX_CHANNEL_COUNT> buffers{}; |
|
|
std::array<u8, AudioCommon::MAX_CHANNEL_COUNT> buffers{}; |
|
|
std::size_t sink_count{}; |
|
|
std::size_t sink_count{}; |
|
|
bool downmix{false}; |
|
|
|
|
|
std::array<float_le, 4> downmix_coefficients{}; |
|
|
|
|
|
|
|
|
bool has_downmix_coefs{false}; |
|
|
|
|
|
DownmixCoefficients downmix_coefficients{}; |
|
|
}; |
|
|
}; |
|
|
} // namespace AudioCore |
|
|
} // namespace AudioCore |