1. 30 May, 2019 2 commits
  2. 29 May, 2019 1 commit
  3. 06 May, 2019 1 commit
  4. 01 May, 2019 8 commits
    • Edward Hervey's avatar
      rtsp-stream: Use cached address when allocating sockets · f11f127a
      Edward Hervey authored
      If an address/port was previously decided upon (ex: multicast in the
      SDP), then use that instead of re-creating another one
      
      Fixes #57
      f11f127a
    • Sebastian Dröge's avatar
      rtsp-server: Fix various Since markers · 64f67f0e
      Sebastian Dröge authored
      64f67f0e
    • Sebastian Dröge's avatar
      de92aecd
    • Erlend Eriksen's avatar
    • Göran Jönsson's avatar
      rtsp-media: Handle set state when preparing. · ac0be798
      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.
      ac0be798
    • Benjamin Berg's avatar
      client: Fix crash in close handler · f39bdcae
      Benjamin Berg authored
      The close handler could trigger a crash because it invalidated the
      watch_context while still leaving a source attached to it which would be
      cleaned up at a later point.
      f39bdcae
    • Lars Wireen's avatar
      rtsp-media: Fix race condition in finish_unprepare · cff88f07
      Lars Wireen authored
      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 #59
      cff88f07
    • Linus Svensson's avatar
      rtsp-stream: Use seqnum-offset for rtpinfo · 8c595bcf
      Linus Svensson authored
      The sequence number in the rtpinfo is supposed to be the first RTP
      sequence number. The "seqnum" property on a payloader is supposed to be
      the number from the last processed RTP packet. The sequence number for
      payloaders that inherit gstrtpbasepayload will not be correct in case of
      buffer lists. In order to fix the seqnum property on the payloaders
      gst-rtsp-server must get the sequence number for rtpinfo elsewhere and
      "seqnum-offset" from the "stats" property contains the value of the
      very first RTP packet in a stream. The server will, however, try to look
      at the last simple in the sink element and only use properties on the
      payloader in case there no sink elements yet, and by looking at the last
      sample of the sink gives the server full control of which RTP packet it
      looks at. If the payloader does not have the "stats" property, "seqnum"
      is still used since "seqnum-offset" is only present in as part of
      "stats" and this is still an issue not solved with this patch.
      
      Needed for gst-plugins-base!17
      8c595bcf
  5. 10 Nov, 2018 5 commits
  6. 22 Oct, 2018 1 commit
    • Edward Hervey's avatar
      rtsp-client: Remove timeout GSource on cleanup · 89f6f25e
      Edward Hervey authored
      Avoids ending up with races where a timeout would still be around
      *after* a client was gone. This could happen rather easily in
      RTSP-over-HTTP mode on a local connection, where each RTSP message
      would be sent as a different HTTP connection with the same tunnelid.
      
      If not properly removed, that timeout would then try to free again
      a client (and its contents).
      89f6f25e
  7. 02 Oct, 2018 1 commit
  8. 16 Sep, 2018 1 commit
  9. 16 Aug, 2018 1 commit
  10. 20 Jul, 2018 1 commit
  11. 16 Jul, 2018 2 commits
  12. 12 Jul, 2018 4 commits
  13. 27 Jun, 2018 1 commit
  14. 21 Jun, 2018 1 commit
  15. 18 May, 2018 1 commit
  16. 17 May, 2018 1 commit
  17. 14 May, 2018 1 commit
  18. 20 Apr, 2018 1 commit
    • Joakim Johansson's avatar
      rtsp-client: Fix session timeout · 0d846d4c
      Joakim Johansson authored
      When streaming data over TCP then is not the keep-alive
      functionality working.
      
      The reason is that the function do_send_data have changed
      to boolean but the code is still checking the received result
      from send_func with GST_RTSP_OK.
      
      The result is that a successful send_func will always lead to
      that do_send_data is returning false and the keep-alive will
      not be updated.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=795321
      0d846d4c
  19. 17 Apr, 2018 1 commit
  20. 16 Apr, 2018 1 commit
    • Tim-Philipp Müller's avatar
      rtspclientsink: make sure not to use freed string · b6be3ac9
      Tim-Philipp Müller authored
      Set transport string to NULL after freeing it, so that
      at worst we get a NULL pointer if constructing a new
      transport string fails (which shouldn't really fail here).
      Also check return value of that, just in case.
      
      CID 1433768.
      b6be3ac9
  21. 30 Mar, 2018 1 commit
    • Mathieu Duponchelle's avatar
      rtspclientsink: Fix client ports for the RTCP backchannel · 3244a351
      Mathieu Duponchelle authored
      This was broken since the work for delayed transport creation
      was merged: the creation of the transports string depends on
      calling stream_get_server_port, which only starts returning
      something meaningful after a call to stream_allocate_udp_sockets
      has been made, this function expects a transport that we parse
      from the transport string ...
      
      Significant refactoring is in order, but does not look entirely
      trivial, for now we put a band aid on and create a second transport
      string after the stream has been completed, to pass it in
      the request headers instead of the previous, incomplete one.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=794789
      3244a351
  22. 25 Mar, 2018 1 commit
    • Sebastian Dröge's avatar
      rtsp-media-factory-uri: Fix compilation with latest GLib · 050803b9
      Sebastian Dröge authored
      rtsp-media-factory-uri.c: In function ‘rtsp_media_factory_uri_create_element’:
      rtsp-media-factory-uri.c:621:17: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
         data->factory = g_object_ref (factory);
                       ^
      050803b9
  23. 19 Mar, 2018 1 commit
  24. 13 Mar, 2018 1 commit