mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-26 03:56:16 +00:00
glimagesink: fix caps leak
https://bugzilla.gnome.org/show_bug.cgi?id=746541
This commit is contained in:
parent
ff11a1a8a0
commit
0719c8c766
1 changed files with 5 additions and 2 deletions
|
@ -1473,6 +1473,7 @@ gst_glimage_sink_on_draw (GstGLImageSink * gl_sink)
|
||||||
gboolean do_redisplay = FALSE;
|
gboolean do_redisplay = FALSE;
|
||||||
GstGLSyncMeta *sync_meta = NULL;
|
GstGLSyncMeta *sync_meta = NULL;
|
||||||
GstSample *sample = NULL;
|
GstSample *sample = NULL;
|
||||||
|
GstCaps *caps = NULL;
|
||||||
|
|
||||||
g_return_if_fail (GST_IS_GLIMAGE_SINK (gl_sink));
|
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);
|
gl->BindTexture (GL_TEXTURE_2D, 0);
|
||||||
|
|
||||||
|
caps = gst_video_info_to_caps (&gl_sink->info);
|
||||||
|
|
||||||
sample = gst_sample_new (gl_sink->stored_buffer,
|
sample = gst_sample_new (gl_sink->stored_buffer,
|
||||||
gst_video_info_to_caps (&gl_sink->info),
|
caps, &GST_BASE_SINK (gl_sink)->segment, NULL);
|
||||||
&GST_BASE_SINK (gl_sink)->segment, NULL);
|
|
||||||
|
|
||||||
g_signal_emit (gl_sink, gst_glimage_sink_signals[CLIENT_DRAW_SIGNAL], 0,
|
g_signal_emit (gl_sink, gst_glimage_sink_signals[CLIENT_DRAW_SIGNAL], 0,
|
||||||
gl_sink->context, sample, &do_redisplay);
|
gl_sink->context, sample, &do_redisplay);
|
||||||
|
|
||||||
|
gst_caps_unref (caps);
|
||||||
gst_sample_unref (sample);
|
gst_sample_unref (sample);
|
||||||
|
|
||||||
if (!do_redisplay) {
|
if (!do_redisplay) {
|
||||||
|
|
Loading…
Reference in a new issue