GStreamer multimedia framework
Find a file
Branko Subasic 6fc8b963a5 rtsp-stream: avoid deadlock in send_func
Currently the send_func() runs in a thread of its own which is started
the first time we enter handle_new_sample(). It runs in an outer loop
until priv->continue_sending is FALSE, which happens when a TEARDOWN
request is received. We use a local variable, cont, which is initialized
to TRUE, meaning that we will always enter the outer loop, and at the
end of the outer loop we assign it the value of priv->continue_sending.

Within the outer loop there is an inner loop, where we wait to be
signaled when there is more data to send. The inner loop is exited when
priv->send_cookie has changed value, which it does when more data is
available or when a TEARDOWN has been received.

But if we get a TEARDOWN before send_func() is entered we will get stuck
in the inner loop because no one will increase priv->session_cookie
anymore.

By not entering the outer loop in send_func() if priv->continue_sending
is FALSE we make sure that we do not get stuck in send_func()'s inner
loop should we receive a TEARDOWN before the send thread has started.

Change-Id: I7338a0ea60ea435bb685f875965f5165839afa20
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/merge_requests/187>
2021-02-01 20:27:39 +01:00
docs rtspclientsink: Add "update-sdp" signal that allows updating the SDP before sending it to the server 2021-01-08 13:26:01 +00:00
examples rtsp-media-factory: expose API to disable RTCP 2020-10-10 02:06:18 +02:00
gst rtsp-stream: avoid deadlock in send_func 2021-02-01 20:27:39 +01:00
hooks git: use our standard pre commit hook 2020-10-08 21:48:55 +00:00
scripts meson: set release date from .doap file for releases 2020-07-08 17:28:57 +01:00
tests Add test cases for mountpoint of '/' 2020-12-23 19:45:13 +00:00
.gitignore Remove autotools build 2019-10-13 13:52:37 +01:00
.gitlab-ci.yml ci: include template from gst-ci master branch again 2020-09-08 17:30:49 +01:00
AUTHORS Initial import 2008-10-09 13:29:12 +01:00
ChangeLog Release 1.18.0 2020-09-08 00:08:29 +01:00
COPYING Fix FSF address 2012-11-04 00:14:25 +00:00
COPYING.LIB Fix FSF address 2012-11-04 00:14:25 +00:00
gst-rtsp-server.doap Release 1.18.0 2020-09-08 00:08:29 +01:00
meson.build Meson: Use pkg-config generator 2020-10-23 14:03:43 +00:00
meson_options.txt docs: Port to hotdoc 2019-05-13 11:38:39 -04:00
NEWS Release 1.18.0 2020-09-08 00:08:29 +01:00
README Fix typo in README 2015-03-15 12:27:39 +00:00
RELEASE Release 1.18.0 2020-09-08 00:08:29 +01:00
REQUIREMENTS Initial import 2008-10-09 13:29:12 +01:00
TODO rtsp: cleanups 2012-11-15 17:11:16 +01:00

gst-rtsp-server is a library on top of GStreamer for building an RTSP server

There are some examples in the examples/ directory and more comprehensive
documentation in docs/README.