mic: Refactor microphone state and management. (#7134)
This commit is contained in:
parent
831c9c4a38
commit
5118798c30
10 changed files with 137 additions and 145 deletions
|
@ -15,17 +15,29 @@ namespace AudioCore {
|
|||
class StaticInput final : public Input {
|
||||
public:
|
||||
StaticInput();
|
||||
~StaticInput() override;
|
||||
~StaticInput() = default;
|
||||
|
||||
void StartSampling(const InputParameters& params) override;
|
||||
void StopSampling() override;
|
||||
void AdjustSampleRate(u32 sample_rate) override;
|
||||
void StartSampling(const InputParameters& params) {
|
||||
parameters = params;
|
||||
is_sampling = true;
|
||||
}
|
||||
|
||||
Samples Read() override;
|
||||
void StopSampling() {
|
||||
is_sampling = false;
|
||||
}
|
||||
|
||||
bool IsSampling() {
|
||||
return is_sampling;
|
||||
}
|
||||
|
||||
void AdjustSampleRate(u32 sample_rate) {}
|
||||
|
||||
Samples Read() {
|
||||
return (parameters.sample_size == 8) ? CACHE_8_BIT : CACHE_16_BIT;
|
||||
}
|
||||
|
||||
private:
|
||||
u16 sample_rate = 0;
|
||||
u8 sample_size = 0;
|
||||
bool is_sampling = false;
|
||||
std::vector<u8> CACHE_8_BIT;
|
||||
std::vector<u8> CACHE_16_BIT;
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue