[gst-devel] float caps
David Schleef
ds at schleef.org
Fri Jan 30 13:18:07 CET 2004
On Thu, Jan 29, 2004 at 09:33:37PM +0200, Andy Wingo wrote:
> Hi Benjamin,
>
> First off, thanks for not returning my grumpiness ;) Sorry about that.
> We can now return to our regularly-scheduled wingo.
>
> I was probing my mind and wondering why I didn't want a didn't want
> channels=1 or whatever. I guess the complexity of the old caps[0] made
> it a PITA. Also, I feel in "pro-audio"[1] space we should encourage
> uniformity. I have a pro-audio document that addresses this.
> Furthermore, the whole caps system is an inefficiency wrt state
> transitions when you know you're in a realm of restricted variables.
> That might be paranoia, though.
I've spent some time thinking recently about creating a subclass of
GstElement specifically for pro-audio streams. This element would
automatically handle all the caps negotiation for single-channel
float audio, and could also be a hint to the scheduler that a group
of GstProAudio elements can be scheduled as a lock-step group.
> (1) It reduces the complexity of capsnego in DSP pipelines (think many
> many elements)
The complexity difference between pad template caps that have
"audio/x-raw-float, channels=1, rate=[1,MAX], endianness=1234,
buffer-frames=[1,MAX]" and "audio/x-raw-float, rate=[1,MAX],
buffer-frames=[1,MAX]" is minimal. It would require a few
extra lines here and there.
The alternative will cause a tendancy to support audio/x-raw-float
and audio/x-raw-dspfloat in the same element. The code required
to properly support is complex and confusing -- just look at, e.g.,
ffcolorspace, which handles both video/x-raw-rgb and -yuv.
dave...
More information about the gstreamer-devel
mailing list