Revert "vp9parse: Always default to super-frame"
This reverts commit fd1428d3ebf937d7656c3788df3ef3ff85fecc31. As reported in #4524, this changes cause regressions. The problem is due to a bug in how vp9parse interact with parsebin, presenting downstream negotiation of alignment to work. This revert to being stuck using frame alignment always, which fortunately works with libvpx, though less efficient. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9329>
This commit is contained in:
parent
b77a4b4a97
commit
5c6273d663
@ -294,6 +294,7 @@ gst_vp9_parse_negotiate (GstVp9Parse * self, GstVp9ParseAlignment in_align,
|
||||
/* concentrate on leading structure, since decodebin parser
|
||||
* capsfilter always includes parser template caps */
|
||||
if (caps) {
|
||||
caps = gst_caps_make_writable (caps);
|
||||
while (gst_caps_get_size (caps) > 0) {
|
||||
GstStructure *s = gst_caps_get_structure (caps, 0);
|
||||
|
||||
@ -311,18 +312,6 @@ gst_vp9_parse_negotiate (GstVp9Parse * self, GstVp9ParseAlignment in_align,
|
||||
caps = gst_pad_get_allowed_caps (GST_BASE_PARSE_SRC_PAD (self));
|
||||
}
|
||||
|
||||
/* Sort super-frame alignment first before truncating */
|
||||
GstCaps *ordered_caps = gst_caps_new_full (gst_structure_new ("video/x-vp9",
|
||||
"alignment", G_TYPE_STRING, "super-frame", NULL),
|
||||
gst_structure_new ("video/x-vp9",
|
||||
"alignment", G_TYPE_STRING, "frame", NULL),
|
||||
NULL);
|
||||
GstCaps *tmp = caps;
|
||||
caps =
|
||||
gst_caps_intersect_full (ordered_caps, tmp, GST_CAPS_INTERSECT_FIRST);
|
||||
gst_caps_unref (ordered_caps);
|
||||
gst_caps_unref (tmp);
|
||||
|
||||
caps = gst_caps_truncate (caps);
|
||||
GST_DEBUG_OBJECT (self, "negotiating with caps: %" GST_PTR_FORMAT, caps);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user