1. 08 Jul, 2021 1 commit
  2. 05 May, 2021 1 commit
  3. 29 Mar, 2021 1 commit
  4. 16 Dec, 2020 1 commit
  5. 11 Dec, 2020 1 commit
    • Jan Schmidt's avatar
      splitmuxsink: Fix for 'reference bytes muxed' check. · d7a9a844
      Jan Schmidt authored
      !798
      introduced a check in the need-new-fragment logic to avoid starting a
      new fragment unless there has been some data on the reference stream,
      but the check is done against the number of bytes that have been
      received on the input, not the number that were released for output
      into the current fragment.
      
      Fix the check to remember and test against bytes that have been sent
      for output.
      
      This also fixes a problem where starting a new fragment fails to
      request a new filename from the format-location signal.
      
      Part-of: <!833>
      d7a9a844
  6. 08 Dec, 2020 2 commits
  7. 31 Oct, 2020 5 commits
    • Jan Schmidt's avatar
      splitmuxsink: Change EOS catching logic. · 35cc0df5
      Jan Schmidt authored and Jan Schmidt's avatar Jan Schmidt committed
      Add a new state for ending the overall stream, and use it to decide
      whether to pass the final EOS message up the bus instead of dropping
      it. Fixes a small race that makes the testsuite sometimes not generate
      the last fragment(s) sometimes because the wrong EOS gets
      allowed through too early.
      
      Part-of: <!798>
      35cc0df5
    • Jan Schmidt's avatar
      splitmuxsink: Don't use the element state lock · d12fa001
      Jan Schmidt authored and Jan Schmidt's avatar Jan Schmidt committed
      Using the element state lock to avoid splitmuxsink shutting
      down while doing element manipulations can lead to a deadlock on
      shutdown if a fragment switch happens at exactly the wrong moment.
      
      Use a private mutex and a shutdown boolean instead.
      
      Part-of: <!798>
      d12fa001
    • Jan Schmidt's avatar
      splitmuxsink: Don't busy loop on a non-ready pad. · 41ca3b4e
      Jan Schmidt authored and Jan Schmidt's avatar Jan Schmidt committed
      If a pad gets into the check_completed_gop method and then
      the underlying conditions change on the reference context,
      things could get stuck in a busy loop when the context should
      instead jump back out and wait for more data.
      
      Part-of: <!798>
      41ca3b4e
    • Jan Schmidt's avatar
      splitmuxsink: Forward EOS messages from async fragments. · f0c24319
      Jan Schmidt authored and Jan Schmidt's avatar Jan Schmidt committed
      Re-enable forwarding EOS messages from fragments that are completing
      asynchronously, so that splitmuxsink itself won't go EOS until they
      are complete. This was disabled to work around a bug in core that
      is fixed in
      gstreamer!683
      
      Part-of: <!798>
      f0c24319
    • Jan Schmidt's avatar
      splitmuxsink: Never start a new fragment with no reference buffers · 1316dd9c
      Jan Schmidt authored and Jan Schmidt's avatar Jan Schmidt committed
      If there has been no bytes from the reference stream muxed into
      the current fragment, then time can't have advanced, there's no
      GOP... this fragment would be broken or empty, so wait for some
      data on the reference buffer.
      
      Part-of: <!798>
      1316dd9c
  8. 09 Sep, 2020 1 commit
    • Mathieu Duponchelle's avatar
      splitmuxsink: fix sink pad release while PLAYING · 19860200
      Mathieu Duponchelle authored
      - Release the split mux lock while removing the probes
      
      - Flush the sinkpad to unblock other pads
      
      - Turn check_completed_gop into a do while statement, when
        waking up we want to recheck whether the current GOP is
        ready for sending
      
      Part-of: <!719>
      19860200
  9. 04 Aug, 2020 1 commit
    • Jan Alexander Steffens's avatar
      splitmuxsink: Make sure flushing doesn't block · 28a616f6
      Jan Alexander Steffens authored and GStreamer Marge Bot's avatar GStreamer Marge Bot committed
      * Trying to disconnect a stream from a running splitmuxsink by flushing
        it results in the FLUSH_START blocking in the stream queue's
        gst_pad_pause_task because the flush did not unblock
        complete_or_wait_on_out, so add a check for ctx->flushing there.
      
      * Add a GST_SPLITMUX_BROADCAST_INPUT so check_completed_gop notices
        flushing changed and the incoming push is unblocked.
      
      * Pass the FLUSH_STOP along to the muxer without waiting.
      
      Part-of: <!687>
      28a616f6
  10. 26 Jun, 2020 1 commit
  11. 25 Jun, 2020 1 commit
  12. 20 Apr, 2020 1 commit
    • Seungha Yang's avatar
      splitmuxsink: Enhancement for timecode based split · ca48f526
      Seungha Yang authored
      The calculated threshold for timecode might be varying depending on
      "max-size-timecode" and framerate.
      For instance, with framerate 29.97 (30000/1001) and
      "max-size-timecode=00:02:00;02", every fragment will have identical
      number of frames 3598. However, when "max-size-timecode=00:02:00;00",
      calculated next keyframe via gst_video_time_code_add_interval()
      can be different per fragment, but this is the nature of timecode.
      To compensate such timecode drift, we should keep track of expected
      timecode of next fragment based on observed timecode.
      ca48f526
  13. 19 Apr, 2020 1 commit
  14. 15 Apr, 2020 2 commits
  15. 03 Apr, 2020 1 commit
  16. 25 Mar, 2020 2 commits
  17. 24 Mar, 2020 2 commits
  18. 19 Mar, 2020 2 commits
  19. 29 Jan, 2020 1 commit
  20. 27 Jan, 2020 1 commit
  21. 06 Jan, 2020 1 commit
  22. 13 Dec, 2019 1 commit
  23. 05 Dec, 2019 1 commit
  24. 18 Nov, 2019 1 commit
  25. 07 Nov, 2019 1 commit
  26. 05 Oct, 2019 1 commit
  27. 06 Sep, 2019 3 commits
  28. 15 Jul, 2019 1 commit
  29. 13 Jun, 2019 1 commit