[Bug 725415] New: v4l2videodec: Check caps are subset of encode or raw when probing devices

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri Feb 28 10:39:55 PST 2014


https://bugzilla.gnome.org/show_bug.cgi?id=725415
  GStreamer | gst-plugins-good | git

           Summary: v4l2videodec: Check caps are subset of encode or raw
                    when probing devices
    Classification: Platform
           Product: GStreamer
           Version: git
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-good
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: nicolas.dufresne at collabora.co.uk
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


To probe v4l2 devices in the decoder, we enumerate the formats and intersect
against a set of know Encoded, or Raw formats depending on input or output.

The problem is that some people have come up with multi-purpose encoding,
decoding, color transform, scaler, transcoding magic driver that just can't be
handled by VideoDecoder base class. These magic driver would better be
accommodated by BaseTransform (acutally AsyncBaseTransform).

To avoid enabling these as decoders, I would suggest that instead of doing:

ret = gst_caps_intersect (filter, caps);

I would suggest to check if caps is a subset of filter, if not we'd return the
empty caps (or NULL), if it is a subset, then we can return the caps. This way
a driver with double function like being an encoder and a decoder would be
skipped,
(e.g. input H264, YUV and output H264 YUV)

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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