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 610238 - Avoid an assertion in the rtspsrc element which abort the client application
Avoid an assertion in the rtspsrc element which abort the client application
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
0.10.16
Other Linux
: Normal normal
: 0.10.19
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-02-17 09:58 UTC by Anders Skargren
Modified: 2010-02-22 10:55 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Small patch to check src->task before trying to issue a gst_task_pause() (750 bytes, application/octet-stream)
2010-02-17 09:58 UTC, Anders Skargren
Details

Description Anders Skargren 2010-02-17 09:58:23 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);
Comment 1 Wim Taymans 2010-02-22 10:55:14 UTC
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.