mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-22 00:06:36 +00:00
37550226d8
This patch introduces the avtpsink elements which implements a typical network sink. Implementation is pretty straightforward since the burden is implemented by GstBaseSink class. The avtpsink element defines three new properties: 1) network interface from where AVTPDU should be transmitted, 2) destination MAC address (usually a multicast address), and 3) socket priority (SO_PRIORITY). Socket setup and teardown are done in start/stop virtual methods while AVTPDU transmission is carried out by render(). AVTPDUs are encapsulated into Ethernet frames and transmitted to the network via AF_PACKET socket domain. Linux requires CAP_NET_RAW capability in order to open an AF_PACKET socket so the application that utilize this element must have it. For further info about AF_PACKET socket domain see packet(7). Finally, AVTPDUs are expected to be transmitted at specific times - according to the GstBuffer presentation timestamp - so the 'sync' property from GstBaseSink is set to TRUE by default. |
||
---|---|---|
.. | ||
gstavtp.c | ||
gstavtpaafdepay.c | ||
gstavtpaafdepay.h | ||
gstavtpaafpay.c | ||
gstavtpaafpay.h | ||
gstavtpbasedepayload.c | ||
gstavtpbasedepayload.h | ||
gstavtpbasepayload.c | ||
gstavtpbasepayload.h | ||
gstavtpsink.c | ||
gstavtpsink.h | ||
Makefile.am | ||
meson.build |