[Bug 755237] New: Caps Feature Negotiations have bad defaults
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Fri Sep 18 11:13:07 PDT 2015
https://bugzilla.gnome.org/show_bug.cgi?id=755237
Bug ID: 755237
Summary: Caps Feature Negotiations have bad defaults
Classification: Platform
Product: GStreamer
Version: 1.4.1
OS: Linux
Status: NEW
Severity: enhancement
Priority: Normal
Component: gstreamer (core)
Assignee: gstreamer-bugs at lists.freedesktop.org
Reporter: swestrup at gmail.com
QA Contact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
I recently ran into an issue with the defaulting of Caps Features.
We have an element we've written that can optionally accept a
meta:GstTextOverlayComposition feature on input, so we set up our sink caps for
the element as:
Sink:
video/x-raw(meta:GstTextOverlayComposition), ... ;
video/x-raw, ...
But it was failing to negotiate a connection when there was text overlay
metadata. On examination of the negotiation, we saw that the element was being
presented with:
video/x-raw(memory:SystemMemory, meta:GstTextOverlayComposition), ...
and when our element did an intersect, it got an EMPTY result.
I checked the source code for gst_caps_intersect_full() and found that it only
assumes a default feature of memory:SystemMemory if features are completely
empty. Thus, when the negotiations presented
video/x-raw(memory:SystemMemory),...
negotiations succeeded, but when there was a text overlay, they failed.
Wouldn't it make more sense to assume memory:SystemMemory in the absence of any
other feature with a 'memory:' prefix, rather than requiring an empty feature
list? This would result in the same backwards compatibility, while making it
easier to work with the new Caps features.
--
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