[gst-devel] type system (draft2)

Richard Boulton richard at tartarus.org
Sun Dec 3 16:36:38 CET 2000

On Thu, Nov 30, 2000 at 09:29:47PM +0100, Wim Taymans wrote:
> [snip]
> Two pads are compatible if:
> - The major types are equal
> - range of the sink pad contains the range of the src pad

By "contains", do you mean intersects?

For example, a sink with a parameter "layer" in range 1,2
and a src with a parameter "layer" in range 2,3: would they
be compatible?  If not, then you're preventing things which
can work from working (can't use these elements to play layer
2), but if so you could be causing problems at runtime when 
a piece of layer 3 data comes along.  If you've built they
pipeline by autoplugging based on the type system's
compatibility, there could have been an alternative path
missed which would have worked even in this case.

Also, would there be a standard set of parameters which must be
specified for each particular mime major type? (eg, a pad with
mime type "audio/mp3" must specify "layer", "bitrate" and
"framed")  If not, what do you do for defaults?  You could
either assume that unspecified means "full range possible",
or that it means "no need to check".

Not sure what the solution to either of these issues is...


More information about the gstreamer-devel mailing list