[Bug 739265] rtspsrc: teardown usually never happens
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Wed Apr 8 06:32:39 PDT 2015
https://bugzilla.gnome.org/show_bug.cgi?id=739265
Kseniya Vasilchuk <vasilchukkseniia at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |vasilchukkseniia at gmail.com
--- Comment #5 from Kseniya Vasilchuk <vasilchukkseniia at gmail.com> ---
(In reply to Wim Taymans from comment #3)
> This is by design, downward state changes should never block or wait. If
> you want to wait for shutdown you should use the PROGRESS messages.
I had the same situation with TEARDOWN like Aleix so I tried using progress
messages. When EOS happens, I change pipeline state to STATE_PAUSE and wait for
progress messages (this works fine), after I get GST_PROGRESS_TYPE_COMPLETE I
set pipeline to STATE_READY to close connection and wait for progress messages
again, but this time I get no PROGRESS_MESSAGE_COMPLETE.
When a state changes from PAUSE to READY I expect that CMD_CLOSE will be sent
and other commands will be canceled. But after gst_rtspsrc_thread executes
CMD_PAUSE, it changes current command to CMD_LOOP, so it will never be
interrupted and CMD_CLOSE will never be executed because CMD_CLOSE can only
interrupt CMD_PAUSE but not CMD_LOOP.
Aleix's patch (even without GST_RTSP_STREAM_LOCK/UNLOCK) solves this problem
for me so I think it should be submitted.
--
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