Blame gst/tcp/README

Packit 971217
This part of the documentation is for the new tcp elements:
Packit 971217
- tcpclientsrc
Packit 971217
- tcpclientsink
Packit 971217
- tcpserversrc
Packit 971217
- tcpserversink
Packit 971217
                                                                                
Packit 971217
TESTS
Packit 971217
-----
Packit 971217
Use these tests to test functionality of the various tcp plugins
Packit 971217
Packit 971217
* server: nc -l -p 3000
Packit 971217
  client: nc localhost 3000
Packit 971217
  everything you type in the server is shown on the client
Packit 971217
  everything you type in the client is shown on the server
Packit 971217
Packit 971217
* server: nc -l -p 3000
Packit 971217
  client: gst-launch tcpclientsrc protocol=none port=3000 ! fdsink fd=2
Packit 971217
  everything you type in the server is shown on the client
Packit 971217
Packit 971217
* server: nc -l -p 3000
Packit 971217
  client: gst-launch fdsrc fd=1 ! tcpclientsink protocol=none port=3000
Packit 971217
  everything you type in the client is shown on the server
Packit 971217
Packit 971217
* server: gst-launch tcpserversrc protocol=none port=3000 ! fdsink fd=2
Packit 971217
  client: gst-launch fdsrc fd=1 ! tcpclientsink protocol=none port=3000
Packit 971217
Packit 971217
* server: gst-launch fdsrc fd=1 ! tcpserversink protocol=none port=3000
Packit 971217
  client: gst-launch tcpclientsrc protocol=none port=3000 ! fdsink fd=2
Packit 971217
  -> Received first buffer without caps set
Packit 971217
Packit 971217
TODO
Packit 971217
----
Packit 971217
- implement DNS resolution
Packit 971217
Packit 971217
multifdsink
Packit 971217
-----------
Packit 971217
- operation:
Packit 971217
  - client fd gets added when "add" signal gets emitted on multifdsink
Packit 971217
  - signal handler creates a GstTCPClient structure, adds it to ->clients,
Packit 971217
    and adds the fd to ->fd_hash, then emits client-added
Packit 971217
  - client 
Packit 971217
Packit 971217
  - when a buffer comes in:
Packit 971217
    - the _render vmethod puts the buffer on the global queue
Packit 971217
    - and increases bytes_to_serve
Packit 971217
    - (currently it sets streamheaders, but since this is treated globally
Packit 971217
       this is wrong - clients can be at different positions in the stream)
Packit 971217
Packit 971217
  - when a client issues a write (ie requests data):
Packit 971217
    - when using GDP, if no caps sent yet, send caps first, then set caps_sent
Packit 971217
    - if streamheader buffers, and we haven't sent yet to this client,
Packit 971217
      send current streamheader buffers, then set streamheader_sent
Packit 971217
    - send out buffers