Subject: Re: [linux-audio-dev] LAAGA - how are we doing ?
From: Paul Davis (pbd_AT_Op.Net)
Date: Thu May 03 2001 - 16:13:48 EEST
a few quick points:
> void (*write_to_channel)(int channel, void* buffer, long int count);
> void (*read_from_channel)(int channel, void* buffer, long int count);
IMHO, these are better written as:
void (*read_from_channel) (channel_id_t channel,
sample_t *buf,
guint32 nsamples,
guint32 offset);
void (*write_to_channel) (channel_id_t channel,
sample_t *buf,
guint32 nsamples,
guint32 offset,
gain_t gain);
the channel_id_t allows encoding of different types of channels (aes
supports hardware, internal bus, network).
the offset is needed to allow internal sample-accurate event
processing (since the reads/writes may be divided into several chunks
to cope with intra-block events).
the gain for writing is extremely efficient, since it avoids an extra
data copy when deliverying data with non-unity gain.
> - common transport functionality (prepare,start,top) which can
> be triggered by any of the clients, or the server
don't call this "transport" please.
you can stop the engine itself - this simply means that it doesn't
ever call the plugin chain. in aes, stopping the engine actually
closes the audio interface. i suppose that notifying plugins that we
are stopping for a while is not a terrible idea, though i haven't
found it necessary so far.
--p
This archive was generated by hypermail 2b28 : Thu May 03 2001 - 17:07:25 EEST