mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-04 05:22:30 +00:00
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:
parent
f02b655fc0
commit
cd599c3718
3 changed files with 20 additions and 4 deletions
|
@ -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),
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue