[gst-devel] RTP issues
andrunko at gmail.com
Sat Feb 11 19:33:04 CET 2006
I wrote a code that automatically finds the rtp pipelines based on the
payloaders/depayloaders. I used the definitions found in
gst-plugins-good/gst/rtp/README in order to find the
alawenc -> rtpg711pay -> rtpg711depay -> alawdec
mulawenc -> rtpg711pay -> rtpg711depay -> mulawdec
gsmenc -> rtpgsmpay -> rtpgsmdepay -> gsmdec
Now the problem. Some payloaders/depayloaders may have more than one
input/output caps. For eg. rtpg711pay/depay can encode/decode
PCMU/PCMA. I have no problem finding the correct pipelines for the 2
cases, (mulaw/alaw) but my problem is that i don't know what caps will
be used by each pipeline and this way i can't build a sdp description
of the pipeline.
After finding the pipelines i need to generate the local_capabilities
(sdp) indicating what media are supported by my app. To do this i use
the src caps of the payloader . But what if the payloader has more
than one src caps, that is the case of g711pay/depay.
How can i know that a sink caps is related to a src caps?
Here is the caps of rtpg711pay so you can see more easily what i mean:
SINK template: 'sink'
SRC template: 'src'
I can' t see a way to know that a input of audio/x-mulaw is related to
PCMU and a input of audio/x-alaw is related to PCMA. Maybe in the case
of multiples caps on the payloader, the same would defines a new field
on the src or sink pad to indicate which one is related to the other.
This is not the best solution for sure, but it should work.
The desired sdp would be:
o=- 123456 654321 IN IP4 127.0.0.1
c=IN IP4 127.0.0.1
m=audio 7078 RTP/AVP 0 8
Any idea is appreciate.
More information about the gstreamer-devel