1. 20 Feb, 2020 1 commit
  2. 14 Feb, 2020 1 commit
  3. 08 Nov, 2019 2 commits
  4. 02 Sep, 2019 1 commit
  5. 01 Sep, 2019 1 commit
  6. 04 Jul, 2019 1 commit
    • Arun Raghavan's avatar
      build-sys: Bump libpulse soversion · b427dfcd
      Arun Raghavan authored
      We've added new API and updated an enum. A bunch of function parameters
      have been marked as const, but this probably shouldn't count as a change
      anyway.
      b427dfcd
  7. 11 Jun, 2019 1 commit
    • Thomas Hutschenreuther's avatar
      atomic: fix load and store for armv7 and higher · d4ff4adc
      Thomas Hutschenreuther authored and Tanu Kaskinen's avatar Tanu Kaskinen committed
      The original atomic implementation in pulseaudio based on
      libatomic stated that the intent was to use full memory barriers.
      
      According to [1], the load and store implementation based on
      gcc builtins matches sequential consistent (i.e. full memory barrier)
      load and store ordering only for x86.
      
      I observed random crashes in client applications using memfd srbchannel
      transport on an armv8-aarch64 platform (cortex-a57).
      In all those crashes the first read on the pstream descriptor
      (the size field) was wrong and looked like it contained old data.
      I boiled the relevant parts of the srbchannel implementation down to
      a simple test case and could observe random test failures.
      So I figured that the atomic implementation was broken for armv8
      with respect to cross-cpu memory access ordering consistency.
      
      In order to come up with a minimal fix, I used the newer
      __atomic_load_n/__atomic_store_n builtins from gcc.
      
      With
      aarch64-linux-gnu-gcc (Linaro GCC 7.3-2018.05) 7.3.1 20180425
      they compile to
      ldar and stlxr on arm64, which is correct according to [1] and [2].
      
      The other atomic operations based on __sync builtins don't need
      to be touched since they already are of the full memory barrier
      variety.
      
      [1] https://www.cl.cam.ac.uk/~pes20/cpp/cpp0xmappings.html
      [2] <https://community.arm.com/developer/ip-products/processors
          /b/processors-ip-blog/posts/armv8-a-architecture-2016-additions>
      d4ff4adc
  8. 28 May, 2019 1 commit
  9. 22 Apr, 2019 1 commit
    • Takashi Iwai's avatar
      alsa: Fix inclusion of use-case.h · b89d33bb
      Takashi Iwai authored and Tanu Kaskinen's avatar Tanu Kaskinen committed
      
      
      The recent change in ALSA upstream stripped -I$include/alsa path from
      pkgconfig.  We already fixed for this change in some places but still
      the code for UCM was overlooked, and this resulted in the unresolved
      symbols in alsa card module. Fix them as well.
      Signed-off-by: Takashi Iwai's avatarTakashi Iwai <tiwai@suse.de>
      b89d33bb
  10. 14 Mar, 2019 1 commit
    • Tanu Kaskinen's avatar
      build-sys: Lower the minimum gettext version · c235acd7
      Tanu Kaskinen authored
      The old minimum version was set in commit 57e3ccaf based on what the
      commit author happened to have installed at the time. Russell Treleaven
      now confirmed that Debian 8's gettext version, 0.19.3, works fine too,
      or at least PulseAudio builds without errors. There might be room to
      lower the required version even further, but that requires someone to
      test older gettext versions.
      c235acd7
  11. 16 Jan, 2019 1 commit
    • Arun Raghavan's avatar
      build-sys: Add the ability to disable maintainer mode · 39bc380c
      Arun Raghavan authored
      This allows us to disable automatically updating build system files in
      case things change. This is desirable in the common case, but not
      necessarily for CI, where we want the ability to take a build directory
      as an artifact from one stage to the next (i.e. into a fresh checkout).
      39bc380c
  12. 11 Dec, 2018 1 commit
  13. 17 Sep, 2018 1 commit
  14. 23 Jul, 2018 1 commit
  15. 21 Jun, 2018 3 commits
  16. 11 May, 2018 1 commit
    • Tanu Kaskinen's avatar
      build-sys: bump sonames · 0ee9d654
      Tanu Kaskinen authored
      A few small internal changes in libpulse. No changes in libpulse-simple
      and libpulse-mainloop-glib.
      0ee9d654
  17. 19 Apr, 2018 4 commits
    • Tanu Kaskinen's avatar
      build-sys: enable GSettings by default · 5d66b442
      Tanu Kaskinen authored
      A new paprefs release is expected soon, and it will only support
      GSettings. In order to have the default configuration work with the new
      paprefs version, we need to enable GSettings by default.
      
      If both module-gconf and module-gsettings are enabled when building
      PulseAudio, both modules will be part of the default configuration. That
      can cause trouble, because when the GConf database is migrated to
      GSettings, the old configuration in GConf is not removed, so both
      module-gconf and module-gsettings will try to load modules.
      
      Generally it's not necessary to have both modules enabled even at build
      time, so let's default to having only one of them enabled.
      5d66b442
    • Tanu Kaskinen's avatar
      build-sys: remove a redundant enable_gsettings check · f5ff5d8b
      Tanu Kaskinen authored
      If HAVE_GSETTINGS is 1, then enable_gsettings must be yes, so checking
      enable_gsettings isn't necessary.
      f5ff5d8b
    • Tanu Kaskinen's avatar
      default.pa: add module-gsettings · b43d47f0
      Tanu Kaskinen authored
      This also makes the module-gconf section conditional on HAVE_GCONF,
      because if only gsettings support is built, the gconf section in the
      configuration file would be redundant and confusing.
      b43d47f0
    • Sylvain Baubeau's avatar
      module-gsettings: new module to store configuration using gsettings · 785b660d
      Sylvain Baubeau authored and Tanu Kaskinen's avatar Tanu Kaskinen committed
      GConf is deprecated, and distributions are removing it. paprefs depends
      on GConf, so in order to avoid paprefs getting removed as well, paprefs
      has to be changed to use something else than GConf. GSettings is the
      easiest alternative to migrate to, although it has the same problems
      that GConf had: no support for system mode or networking.
      
      This patch takes the non-GConf specific code from module-gconf and puts
      it in stdin-util.[ch], which is then reused by module-gsettings.
      module-gsettings is designed to be very similar to module-gconf.
      
      Migration is expected to happen as follows: Distributions update
      PulseAudio and paprefs at the same time, or first PulseAudio and then
      paprefs. paprefs depends on module-gsettings, and module-gsettings
      conflicts with module-gconf. Therefore module-gconf gets automatically
      removed during the paprefs update. After the update an old PulseAudio is
      likely to be running with module-gconf loaded. If the user tries to use
      paprefs during this period, whatever the user does in paprefs won't have
      any effect until PulseAudio is restarted (probably by a reboot or
      relogin). This is not ideal, but will have to do.
      
      When module-gsettings is loaded, it runs gsettings-data-convert
      (implemented in a later patch). That will copy the settings from GConf
      to GSettings. If gsettings-data-convert is not available (it's part of
      GConf, so it may have already been uninstalled), then any previous
      paprefs settings are lost.
      785b660d
  18. 31 Jan, 2018 1 commit
  19. 26 Jan, 2018 1 commit
  20. 24 Jan, 2018 1 commit
  21. 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
  22. 13 Oct, 2017 1 commit
  23. 24 Jul, 2017 1 commit
  24. 14 Jul, 2017 1 commit
  25. 19 Jan, 2017 2 commits
    • Felipe Sateler's avatar
      padsp: allow overriding library install location · 9ce55be6
      Felipe Sateler authored and Tanu Kaskinen's avatar Tanu Kaskinen committed
      The current build script hardcodes the $pkglibdir in the padsp command.
      This works and is a reasonable default. However, distributions that
      know where they install, can override this path and thus make padsp
      work for any architecture that has the library installed by using the
      following configure argument:
      
         --with-pulsedsp-location='/usr/\\$$LIB/pulseaudio'
      
      This works because ld.so considers $LIB a variable that will expand to
      several location paths, depending on the architecture of the binary
      being executed.
      
      In debian, for example, this would work for libpulsedsp.so installed in
      /usr/lib/x86_64-linux-gnu/ for amd64 and /usr/lib/i386-linux-gnu/ for
      i386, with a single padsp command.
      9ce55be6
    • Philip Chimento's avatar
      build-sys: Move TLS check after flags additions · 8405b1fb
      Philip Chimento authored and Tanu Kaskinen's avatar Tanu Kaskinen committed
      Any compiler flags should be set before asking the compiler to check for
      thread-local storage with AX_TLS, since compiler flags (in this case
      -mmacosx-version-min=10.5) can influence the outcome of that check.
      8405b1fb
  26. 03 Jan, 2017 1 commit
    • Tanu Kaskinen's avatar
      build-sys: bump sonames · 72256f93
      Tanu Kaskinen authored
      There are no changes in the ABI. libpulse has received bug fixes,
      libpulse-simple and libpulse-mainloop-glib have no changes at all.
      72256f93
  27. 09 Dec, 2016 1 commit
  28. 19 Nov, 2016 1 commit
  29. 10 Aug, 2016 1 commit
  30. 22 Jul, 2016 1 commit
  31. 22 Jun, 2016 1 commit
  32. 12 May, 2016 1 commit
  33. 03 May, 2016 1 commit