[Bug 705079] New: hlsdemux: switch fragments to buffer lists to avoid copies
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Mon Jul 29 07:16:21 PDT 2013
https://bugzilla.gnome.org/show_bug.cgi?id=705079
GStreamer | gst-plugins-bad | 1.1.2
Summary: hlsdemux: switch fragments to buffer lists to avoid
copies
Classification: Platform
Product: GStreamer
Version: 1.1.2
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: gst-plugins-bad
AssignedTo: gstreamer-bugs at lists.freedesktop.org
ReportedBy: rawoul at gmail.com
QAContact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
Created an attachment (id=250372)
View: https://bugzilla.gnome.org/attachment.cgi?id=250372
Review: https://bugzilla.gnome.org/review?bug=705079&attachment=250372
store GstFragment data in a GstBufferList
Since the port to 0.11, buffers downloaded by uridownloader in a fragment are
merged using gst_buffer_append. In theory this is the best way to do it, except
that the maximum number of memory blocks in a single buffer is 16. After that
all the memory blocks are merged to make room for the next append, which can
trigger very big memcpy's while downloading.
Instead switch back to buffer lists like it was done before 0.11. I've added a
gst_fragment_extract function to copy data from the buffer list to a buffer.
This allows merging the buffer list for the playlist or for the decrypt key.
I've also rewritten the decryption process to work in place the buffer list.
Before the single input buffer was decrypted in a new buffer, resulting in
another big memory allocation.
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list