1. 18 Jan, 2022 3 commits
  2. 17 Jan, 2022 21 commits
  3. 12 Jan, 2022 4 commits
    • Arun Raghavan's avatar
      tests: Refactor common client code from passthrough test · c6e63a08
      Arun Raghavan authored and Arun Raghavan's avatar Arun Raghavan committed
      This code can be reused for other tests that need to connect to the PA
      server and load a NULL sink. The idea is to grow this out with basic
      primitives that various tests need to make it easier to add more unit
      tests for various situations.
      c6e63a08
    • Arun Raghavan's avatar
      sink, source: Replace avoid-resampling with avoid-processing · 2859522c
      Arun Raghavan authored and Arun Raghavan's avatar Arun Raghavan committed
      This generalises the avoid-resampling concept (don't resample for any
      rate above the default/alternate sample rate) to include channel count
      and sample format as well. The rationale for this is that users who wish
      to send out their data untouched by the resampler are likely to desire
      the same on other fronts as well.
      
      In addition to this, there are opportunities for certain hardware (such
      as systems with a DSP connected to a codec) to offload processing to the
      DSP (providing potential cost savings).
      
      Finally, this also enables modules that might be able to perform
      transformations of (ANY -> sink format), and this allows us to implement
      such transformations.
      2859522c
    • Arun Raghavan's avatar
      sink, source: Consolidate passthrough setup in reconfigure · 0a09aa6c
      Arun Raghavan authored and Arun Raghavan's avatar Arun Raghavan committed
      This moves over the saving+resetting/restoring of volumes and source
      suspending/unsuspending while entering/leaving passthrough mode into
      reconfigure functions. This makes it easier to reason about exactly what
      behaviour occurs at the time, as well as avoids loss of precision during
      the remapping of the internal volume values in this case.
      0a09aa6c
    • Arun Raghavan's avatar
      sink, source: Allow reconfigure to change the complete sample spec · 72d921ff
      Arun Raghavan authored and Arun Raghavan's avatar Arun Raghavan committed
      For the passthrough case, we allow the entire sink sample spec to be
      changed in reconfigure. This will be needed for high bitrate formats. We
      duplicate this for sources to keep things in sync as well.
      
      Relatedly, we also restore the original spec on leaving passthrough
      mode. We were getting away with not doing so in the past as, while
      incorrect, not restoring the rate was not disastrous. With the ability
      to change channel count, not restoring breaks the meaning of profiles
      entirely. The saving and restoration logic is restricted to sink/source
      reconfiguration code to allow it to be self-contained and easier to
      reason about.
      
      All this also applies to the channel map. We don't actually explicitly
      reconfigure the channel map at the moment, but since
      pa_sink/source_reconfigure() can now change the channel count, it seems
      to make sense to include the channel map along with that API change for
      future use.
      72d921ff
  4. 11 Jan, 2022 2 commits
  5. 10 Jan, 2022 3 commits
  6. 08 Jan, 2022 2 commits
  7. 05 Jan, 2022 1 commit
  8. 29 Dec, 2021 2 commits
  9. 18 Dec, 2021 1 commit
  10. 17 Dec, 2021 1 commit