mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-02 20:42:30 +00:00
videoutils: keep caps features in account when building the downstream filter
See 00c2ce6
and https://bugzilla.gnome.org/show_bug.cgi?id=741263 for reference.
This commit is contained in:
parent
24b04aade4
commit
5fd4e3e0b6
1 changed files with 5 additions and 1 deletions
|
@ -41,11 +41,13 @@ __gst_video_element_proxy_caps (GstElement * element, GstCaps * templ_caps,
|
||||||
for (i = 0; i < templ_caps_size; i++) {
|
for (i = 0; i < templ_caps_size; i++) {
|
||||||
GQuark q_name =
|
GQuark q_name =
|
||||||
gst_structure_get_name_id (gst_caps_get_structure (templ_caps, i));
|
gst_structure_get_name_id (gst_caps_get_structure (templ_caps, i));
|
||||||
|
GstCapsFeatures *features = gst_caps_get_features (templ_caps, i);
|
||||||
|
|
||||||
for (j = 0; j < caps_size; j++) {
|
for (j = 0; j < caps_size; j++) {
|
||||||
const GstStructure *caps_s = gst_caps_get_structure (caps, j);
|
const GstStructure *caps_s = gst_caps_get_structure (caps, j);
|
||||||
const GValue *val;
|
const GValue *val;
|
||||||
GstStructure *s;
|
GstStructure *s;
|
||||||
|
GstCaps *tmp = gst_caps_new_empty ();
|
||||||
|
|
||||||
s = gst_structure_new_id_empty (q_name);
|
s = gst_structure_new_id_empty (q_name);
|
||||||
if ((val = gst_structure_get_value (caps_s, "width")))
|
if ((val = gst_structure_get_value (caps_s, "width")))
|
||||||
|
@ -57,7 +59,9 @@ __gst_video_element_proxy_caps (GstElement * element, GstCaps * templ_caps,
|
||||||
if ((val = gst_structure_get_value (caps_s, "pixel-aspect-ratio")))
|
if ((val = gst_structure_get_value (caps_s, "pixel-aspect-ratio")))
|
||||||
gst_structure_set_value (s, "pixel-aspect-ratio", val);
|
gst_structure_set_value (s, "pixel-aspect-ratio", val);
|
||||||
|
|
||||||
result = gst_caps_merge_structure (result, s);
|
gst_caps_append_structure_full (tmp, s,
|
||||||
|
gst_caps_features_copy (features));
|
||||||
|
result = gst_caps_merge (result, tmp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue