cvvideofilter: Don't try to make buffer writable
authorNicolas Dufresne <nicolas.dufresne@collabora.co.uk>
Sat, 5 Jul 2014 00:31:50 +0000 (20:31 -0400)
committerNicolas Dufresne <nicolas.dufresne@collabora.co.uk>
Sat, 5 Jul 2014 01:13:11 +0000 (21:13 -0400)
First this is handle by base transform, hence this is a no-op, and if it wasn't it
would lead to a buffer copy being leaked, and then an unreffed buffer being
pushed downstream.

https://bugzilla.gnome.org/show_bug.cgi?id=732756

ext/opencv/gstopencvvideofilter.c

index ccb987d..c53c7f5 100644 (file)
@@ -217,15 +217,11 @@ gst_opencv_video_filter_transform_ip (GstBaseTransform * trans,
   g_return_val_if_fail (fclass->cv_trans_ip_func != NULL, GST_FLOW_ERROR);
   g_return_val_if_fail (transform->cvImage != NULL, GST_FLOW_ERROR);
 
-  /* TODO this is not always needed and should be solved at BaseTransform
-   * level */
-  buffer = gst_buffer_make_writable (buffer);
   if (!gst_buffer_map (buffer, &info, GST_MAP_READWRITE))
     goto map_failed;
 
   transform->cvImage->imageData = (char *) info.data;
 
-  /* FIXME how to release buffer? */
   ret = fclass->cv_trans_ip_func (transform, buffer, transform->cvImage);
 
   gst_buffer_unmap (buffer, &info);