Skip to content
Snippets Groups Projects
  1. Oct 21, 2020
  2. Oct 20, 2020
  3. Sep 25, 2020
  4. Sep 24, 2020
  5. Sep 21, 2020
    • Sebastian Dröge's avatar
      rtspclientsink: Set async-handling=false for the internal bins · ed189750
      Sebastian Dröge authored
      Without this we can easily run into a race condition with async state changes:
      - the pipeline is doing an async state change
      - we set the internal bins to PLAYING but that's ignored because an
        async state change is currently pending
      - the async state change finishes but does not change the state of the
        internal bins because of locked_state==TRUE
      - the internal bins stay in PAUSED forever
      
      Part-of: <gstreamer/gst-rtsp-server!151>
      ed189750
  6. Jun 06, 2020
    • Sebastian Dröge's avatar
      rtsp-auth: Fix NULL pointer dereference when handling an invalid basic Authorization header · ccc8d0c4
      Sebastian Dröge authored and Tim-Philipp Müller's avatar Tim-Philipp Müller committed
      When using the basic authentication scheme, we wouldn't validate that
      the authorization field of the credentials is not NULL and pass it on
      to g_hash_table_lookup(). g_str_hash() however is not NULL-safe and will
      dereference the NULL pointer and crash.
      A specially crafted (read: invalid) RTSP header can cause this to
      happen.
      
      As a solution, check for the authorization to be not NULL before
      continuing processing it and if it is simply fail authentication.
      
      This fixes CVE-2020-6095 and TALOS-2020-1018.
      
      Discovered by Peter Wang of Cisco ASIG.
      ccc8d0c4
  7. Feb 04, 2020
  8. Dec 13, 2019
  9. Dec 03, 2019
  10. Nov 12, 2019
  11. Nov 11, 2019
    • Kristofer's avatar
      rtsp-client: RTP Info when completed_sender · 4bad948e
      Kristofer authored and Tim-Philipp Müller's avatar Tim-Philipp Müller committed
      Change condition that should be fulfilled regarding RTPInfo.
      Replace !gst_rtsp_media_is_receive_only with
      gst_rtsp_media_has_completed_sender. It is more correct to actually look
      for a sender pipeline that is complete. Only then a RTPInfo should
      exist.
      
      gst_rtsp_media_is_receive_only gives different answears depending on
      state of server.
      If Describe is called wth URL+options for backchannel SDP will give only
      audio and only backchannel a=sendonly
      If Describe is called on URL+options that gives both audio and video
      direction from server to client, pipelines are created. Thus
      receive_only will return false, even though Setup only would setup
      backchannel.
      
      RTP-Info is only for outgoing streams. Thus one should look if outgoing
      streams are complete.
      4bad948e
  12. Oct 17, 2019
  13. Sep 23, 2019
  14. Sep 08, 2019
  15. Aug 06, 2019
  16. May 02, 2019
  17. Apr 18, 2019
  18. Apr 15, 2019
  19. Apr 11, 2019
    • Göran Jönsson's avatar
      rtsp_server: Free thread pool before clean transport cache · 3cfe8863
      Göran Jönsson authored
      If not waiting for free thread pool before clean transport caches, there
      can be a crash if a thread is executing in transport list loop in
      function send_tcp_message.
      
      Also add a check if priv->send_pool in on_message_sent to avoid that a
      new thread is pushed during wait of free thread pool. This is possible
      since when waiting for free thread pool mutex have to be unlocked.
      3cfe8863
  20. Apr 10, 2019
  21. Mar 27, 2019
  22. Mar 23, 2019
    • Tim-Philipp Müller's avatar
      g-i: pass --quiet to g-ir-scanner · 0becf0b6
      Tim-Philipp Müller authored
      This suppresses the annoying 'g-ir-scanner: link: cc ..' output
      that we get even if everything works just fine.
      
      We still get g-ir-scanner warnings and compiler warnings if
      we pass this option.
      0becf0b6
    • Tim-Philipp Müller's avatar
      g-i: silence 'nested extern' compiler warnings when building scanner binary · 6f434615
      Tim-Philipp Müller authored
      We need a nested extern in our init section for the scanner binary
      so we can call gst_init to make sure GStreamer types are initialised
      (they are not all lazy init via get_type functions, but some are in
      exported variables). There doesn't seem to be any other mechanism to
      achieve this, so just remove that warning, it's not important at all.
      6f434615
  23. Mar 21, 2019
  24. Mar 20, 2019
    • Göran Jönsson's avatar
      rtsp-media: Handle set state when preparing. · 1fd49d36
      Göran Jönsson authored
      Handle the situation when  a call to gst_rtsp_media_set_state is done
      when media status is preparing.
      
      Also add unit test for this scenario.
      
      The unit test simulate on a media level when two clients share a (live)
      media.
      Both clients have done SETUP and got responses. Now client 1 is doing
      play and client 2 is just closing the connection.
      
      Then without patch there are a problem when
      client1 is calling gst_rtsp_media_unsuspend in handle_play_request.
      And client2 is doing closing connection we can end up in a call
      to gst_rtsp_media_set_state when
      priv->status == GST_RTSP_MEDIA_STATUS_PREPARING and all the logic for
      shut down media is jumped over .
      
      With this patch and this scenario we wait until
      priv->status == GST_RTSP_MEDIA_STATUS_PREPARED and then continue to
      execute after that and now we will execute the logic for
      shut down media.
      1fd49d36
  25. Mar 04, 2019
  26. Feb 26, 2019
  27. Feb 19, 2019
  28. Feb 02, 2019
  29. Jan 30, 2019
  30. Jan 29, 2019
  31. Jan 25, 2019
    • Lars Wireen's avatar
      rtsp-media: Fix race codition in finish_unprepare · ae32203c
      Lars Wireen authored and Sebastian Dröge's avatar Sebastian Dröge committed
      The previous fix for race condition around finish_unprepare where the
      function could be called twice assumed that the status wouldn't change
      during execution of the function. This assumption is incorrect as the
      state may change, for example if an error message arrives from the
      pipeline bus.
      
      Instead a flag keeping track on whether the finish_unprepare function
      is currently executing is introduced and checked.
      
      Fixes gstreamer/gst-rtsp-server#59
      ae32203c
Loading