[Bug 768249] rtspsrc lockup on gst_rtspsrc_stop

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Thu Jul 7 09:09:27 UTC 2016


https://bugzilla.gnome.org/show_bug.cgi?id=768249

--- Comment #10 from Sergio Torres Soldado (zenx) <torres.soldado at gmail.com> ---
Hi Sebastian, thank you for your help.

It looks like the may_cancel flag is used only inside the while(true) loop in
build_next() and NOT re-establishing it's state on exit looks odd. If an error
inside the loop occurs (maybe because of lost data, lost synchronisation
because the remote endpoint sent invalid data, ...) it seems important to
re-establish the cancelability, i.e. not doing that only upon receiving a
whole, valid rtsp message.

If the remote endpoint randomly disappears and somehow the read functions
return an error the next build_next() re-entrance read of the first byte of the
header hangs forever when it should return 0 and let gst_rtspsrc_loop_udp()
call gst_rtsp_conninfo_reconnect(). In that case you can't change the state of
the rtspsrc element to NULL for instance, resulting in a deadlock.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list