mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-02 09:01:46 -05:00
udev-detect, alsa-card: Adopt avoid resampling option from daemon.conf
Previously, the "avoid-resampling" option of daemon.conf is to make the daemon try to use the stream sample rate if possible for all sinks or sources. This patch applies this option to module-udev-detect and module-alsa-card as a module argument in order to override the default value of daemon.conf. As a result, user can use this argument for more fine-grained control. e.g.) set it false in daemon.conf and set it true for module-udev-detect or a particular module-alsa-card in default.pa.(or vice versa) To set it, use "avoid_resampling=true or false" as the module argument. Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
This commit is contained in:
parent
3b2a5bdc10
commit
ef094638f5
8 changed files with 64 additions and 8 deletions
|
|
@ -1795,7 +1795,15 @@ pa_source *pa_alsa_source_new(pa_module *m, pa_modargs *ma, const char*driver, p
|
|||
uint32_t nfrags, frag_size, buffer_size, tsched_size, tsched_watermark;
|
||||
snd_pcm_uframes_t period_frames, buffer_frames, tsched_frames;
|
||||
size_t frame_size;
|
||||
bool use_mmap = true, b, use_tsched = true, d, ignore_dB = false, namereg_fail = false, deferred_volume = false, fixed_latency_range = false;
|
||||
bool use_mmap = true;
|
||||
bool use_tsched = true;
|
||||
bool ignore_dB = false;
|
||||
bool namereg_fail = false;
|
||||
bool deferred_volume = false;
|
||||
bool fixed_latency_range = false;
|
||||
bool b;
|
||||
bool d;
|
||||
bool avoid_resampling;
|
||||
pa_source_new_data data;
|
||||
bool volume_is_set;
|
||||
bool mute_is_set;
|
||||
|
|
@ -1807,6 +1815,7 @@ pa_source *pa_alsa_source_new(pa_module *m, pa_modargs *ma, const char*driver, p
|
|||
|
||||
ss = m->core->default_sample_spec;
|
||||
map = m->core->default_channel_map;
|
||||
avoid_resampling = m->core->avoid_resampling;
|
||||
|
||||
/* Pick sample spec overrides from the mapping, if any */
|
||||
if (mapping) {
|
||||
|
|
@ -2046,6 +2055,13 @@ pa_source *pa_alsa_source_new(pa_module *m, pa_modargs *ma, const char*driver, p
|
|||
}
|
||||
data.namereg_fail = namereg_fail;
|
||||
|
||||
if (pa_modargs_get_value_boolean(ma, "avoid_resampling", &avoid_resampling) < 0) {
|
||||
pa_log("Failed to parse avoid_resampling argument.");
|
||||
pa_source_new_data_done(&data);
|
||||
goto fail;
|
||||
}
|
||||
data.avoid_resampling = avoid_resampling;
|
||||
|
||||
pa_source_new_data_set_sample_spec(&data, &ss);
|
||||
pa_source_new_data_set_channel_map(&data, &map);
|
||||
pa_source_new_data_set_alternate_sample_rate(&data, alternate_sample_rate);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue