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!

Reply via email to