mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-10-29 05:40:23 -04:00
alsa: disable period event only with tsched=1
This commit is contained in:
parent
7b682c9690
commit
c96d2d1117
4 changed files with 6 additions and 5 deletions
|
|
@ -927,7 +927,7 @@ static int update_sw_params(struct userdata *u) {
|
|||
|
||||
pa_log_debug("setting avail_min=%lu", (unsigned long) avail_min);
|
||||
|
||||
if ((err = pa_alsa_set_sw_params(u->pcm_handle, avail_min)) < 0) {
|
||||
if ((err = pa_alsa_set_sw_params(u->pcm_handle, avail_min, !u->use_tsched)) < 0) {
|
||||
pa_log("Failed to set software parameters: %s", pa_alsa_strerror(err));
|
||||
return err;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -877,7 +877,7 @@ static int update_sw_params(struct userdata *u) {
|
|||
|
||||
pa_log_debug("setting avail_min=%lu", (unsigned long) avail_min);
|
||||
|
||||
if ((err = pa_alsa_set_sw_params(u->pcm_handle, avail_min)) < 0) {
|
||||
if ((err = pa_alsa_set_sw_params(u->pcm_handle, avail_min, !u->use_tsched)) < 0) {
|
||||
pa_log("Failed to set software parameters: %s", pa_alsa_strerror(err));
|
||||
return err;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -403,7 +403,7 @@ finish:
|
|||
return ret;
|
||||
}
|
||||
|
||||
int pa_alsa_set_sw_params(snd_pcm_t *pcm, snd_pcm_uframes_t avail_min) {
|
||||
int pa_alsa_set_sw_params(snd_pcm_t *pcm, snd_pcm_uframes_t avail_min, pa_bool_t period_event) {
|
||||
snd_pcm_sw_params_t *swparams;
|
||||
snd_pcm_uframes_t boundary;
|
||||
int err;
|
||||
|
|
@ -417,7 +417,7 @@ int pa_alsa_set_sw_params(snd_pcm_t *pcm, snd_pcm_uframes_t avail_min) {
|
|||
return err;
|
||||
}
|
||||
|
||||
if ((err = snd_pcm_sw_params_set_period_event(pcm, swparams, 0)) < 0) {
|
||||
if ((err = snd_pcm_sw_params_set_period_event(pcm, swparams, period_event)) < 0) {
|
||||
pa_log_warn("Unable to disable period event: %s\n", pa_alsa_strerror(err));
|
||||
return err;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -51,7 +51,8 @@ int pa_alsa_set_hw_params(
|
|||
|
||||
int pa_alsa_set_sw_params(
|
||||
snd_pcm_t *pcm,
|
||||
snd_pcm_uframes_t avail_min);
|
||||
snd_pcm_uframes_t avail_min,
|
||||
pa_bool_t period_event);
|
||||
|
||||
/* Picks a working mapping from the profile set based on the specified ss/map */
|
||||
snd_pcm_t *pa_alsa_open_by_device_id_auto(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue