GNOME Bugzilla – Bug 610238
Avoid an assertion in the rtspsrc element which abort the client application
Last modified: 2010-02-22 10:55:14 UTC
Created attachment 154010 [details] Small patch to check src->task before trying to issue a gst_task_pause() Scenario: Set the rtspsrc to only allow multicast. Try to receive a multicast stream from a server. Make sure the rtspsrc never receives any multicast rtp packets and let it time out. Problem: When you use the rtspsrc element to try to retrieve a multicast stream while having disabled the TCP fallback, it can throw an abort on the gst_task_pause (src->task); in gst_rtspsrc_loop(). Reason being that the gst_rtspsrc_loop_udp() function has already removed the src->task and set the pointer to NULL. It then realizes that TCP is disabled and errors out using the no_protocols target. The error handling in gst_rtspsrc_loop() then tries to issue a gst_task_pause() on a NULL pointer. Included a very small patch that checks src->task before trying to issue the gst_task_pause(src->task);
commit a0b651bf5ba51eb385e43d61dd74cb786057d4fd Author: Wim Taymans <wim.taymans@collabora.co.uk> Date: Tue Feb 16 19:53:09 2010 +0100 rtspsrc: avoid stopping NULL tasks Check the task for NULL, it could be paused and set to NULL before.