After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 704198 - rtspconnection: Removes child sources and adds them again later
rtspconnection: Removes child sources and adds them again later
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal major
: 1.1.3
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-07-14 15:06 UTC by Sebastian Dröge (slomo)
Modified: 2013-07-15 08:19 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Sebastian Dröge (slomo) 2013-07-14 15:06:42 UTC
gstrtspconnection currently removes write child sources if nothing is to write. Unfortunately child sources that were removed once can't be added again because they're marked as destroyed. Removing a child source removes the G_HOOK_FLAG_ACTIVE flag and when adding a child source again there's an assertion to check for this.

This was added with

commit ad6c16fdfccb6aff1732d2df1dcd43037cc4daa3
Author: Wim Taymans <wim.taymans@collabora.co.uk>
Date:   Thu Jun 20 17:28:46 2013 +0200

    rtsp: manage writer child source better
    
    Only add the write child source when we have something to write or else
    we will dispatch forever without doing anything.
Comment 1 Sebastian Dröge (slomo) 2013-07-14 16:13:25 UTC
commit c6f8220920ca9a4e0fd3f9f6b9af555dda7cec34
Author: Sebastian Dröge <slomo@circular-chaos.org>
Date:   Sun Jul 14 18:11:59 2013 +0200

    rtspconnection: Create a new write GSource after removing it
    
    After removal, a GSource is destroyed and can never be attached
    again to a main context. We need to create a new one instead.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=704198
Comment 2 Wim Taymans 2013-07-15 07:47:06 UTC
That does not sound right? sources are not destroyed AFAIK. Maybe you are running into bug #701283 ?
Comment 3 Wim Taymans 2013-07-15 07:51:44 UTC
(In reply to comment #2)
> That does not sound right? sources are not destroyed AFAIK. Maybe you are
> running into bug #701283 ?

Ah no, they are destroyed indeed.. weird, how could this have worked then..
Comment 4 Sebastian Dröge (slomo) 2013-07-15 08:19:32 UTC
I guess for you either the socket's send buffer was large enough to never run in the delayed sending... or you always produced data fast enough to always have data in the loop of the GSource (unlikely ;) ).