Paul Davis wrote:
>
> this would be a client that didn't care about buffer size or sample
> rate or any other potential notifications. The callbacks that exist
> right now can be set with:
>
> int laaga_set_process_callback (laaga_client_t *, LaagaProcessCallback, void *arg);
> int laaga_set_buffer_size_callback (laaga_client_t *, LaagaBufferSizeCallback, void
>*arg);
> int laaga_set_sample_rate_callback (laaga_client_t *, LaagaSampleRateCallback, void
>*arg);
> int laaga_set_port_registration_callback (laaga_client_t *,
>LaagaPortRegistrationCallback, void *);
> int laaga_set_port_monitor_callback (laaga_client_t *, LaagaPortMonitorCallback,
>void *);
Paul, I'd suggest the following (less functions and infinite
extensibility without any new functions):
typedef int (*LaagaCallback)(laaga_client_t *client, LaagaPropertyId);
/* To get callback arg */
void *laaga_get_property_custom(laaga_client_t *client,
LaagaPropertyId);
/* To get sample rate, buffer_size, etc. */
int laaga_get_value_integer(laaga_client_t *client, LaagaPropertyId);
int laaga_set_property_callback(laaga_client_t *client, LaagaPropertyId,
LaagaCallback);
int laaga_set_property_custom(laaga_client_t *client, LaagaPropertyId,
void *);
No other functions (do you want a simple client API, don't you?)
--
Abramo Bagnara mailto:[EMAIL PROTECTED]
Opera Unica Phone: +39.546.656023
Via Emilia Interna, 140
48014 Castel Bolognese (RA) - Italy
ALSA project http://www.alsa-project.org
It sounds good!