1. 27 Jun, 2020 1 commit
  2. 23 Jun, 2020 6 commits
  3. 21 Jun, 2020 1 commit
  4. 20 Jun, 2020 2 commits
  5. 19 Jun, 2020 5 commits
  6. 18 Jun, 2020 5 commits
  7. 17 Jun, 2020 1 commit
  8. 16 Jun, 2020 2 commits
  9. 12 Jun, 2020 4 commits
  10. 11 Jun, 2020 1 commit
  11. 10 Jun, 2020 2 commits
  12. 09 Jun, 2020 4 commits
  13. 08 Jun, 2020 4 commits
    • Nicolas Dufresne's avatar
      rtptimerqueue: Fix leak on timer collision · 5b2ad315
      Nicolas Dufresne authored
      While the caller should make sure this does not happen, make sure timer
      collision are not silently ignored and leaked.
      Fixes #726
      Part-of: <gstreamer/gst-plugins-good!616>
    • Nicolas Dufresne's avatar
      rtpjitterbuffer: Keep JBUF lock while processing timers · b4f421e9
      Nicolas Dufresne authored
      Until now, do_expected_timeout() was shortly dropping the JBUF_LOCK in order
      to push RTX event event without causing deadlock. As a side effect, some
      CPU hung would happen as the timerqueue would get filled while looping over
      the due timers. To mitigate this, we were processing the lost timer first and
      placing into a queue the remainign to be processed later.
      In the gap caused by an unlock, we could endup receiving one of the seqnum
      present in the pending timers. In that case, the timer would not be found and
      a new one was created. When we then update the expected timer, the seqnum
      would already exist and the updated timer would be lost.
      In this patch we remove the unlock from do_expected_timeout() and place all
      pending RTX event into a queue (instead of pending timer). Then, as soon as
      we have selected a timer to wait (or if there is no timer to wait for) we send
      all the upstream RTX events. As we no longer unlock, we no longer need to pop
      more then one timer from the queue, and we do so with the lock held, which
      blocks any new colliding timers from being created.
      Part-of: <gstreamer/gst-plugins-good!616>
    • Guillaume Desmottes's avatar
      tests: vp9enc: enforce I420 format · 0594d2f9
      Guillaume Desmottes authored
      Test was not enforcing a video format on videotestsrc. I420 was picked
      as it was the first format in GST_VIDEO_FORMATS_ALL which will no longer
      be true (gst-plugins-base!689).
      Part-of: <gstreamer/gst-plugins-good!615>
    • Edward Hervey's avatar
      rtpjitterbuffer: Avoid deadlock on flush · 54810bf4
      Edward Hervey authored
      When a GST_EVENT_FLUSH_START reaches the jitterbuffer, there is a chance that
      our task is currently blocking waiting for a timer.
      There was two problems:
      * That wait wasn't checking for flushing situations
      * The flushing handling wasn't waking up that conditional (to check whether it
      should abort)
      Part-of: <gstreamer/gst-plugins-good!608>
  14. 05 Jun, 2020 2 commits