diff -r 71e347f905f2 -r 4a7fac7dd34a gst_plugins_base/gst/tcp/README --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gst_plugins_base/gst/tcp/README Fri Apr 16 15:15:52 2010 +0300 @@ -0,0 +1,53 @@ +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 -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 + +* server: gst-launch fdsrc fd=1 ! tcpserversink protocol=none port=3000 + client: gst-launch tcpclientsrc protocol=none port=3000 ! fdsink fd=2 + -> Received first buffer without caps set + +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