summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-10-20build-sys: bump sonamev1.1stable-1.xColin Guthrie1-1/+1
2011-10-20conf: Use .nofail when loading module-jackdbus-detectColin Guthrie1-0/+2
When starting via a console login, PA will likely not have a session DBus to play with. As there is no X11 environment, libdbus will be unable to launch a session DBus for us and thus the module will fail to load which in turn prevents PA from loading. If the user subsequently logs into X11 this it will still not be possible to load the module as the server will be ignorant of the X11 and DBus environment variables so a longer term solution for handling this should be found.
2011-10-20daemon: Don't treat it as a fatal error if we can't connect to the session busTanu Kaskinen2-7/+7
http://lists.freedesktop.org/archives/pulseaudio-discuss/2011-June/010276.html
2011-10-20solaris: Use real_volume for set/get volumeArun Raghavan1-2/+2
This got missed when other bits were updated. Patch submitted by Brian Cameron <brian.cameron@oracle.com>.
2011-10-20native: Fix Solaris buildArun Raghavan1-0/+9
tcpwrappers has some Solaris-specific quirks that need to be dealt with. Patch submitted by Brian Cameron <brian.cameron@oracle.com>.
2011-10-20Update LICENSE.Colin Guthrie1-9/+22
Some of the license wording was less than clear. Try to clarify the different GPL 'downgrade' scenarios but also be generic to ensure that those packagers where GPL is a problem check thoroughly before they ship. Inspired by comments from Brian Cameron @ Oracle via fdo#41822
2011-10-19osx: module_bonjour_publish needs to be linked against libprotocol-native.laDaniel Mack1-1/+1
2011-10-19build-sys: Provide a simple CMake Config setup (similar to pkgconfig)Colin Guthrie4-0/+37
I'd rather not have to do this, as I don't really see the point in duplicating what is done in pkgconfig, but this is likely the easiest way to avoid nasty hacks.
2011-10-17Fix deferred volume not being applied if sink is closedDavid Henningsson2-4/+12
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2011-10-17build-sys: Drop libsamplerate from pulsecommon depsArun Raghavan1-2/+2
This was erroneously added in: commit d766b38e1ba5d483ad7eec105860e9b9f7f55702 build: Remove unnecessary flags in AM_CFLAGS
2011-10-17filter-apply: Move sink/source unlink callbacks before m-s-rArun Raghavan1-2/+2
module-stream-restore and modile-filter-apply can get into an infinite loop if m-s-r is called before m-f-a (m-s-r rescues a stream and attaches it to a sink/source, which then triggers m-f-a to move it back to the filter sink/source, and so on). The purpose of the m-f-a hooks is to beat m-s-r, so moving them to be run first.
2011-10-12tests: Fix calculation of memblock size in resampler-testMaarten Bosmans1-10/+2
And remove useless volume scaling.
2011-10-11echo-cancel: Close debug files on module unloadArun Raghavan1-0/+9
2011-10-10echo-cancel: Don't crash if adjust_time = 0Arun Raghavan1-2/+2
2011-10-08source-output: Do not use unset channel map in pa_source_output_newDavid Henningsson1-1/+2
This problem was found when tracing down a crash coming from the esound protocol, which does not set a channel map. BugLink: http://bugs.launchpad.net/bugs/864071 Signed-off-by: David Henningsson <david.henningsson@canonical.com> N.B.: As Colin notes, this is because commit 117c7145 was incomplete ("format: Fix channel map handling")
2011-10-08module-jackdbus-detect: Avoid double-free of modargsDavid Henningsson1-1/+1
If module-jackdbus-detect failed in the later part of initialization, the ma variable was freed twice. BugLink: http://bugs.launchpad.net/bugs/867444 Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2011-10-08alsa: Make mixer error handling more robust stillArun Raghavan1-5/+14
Instead of relying on the snd_mixer_* functions failing, we check for POLLERR and POLLNVAL first. After this, any errors in handling the mixer events are deemed fatal (that is we cause the ALSA source/sink thread to terminate). The case where POLLERR is set but POLLNVAL is not does not actually occur, but we're making this a soft failure (stop polling the mixer, but don't kill the I/O thread). If other conditions where POLLERR occurs turn up, we need to handle them explicitly. Thanks to Linus Torvalds for helping get this right.
2011-10-08doc: Add some more doxygen tags to existing commentsMaarten Bosmans2-19/+19
2011-10-08echo-cancel: Fail if loaded between a sink and its monitorArun Raghavan1-0/+5
Loading between a sink and its monitor causes a deadlock (while sending messages for latency snapshots). It isn't a case that has any real conceivable use, so let's just disallow it.
2011-10-08alsa: Better error handling in mixer rtpoll callbackArun Raghavan1-7/+23
This improves the error handling in the mixer rtpoll callback. It avoids a crash if an error occurs (the rtpoll_item is freed but still referenced), and specifically makes sure we don't continue trying to poll the device if the card is disconnected.
2011-10-08alsa: Give compressed formats preference over PCMArun Raghavan1-1/+13
This makes set_formats() put PCM formats lower down the list than compressed formats since we negotiate by picking the first format in this list that is also in the client-provided list of possible formats during sink input creation. This will be incorrect if we ever decide to do encoding in PA (for things like AC3/DTS encoding for multichannel output over S/PDIF).
2011-10-08Make pulse build with clang againMaarten Bosmans2-4/+4
The casts are not supported there.
2011-10-08null-sink: Set latency range at the time of initialization of module.Sudarshan Bisht1-0/+2
At the time of module initialization latency range is being set so that the null-sink would be aware of its limitations with latencies.
2011-10-08osx: don't build the once-test binary on OS XDaniel Mack1-1/+5
This patch was already added earlier with commit ID 2f86ba4f, but the changes got reverted by commit 3adc43b ("win32: Make once-test work"). However, this still doesn't work on OSX as here, pthread is in general available, but the barrier APIs aren't.
2011-10-08sink: Move updating the requested latency after the rewind request when ↵Tanu Kaskinen1-6/+23
finishing a stream move.
2011-10-08libpulse: Always return a three part version number in API calls.Colin Guthrie2-2/+2
For both the headers and the library we should provide clean, three part strings as this has been what we've previously done in the past and some external systems apparently rely on this format. While it's not something we've officially commented on before, there is no real advantage to us to change it so let's not try to tidy things up too much considering some third party apps (e.g. Skype) seem to dislike a two part version string.
2011-10-08sink,source: Avoid unnecessary call to pa_rtclock_now()Arun Raghavan2-6/+10
pa_{sink,source}_volume_change_apply were being called by the ALSA I/O thread on every iteration, causing a pa_rtclock_now() call, which can sometimes be heavy. We avoid this call by making sure there actually are changes to apply before proceeding into the function. While we're at it, also dropping a redundant check on s->write_volume.
2011-10-08extended: Fix doxygen comment style typosArun Raghavan2-6/+6
Thanks to Rémi Denis-Courmont for pointing this out on IRC.
2011-09-27build-sys: bump sonamev1.0Colin Guthrie1-1/+1
2011-09-27build-sys: Switch to the tar-ustar format (as per a lot of GNOME stuff for ↵Colin Guthrie1-1/+1
3.2) and distribute .xz files. We will drop .gz support after 1.0
2011-09-25Fix crash in threaded message queuesDavid Henningsson1-1/+1
Once in a million or so, this typo causes a crash when two threads simultaneously try to call "pa_asynqmsgq_write_poll". BugLink: http://bugs.launchpad.net/bugs/853560 Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2011-09-22dbus: Don't crash if the module does not loadDavid Henningsson1-3/+5
If module-dbus-protocol fails to start, pa__done is still called, which falsified the assumption that u->connections was always set. BugLink: http://bugs.launchpad.net/bugs/855729 Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2011-09-21sink,source: Handle missing in the shared volume caseArun Raghavan6-30/+72
This makes sure that when we're traversing the device chain for sources and sinks with shared volume, we handle the case that a sink-input or source-output of one of these might be unlinked (while unloading a module, for example).
2011-09-15build-sys: bump sonamev0.99.4Colin Guthrie1-1/+1
2011-09-15conf: Make sure module-dbus-protocol is loaded after ↵David Henningsson2-11/+20
module-default-device-restore module-dbus-protocol gets the default sink, which sets the default sink if not already set. This is turn makes module-default-device-restore do nothing. To solve the problem, make sure module-default-device-restore is loaded before module-dbus-protocol and not the other way around. BugLink: http://bugs.launchpad.net/bugs/843780 Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2011-09-14sink,source: Avoid crash by not updating volume on shutdownDavid Henningsson4-0/+14
Sometimes the ALSA mixer can be modified during a point at shutdown which causes a race condition trying to update the volume of an unlinked sink. Includes typo fix by our Chief Typo Spotter, Colin, and a clarifying comment by me. BugLink: http://bugs.launchpad.net/bugs/841968 Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2011-09-14echo-cancel: Use volume sharing by defaultArun Raghavan2-11/+24
Uses the shared volume infrastructure by default with an option to fallback on the old pretend-volume-sharing-that-kind-of-works if someone wants it that way. Users who keep left != right (or any sort of unbalanced channel volumes) will likely want to disable shared volumes since it will cause their master sink/source volume to be balanced. This really isn't a very pleasant scenario since users would need to manually set up echo cancellation in their config for this (until we have a way to store module configuration). That said, the majority case benefits from the volume sharing, so let's not wait for the configuration infrastructure to be ready to use this.
2011-09-14equalizer: Use volume sharing by defaultArun Raghavan2-6/+17
Uses the shared volume infrastructure by default with an option to fallback on the old pretend-volume-sharing-that-kind-of-works if someone wants it that way.
2011-09-14virtual: Make volume sharing on by defaultArun Raghavan2-2/+2
People who use this code (i.e. mostly filters) would presumably want volume sharing on by default.
2011-09-14volume: Handle varying channel count for shared volumesArun Raghavan2-0/+6
This handles the case where a virtual sink/source and it's master have different channel counts. The solution is not ideal because if the former has fewer channels and the master has channel volumes that are not all at the same level, it will lose this information and have all channels at the same level. This is not just a theoretical problem, since module-echo-cancel prefers a mono virtual source/sink and will usually be sitting on top of a stereo ALSA source/sink. That said, I don't really see a good solution to this problem, so the idea is to make volume sharing optional (on by default) in module-echo-cancel, so that the few people who care can then disable it if they so desire.
2011-09-14def: Hide server-side sink/source flagsArun Raghavan3-22/+30
This makes sure that sink/source flags that are used on the server side only are not leaked to clients.
2011-09-14stream: Relax assert for extended APIArun Raghavan1-1/+1
For some reason this assert wasn't triggered earlier -- we shouldn't be looking at the stream sample_spec if the formats API is used.
2011-09-14doc: Add info about running pulseaudio from the build dirAntonio Ospite1-0/+9
2011-09-14doc: Update README with fresh links.Colin Guthrie1-6/+6
2011-09-14raop: Don't crash if fd is not open when trying to close itDavid Henningsson1-4/+6
BugLink: http://bugs.launchpad.net/bugs/845286 Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2011-09-13volume: Rename 'sync volume' to 'deferred volume'.Colin Guthrie20-141/+143
This just covers Lennart's concern over the terminology used. The majority of this change is simply the following command: grep -rli sync[-_]volume . | xargs sed -i 's/sync_volume/deferred_volume/g;s/PA_SINK_SYNC_VOLUME/PA_SINK_DEFERRED_VOLUME/g;s/PA_SOURCE_SYNC_VOLUME/PA_SOURCE_DEFERRED_VOLUME/g;s/sync-volume/deferred-volume/g' Some minor tweaks were added on top to tidy up formatting and a couple of phrases were clarified too.
2011-09-09build-sys: Oops forgot to add the Kinect profile to the build system.Colin Guthrie1-1/+2
2011-09-09raop: Properly deal with the name coming from the device.Colin Guthrie1-3/+5
We need to properly quote our proplist arguments passed to the module.
2011-09-09modargs: Ensure modargs can be accessed in their raw form.Colin Guthrie2-36/+66
When dealing with proplists passed as modargs, we need the unescaped form in order to properly deal with quotes (ticks + double quotes). As the previous code always called pa_unescape() before adding it into the modarg hashmap, this was impossible. This modification simply stores two proplists. If the unescaped value is different from the raw value, we also keep the raw form. When parsing proplist arguments, we use this raw form and do the unescaping ourselves when processing it. This changes the current behaviour which required you to double escape proplists arguments. This double escape mechanism did allow you to mix and match what types of quotes you used to delimit the individial proplist values, but it made the actual data much harder to pass in. This approach has the drawback that you cannot mix and match the quotes you use, but this is a very minor issue and IMO pales in comparison to the general clarity gained. See the discussion on the mailing list for more background: http://lists.freedesktop.org/archives/pulseaudio-discuss/2011-September/011220.html
2011-09-09alsa-mixer: Add support for the Microsoft Kinect Sensor deviceAntonio Ospite2-0/+40
The Kinect shows up as a UAC device after the firmware has been loaded, but in order to be detected by pulseaudio a 4-channels input only mapping is needed. Provide a new profile for that and set it with a udev rule. fdo#39664