mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-01 21:18:52 +00:00
deinterlace: Drop "field-order" field while transforming caps
Like other basetransform subclasses are doing, drop field which can be converted by deinterlace. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/997>
This commit is contained in:
parent
9a8aea4a6a
commit
80567ca939
1 changed files with 9 additions and 2 deletions
|
@ -2539,11 +2539,18 @@ gst_deinterlace_getcaps (GstDeinterlace * self, GstPad * pad, GstCaps * filter)
|
|||
for (len = gst_caps_get_size (tmp2); len > 0; len--) {
|
||||
GstStructure *s = gst_caps_get_structure (tmp2, len - 1);
|
||||
|
||||
if (pad == self->sinkpad)
|
||||
/* Drop fields which can be converted by us.
|
||||
* Specifically "field-order" here.
|
||||
* "field-order" with "progressive" and/or
|
||||
* unspecified "interlace-mode" would cause negotiation issue */
|
||||
gst_structure_remove_field (s, "field-order");
|
||||
|
||||
if (pad == self->sinkpad) {
|
||||
gst_structure_remove_field (s, "interlace-mode");
|
||||
else
|
||||
} else {
|
||||
gst_structure_set (s, "interlace-mode", G_TYPE_STRING, "progressive",
|
||||
NULL);
|
||||
}
|
||||
}
|
||||
|
||||
if (self->user_set_fields == GST_DEINTERLACE_ALL) {
|
||||
|
|
Loading…
Reference in a new issue