summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>2015-04-20 13:17:09 +0200
committerNicolas Dufresne <nicolas.dufresne@collabora.co.uk>2015-07-20 14:41:12 -0400
commit555428872c72e10a4a4eb47d48588a81130cec71 (patch)
treed07196925d9e60c1aad51ae7e0474ed1a6a83528
parent6eaeefc6a9894924184cc243d9ea78edb4cf77d8 (diff)
glcolorconvert: Apply GstVideoOverlayCompositionMeta buffer to converted buffer
Since glcolorconvert creates a new GstBuffer, without the GstVideoOverlayCompositionMeta data, it needs to be copied to not be dropped. https://bugzilla.gnome.org/show_bug.cgi?id=745107
-rw-r--r--gst-libs/gst/gl/gstglcolorconvert.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/gst-libs/gst/gl/gstglcolorconvert.c b/gst-libs/gst/gl/gstglcolorconvert.c
index 8adf4b1ab..68747f881 100644
--- a/gst-libs/gst/gl/gstglcolorconvert.c
+++ b/gst-libs/gst/gl/gstglcolorconvert.c
@@ -1667,6 +1667,7 @@ _do_convert (GstGLContext * context, GstGLColorConvert * convert)
GstVideoInfo *in_info = &convert->in_info;
gboolean res = TRUE;
gint views, v;
+ GstVideoOverlayCompositionMeta *composition_meta;
convert->outbuf = NULL;
@@ -1705,6 +1706,14 @@ _do_convert (GstGLContext * context, GstGLColorConvert * convert)
gst_gl_sync_meta_set_sync_point (sync_meta, convert->context);
}
+ composition_meta =
+ gst_buffer_get_video_overlay_composition_meta (convert->inbuf);
+ if (composition_meta) {
+ GST_DEBUG ("found video overlay composition meta, appliying on output.");
+ gst_buffer_add_video_overlay_composition_meta
+ (convert->outbuf, composition_meta->overlay);
+ }
+
convert->priv->result = res;
return;
}