gst/base/gstbasetransform.c: passthrough elements can even do inplace on non writable buffers (as they don't touch th...

Original commit message from CVS:
* gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
passthrough elements can even do inplace on non writable
buffers (as they don't touch them).
This commit is contained in:
Wim Taymans 2005-08-31 10:07:24 +00:00
parent f02b655fc0
commit cd599c3718
3 changed files with 20 additions and 4 deletions

View file

@ -1,3 +1,9 @@
2005-08-31 Wim Taymans <wim@fluendo.com>
* gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
passthrough elements can even do inplace on non writable
buffers (as they don't touch them).
2005-08-31 Stefan Kost <ensonic@users.sf.net>
* check/gst-libs/controller.c: (gst_test_mono_source_get_property),

View file

@ -815,8 +815,13 @@ gst_base_transform_handle_buffer (GstBaseTransform * trans, GstBuffer * inbuf,
GST_LOG_OBJECT (trans, "... and offset NONE");
if (trans->in_place) {
/* check if we can do inplace and the buffer is writable */
if (bclass->transform_ip && gst_buffer_is_writable (inbuf)) {
/* passthrough elements or when the buffer is writable
* can be performed with the _ip method */
gboolean may_do_in_place = gst_buffer_is_writable (inbuf) ||
trans->passthrough;
/* check if we can and may do inplace */
if (bclass->transform_ip && may_do_in_place) {
/* in place transform and subclass supports method */
GST_LOG_OBJECT (trans, "doing inplace transform");
gst_buffer_ref (inbuf);

View file

@ -815,8 +815,13 @@ gst_base_transform_handle_buffer (GstBaseTransform * trans, GstBuffer * inbuf,
GST_LOG_OBJECT (trans, "... and offset NONE");
if (trans->in_place) {
/* check if we can do inplace and the buffer is writable */
if (bclass->transform_ip && gst_buffer_is_writable (inbuf)) {
/* passthrough elements or when the buffer is writable
* can be performed with the _ip method */
gboolean may_do_in_place = gst_buffer_is_writable (inbuf) ||
trans->passthrough;
/* check if we can and may do inplace */
if (bclass->transform_ip && may_do_in_place) {
/* in place transform and subclass supports method */
GST_LOG_OBJECT (trans, "doing inplace transform");
gst_buffer_ref (inbuf);