|
|
@ -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};
|
|
|
|
bool has_downmix_coefs{false};
|
|
|
|
std::array<float_le, 4> downmix_coefficients{};
|
|
|
|
DownmixCoefficients downmix_coefficients{};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
} // namespace AudioCore
|
|
|
|
} // namespace AudioCore
|
|
|
|