GNOME Bugzilla – Bug 746164
meta: Add GstNetControlMessageMeta
Last modified: 2015-03-14 19:56:26 UTC
Created attachment 299332 [details] [review] meta: Add `GstNetControlMessageMeta` meta: Add `GstNetControlMessageMeta` `GstNetAddress` can be used to store ancillary data which was received with or is to be sent alongside the buffer data. When used with socket sinks and sources which understand this meta it allows sending and receiving ancillary data such as unix credentials (See `GUnixCredentialsMessage`) and Unix file descriptions (See `GUnixFDMessage`). This will be useful for implementing protocols which use file-descriptor passing in payloaders/depayloaders without having to re-implement all the socket handling code already present in elements such as multisocketsink, etc. This, in turn, will be useful for implementing zero-copy video IPC. This meta uses the platform independent `GSocketControlMessage` API provided by GLib as a part of GIO. As a result this new meta does not require any new dependencies or any conditional compliation for portablility, although it is unlikely to do anything useful on non-UNIX platforms. Also add support for this meta to multisocketsink and the new socketsrc.
Created attachment 299384 [details] [review] meta: Add `GstNetControlMessageMeta`
Created attachment 299385 [details] [review] multisocketsink: Add support for GstNetControlMessageMeta
Created attachment 299386 [details] [review] socketsrc: Add support for GstNetControlMessageMeta
Created attachment 299387 [details] [review] Add test_that_multisocketsink_and_socketsrc_preserve_meta
The first patch applies to gstreamer, the rest to gst-plugins-base.
Just spoke to @wtay. TODO: * Add caps-features to negotiate that the multisocketsink * Add a unit test to gstreamer testing adding the GstNetControlMessageMeta to a buffer and removing it again.
Created attachment 299405 [details] [review] meta: Add `GstNetControlMessageMeta`
Created attachment 299406 [details] [review] tests: Add tests for `GstNetAddressMeta`
Created attachment 299407 [details] [review] tests: Add unit tests for GstNetControlMessageMeta
> * Add caps-features to negotiate that the multisocketsink Can't use caps features as it's not possible to have ANY caps with features attached.
commit bbd0336988698eae4368a6743316f72f74eaebe7 Author: William Manley <will@williammanley.net> Date: Sat Mar 14 15:09:35 2015 +0000 tests: Add unit tests for GstNetControlMessageMeta commit 05163d7e1b7d5cd7a2e2c4ac3196b9d72ccafa9c Author: William Manley <will@williammanley.net> Date: Sat Mar 14 13:20:50 2015 +0000 tests: Add tests for `GstNetAddressMeta` This is a prepatory step for adding tests for `GstNetControlMessageMeta`. `GstNetControlMessageMeta` is likely to be harder to test than `GstNetAddressMeta`, so this commit helps by focusing on the aspects of GstMeta that need to be tested.