1. 03 Nov, 2014 9 commits
    • Colin Guthrie's avatar
      launch: Disable autospawn by default when systemd daemon support is enabled. · 7276faca
      Colin Guthrie authored
      When enabled, this method is prefered over pulseaudio's built in
      systems so we should try our best to ensure that it cannot be spawned
      outside of the mechanisms desired.
      
      Packagers should call 'systemctl --global enable pulseaudio.socket' to
      enable the socket for all users, or alternatively ship an enabling
      symlink in /usr/lib/systemd/user/sockets.target.wants/ folder. It may
      also make sense for distributions to add in a ConditionNNN= line to the
      socket unit if they have a downstream mechanism for enabling or
      disabling pulseaudio.
      
      If individual users wish to opt out of this vendor (or administrator)
      decision, they can call 'systemctl --user mask pulseaudio.socket'
      7276faca
    • Colin Guthrie's avatar
    • Colin Guthrie's avatar
      launch: Avoid specifically starting PA and rely on autospawn/socket activation · 42156d2b
      Colin Guthrie authored
      This --start is patched out in several downstreams to allow users to easily
      disable PA by simply disabling autospawn.
      
      If autospawn is enabled, then the first pactl command will start it and if not
      it will fail and the script will exit.
      
      When switching to systemd socket activation, we very much do not want to
      start PA manually here. We could replace it with a
        systemctl --user start pulseaudio
      but really it just makes sense to rely on the socket activation as this
      should apply equally to non-systemd setups which use PA's own autospawn.
      42156d2b
    • Colin Guthrie's avatar
      socket-server: Add support for systemd socket activation. · 467b4b9b
      Colin Guthrie authored
      This adds support to module-native-protocol-unix to take over already
      listening sockets passed in via socket activation (e.g. from systemd)
      
      Most of the code is isolated to socket-server but some cleanup code also
      had to be tweaked to ensure we do not overzealously close open fds.
      467b4b9b
    • Colin Guthrie's avatar
      build-sys: Add support for newer systemd without compatibility libs · fb1ca6f0
      Colin Guthrie authored
      In newer versions of systemd some libraries were combined for the sake of
      general simplicity.
      
      This change checks against the newer name first and avoids separate pkgconfig
      checks if it's found. We probably want to keep support for the older library
      names for some time. systemd does allow for the shipping of compatibility
      pkgconfig files to not break downstream code like ourselves which is why this
      likely hasn't been "fixed" until now.
      
      With this change we no longer rely on systemd having been built with those
      compatibility pkgconfig files.
      fb1ca6f0
    • Colin Guthrie's avatar
      build-sys: Clarify some systemd sub-component variable/define names. · f7da58b7
      Colin Guthrie authored
      We currently use the term SYSTEMD when referring to libsystemd-login
      and JOURNAL when referring to libsystemd-journal.
      
      I will be shortly adding support for libsystemd-daemon and in
      preparation I figured it would be a good idea to clarify the names
      used currently before adding another!
      f7da58b7
    • Colin Guthrie's avatar
      e7755291
    • Tanu Kaskinen's avatar
      socket-server: Improve readability · 9b87baf5
      Tanu Kaskinen authored
      9b87baf5
    • Sjoerd Simons's avatar
      alsa-mixer: Disable line-out if headphone jack is plugged · 66f97c35
      Sjoerd Simons authored
      Line-out gets muted when headphones are plugged in on HDA cards, encode
      this in the line-out path so pulse can match that state.
      66f97c35
  2. 31 Oct, 2014 7 commits
    • Tanu Kaskinen's avatar
      alsa-mixer: Ignore some elements in the analog-output path · 71783408
      Tanu Kaskinen authored
      The analog-output path should be suppressed when there are more
      specific paths available. Currently that usually doesn't happen. The
      suppression can be done with the path subset detection, and this patch
      makes that work (another approach would be to mark the elements as
      required-absent, like analog-input does, but I like the subset
      suppression more, because it requires less stuff in the configuration
      files). The problem with listing the now-removed elements in
      analog-output.conf was that if the sound card had e.g. a Speaker
      element, then the switch behaviour was different between analog-output
      and analog-output-speakers, so analog-output was not considered a
      subset of analog-output-speakers.
      
      BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=74609
      71783408
    • Arun Raghavan's avatar
      bluetooth: Fix some native backend command sending · 5dfa8338
      Arun Raghavan authored
      We weren't writing out one character from the "OK" response, and the
      "AT" part of the "+VGS" and "+VGM" commands was missing. Also, the spec
      says that the command is terminated by only a CR and not an LF (probably
      doesn't hurt, but let's adhere to the spec for now).
      5dfa8338
    • Wim Taymans's avatar
      backend-native: implement volume control · 34a5c754
      Wim Taymans authored
      Parse the gain changed AT commands from the headset and fire 2 new
      hooks as a result. The device will connect to those hooks and change the
      source/sink volumes.
      
      When the source/sink volume changes, set the gain on the microphone or
      speaker respectively. Make sure we do nothing if the transport can not
      handle the gain changes.
      34a5c754
    • Wim Taymans's avatar
      backend-native: add a new native headset backend · 7d4a497b
      Wim Taymans authored
      Add a simple native headset backend that implements support for the
      blutooth HSP profile.
      This allows pulseaudio to output audio to a Headset using the HSP profile.
      
      Make the native backend the default.
      7d4a497b
    • Wim Taymans's avatar
      bluez5-util: add destroy function · d7199baf
      Wim Taymans authored
      Add a destroy function to the transport that is called before freeing
      the transport. Useful for cleaning up extra userdata.
      d7199baf
    • Wim Taymans's avatar
      bluez5-device: use get_profile_direction · 2251085d
      Wim Taymans authored
      Use the get_profile_direction() helper function to decide when to add a
      source and a sink instead of enumerating profiles.
      2251085d
    • Arun Raghavan's avatar
      creds: Rename pa_ancil to pa_cmsg_ancil_data · 8718496d
      Arun Raghavan authored
      Makes the purpose of the structure clearear.
      8718496d
  3. 28 Oct, 2014 10 commits
  4. 26 Oct, 2014 3 commits
    • Tanu Kaskinen's avatar
      shell-completion: zsh: Rework pactl completion · eaa80bae
      Tanu Kaskinen authored
      So far the command name has been figured out by looking one or two
      items back in the $words array, but I needed a way to figure out the
      command given an arbitrary number of parameters. I was implementing
      a command for removing devices from the device-manager database, and
      the command would take a list of devices. Since the number of devices
      that need to be completed can be arbitrarily large, the previous "look
      one or two words back" approach didn't work.
      
      This new approach is more verbose, but I think it's also easier to
      follow. There's some duplication that would be easy to avoid by
      merging some of the commands, but I decided to not do that, to make
      it more obvious what the code does.
      eaa80bae
    • Tanu Kaskinen's avatar
      shell-completion: zsh: Mark a variable as local · 41464676
      Tanu Kaskinen authored
      Variables are global by default, and we certainly don't want
      _pactl_commands to be a global variable.
      41464676
    • David Henningsson's avatar
      pstream-util: Fix build on freebsd · 356e1333
      David Henningsson authored
      The previous fix was not entirely complete.
      Signed-off-by: David Henningsson's avatarDavid Henningsson <david.henningsson@canonical.com>
      356e1333
  5. 24 Oct, 2014 4 commits
  6. 19 Oct, 2014 3 commits
    • Tanu Kaskinen's avatar
      tunnel-sink-new: Fix requested latency check · 4971dc9e
      Tanu Kaskinen authored
      This fixes a bug in latency configuration. The wrong type in the cast
      caused UINT64_MAX being not treated as special, so the configured
      latency was set to UINT64_MAX usecs, which of course is absurdly huge
      latency.
      4971dc9e
    • Tanu Kaskinen's avatar
      bluetooth: Move stuff to pa_bluetooth_transport_put/unlink() · 0df4d56c
      Tanu Kaskinen authored
      This should not have any effect on behaviour. The goal is to align
      with the pattern that I think we should follow:
      
      Object initialization:
       - put() is the place to create references from other objects to the
         newly created object. In this case, adding the transport to
         discovery->transports was moved from new() to put, and adding the
         transport to device->transports was moved from set_state() to
         put().
      
      Object destruction:
       - unlink() undoes put() and removes all references from other objects
         to the object being unlinked. In this case setting the
         device->transports pointer to NULL was moved from set_state() to
         unlink(), and setting the discovery->transports pointer to NULL was
         moved from free() to unlink().
       - free() undoes new(), but also calls unlink() so that object owners
         don't need to remember to call unlink() before free().
      0df4d56c
    • Ricardo Salveti de Araujo's avatar
  7. 17 Oct, 2014 1 commit
  8. 16 Oct, 2014 2 commits
  9. 09 Oct, 2014 1 commit