1. 04 Jun, 2019 1 commit
    • Nicolas Dufresne's avatar
      rtpssrcdemux: Avoid taking streamlock out-of-band · f7c712d0
      Nicolas Dufresne authored
      In this change we now protect the internal srcpads list using the
      stream lock and limit usage of the internal stream lock to
      preventing data flowing on the other src pad type while creating
      and signalling the new pad.
      
      This fixes a deadlock with RTPBin shutdown lock. These two locks would
      end up being taken in two different order, which caused a deadlock. More
      generally, we should not rely on a streamlock when handling out-of-band
      data, so as a side effect, we should not take a stream lock when
      iterating internal links.
      f7c712d0
  2. 03 Jun, 2019 2 commits
  3. 29 May, 2019 2 commits
  4. 28 May, 2019 2 commits
  5. 27 May, 2019 1 commit
  6. 26 May, 2019 1 commit
  7. 25 May, 2019 3 commits
  8. 24 May, 2019 1 commit
  9. 22 May, 2019 1 commit
  10. 17 May, 2019 1 commit
    • Nicolas Dufresne's avatar
      rtpsession: Always keep at least one NACK on early RTCP · 947a37f3
      Nicolas Dufresne authored
      We recently added code to remove outdate NACK to avoid using bandwidth
      for packet that have no chance of arriving on time. Though, this had a
      side effect, which is that it was to get an early RTCP packet with no
      feedback into it. This was pretty useless but also had a side effect,
      which is that the RTX RTT value would never be updated. So we we stared
      having late RTX request due to high RTT, we'd never manage to recover.
      
      This fixes the regression by making sure we keep at least one NACK in
      this situation. This is really light on the bandwidth and allow for
      quick recover after the RTT have spiked higher then the jitterbuffer
      capacity.
      947a37f3
  11. 13 May, 2019 4 commits
  12. 03 May, 2019 1 commit
  13. 02 May, 2019 2 commits
    • Nicolas Dufresne's avatar
      a6e7f258
    • Nicolas Dufresne's avatar
      rtpsession: Call on-new-ssrc earlier · 84c102b6
      Nicolas Dufresne authored
      Right now, we may call on-new-ssrc after we have processed the first
      RTP packet. This prevents properly configuring the source as some
      property like "probation" are copied internally for use as a
      decreasing counter. For this specific property, it prevents the
      application from disabling probation on auxiliary sparse stream.
      
      Probation is harmful on sparse streams since the probation algorithm
      assume frequent and contiguous RTP packets.
      84c102b6
  14. 01 May, 2019 4 commits
  15. 29 Apr, 2019 1 commit
  16. 25 Apr, 2019 2 commits
  17. 23 Apr, 2019 1 commit
    • Philippe Normand's avatar
      scaletempo: Advertise interleaved layout in caps templates · aadfa5f2
      Philippe Normand authored
      Scaletempo doesn't support non-interleaved layout. Not explicitely stating this
      would trigger critical warnings and a caps negotiation failure when scaletempo
      is used as playbin audio-filter.
      
      Patch suggested by George Kiagiadakis <george.kiagiadakis@collabora.com>.
      
      Fixes #591
      aadfa5f2
  18. 22 Apr, 2019 2 commits
  19. 09 Apr, 2019 6 commits
    • Tim-Philipp Müller's avatar
      rtpulpfecdec,enc: unbreak plugin gtk-doc build in autotools · c6c3bed0
      Tim-Philipp Müller authored
      Fix doc chunks to not use that syntax for links that have the
      url as description, it will be put verbatim into the xml/*.xml
      file and then the expat parser will throw a syntax error like:
      
        File "../../common/mangle-db.py", line 71, in <module>
          main()
        File "../../common/mangle-db.py", line 69, in main
          patch (details.replace("-details", ""), os.path.basename(details))
        File "../../common/mangle-db.py", line 20, in patch
          doc = xml.dom.minidom.parse(related)
        File "/usr/lib/python2.7/xml/dom/minidom.py", line 1918, in parse
          return expatbuilder.parse(file)
        File "/usr/lib/python2.7/xml/dom/expatbuilder.py", line 924, in parse
          result = builder.parseFile(fp)
        File "/usr/lib/python2.7/xml/dom/expatbuilder.py", line 207, in parseFile
          parser.Parse(buffer, 0)
      xml.parsers.expat.ExpatError: not well-formed (invalid token): line 84, column 7
      c6c3bed0
    • Antonio Ospite's avatar
      rtpvrawpay: preserve GST_BUFFER_FLAG_DISCONT on the first outputted buffer · 61c1385c
      Antonio Ospite authored
      If the incoming frame buffer has GST_BUFFER_FLAG_DISCONT set this should
      be preserved and set for the first output buffer too, like other
      payloaders do.
      
      Spotted with gst-validate-1.0 when adding integration tests for
      rtpsession, a minimal test to reproduce the issue is:
      
      $ gst-validate-1.0 videotestsrc num-buffers=1 ! rtpvrawpay ! identity ! fakesink
      Starting pipeline
      Pipeline started
         warning : Buffer didn't have expected DISCONT flag333 speed: 1.000000 />
                   Detected on <identity0:sink>
                   Detected on <identity0:src>
                   Detected on <fakesink0:sink>
                   Description : Buffers after SEGMENT and FLUSH must have a DISCONT flag
      
      Issues found: 1
      
      =======> Test PASSED (Return value: 0)
      61c1385c
    • Olivier Crête's avatar
      92138dc3
    • Olivier Crête's avatar
      rtpred*: Add example pipelines · 1bd81d3d
      Olivier Crête authored
      1bd81d3d
    • Olivier Crête's avatar
      rtpulpfec*: Improve documentation · 11f30181
      Olivier Crête authored
      11f30181
    • Olivier Crête's avatar
      rtpstorage + rtpulpfecdec: Get the storage using a query as fallback · 070eacdd
      Olivier Crête authored
      This allows it to be used using gst-launch for easier testing.
      070eacdd
  20. 05 Apr, 2019 2 commits