1. 27 Feb, 2018 2 commits
    • Nirbheek Chauhan's avatar
      audiolatency: New plugin for measuring audio latency · 3fb81536
      Nirbheek Chauhan authored
      Measures the audio latency between the source pad and the sink pad by
      outputting period ticks on the source pad and measuring how long they
      take to arrive on the sink pad.
      
      Very useful for quantifying latency improvements in audio pipelines.
      This plugin was particularly useful during development of the
      low-latency features of the wasapi plugin.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=793839
      3fb81536
    • Chris Bass's avatar
      ttml: Add support for IMSC 1.0.1 fillLineGap attribute · 2863a55a
      Chris Bass authored
      Strictly speaking, the TTML spec requires that text backgrounds extend
      only to the font height of the related text, rather than to the vertical
      distance between lines. The result of this is that there will typically
      be vertical gaps between line backgrounds through which moving video can
      be seen. Since this was unnacceptable to some content providers, v1.0.1
      of the IMSC spec (which profiles TTML) adds a new attribute,
      itts:fillLineGap[1], that allows content authors to specify that clients
      should extend text backgrounds such that there are no gaps between
      lines. This attribute is also going to be included in the next release
      of EBU-TT-D.
      
      This patch adds support for fillLineGap to ttmlparse and ttmlrender.
      
      [1] https://www.w3.org/TR/ttml-imsc1.0.1/#itts-fillLineGap
      
      https://bugzilla.gnome.org/show_bug.cgi?id=787071
      2863a55a
  2. 26 Feb, 2018 8 commits
    • Tim-Philipp Müller's avatar
      docs: plugins: add some more elements · 29d112df
      Tim-Philipp Müller authored
      Many will still be missing corresponding doc
      sections in the source code though.
      29d112df
    • Nirbheek Chauhan's avatar
      wasapi: Clarify usage of low-latency property, add myself as author · 05a37d37
      Nirbheek Chauhan authored
      The low-latency property is *always* safe to enable, so applications
      that do realtime communication should set it, and the elements will
      automatically configure WASAPI to use the lowest possible device
      period, and the audioringbuffer in audiobasesink will also be
      configured accordingly.
      
      Applications can also use exclusive mode during capture and playback
      for the lowest possible latency if they know that the device will not
      be used by any other application.
      
      In this mode, the latency-time and buffer-time properties will be
      completely ignored.
      05a37d37
    • Nirbheek Chauhan's avatar
      wasapi: Add a property for trying the AudioClient3 API · 995059dc
      Nirbheek Chauhan authored
      The AudioClient3 API is only available on Windows 10, and we will
      automatically detect when it is available and use it.
      
      However, using it for capturing audio with low latency and without
      glitches seems to require setting the realtime priority of the entire
      pipeline to "critical", which we cannot do from inside the element.
      
      Hence, we can only enable that by default for wasapisink since
      apps should be able to safely set the low-latency property to TRUE if
      they need low-latency capture or playback.
      995059dc
    • Nirbheek Chauhan's avatar
      wasapi: Set realtime thread priority at runtime · f7d0ce24
      Nirbheek Chauhan authored
      Use LoadLibrary() to set the thread characteristics at runtime so it
      works automagically regardless of where or how the plugin was built.
      f7d0ce24
    • Nirbheek Chauhan's avatar
      wasapi: Use IAudioClient3 interface when available · 0cb11c15
      Nirbheek Chauhan authored
      This allows us to request ultra-low-latency device periods even in
      shared mode. However, this requires good drivers and Windows 10, so
      we only enable this when we detect that we are running on Windows 10
      at runtime.
      
      You can forcibly disable this feature on Windows 10 by setting
      GST_WASAPI_DISABLE_AUDIOCLIENT3=1 in the environment.
      0cb11c15
    • Nirbheek Chauhan's avatar
      wasapi: __uuidof is simply not available in C · 16af66ee
      Nirbheek Chauhan authored
      Fix comment, and don't try to use it at all.
      16af66ee
    • Nirbheek Chauhan's avatar
      wasapi: Set a default category for util functions · 28874e15
      Nirbheek Chauhan authored
      Without this, they all go to the default category where they can be
      missed
      28874e15
    • Nirbheek Chauhan's avatar
      wasapi: Use a macro for HRESULT failure paths · 14b2d6b2
      Nirbheek Chauhan authored
      Saves a lot of boilerplate across all files.
      14b2d6b2
  3. 23 Feb, 2018 6 commits
  4. 22 Feb, 2018 2 commits
  5. 21 Feb, 2018 8 commits
  6. 20 Feb, 2018 10 commits
  7. 19 Feb, 2018 1 commit
  8. 18 Feb, 2018 3 commits