|
1 This part of the documentation is for the new tcp elements: |
|
2 - tcpclientsrc |
|
3 - tcpclientsink |
|
4 - tcpserversrc |
|
5 - tcpserversink |
|
6 |
|
7 TESTS |
|
8 ----- |
|
9 Use these tests to test functionality of the various tcp plugins |
|
10 |
|
11 * server: nc -l -p 3000 |
|
12 client: nc localhost 3000 |
|
13 everything you type in the server is shown on the client |
|
14 everything you type in the client is shown on the server |
|
15 |
|
16 * server: nc -l -p 3000 |
|
17 client: gst-launch tcpclientsrc protocol=none port=3000 ! fdsink fd=2 |
|
18 everything you type in the server is shown on the client |
|
19 |
|
20 * server: nc -l -p 3000 |
|
21 client: gst-launch fdsrc fd=1 ! tcpclientsink protocol=none port=3000 |
|
22 everything you type in the client is shown on the server |
|
23 |
|
24 * server: gst-launch tcpserversrc protocol=none port=3000 ! fdsink fd=2 |
|
25 client: gst-launch fdsrc fd=1 ! tcpclientsink protocol=none port=3000 |
|
26 |
|
27 * server: gst-launch fdsrc fd=1 ! tcpserversink protocol=none port=3000 |
|
28 client: gst-launch tcpclientsrc protocol=none port=3000 ! fdsink fd=2 |
|
29 -> Received first buffer without caps set |
|
30 |
|
31 TODO |
|
32 ---- |
|
33 - implement DNS resolution |
|
34 |
|
35 multifdsink |
|
36 ----------- |
|
37 - operation: |
|
38 - client fd gets added when "add" signal gets emitted on multifdsink |
|
39 - signal handler creates a GstTCPClient structure, adds it to ->clients, |
|
40 and adds the fd to ->fd_hash, then emits client-added |
|
41 - client |
|
42 |
|
43 - when a buffer comes in: |
|
44 - the _render vmethod puts the buffer on the global queue |
|
45 - and increases bytes_to_serve |
|
46 - (currently it sets streamheaders, but since this is treated globally |
|
47 this is wrong - clients can be at different positions in the stream) |
|
48 |
|
49 - when a client issues a write (ie requests data): |
|
50 - when using GDP, if no caps sent yet, send caps first, then set caps_sent |
|
51 - if streamheader buffers, and we haven't sent yet to this client, |
|
52 send current streamheader buffers, then set streamheader_sent |
|
53 - send out buffers |