gl: fix multi gl object leaks
authorWang Xin-yu (王昕宇) <comicfans44@gmail.com>
Wed, 23 Jul 2014 02:25:31 +0000 (10:25 +0800)
committerMatthew Waters <ystreet00@gmail.com>
Thu, 24 Jul 2014 01:46:56 +0000 (11:46 +1000)
1. fix FBO leaks in decide_allocation
2. fix texture leaks in decide_allocation and reset
3. fix texture leaks in FBO incomplete error path

ext/gl/gstglmixer.c

index 626eb96..0d4d7e9 100644 (file)
@@ -641,6 +641,12 @@ gst_gl_mixer_decide_allocation (GstGLMixer * mix, GstQuery * query)
   out_width = GST_VIDEO_INFO_WIDTH (&vagg->info);
   out_height = GST_VIDEO_INFO_HEIGHT (&vagg->info);
 
+  if (mix->fbo) {
+    gst_gl_context_del_fbo (mix->context, mix->fbo, mix->depthbuffer);
+    mix->fbo = 0;
+    mix->depthbuffer = 0;
+  }
+
   if (!gst_gl_context_gen_fbo (mix->context, out_width, out_height,
           &mix->fbo, &mix->depthbuffer))
     goto context_error;