[Bug 702046] rtspsrc doesn't produce buffers

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri Jun 14 07:57:29 PDT 2013


https://bugzilla.gnome.org/show_bug.cgi?id=702046
  GStreamer | gst-plugins-good | git

Wim Taymans <wim.taymans> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |wim.taymans at gmail.com

--- Comment #1 from Wim Taymans <wim.taymans at gmail.com> 2013-06-14 14:57:22 UTC ---
(In reply to comment #0)
> Created an attachment (id=246567)
 --> (https://bugzilla.gnome.org/attachment.cgi?id=246567)
> Test code to reproduce rtspsrc bug
> 
> After I updated gst-plugins-good to the latest git, my custom pipeline using
> rtspsrc stopped working. It seemed like udpsrc was not receiving any packets.
> 
> I tracked down the issue to this commit from Wim Taymans : 
> http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=4fc1f3088b470a89c7e40e5b6e333f9537f12ee9
> 
> Why was the code there in the first place and why was it removed? and why do 

It was a bad workaround for a bug. By the time the rtspsrc is set to PLAYING,
the udpsrc elements are not added yet. When they are added later, their state
is PAUSED so setting the state of the rtspsrc to PLAYING moved them to PLAYING
as well. The problem with the code is that you can't just change the state of
rtspsrc like that.

I
> need to set the state of the element to PLAYING twice in order for it to work ?

The first one probably adds the udpsrc, by the time you do the second one the
udpsrc is added and things start.


> Shouldn't rtspsrc sync_state_with_parent on the udpsrc it creates internally?

Yes, the correct solution is to have rtspsrc update the state of the udpsrc
itself. I will do this.

> 
> Note that for some reason, it still works with playbin though, or with a simple
> gst-launch pipeline.
> Either way, this is a regression that should be fixed.. or someone explains to
> me why the custom pipeline does not work!

gst-launch waits for the rtspsrc to complete the paused state before it goes to
playing and thus has the udpsrc go to playing correctly.


> 
> I have attached a sample test application which can reproduce the bug. It takes
> the rtsp url as first argument, then will output something and quit once
> rtspsrc signals 'pad-added'. As you will notice, we never receive the
> 'pad-added' signal, but if you uncomment the g_timeout that sets the element to
> playing again, it will work,

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list