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 660440 - Gstreamer RTSP server - finalize() doesn't delete io_channelwatches...
Gstreamer RTSP server - finalize() doesn't delete io_channelwatches...
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-rtsp-server
0.10.x
Other Windows
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-09-29 10:56 UTC by matzepopatze
Modified: 2011-11-03 16:37 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description matzepopatze 2011-09-29 10:56:53 UTC
Hey guys!

I think the RTSP Server is missing some code in the finalize method. The underlying IO channel doesn't get deleted (close is not called on the
socket) which prevents the server from running correctly after the object has been destroyed and newly created once. I guess the watch on the IO channel should be deleted and the refcount of the iochannel must be decremented:

gst_rtsp_server_finalize (GObject *object) {

...
//remove the io-watch
if(g_source_remove(server->io_watch)
{
	g_source_unref(server->io_watch);
}
else
{
	GST_ERROR_OBJECT (server, "failed to remove io watch"); }

//io channel should be deleted...
g_io_channel_unref(server->io_channel);
...

}

Feel free to add the code in future versions,

Cheers

mat
Comment 1 Sebastian Dröge (slomo) 2011-10-03 09:20:09 UTC
Could you attach this change as a "git format-patch" style patch? This will allow faster reviewing and keeping of author attributions and everything.
Comment 2 Wim Taymans 2011-11-03 12:11:40 UTC
Too much has changed.. closing, please reopen if still a problem.
Comment 3 matzepopatze 2011-11-03 16:37:19 UTC
Yes, you are right- this relates to an older version of the RTSPServer. I didn't see this in the latest version...

Thanks!