1. 24 Jan, 2018 1 commit
  2. 20 Jan, 2018 1 commit
    • Tanu Kaskinen's avatar
      bluetooth: don't send unsolicted replies to the endpoint Release() call · df79abe7
      Tanu Kaskinen authored
      It was reported that PulseAudio causes error messages in syslog from
      dbus-daemon:
      
      Jan 14 04:51:32 gentoo dbus-daemon[2492]: [system] Rejected send message, 2 matched rules; type="error", sender=":1.15" (uid=1000 pid=2864 comm="/usr/bin/pulseaudio --start --log-target=syslog ") interface="(unset)" member="(unset)" error name="org.bluez.MediaEndpoint1.Error.NotImplemented" requested_reply="0" destination=":1.1" (uid=0 pid=2670 comm="/usr/libexec/bluetooth/bluetoothd ")
      
      The default policy on the system bus is to not let any method call
      replies through if they have not been requested, and apparently
      bluetoothd doesn't want replies to the Release() call.
      
      This also changes the reply type from error to normal reply. The "not
      implemented" error didn't make sense to me. We don't do any cleanup in
      the Release() handler, probably because there's nothing to do. If there
      is some cleanup that we should do, then it's a serious bug not to do it.
      
      BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=104646
      df79abe7
  3. 18 Jan, 2018 1 commit
    • Samo Pogačnik's avatar
      pipe-sink: use existing fifo · 2563cd65
      Samo Pogačnik authored
      Allow usage of an already existing fifo (named pipe) within the
      pipe-sink module. Also, the used fifo is going to be removed upon
      module unload only if the fifo is created by the same module.
      2563cd65
  4. 11 Jan, 2018 1 commit
    • Tanu Kaskinen's avatar
      alsa-mixer: add another hardware ID for Traktor Audio 6 · fb8f9786
      Tanu Kaskinen authored
      This is based on a patch by Rolo <rolo@wildfish.com> that replaced the
      old ID with the new one. I deemed it better to leave the old ID in use
      (I can't verify if the old ID was correct or not).
      
      The original commit message:
      
          Every time I reinstall or update Ubuntu I have to make this change
          to get it to recognise my Native Instruments Traktor Audio 6
          external soundcard.
      
          Each time I remember the change by hunting down this forum post in
          German,
          https://forum.ubuntuusers.de/topic/traktor-audio-6-erkannt-aber-nicht-anwaehlbar/3/#post-8759808
          (I don't speak German).
      
          I'm not sure if the ID is just incorrect or if perhaps the hardware
          identifies itself differently on slightly different models, so
          perhaps we need to duplicate the line - I'm well outside of my
          comfort zone here and I know barely anything about how hardware
          works on Linux but figured if it helps me it would help others so I
          should put it forward.
      
          Thanks!
      fb8f9786
  5. 04 Jan, 2018 2 commits
  6. 03 Jan, 2018 6 commits
  7. 12 Dec, 2017 3 commits
  8. 09 Dec, 2017 1 commit
    • KimJeongYeon's avatar
      filter-apply: Eliminate nested and redundant hook events · 922f08b7
      KimJeongYeon authored
      In proces(), the do_move() function calls pa_{sink_input,source_output}_set_property().
      This triggers a call to {sink_input,source_output}_proplist_cb() which called process()
      a second time.
      
      This patch avoids the duplicate and nested call to process() by checking if
      PA_PROP_FILTER_APPLY_MOVING is set in {sink_input,source_output}_proplist_cb().
      922f08b7
  9. 08 Dec, 2017 2 commits
  10. 06 Dec, 2017 1 commit
    • Tanu Kaskinen's avatar
      core-util, cpu-x86: use __get_cpuid() instead of homegrown assembly · c8bd93c5
      Tanu Kaskinen authored
      The get_cpuid() function in cpu-x86.c was buggy on x86-64. When building
      without optimizations, the homegrown assembly code overwrote the
      beginning of the function argument list on the stack. That happened to
      work fine on regular x86-64, but caused crashing with the x32 ABI.
      
      At least GCC and clang provide cpuid.h, which has the __get_cpuid()
      function that can be used instead of the homegrown assembly.
      
      The PA_REG_* constants can be removed as well, because they're not used
      any more.
      
      BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=103656
      c8bd93c5
  11. 04 Dec, 2017 1 commit
  12. 03 Dec, 2017 2 commits
    • Georg Chini's avatar
      sink, source: Don't finish move if unlink happens after pa_*_move_all_start() · 59d264ac
      Georg Chini authored
      When a sink input was unlinked between the calls to pa_sink_move_all_start() and
      pa_sink_move_all_finish(), pa_sink_move_all_finish() tried to finish the move
      of the already unlinked sink input, which lead to an assertion in
      pa_sink_input_finish_move(). The same applies for the source side.
      
      This patch fixes the problem by checking the state of the sink input or
      source output in pa_*_move_all_finish().
      
      Bug report: https://bugs.freedesktop.org/show_bug.cgi?id=103752
      59d264ac
    • Georg Chini's avatar
      switch-on-connect: add option to ignore virtual sinks/sources · e083357b
      Georg Chini authored
      module-switch-on-connect would switch to any new sink, even if the sink
      was a filter or a null-sink.
      
      This patch adds a command line option ignore_virtual to the module, which
      lets module-switch-on-connect ignore virtual sinks and sources. The flag
      is true by default because the purpose of the module is to switch to new
      hardware when it becomes available.
      e083357b
  13. 02 Dec, 2017 2 commits
    • Tanu Kaskinen's avatar
      device-manager: don't override application routing requests · d6a0dcc3
      Tanu Kaskinen authored
      module-device-manager doesn't change the routing of those streams that
      have been explicitly routed by the user, which is good. Similarly, it
      should leave those streams alone whose routing was decided by the
      application that created the stream. This patch implements that.
      
      BugLink: https://github.com/wwmm/pulseeffects/issues/99
      d6a0dcc3
    • Tanu Kaskinen's avatar
      sink-input, source-output: add sink/source_requested_by_application flag · 3d698d17
      Tanu Kaskinen authored
      When a stream is created, and the stream creator specifies which device
      should be used, that can affect automatic routing policies.
      Specifically, module-device-manager shouldn't apply its priority list
      routing when a stream has been routed by the application that created
      the stream.
      
      A stream that was initially routed by the application may be moved for
      some valid reason (e.g. user requesting a move, or the original device
      disappearing). When the stream is moved away from its initial device,
      the "device requested by application" flag isn't relevant any more, so
      it's set to false and never reset to true again.
      
      The change in module-device-manager's routing logic will be done in the
      following patch.
      3d698d17
  14. 30 Nov, 2017 1 commit
  15. 29 Nov, 2017 5 commits
    • Konstantin Kharlamov's avatar
      sconv-s16be: declaration/implementation mismatches · f5f44950
      Konstantin Kharlamov authored
      Fixes the following compiler errors:
      
      ./pulsecore/sconv-s16be.h:41:6: warning: type of 'pa_sconv_s24_32be_from_float32ne' does not match original declaration [-Wlto-type-mismatch]
       void pa_sconv_s24_32be_from_float32ne(unsigned n, const float *a, uint8_t *b);
            ^
      pulsecore/sconv-s16le.c:413:6: note: 'pa_sconv_s24_32be_from_float32ne' was previously declared here
       void pa_sconv_s24_32le_from_float32ne(unsigned n, const float *a, uint32_t *b) {
            ^
      pulsecore/sconv-s16le.c:413:6: note: code may be misoptimized unless -fno-strict-aliasing is used
      ./pulsecore/sconv-s16be.h:40:6: warning: type of 'pa_sconv_s24_32be_to_float32ne' does not match original declaration [-Wlto-type-mismatch]
       void pa_sconv_s24_32be_to_float32ne(unsigned n, const uint8_t *a, float *b);
            ^
      pulsecore/sconv-s16le.c:388:6: note: 'pa_sconv_s24_32be_to_float32ne' was previously declared here
       void pa_sconv_s24_32le_to_float32ne(unsigned n, const uint32_t *a, float *b) {
            ^
      pulsecore/sconv-s16le.c:388:6: note: code may be misoptimized unless -fno-strict-aliasing is used
      ./pulsecore/sconv-s16be.h:56:6: warning: type of 'pa_sconv_s24_32be_from_s16ne' does not match original declaration [-Wlto-type-mismatch]
       void pa_sconv_s24_32be_from_s16ne(unsigned n, const int16_t *a, uint8_t *b);
            ^
      pulsecore/sconv-s16le.c:365:6: note: 'pa_sconv_s24_32be_from_s16ne' was previously declared here
       void pa_sconv_s24_32le_from_s16ne(unsigned n, const int16_t *a, uint32_t *b) {
            ^
      pulsecore/sconv-s16le.c:365:6: note: code may be misoptimized unless -fno-strict-aliasing is used
      ./pulsecore/sconv-s16be.h:55:6: warning: type of 'pa_sconv_s24_32be_to_s16ne' does not match original declaration [-Wlto-type-mismatch]
       void pa_sconv_s24_32be_to_s16ne(unsigned n, const uint8_t *a, int16_t *b);
            ^
      pulsecore/sconv-s16le.c:342:6: note: 'pa_sconv_s24_32be_to_s16ne' was previously declared here
       void pa_sconv_s24_32le_to_s16ne(unsigned n, const uint32_t *a, int16_t *b) {
            ^
      pulsecore/sconv-s16le.c:342:6: note: code may be misoptimized unless -fno-strict-aliasing is used
      Signed-off-by: Konstantin Kharlamov's avatarConstantine Kharlamov <Hi-Angel@yandex.ru>
      f5f44950
    • jnqnfe's avatar
      26b1d0fc
    • jnqnfe's avatar
      api documentation improvements · b6833508
      jnqnfe authored
      includes typo fixes, neatening, addition of more return info, and such.
      b6833508
    • jnqnfe's avatar
      volume: slight simplification of code · 7973dfd7
      jnqnfe authored
      7973dfd7
    • jnqnfe's avatar
      volume: pa_cvolume_scale_mask: constify param · a049e7e8
      jnqnfe authored
      a049e7e8
  16. 23 Nov, 2017 1 commit
  17. 21 Nov, 2017 4 commits
  18. 06 Nov, 2017 1 commit
  19. 05 Nov, 2017 3 commits
    • Tanu Kaskinen's avatar
      alsa-sink: update max_rewind when updating the latency · 83e12c43
      Tanu Kaskinen authored
      Previously max_rewind was always set to the full hw buffer size, but
      the actual maximum rewind amount is limited to the part of the hw buffer
      that is in use.
      
      The rewind request that was done when lowering the sink latency had to
      be moved to happen before updating max_rewind.
      
      The practical benefit of this change: When using a filter source on a
      monitor source, the filter source latency is increased by max_rewind.
      Without this change the max_rewind of an alsa sink is often
      unnecessarily high, which leads to unnecessarily high latency with
      filter sources.
      
      Monitor sources themselves don't suffer from the latency issue, because
      they use the current sink latency instead of max_rewind for the extra
      buffer that they keep to deal with rewinds.
      83e12c43
    • Mihai Moldovan's avatar
      svolume: disable incompatible MMX and SSE code on x86 macOS · 3c45897d
      Mihai Moldovan authored
      We need the same workaround FreeBSD uses.
      3c45897d
    • Mihai Moldovan's avatar
      module-coreaudio-{device, detect}: implement record and playback modargs,... · 584aad3c
      Mihai Moldovan authored
      module-coreaudio-{device, detect}: implement record and playback modargs, curtesy of module-waveout.
      Signed-off-by: default avatarMihai Moldovan <ionic@ionic.de>
      584aad3c
  20. 30 Oct, 2017 1 commit
    • Tanu Kaskinen's avatar
      sink-input, source-output: add a couple of assertions · 917730a5
      Tanu Kaskinen authored
      Coverity complained about data->sink being possibly NULL when it's
      dereferenced later. It was difficult for me to figure out whether that
      was a false positive or not. Hopefully the comments make it a bit
      easier to reason about the code in the future.
      
      CID: 1323591
      917730a5