Skip to content
Snippets Groups Projects
  1. Mar 15, 2021
  2. Feb 16, 2021
  3. Feb 03, 2021
    • Branko Subasic's avatar
      rtsp-stream: avoid deadlock in send_func · 9b9784ab
      Branko Subasic authored and Tim-Philipp Müller's avatar Tim-Philipp Müller committed
      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: <gstreamer/gst-rtsp-server!188>
      9b9784ab
  4. Jan 27, 2021
    • Branko Subasic's avatar
      rtsp-client: cleanup transports during TEARDOWN · 175cb932
      Branko Subasic authored and Tim-Philipp Müller's avatar Tim-Philipp Müller committed
      When tunneling RTP over RTSP the stream transports are stored in a hash
      table in the GstRTSPClientPrivate struct. They are used for, among other
      things, mapping channel id to stream transports when receiving data from
      the client. The stream tranports are created and added to the hash table
      in handle_setup_request(), but unfortuately they are not removed in
      handle_teardown_request(). This means that if the client sends data on
      the RTSP connection after it has sent the TEARDOWN, which is often the
      case when audio backchannel is enabled, handle_data() will still be able
      to map the channel to a session transport and pass the data along to it.
      Which eventually leads to a failing assert in gst_rtsp_stream_recv_rtp()
      because the stream is no longer joined to a bin.
      We avoid this by removing the stream transports from the hash table when
      we handle the TEARDOWN request.
      
      Part-of: <gstreamer/gst-rtsp-server!186>
      175cb932
  5. Jan 14, 2021
  6. Jan 13, 2021
  7. Dec 23, 2020
  8. Dec 15, 2020
  9. Dec 06, 2020
  10. Nov 23, 2020
  11. Nov 16, 2020
  12. Oct 27, 2020
  13. Oct 26, 2020
  14. Oct 10, 2020
  15. Sep 30, 2020
  16. Sep 08, 2020
  17. Sep 07, 2020
  18. Aug 20, 2020
  19. Aug 03, 2020
    • Jordan Petridіs's avatar
      rtsp-thread-pool.c: fix clang 10 warning · e3e946c0
      Jordan Petridіs authored
      clang 10 is complaining about incompatible types due to the
      glib typesystem.
      
      ```
      ../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-thread-pool.c:534:10: error: incompatible pointer types passing 'typeof ((((void *)0))) *' (aka 'void **') to parameter of type 'GThreadPool **' (aka 'struct _GThreadPool **') [-Werror,-Wincompatible-pointer-types]
      ```
      
      Part-of: <gstreamer/gst-rtsp-server!145>
      e3e946c0
    • Jordan Petridіs's avatar
      rtsp-thread-pool.c: fix clang 10 warning · 3254b992
      Jordan Petridіs authored
      clang 10 is complaining about incompatible types due to the
      glib typesystem.
      
      ```
      ../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-thread-pool.c:534:10: error: incompatible pointer types passing 'typeof ((((void *)0))) *' (aka 'void **') to parameter of type 'GThreadPool **' (aka 'struct _GThreadPool **') [-Werror,-Wincompatible-pointer-types]
      ```
      
      Part-of: <gstreamer/gst-rtsp-server!145>
      3254b992
  20. Jul 15, 2020
  21. Jul 08, 2020
  22. Jul 06, 2020
  23. Jul 03, 2020
  24. Jul 02, 2020
  25. Jun 23, 2020
  26. Jun 22, 2020
  27. Jun 19, 2020
Loading