1. 04 2月, 2021 4 次提交
  2. 03 2月, 2021 2 次提交
    • H
      libobs: guard against lagging audio sources · 31a9dc38
      Hector Martin 提交于
      df4eb821 fixed a bug that caused source audio timestamps to perpetually
      lag. However, there is a deeper issue where after we reach max
      buffering, lagging sources make OBS's entire audio pipeline fall over.
      These may be corrected by later code, but still cause global audio
      glitches at best. Persistent problems, as prior to df4eb821, cause audio
      to fail entirely.
      
      The root cause is that OBS's audio mixing tree cannot deal with
      timestamps prior to the current audio tick. Intermediate mixing stages
      assume that the lowest incoming timestamp is the base of the current
      tick, and mix accordingly. This propagates lagged timestamps up the
      tree, where at the top level mix_audio will drop the source entirely -
      which at this point is a transition covering all inputs, thus glitching
      audio globally. Where extra buffering can cover the slip, the entire mix
      gets retried and the error corrected, but when the global buffer
      duration is maxed out, it makes it to the output.
      
      The solution is to catch laggy sources immediately after rendering, and
      drop audio to bring them back in sync, or mark them pending if not
      enough audio is available. This ensures later mixing stages are not fed
      with out of sync timestamps.
      
      This improves the ignore_audio code to only drop as much audio as
      needed to bring the source back in sync, and moves its call to
      immediately after source audio rendering.
      31a9dc38
    • H
      libobs: transition: ignore sources with ts=0 · 3191f5dd
      Hector Martin 提交于
      This is a safety against sources which somehow end up with
      audio_pending=false but ts=0. Other codepaths guard against this too.
      3191f5dd
  3. 02 2月, 2021 3 次提交
  4. 01 2月, 2021 3 次提交
  5. 31 1月, 2021 2 次提交
  6. 30 1月, 2021 11 次提交
  7. 29 1月, 2021 6 次提交
  8. 28 1月, 2021 2 次提交
  9. 27 1月, 2021 7 次提交