summaryrefslogtreecommitdiff
path: root/gst
diff options
context:
space:
mode:
authorLuke Yelavich <themuso@themuso.com>2020-05-17 15:51:09 +1000
committerGStreamer Merge Bot <gitlab-merge-bot@gstreamer-foundation.org>2020-07-20 21:12:09 +0000
commit1e39fe66ad63138e9fa0be8f762af66e545c2e55 (patch)
treeeeedf5e09535b9b449170a54be2e4f3fb5ff9898 /gst
parent913e17e19ec354cc47abf944d6a96dc2ae3e8dc5 (diff)
imagefreeze: Copy GstCapsFeatures to caps for source pad
Allows using imagefreeze with buffers in GLMemory. The following pipeline works. gst-launch-1.0 filesrc location=image.jpg ! jpegdec ! glupload ! \ imagefreeze ! glcolorconvert ! glimagesinkelement Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/594>
Diffstat (limited to 'gst')
-rw-r--r--gst/imagefreeze/gstimagefreeze.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gst/imagefreeze/gstimagefreeze.c b/gst/imagefreeze/gstimagefreeze.c
index 7b8e4baad..7a287a616 100644
--- a/gst/imagefreeze/gstimagefreeze.c
+++ b/gst/imagefreeze/gstimagefreeze.c
@@ -282,8 +282,10 @@ gst_image_freeze_sink_setcaps (GstImageFreeze * self, GstCaps * caps)
for (i = 0; i < n; i++) {
GstCaps *candidate = gst_caps_new_empty ();
GstStructure *s = gst_structure_copy (gst_caps_get_structure (caps, i));
+ GstCapsFeatures *f =
+ gst_caps_features_copy (gst_caps_get_features (caps, i));
- gst_caps_append_structure (candidate, s);
+ gst_caps_append_structure_full (candidate, s, f);
if (gst_structure_has_field_typed (s, "framerate", GST_TYPE_FRACTION) ||
gst_structure_fixate_field_nearest_fraction (s, "framerate", 25, 1)) {
gst_structure_get_fraction (s, "framerate", &fps_n, &fps_d);