[pulseaudio-discuss] [PATCH 6/6] alsa: load jack detection module

David Henningsson david.henningsson at canonical.com
Tue Apr 5 23:08:34 PDT 2011


Hi Margarita,

I have a question, maybe you can explain to me (see below) :

On 2011-04-05 22:34, Margarita Olaya wrote:
> @@ -352,6 +372,40 @@ static void verify_access(struct userdata *u,
> struct device *d) {
>       }
>   }
>
> +static void verify_input_access(struct userdata *u, struct device *d) {
> +    char *cd;
> +    char *args;
> +    pa_card *card;

(The "card" variable is not used in the function.)

> +    pa_bool_t accessible;
> +
> +    pa_assert(u);
> +    pa_assert(d);
> +
> +    cd = pa_sprintf_malloc("%s/input/event%s",
> udev_get_dev_path(u->udev), path_get_input_id(d->path));
> +    accessible = access(cd, R_OK)>= 0;
> +    pa_log_debug("%s is accessible: %s", cd, pa_yes_no(accessible));
> +
> +    if (d->module == PA_INVALID_INDEX) {
> +
> +        /* If we are not loaded, try to load */
> +        if (accessible) {
> +            pa_module *m;
> +
> +            args = pa_sprintf_malloc("device_id=\"%s\""
> +                            "card_name=\"%s\" ", cd, d->card_name);

It seems like d->card_name is only set in card_changed, which is not 
called for input devices. Won't this card name always be empty?

Also, if a card is marked PULSE_IGNORE, will that make the card's input 
devices to be ignored as well? Before starting the module jack detection 
module, can you make sure that the card is loaded by PA?

-- 
David Henningsson, Canonical Ltd.
http://launchpad.net/~diwic



More information about the pulseaudio-discuss mailing list