Re: [LAD] Plugin buffer size restrictions

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Fons Adriaensen <fons@...>
Cc: <linux-audio-dev@...>
Date: Friday, June 1, 2012 - 10:09 pm

On Mon, 2012-05-28 at 17:08 -0400, David Robillard wrote:
[...]

Back to the buffer size issue... (which is actually tangent to what this
discussion ended up being about but is sometimes useful anyway)

I am experimenting with adding the following callback. As far as
describing the block length goes, I can't imagine this not being able to
represent any reasonable situation, but just in case, I present:

/**
Get the limits on block length.

The values here are restrictions on the sample_count parameter of
LV2_Descriptor::run().

@param min Set to the minimum block length.
@param max Set to the maximum block length, or 0 for unlimited.
@param multiple_of Set to a number the block length will always be
a multiple of, possibly 1 for arbitrary block lengths.
@param power_of Set to a number the block length will always be
a power of, or 0 if no such restriction applies.
*/
LV2_Buf_Size_Status
get_block_length(LV2_Buf_Size_Buf_Feature_Handle handle,
uint32_t* min,
uint32_t* max,
uint32_t* multiple_of,
uint32_t* power_of);

This callback just describes reality to the plugin at instantiation
time. As far as plugins specifying requirements goes, it seems complete
to allow the plugin to specify, for each field:

1) A specific value
2) That some value must be given

The goal here is simply to be able to convey any reasonable restriction
on the block length. Whether or not people will/can actually implement
a given restriction is irrelevant.

That said, in practice, I suspect:

* max will be usually available (e.g. the Jack buffer size) and is
widely useful
* convolution plugins may require power_of 2 and perhaps min
* requirements for multiple_of, or power_of any value but 2, are
probably useless

If anyone can think of a block length restriction that can not be
described by this scheme, do tell.

Cheers,

-dr

_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[LAD] Plugin buffer size restrictions, David Robillard, (Sat May 26, 2:43 am)
Re: [LAD] Plugin buffer size restrictions, Fons Adriaensen, (Sat May 26, 10:02 am)
Re: [LAD] Plugin buffer size restrictions, Tim E. Real, (Sat May 26, 11:47 pm)
Re: [LAD] Plugin buffer size restrictions, David Robillard, (Sun May 27, 12:58 am)
Re: [LAD] Plugin buffer size restrictions, David Robillard, (Sat May 26, 6:24 pm)
Re: [LAD] Plugin buffer size restrictions, Fons Adriaensen, (Sat May 26, 8:05 pm)
Re: [LAD] Plugin buffer size restrictions, Stefano D'Angelo, (Sun May 27, 6:59 pm)
Re: [LAD] Plugin buffer size restrictions, Fons Adriaensen, (Sun May 27, 8:26 pm)
Re: [LAD] Plugin buffer size restrictions, Stefano D'Angelo, (Sun May 27, 9:00 pm)
Re: [LAD] Plugin buffer size restrictions, Fons Adriaensen, (Sun May 27, 9:33 pm)
Re: [LAD] Plugin buffer size restrictions, Stefano D'Angelo, (Sun May 27, 11:59 pm)
Re: [LAD] Plugin buffer size restrictions, Fons Adriaensen, (Mon May 28, 12:17 pm)
Re: [LAD] Plugin buffer size restrictions, Stefano D'Angelo, (Mon May 28, 3:05 pm)
Re: [LAD] Plugin buffer size restrictions, Fons Adriaensen, (Mon May 28, 5:01 pm)
Re: [LAD] Plugin buffer size restrictions, David Robillard, (Mon May 28, 5:30 pm)
Re: [LAD] Plugin buffer size restrictions, Fons Adriaensen, (Mon May 28, 7:48 pm)
Re: [LAD] Plugin buffer size restrictions, David Robillard, (Mon May 28, 9:08 pm)
Re: [LAD] Plugin buffer size restrictions, David Robillard, (Fri Jun 1, 10:09 pm)
Re: [LAD] Plugin buffer size restrictions, Fons Adriaensen, (Fri Jun 1, 10:22 pm)
Re: [LAD] Plugin buffer size restrictions, David Robillard, (Fri Jun 1, 10:42 pm)
Re: [LAD] Plugin buffer size restrictions, Fons Adriaensen, (Fri Jun 1, 10:56 pm)
Re: [LAD] Plugin buffer size restrictions, David Robillard, (Sat Jun 2, 12:22 am)
Re: [LAD] Plugin buffer size restrictions, David Robillard, (Sat Jun 2, 2:40 am)
Re: [LAD] Plugin buffer size restrictions, Tim Goetze, (Sat Jun 2, 9:32 am)
Re: [LAD] Plugin buffer size restrictions, David Robillard, (Sat Jun 2, 4:16 pm)
Re: [LAD] Plugin buffer size restrictions, Tim Goetze, (Mon Jun 4, 8:08 am)
Re: [LAD] Plugin buffer size restrictions, Fons Adriaensen, (Mon May 28, 10:41 pm)
Re: [LAD] Plugin buffer size restrictions, David Robillard, (Tue May 29, 3:55 am)
Re: [LAD] Plugin buffer size restrictions, David Robillard, (Sun May 27, 8:01 pm)
Re: [LAD] Plugin buffer size restrictions, Stefano D'Angelo, (Sun May 27, 8:17 pm)
Re: [LAD] Plugin buffer size restrictions, David Robillard, (Sat May 26, 9:08 pm)
Re: [LAD] Plugin buffer size restrictions, Fons Adriaensen, (Sat May 26, 10:02 pm)
Re: [LAD] Plugin buffer size restrictions, David Robillard, (Sun May 27, 12:48 am)
Re: [LAD] Plugin buffer size restrictions, Fons Adriaensen, (Sun May 27, 11:16 am)
Re: [LAD] Plugin buffer size restrictions, David Robillard, (Sun May 27, 4:05 pm)
Re: [LAD] Plugin buffer size restrictions, Paul Davis, (Sun May 27, 2:01 pm)
Re: [LAD] Plugin buffer size restrictions, David Robillard, (Sun May 27, 5:19 pm)
Re: [LAD] Plugin buffer size restrictions, Fons Adriaensen, (Sun May 27, 7:56 pm)
Re: [LAD] Plugin buffer size restrictions, David Robillard, (Sun May 27, 10:33 pm)
Re: [LAD] Plugin buffer size restrictions, Fons Adriaensen, (Mon May 28, 10:53 am)
Re: [LAD] Plugin buffer size restrictions, Thorsten Wilms, (Mon May 28, 11:54 am)
Re: [LAD] Plugin buffer size restrictions, Paul Davis, (Sat May 26, 8:23 pm)
Re: [LAD] Plugin buffer size restrictions, David Robillard, (Sat May 26, 11:08 pm)
Re: [LAD] Plugin buffer size restrictions, Fons Adriaensen, (Sat May 26, 8:59 pm)
Re: [LAD] Plugin buffer size restrictions, Paul Davis, (Sat May 26, 10:34 pm)
Re: [LAD] Plugin buffer size restrictions, Adrian Knoth, (Sat May 26, 6:42 pm)
Re: [LAD] Plugin buffer size restrictions, David Robillard, (Sat May 26, 8:27 pm)