[gst-devel] bufferpools, filter templates

Andy Wingo apwingo at eos.ncsu.edu
Mon Aug 20 18:46:58 CEST 2001


Hi.

On Mon, 20 Aug 2001, Baker, Steve wrote:

> > Hey folks. Some thoughts:
> > 
> > I've been moving to try and use interleaved float data for my 
> > app.  I'd
> > like to update passthrough (the example plugin designed to be 
> > used with
> > filterstamp) to allow float data as well as int. Any objections
> > (thomas?)?
> 
> In my ideal world there shouldn't be an interleaved float datatype. I wanted
> to think of float audio as an abstracted ideal which didn't have to worry
> about the complications of mixing multi-pad non-interleaved audio with
> single-pad interleaved audio.  The only reason I could think of to support
> interleaved float audio is if there is a file format out there which uses it
> - and I don't know of any.

I see your point. But imagine this situation (that exists in my app):

+--------+  +-----------------------------------------------+
|afsrc   |  | +-----+          mixer                        |
|(stereo)|->|-|     |                                       |
+--------+  | |     |  +---------------+  +-----+  +------+ |  +--------+
            | |adder|->|ladspa fx chain|->|speed|->|volume|-|->|alsasink|
+--------+  | |     |  +---------------+  +-----+  +------+ |  +--------+
|foosrc  |->|-|     |                                       |
|(stereo)|  | +-----+                                       |
+--------+  +-----------------------------------------------+

actually, by drawing the diagram, i see no objections to non-interleaved
float. i thought i had a few, but this would work just as well:

+--------+  +-----------------------------------------------+
|afsrc   |  | +-----+          mixer                        |
|(stereo)|=>|=|     |                                       |
+--------+  | |     |  +---------------+  +-----+  +------+ |  +--------+
            | |adder|=>|ladspa fx chain|=>|speed|=>|volume|=|=>|alsasink|
+--------+  | |     |  +---------------+  +-----+  +------+ |  +--------+
|foosrc  |=>|=|     |                                       |
|(stereo)|  | +-----+                                       |
+--------+  +-----------------------------------------------+

where = means two pads. ok, that works. thanks steve. also, this
eliminates the need for me to make interleavers/deinterleaver plugins ;)

btw, in my app 'mixers' are inputs to mixers in a tree structure,
outputting to a common sink, with ladspa inputs or disk/httpsrc
autoplugged inputs (i should use gnomevfssrc, i reckon) as the leaves.
in case anyone was curious.

> The only conversion that is supported in int2float and float2int elements is
> interleaved-int <--> multi-pad-float.

great!

> I would be happy if you used gst_buffer_pool_get_default in a passthrough
> example.

i'll get on that (first week of school's a bit hectic over here ;)

regards,

wingo





More information about the gstreamer-devel mailing list