rtspsrc: Use a mutex for protecting against concurrent send/receives
authorSebastian Dröge <sebastian@centricular.com>
Thu, 15 Jun 2017 07:40:51 +0000 (10:40 +0300)
committerSebastian Dröge <sebastian@centricular.com>
Thu, 15 Jun 2017 12:25:23 +0000 (15:25 +0300)
commita722f6e8329032c6eda4865d6a07f4ba5981d7ea
tree4564bdf173e4c03c987c664de9ecf7c59f2695ef
parentdeb9c62cd9643f252dfa54c0a041d3b4e8e3ca07
rtspsrc: Use a mutex for protecting against concurrent send/receives

We currently send data to the RTSP connection from multiple threads:
whenever a command is to be handled and whenever RTCP is generated. This
can cause data corruption or worse if both happen at the same time.

As such, protect gst_rtsp_connection_send() and gst_rtsp_connection_receive()
calls with a mutex. While this means that we hold a mutex during the IO
operation, this is not actually a problem as the IO operation can be
interrupted (gst_rtsp_connection_flush()) at any time and is blocking by
itself anyway.
gst/rtsp/gstrtspsrc.c
gst/rtsp/gstrtspsrc.h