| 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 |