Re: [linux-audio-dev] LAAGA - how are we doing ?

New Message Reply About this list Date view Thread view Subject view Author view Other groups

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


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Thu May 03 2001 - 17:07:25 EEST