mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-27 18:50:48 +00:00
48 lines
1.6 KiB
Text
48 lines
1.6 KiB
Text
Network Transparent elements
|
|
----------------------------
|
|
|
|
1) netbin
|
|
|
|
- exposes local shims and remote real elements.
|
|
- all shim pads can be connected to other shim
|
|
pads and operations are proxied to real elements.
|
|
- when the pads are not part of the same bin, network
|
|
transparent ghostpads are created to connect them.
|
|
- bin has host property to indicate where it should
|
|
run.
|
|
|
|
2) netpipeline
|
|
|
|
- synchronizes different netbins, this means distributing
|
|
the same element base time to the remote bins.
|
|
- clocks master/slave is set up.
|
|
|
|
3) netpad
|
|
|
|
- all pad operations are proxied to peer pad using
|
|
a network protocol, possibly selectable from RTP/TCP/....
|
|
Serialisation of buffers and events are to be considered
|
|
but also methods with their arguments. A generator would
|
|
not be too bad to automate this.
|
|
- the implementation would be fairly similar to the
|
|
ghostpad implementation.
|
|
- This includes event passing (bidirectional) and
|
|
data passing (unidirectional). Some events have to pass
|
|
in parallel with the datastream so the event path should
|
|
use a different connection.
|
|
|
|
4) GStreamer daemon
|
|
|
|
- each host has to run a daemon that listens for
|
|
commands and creates elements/pipelines and performs all
|
|
operations on the real pipeline.
|
|
|
|
Other stuff
|
|
-----------
|
|
|
|
- what about migrating elements from one host to another. This
|
|
would happen when an element is removed form a bin into another
|
|
bin.
|
|
|
|
- do we have/need a fast protocol for stuff on the same machine or
|
|
will regular network connections work fine?
|