diff options
author | Ilya Konstantinov <ilya.konstantinov@gmail.com> | 2015-06-29 02:42:06 +0300 |
---|---|---|
committer | Nicolas Dufresne <nicolas.dufresne@collabora.co.uk> | 2015-07-13 11:11:04 -0400 |
commit | bfa054a7337721032dd252c29fbbfc980a0b45a2 (patch) | |
tree | b2f17b978a52808ab7ea6272a18cf6599cf78ba8 /gst/mpegtsmux | |
parent | c1906f1cfe1567b75c9a4d6a83e518dd1754402b (diff) | |
download | gstreamer-plugins-bad-bfa054a7337721032dd252c29fbbfc980a0b45a2.tar.gz |
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.
https://bugzilla.gnome.org/show_bug.cgi?id=751241
Diffstat (limited to 'gst/mpegtsmux')
0 files changed, 0 insertions, 0 deletions