Con't work on ALSA nperiod selection (see also d3d120fa)

This commit is contained in:
Robin Gareus 2020-04-28 17:56:17 +02:00
parent d3d120fa28
commit 8e482ef0fb
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04
7 changed files with 12 additions and 8 deletions

View File

@ -1552,7 +1552,11 @@ EngineControl::set_nperiods_popdown_strings ()
vector<string> s;
if (backend->can_set_period_size()) {
np = backend->available_period_sizes (get_driver());
if (backend->use_separate_input_and_output_devices ()) {
np = backend->available_period_sizes (get_driver(), get_output_device_name ());
} else {
np = backend->available_period_sizes (get_driver(), get_device_name ());
}
}
for (vector<uint32_t>::const_iterator x = np.begin(); x != np.end(); ++x) {

View File

@ -280,7 +280,7 @@ public:
}
/** Returns a vector of supported period-sizes for the given driver */
virtual std::vector<uint32_t> available_period_sizes (const std::string& driver) const
virtual std::vector<uint32_t> available_period_sizes (const std::string& driver, const std::string& device) const
{
return std::vector<uint32_t> ();
}

View File

@ -24,7 +24,7 @@ namespace ARDOUR {
struct ALSADeviceInfo {
unsigned int max_channels;
unsigned int min_rate, max_rate;
unsigned int min_nper, min_nper;
unsigned int min_nper, max_nper;
unsigned long min_size, max_size;
bool valid;
};

View File

@ -267,11 +267,11 @@ AlsaAudioBackend::available_output_channel_count (const std::string& device) con
}
std::vector<uint32_t>
AlsaAudioBackend::available_period_sizes (const std::string& driver) const
AlsaAudioBackend::available_period_sizes (const std::string& driver, const std::string& device) const
{
std::vector<uint32_t> ps;
ALSADeviceInfo *nfo = NULL;
ALSADeviceInfo* nfo = NULL;
if (device == get_standard_device_name(DeviceNone)) {
return ps;
}

View File

@ -140,7 +140,7 @@ class AlsaAudioBackend : public AudioBackend, public PortEngineSharedImpl
std::vector<float> available_sample_rates2 (const std::string&, const std::string&) const;
std::vector<uint32_t> available_buffer_sizes (const std::string& device) const;
std::vector<uint32_t> available_buffer_sizes2 (const std::string&, const std::string&) const;
std::vector<uint32_t> available_period_sizes (const std::string& driver) const;
std::vector<uint32_t> available_period_sizes (const std::string& driver, const std::string& device) const;
uint32_t available_input_channel_count (const std::string& device) const;
uint32_t available_output_channel_count (const std::string& device) const;

View File

@ -215,7 +215,7 @@ JACKAudioBackend::available_buffer_sizes (const string& device) const
}
std::vector<uint32_t>
JACKAudioBackend::available_period_sizes (const std::string& driver) const
JACKAudioBackend::available_period_sizes (const std::string& driver, const std::string&) const
{
vector<uint32_t> s;
if (ARDOUR::get_jack_audio_driver_supports_setting_period_count (driver)) {

View File

@ -71,7 +71,7 @@ class JACKAudioBackend : public AudioBackend {
std::vector<float> available_sample_rates (const std::string& device) const;
std::vector<uint32_t> available_buffer_sizes (const std::string& device) const;
std::vector<uint32_t> available_period_sizes (const std::string& driver) const;
std::vector<uint32_t> available_period_sizes (const std::string& driver, const std::string& device) const;
uint32_t available_input_channel_count (const std::string& device) const;
uint32_t available_output_channel_count (const std::string& device) const;