- istruct = gst_structure_intersect (struct1, struct2);
- if (istruct && gst_caps_features_is_equal (features1, features2))
- dest =
- gst_caps_merge_structure_full (dest, istruct,
- gst_caps_features_copy_conditional (features1));
+ if (gst_caps_features_is_equal (features1, features2)) {
+ istruct = gst_structure_intersect (struct1, struct2);
+ if (istruct) {
+ if (gst_caps_features_is_any (features1))
+ dest =
+ gst_caps_merge_structure_full (dest, istruct,
+ gst_caps_features_copy_conditional (features2));
+ else
+ dest =
+ gst_caps_merge_structure_full (dest, istruct,
+ gst_caps_features_copy_conditional (features1));
+ }
+ }