[Bug 751241] vtdec: handle non-consecutive GstBuffer input without copying

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Mon Jul 13 07:57:49 PDT 2015


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

Ilya Konstantinov <ilya.konstantinov at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #306272|reviewed                    |none
             status|                            |
 Attachment #306272|0                           |1
        is obsolete|                            |

--- Comment #4 from Ilya Konstantinov <ilya.konstantinov at gmail.com> ---
Created attachment 307354
  --> https://bugzilla.gnome.org/attachment.cgi?id=307354&action=edit
vtdec: handle non-consecutive GstBuffer input without copying

CMBlockBuffer offers a model similar to GstBuffer, as it can
consist of multiple non-consecutive memory blocks.

Prior to this change, what we were doing was:

 1) Incorrect:

   CMBlockBufferCreateWithMemoryBlock does not copy the data,
   but we gst_buffer_unmap'd right away.

 2) Inefficient:

   If the GstBuffer consisted of non-contiguous memory blocks,
   gst_buffer_map resulted in malloc / memcpy.

With this change, we construct a CMBlockBuffer out of individual mapped
GstMemory objects. CMBlockBuffer is made to retain the GstMemory
objects (through the use of CMBlockBufferCustomBlockSource), so the
original GstBuffer can be unref'd.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.


More information about the gstreamer-bugs mailing list