GNOME Bugzilla – Bug 746150
multisocketsink: Map `GstMemory`s individually when sending
Last modified: 2015-03-13 15:24:27 UTC
Created attachment 299312 [details] [review] multisocketsink: Map `GstMemory`s individually when sending If a buffer is made up of non-contiguous `GstMemory`s `gst_buffer_map` has to copy all the data into a new `GstMemory` which is contiguous. By mapping all the `GstMemory`s individually and then using scatter-gather IO we avoid this situation. This is a preparatory step for adding support to multisocketsink for sending file descriptors, where a GstBuffer may be made up of several `GstMemory`s, some of which are backed by a memfd or file, but I think this patch is valid and useful on its own. This is a pure re-factoring and shouldn't change any behaviour.
Created attachment 299313 [details] [review] multisocketsink: Map `GstMemory`s individually when sending Fix small typo in patch.
commit b8232a74673afae38bc3bff70c7ed0d592209556 Author: William Manley <will@williammanley.net> Date: Fri Mar 13 12:49:31 2015 +0000 multisocketsink: Map `GstMemory`s individually when sending If a buffer is made up of non-contiguous `GstMemory`s `gst_buffer_map` has to copy all the data into a new `GstMemory` which is contiguous. By mapping all the `GstMemory`s individually and then using scatter-gather IO we avoid this situation. This is a preparatory step for adding support to multisocketsink for sending file descriptors, where a GstBuffer may be made up of several `GstMemory`s, some of which are backed by a memfd or file, but I think this patch is valid and useful on its own. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=746150