mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-24 17:20:36 +00:00
0a6d8f01ef
Original commit message from CVS: * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-base-plugins-docs.sgml: * docs/plugins/gst-plugins-base-plugins-sections.txt: * gst/tcp/gsttcpclientsink.c: * gst/tcp/gsttcpclientsrc.c: * gst/tcp/gsttcpserversrc.c: Add minimal docs to make the remaining tcp elements show up. Fixes #564139. |
||
---|---|---|
.. | ||
.gitignore | ||
gstmultifdsink.c | ||
gstmultifdsink.h | ||
gsttcp-marshal.list | ||
gsttcp.c | ||
gsttcp.h | ||
gsttcpclientsink.c | ||
gsttcpclientsink.h | ||
gsttcpclientsrc.c | ||
gsttcpclientsrc.h | ||
gsttcpplugin.c | ||
gsttcpplugin.h | ||
gsttcpserversink.c | ||
gsttcpserversink.h | ||
gsttcpserversrc.c | ||
gsttcpserversrc.h | ||
Makefile.am | ||
README | ||
tcp.vcproj |
This part of the documentation is for the new tcp elements: - tcpclientsrc - tcpclientsink - tcpserversrc - tcpserversink TESTS ----- Use these tests to test functionality of the various tcp plugins * server: nc -l 3000 client: nc localhost 3000 everything you type in the server is shown on the client everything you type in the client is shown on the server * server: nc -l 3000 client: gst-launch tcpclientsrc protocol=none port=3000 ! fdsink fd=2 everything you type in the server is shown on the client * server: nc -l 3000 client: gst-launch fdsrc fd=1 ! tcpclientsink protocol=none port=3000 everything you type in the client is shown on the server * server: gst-launch tcpserversrc protocol=none port=3000 ! fdsink fd=2 client: gst-launch fdsrc fd=1 ! tcpclientsink protocol=none port=3000 TODO ---- - implement DNS resolution multifdsink ----------- - operation: - client fd gets added when "add" signal gets emitted on multifdsink - signal handler creates a GstTCPClient structure, adds it to ->clients, and adds the fd to ->fd_hash, then emits client-added - client - when a buffer comes in: - the _render vmethod puts the buffer on the global queue - and increases bytes_to_serve - (currently it sets streamheaders, but since this is treated globally this is wrong - clients can be at different positions in the stream) - when a client issues a write (ie requests data): - when using GDP, if no caps sent yet, send caps first, then set caps_sent - if streamheader buffers, and we haven't sent yet to this client, send current streamheader buffers, then set streamheader_sent - send out buffers