[gst-devel] Simple pipeline with rtp and udp

Olivier Crête olivier.crete at collabora.co.uk
Mon Oct 6 02:28:47 CEST 2008


On Sun, 2008-10-05 at 13:09 -0700, Jon Dufresne wrote:
> Hi,
> 
> I am experimenting with gstreamer for an rtp application. Before I
> start coding, I want to see what gstreamer is capable of at the
> moment, so I thought I would experiment with a few simple pipelines.
> So far I have been unable to get even a simple pipeline working the
> way I want and am at this point no sure what is going on.
> 
> I have two pipelines, one that is the server, and one that is the client.
> 
> The server looks like this:
> 
> gst-launch  \
> 	videotestsrc ! \
> 	theoraenc ! \
> 	rtptheorapay ! \
> 	udpsink
> 
> while the client looks like:
> 
> gst-launch --verbose \
> 	udpsrc ! \
> 	rtptheoradepay ! \
> 	theoradec ! \
> 	xvimagesink
> 
> I run these both on the same machine, in different terminals. My goal
> is to have the videotestsrc image eventually play on the client side.
> 
> When I run the server I see the following output:
> 
> $ ./server
> Setting pipeline to PAUSED ...
> Pipeline is PREROLLING ...
> Pipeline is PREROLLED ...
> Setting pipeline to PLAYING ...
> New clock: GstSystemClock
> 
> 
> At this point I assume it is in a good state and is doing the job I
> want. So I go to star the client. Everytime I see the following:
> 
> $ ./client
> Setting pipeline to PAUSED ...
> Pipeline is live and does not need PREROLL ...
> Setting pipeline to PLAYING ...
> New clock: GstSystemClock
> ERROR: from element /pipeline0/rtptheoradepay0: Could not decode stream.
> Additional debug info:
> gstrtptheoradepay.c(623): gst_rtp_theora_depay_process ():
> /pipeline0/rtptheoradepay0:
> Could not switch codebooks
> Execution ended after 17066459 ns.
> Setting pipeline to PAUSED ...
> Setting pipeline to READY ...
> Setting pipeline to NULL ...
> FREEING pipeline ...
> 
> 
> I am not sure what the above error is trying to tell me.

For theora to work over RTP, you need to carry the content of the
"configuration" value from the caps on the sender side to the receiver
side. That should preferably be done in your signalling. Or you can use
an older codec liek h263 that does not require transmitting a header.

-- 
Olivier Crête
olivier.crete at collabora.co.uk
Collabora Ltd
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20081005/aa6b2071/attachment.pgp>


More information about the gstreamer-devel mailing list