[gst-devel] status of rtp packetizers
Kai Vehmanen
kvehmanen at eca.cx
Thu Nov 3 04:20:52 CET 2005
Hello all,
and more RTP mails. It seems that there are quite a lot of gst/RTP apps
(and elements, especially for session handling) in active development now.
There's at least Flumotion, Farsight, Tapioca, Sofsip (console mode SIP
VoIP client using gst/rtpbin/jrtp, this what I'm personally working with),
the Xeris RTP/RTSP server, ... any others?
But I guess we all agree that nobody should be making their own versions
of packetizers for codecs (and hopefully we can agree upon session
handling, muxing, etc later on). So to that end, here's some material for
comments. I've been talking with people from various group (especially
Philippe, Andre and Zeeshan) about the status of the (de)payloaders, and
here's a list of guidelines and/or open items. Of course, Wim has designed
the current base classes, so hopefully this post is inline with the
original design. Please comment if you are working on this area, or there
is something clearly wrong:
generic todo
------------
- updating the base classes
- porting the current in-tree packetizers to the guidelines (especially
to use the base-classes)
- renaming of the packetizers in gst-plugins-good-cvs/gst/rtp/ (I've
understood that this has been ok'ed on #gstreamer some time ok)
- when's a good time to do this from 1.0 pov...?
payloaders
----------
- should implement the GstBaseRTPPayload base class
- use gst_basertppayload_push() et al
- OPEN: harmonize the way the subclasses are implemented (setting
clock rate, caps, etc)
- naming
- CODECpayload (=> "gsmpayload", "gstgsmpayload.c")
- SDP
- static caps for src pads should be defined according
to gst-plugins-good-cvs/gst/rtp/README
- note: payloader should set the PT in the caps
if fixed (e.g. PT=8 for PCMA)
depayloaders
------------
- implement the GstBaseRTPDepayload base class
- setting the clock_rate, PT, ... (see above)
- OPEN: harmonize the way the subclasses are implemented (setting
clock rate, caps, etc)
- SDP
- static caps for sink pads should be defined according to
gst-plugins-good-cvs/gst/rtp/README
- the sink pad caps should contain at least 'media',
'clock-rate' and 'encoding-name'
- note: depayloaders should accept all PT's (even if the
codec in question has a fixed PT allocated by its payload RFC)
- naming
- CODECdepayload (=> "gsmdepayload", gstgsmdepayload.c)
- base-class todo
- improve the jitter buffer (separate queue-delay, and
max-size params that cover overflows both in queue_release
and in add_to_queue)
- similar services as gst_basertppayload_set_outcaps() for
payloaders for setting caps
--
under work: Sofia-SIP at http://sofia-sip.sf.net
More information about the gstreamer-devel
mailing list