If no client has received the command, unref the buffer. This will
make sure that the shared memory area does not get filled with buffers
no one knows about.
https://bugzilla.gnome.org/show_bug.cgi?id=702684
GST_OBJECT_UNLOCK (self);
- if (rv == -1) {
+ if (rv == 0) {
+ GST_DEBUG_OBJECT (self, "No clients connected, unreffing buffer");
+ gst_buffer_unref (sendbuf);
+ } else if (rv == -1) {
GST_ELEMENT_ERROR (self, STREAM, FAILED, ("Invalid allocated buffer"),
("The shmpipe library rejects our buffer, this is a bug"));
ret = GST_FLOW_ERROR;