1. 08 May, 2017 2 commits
    • Nirbheek Chauhan's avatar
      meson: Fix decklink building on Windows · a357afb8
      Nirbheek Chauhan authored
      Needs comsuppw, and does not need libdl or pthread.
      a357afb8
    • Nirbheek Chauhan's avatar
      directsoundsrc: Use latency-time and buffer-time settings · 72d4516c
      Nirbheek Chauhan authored
      Earlier, the plugin was ignoring those settings and blindly setting
      buffer-time to 2 seconds and latency-time to 200ms, which forced all
      pipelines to have a minimum latency of 200ms + sink latency.
      
      The values of segsize and segtotal were also not derived correctly.
      Now we obey these values, and you can get close to the previous
      behaviour by setting buffer-time and latency-time manually. Note that
      they are set in microseconds.
      
      As a consequence, when we haven't received enough data from the
      device, we now sleep for a time proportional to the data remaining.
      However, Directsound is a deprecated API so it maintains its own
      software ringbuffer which updates at arbitrary intervals. Hence we
      might have to wait a full segsize to get the last 10% of data. To
      avoid tight loops, we clamp our sleep floor at 10ms.
      
      In my testing, this keeps the wakeups not-too-high (proportional to
      the latency-time set on the source). Further improvements should be
      made by fixing the WASAPI audio source plugin instead of this.
      Directsound is deprecated and as the comments explain, it is
      impossible to get low latency, decent quality, or good performance
      from it.
      
      Based on a patch by Sebastian Dröge <sebastian@centricular.com>
      
      https://bugzilla.gnome.org/show_bug.cgi?id=781249
      72d4516c
  2. 04 May, 2017 4 commits
  3. 03 May, 2017 2 commits
  4. 02 May, 2017 2 commits
  5. 27 Apr, 2017 4 commits
  6. 26 Apr, 2017 1 commit
  7. 25 Apr, 2017 9 commits
  8. 24 Apr, 2017 1 commit
  9. 22 Apr, 2017 1 commit
  10. 20 Apr, 2017 3 commits
  11. 19 Apr, 2017 9 commits
  12. 18 Apr, 2017 1 commit
  13. 16 Apr, 2017 1 commit