mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-08 10:31:05 +00:00
8a0309661a
Original commit message from CVS: * gst/tcp/gstmultifdsink.c: (gst_multifdsink_class_init), (gst_multifdsink_add), (gst_multifdsink_remove), (gst_multifdsink_clear), (gst_multifdsink_get_stats), (gst_multifdsink_client_remove), (gst_multifdsink_handle_client_write), (gst_multifdsink_queue_buffer), (gst_multifdsink_handle_clients): * gst/tcp/gstmultifdsink.h: Recover from a select with a bad file descriptor by removing the client. |
||
---|---|---|
.. | ||
.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 | ||
gsttcpsink.c | ||
gsttcpsink.h | ||
gsttcpsrc.c | ||
gsttcpsrc.h | ||
Makefile.am | ||
README | ||
tcp.vcproj |
This part of the documentation is for the new tcp elements: - tcpclientsrc - tcpclientsink - tcpserversrc - tcpserversink which are created to replace the old tcpsrc/tcpsink TESTS ----- Use these tests to test functionality of the various tcp plugins * server: nc -l -p 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 -p 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 -p 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 -------- This is the old documentation for the original tcpsrc/tcpsink elements. * What is TCP src/sink? solution, like icecast or realaudio or whatever. But the future RTP plugins shall not do the actual transmission/reception of packets on the network themselve but the Application developer would be encouraged to use either the TCP or the UDP plugins for that. UDP would be used mostly but there could be situations where TCP would be the only available choice. For example streaming accross firewalls that do not allow UDP. * Shortcomings Even given our modest ambitions, the current code doesn't handle caps negotiation robustly. * Todo The caps nego should do bi-directional negotiation. Perhaps this plugin can be the example of how to do caps negotiation via a point-to-point protocol. 12 Sep 2001 Wim Taymans <wim.taymans@chello.be> Joshua N Pritikin <vishnu@pobox.com> Zeeshan Ali <zak147@yahoo.com>