[Bug 746373] New: New fundamental type for caps - GstFlagSet

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Tue Mar 17 15:28:16 PDT 2015


https://bugzilla.gnome.org/show_bug.cgi?id=746373

            Bug ID: 746373
           Summary: New fundamental type for caps - GstFlagSet
    Classification: Platform
           Product: GStreamer
           Version: git master
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: Normal
         Component: gstreamer (core)
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: thaytan at noraisin.net
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

GstFlagSet is a new type for caps, which is like a bitmask field, but which can
be negotiated more efficiently.

A GstFlagSet is a bitfield of flags, plus a bitmask that indicates which flags
are important. Together, they allow an element to more compactly express
support for various flag values than with a GstBitmask.

For example, an element that wants to support receiving caps where a particular
flag must be declared, but can be either true or false - the receiver doesn't
care. Currently, we could add a boolean field to the caps, and the receiver can
put field = (boolean) { TRUE, FALSE } in its caps. When there are many such
properties of the stream, the number of extra caps fields grows quickly, and if
there are interdependencies between the properties, then the caps has to become
a list of intersecting values.

With a GstFlagSet, and element can express combinations of flags, using the
mask to indicate a 'dont care' value for any given flag.

A fixed GstFlagSet has a mask of (guint64)(-1) to indicate all flags bits must
exactly match when intersecting caps.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list