alsa: Move UCM port availability updating to the mixer code

Previously module-alsa-card assigned to pa_alsa_jack.plugged_in
directly, and then did the port availability updating manually. The
idea of pa_alsa_jack_set_plugged_in() is to move the availability
updating to the mixer infrastructure, where it really belongs.

Similarly, pa_alsa_jack.has_control was previously modified directly
from several places. The has_control field affects the port
availability, and pa_alsa_jack_set_has_control() takes care of
updating the availability.

For now, pa_alsa_jack_set_plugged_in() and
pa_alsa_jack_set_has_control() only update the port availability
when using UCM. My plan is to adapt the traditional mixer code later.
This commit is contained in:
Tanu Kaskinen 2015-05-04 21:03:43 +03:00
parent 40714b6bcc
commit c9557e6969
6 changed files with 112 additions and 17 deletions

View file

@ -148,8 +148,11 @@ struct pa_alsa_ucm_device {
pa_dynarray *ucm_ports; /* struct ucm_port */
pa_alsa_jack *jack;
pa_available_t available;
};
void pa_alsa_ucm_device_update_available(pa_alsa_ucm_device *device);
struct pa_alsa_ucm_modifier {
PA_LLIST_FIELDS(pa_alsa_ucm_modifier);