diff options
author | Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk> | 2015-04-20 13:17:09 +0200 |
---|---|---|
committer | Nicolas Dufresne <nicolas.dufresne@collabora.co.uk> | 2015-07-20 14:41:12 -0400 |
commit | 555428872c72e10a4a4eb47d48588a81130cec71 (patch) | |
tree | d07196925d9e60c1aad51ae7e0474ed1a6a83528 | |
parent | 6eaeefc6a9894924184cc243d9ea78edb4cf77d8 (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.c | 9 |
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; } |