gstreamer/gst/tcp
Wim Taymans 3ec8704c9e Fixed negotiation wrt _peer_get_caps()
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_chain),
(gst_audio_convert_caps_remove_format_info),
(gst_audio_convert_getcaps), (gst_audio_convert_setcaps),
(gst_audio_convert_fixate), (gst_audio_convert_channels):
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
(gst_ffmpegcsp_getcaps), (gst_ffmpegcsp_configure_context),
(gst_ffmpegcsp_setcaps), (gst_ffmpegcsp_chain):
* gst/sine/Makefile.am:
* gst/sine/gstsinesrc.c: (gst_sinesrc_get_type),
(gst_sinesrc_class_init), (gst_sinesrc_init),
(gst_sinesrc_src_fixate), (gst_sinesrc_setcaps),
(gst_sinesrc_src_query), (gst_sinesrc_create), (gst_sinesrc_start),
(gst_sinesrc_update_freq):
* gst/sine/gstsinesrc.h:
* gst/tcp/gstmultifdsink.c:
* sys/xvimage/xvimagesink.c:
Fixed negotiation wrt _peer_get_caps()
Some cleanups.
2005-05-06 17:13:49 +00:00
..
.gitignore gst/tcp/: Added burst on connect sync_method, deprecated sync_clients, streamlined the sync code some more. 2004-10-29 11:10:38 +00:00
fdsetstress.c gst/tcp/: Added more locks around fdset structures. Fixed/reworked the poll array resizing code. 2004-10-28 14:22:15 +00:00
gstfdset.c gst/tcp/: Added more locks around fdset structures. Fixed/reworked the poll array resizing code. 2004-10-28 14:22:15 +00:00
gstfdset.h gst/tcp/: Some extra checks in gstfdset. 2004-08-18 16:13:19 +00:00
gstmultifdsink.c Fixed negotiation wrt _peer_get_caps() 2005-05-06 17:13:49 +00:00
gstmultifdsink.h ext/ogg/gstoggmux.c: eos/bos debugging 2005-01-13 17:13:51 +00:00
gsttcp-marshal.list gst/tcp/: Starting to prepare for specifying buffer time in other units than buffers. Expose remove reason in signal. 2004-08-10 15:23:19 +00:00
gsttcp.c ext/ogg/gstoggmux.c: eos/bos debugging 2005-01-13 17:13:51 +00:00
gsttcp.h ext/ogg/gstoggmux.c: eos/bos debugging 2005-01-13 17:13:51 +00:00
gsttcpclientsink.c gst/tcp/: Don't leak the hostname when shutting down. 2005-02-02 06:26:15 +00:00
gsttcpclientsink.h ext/tcp/*: Revert Zaheer changes, to make things actually work again. 2004-06-17 09:10:57 +00:00
gsttcpclientsrc.c gst/avi/gstavidemux.c: Declare variables at beginning of block and make gcc-2.95 happy 2005-02-17 19:21:42 +00:00
gsttcpclientsrc.h gst/avi/gstavidemux.c: Declare variables at beginning of block and make gcc-2.95 happy 2005-02-17 19:21:42 +00:00
gsttcpplugin.c configure.ac: Remove idct and resample libs 2005-04-25 00:23:06 +00:00
gsttcpplugin.h *.h: Revert indenting 2004-03-15 16:32:55 +00:00
gsttcpserversink.c Do not pass uninitialised values to setsockopt(). (fixes #167704) 2005-02-17 17:56:39 +00:00
gsttcpserversink.h gst/tcp/: Abstracted away the select call, implemented poll (yes we ran into the 1024 limit in production). 2004-08-11 15:58:48 +00:00
gsttcpserversrc.c gst/avi/gstavidemux.c: Declare variables at beginning of block and make gcc-2.95 happy 2005-02-17 19:21:42 +00:00
gsttcpserversrc.h ext/tcp/*: Revert Zaheer changes, to make things actually work again. 2004-06-17 09:10:57 +00:00
gsttcpsink.c ext/mad/gstid3tag.c: Add stdlib.h 2004-04-20 23:03:28 +00:00
gsttcpsink.h gsttcp -> gsttcpplugin 2004-05-19 15:07:44 +00:00
gsttcpsrc.c first batch : remove ',' at end of enums as they could confuse older gcc, foreign compilers (forte) and gtk-doc 2004-05-21 22:39:30 +00:00
gsttcpsrc.h gsttcp -> gsttcpplugin 2004-05-19 15:07:44 +00:00
Makefile.am Link plugins against libraries: 2005-04-25 00:35:15 +00:00
README add new tcp elements 2004-05-20 10:15:31 +00:00
tcp.vcproj more working plugins 2004-07-27 21:41:30 +00:00

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>