Re: Problems in writing test apps

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



"haoshun" <haoshun@xxxxxxxxxxx> writes:

> Hi:
>       sorry,forget to add the subject right now...
>       I'm confused by a problem when i modify a test application
>       "alsa-lib-1.0.13/test/control.c".  I wanna use the structure
>       "snd_ctl_elem_value_t",but when i write like this:
>              snd_ctl_elem_value_t aaa;
>       there will be an error:
>              storage size of 'aaa' isn't known
>      while 
>              snd_ctl_elem_value_t *aaa;
>      makes no errors. But i can't change it directly such as:
>              aaa->id=test_id ; //test_id is defined before
>      cause it will bring an error:
>              dereferencing pointer to incomplete type
>      I think i should use the function like
>      "snd_ctl_elem_info_set_id",but i just want to know why,i don't
>      think it disobeys the C syntax.Is there something different in
>      the ALSA making procedure?or Makefile?

The ALSA data types are designed to be opaque. You cannot access the 
members of the structures directly as the structure definitions are 
simply not exported on purpose.  You have to use the access functions.
E.g. allocating a snd_ctl_elem_value_t structure will be done with the
int snd_ctl_elem_value_malloc(snd_ctl_elem_value_t **ptr)

Matthias
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux