waylandsink/waylandpool: call the start/stop methods of the parent class
authorGeorge Kiagiadakis <george.kiagiadakis@collabora.com>
Fri, 28 Feb 2014 11:37:30 +0000 (13:37 +0200)
committerGeorge Kiagiadakis <george.kiagiadakis@collabora.com>
Tue, 17 Jun 2014 11:51:24 +0000 (13:51 +0200)
start() makes sure that the minimum ammount of buffers requested is allocated.

stop() makes sure that buffers are actually destroyed and prevents
filling the file system when resizing the surface a lot, because the
wayland-shm-* files will stay on the file system as long as the wl_buffers
created out of them are alive.

ext/wayland/waylandpool.c

index 593d16f..b497552 100644 (file)
@@ -57,6 +57,8 @@ gst_wl_meta_free (GstWlMeta * meta, GstBuffer * buffer)
 {
   g_object_unref (meta->display);
   munmap (meta->data, meta->size);
+
+  GST_DEBUG ("destroying wl_buffer %p", meta->wbuffer);
   wl_buffer_destroy (meta->wbuffer);
 }
 
@@ -208,7 +210,7 @@ gst_wayland_buffer_pool_start (GstBufferPool * pool)
   self->size = size;
   self->used = 0;
 
-  return TRUE;
+  return GST_BUFFER_POOL_CLASS (parent_class)->start (pool);
 }
 
 static gboolean
@@ -225,7 +227,7 @@ gst_wayland_buffer_pool_stop (GstBufferPool * pool)
   self->size = 0;
   self->used = 0;
 
-  return TRUE;
+  return GST_BUFFER_POOL_CLASS (parent_class)->stop (pool);
 }
 
 static GstFlowReturn