GNOME Bugzilla – Bug 729632
rtspconnection: crashing sometimes when addinging a read source
Last modified: 2014-05-11 07:11:43 UTC
Created attachment 275953 [details] [review] gst-plugins-base patch This when tunneling and drop-backlog parameter is FALSE. This is related to tickets https://bugzilla.gnome.org/show_bug.cgi?id=725898 , https://bugzilla.gnome.org/show_bug.cgi?id=728153 and https://bugzilla.gnome.org/show_bug.cgi?id=728772 If trying to add a read source on write socket after a call to gst_rtsp_connection_close it craches. Adding patch with solution reset_cont_stream.patch
This happens in gst_rtsp_source_dispatch_write. do { if (watch->write_data == NULL) { GstRTSPRec *rec; /* get a new message from the queue */ rec = g_queue_pop_tail (watch->messages); if (rec == NULL) { if (watch->writesrc) { g_source_remove_child_source ((GSource *) watch, watch->writesrc); g_source_unref (watch->writesrc); watch->writesrc = NULL; /* we create and add the write source again when we actually have * something to write */ /* since write source is now removed we add read source on the write * socket instead to be able to detect when client closes get channel * in tunneled mode */ if (watch->conn->control_stream) { ==> watch->controlsrc = g_pollable_input_stream_create_source (G_POLLABLE_INPUT_STREAM (watch->conn->control_stream), NULL);
commit 446f9bf6bd8fbfc1fd42e60c7872027fac398509 Author: Göran Jönsson <goranjn@axis.com> Date: Tue May 6 11:12:19 2014 +0200 rtspconnection: Reset control_stream. Reset control_stream when gst_rtsp_connection_close. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=729632
When fixing a crash, it would be great if the commit message summary, or at least the commit message body, mentioned that it fixes a crash and under what circumstances.