[gst-devel] Re: Python PushSrc example

Nigel Sim nigel.sim at jcu.edu.au
Thu May 11 22:44:42 CEST 2006

Hi Edward, 
I tried your suggestion, and it partially works. I'll outline exactly
what I am doing, and you might be able to point out where I went wrong.
I am receiving GSM RTP packets, and passing them to a gsmdec ! alsasink
pipeline, using my push src. When a packet arrives I call a method of
mypushsrc which adds the packet to a queue, and then use the do_create
method to pass the payloads down the pipe line.

If I do this with no prebuffering the sound is staggered, but works. The
problem I am having is how to allow the prebuffering to occur without
killing the pipeline. If I return a gst.FLOW_OK, gst.Buffer(None) or
similar from do_create while I am prerolling CPU usage goes to 100% as
do_create is called continually. I also tried returning
gst.FLOW_UNEXPECTED, None when there was no data, but I couldn't figure
out how to start the pipeline again after this has occurred. 

Just to clarify, with this setup of do_check_get return false and using
the do_create method, I am really operating is pull more aren't I? The
docs say, if I want to disable pull mode I have to set is_seekable to
false, and if I do this, then do_create is never called.

Many thanks


More information about the gstreamer-devel mailing list