diff options
author | Luke Yelavich <themuso@themuso.com> | 2020-05-17 15:51:09 +1000 |
---|---|---|
committer | GStreamer Merge Bot <gitlab-merge-bot@gstreamer-foundation.org> | 2020-07-20 21:12:09 +0000 |
commit | 1e39fe66ad63138e9fa0be8f762af66e545c2e55 (patch) | |
tree | eeedf5e09535b9b449170a54be2e4f3fb5ff9898 /gst | |
parent | 913e17e19ec354cc47abf944d6a96dc2ae3e8dc5 (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.c | 4 |
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); |