From 1af4a1f75976df8e1f35b40f280a614378ceba42 Mon Sep 17 00:00:00 2001 From: Nicola Murino Date: Fri, 20 Mar 2015 18:33:45 +0100 Subject: [PATCH] glimagesink: fix caps leak https://bugzilla.gnome.org/show_bug.cgi?id=746541 --- ext/gl/gstglimagesink.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ext/gl/gstglimagesink.c b/ext/gl/gstglimagesink.c index ae3f3df726..f4187e9970 100644 --- a/ext/gl/gstglimagesink.c +++ b/ext/gl/gstglimagesink.c @@ -1473,6 +1473,7 @@ gst_glimage_sink_on_draw (GstGLImageSink * gl_sink) gboolean do_redisplay = FALSE; GstGLSyncMeta *sync_meta = NULL; GstSample *sample = NULL; + GstCaps *caps = NULL; g_return_if_fail (GST_IS_GLIMAGE_SINK (gl_sink)); @@ -1515,13 +1516,15 @@ gst_glimage_sink_on_draw (GstGLImageSink * gl_sink) gl->BindTexture (GL_TEXTURE_2D, 0); + caps = gst_video_info_to_caps (&gl_sink->info); + sample = gst_sample_new (gl_sink->stored_buffer, - gst_video_info_to_caps (&gl_sink->info), - &GST_BASE_SINK (gl_sink)->segment, NULL); + caps, &GST_BASE_SINK (gl_sink)->segment, NULL); g_signal_emit (gl_sink, gst_glimage_sink_signals[CLIENT_DRAW_SIGNAL], 0, gl_sink->context, sample, &do_redisplay); + gst_caps_unref (caps); gst_sample_unref (sample); if (!do_redisplay) {