summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* volume: Add a PA_VOLUME_UI_MAX define for the recommended max volume to show ↵Colin Guthrie2011-03-031-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | in UIs This value is not a technical upper limit, it's just a 'sensible' value that is not crazy high, but also allows software amplification above 0dB (aka 100%) for very quiet audio sources. We recommend that a comprehensive volume control UI should allow users to set volumes up to this limit, although of course should deal gracefully if the user has set the volume even higher than this without resulting in a feedback loop that effectively limits the upper volume. The value chosen is +11dB. This was selected somewhat subjectively and is very similar to the current 150% that gnome-volume-control uses (which is ~+10.57dB). On the plus side, we now recommend that everyone allows 'Volumes up to 11' which is pretty awesome. http://en.wikipedia.org/wiki/Up_to_eleven https://tango.0pointer.de/pipermail/pulseaudio-discuss/2010-April/006945.html https://tango.0pointer.de/pipermail/pulseaudio-discuss/2010-April/006950.html
* conf: Make system.pa use udev-detect and not hal-detect.Colin Guthrie2011-03-032-4/+4
| | | | Also fix a left over reference to HAL in default.pa
* module-rtp-recv: Remove smoother from write indexMaarten Bosmans2011-02-251-21/+3
| | | | | It isn't necessary anymore with the new algorithm. The slow adjust of the smoother was even detrimental to the accuracy of the rate estimate.
* module-rtp-recv: Average the estimated real sample rateMaarten Bosmans2011-02-251-4/+22
|
* module-rtp-recv: Use new algorithm for adjusting sample rateMaarten Bosmans2011-02-251-15/+29
|
* Limit rate adjustments to small, inaudible jumpsMaarten Bosmans2011-02-253-26/+52
| | | | | | | | | | | | | | | The same logic is applied to the sample rate adjustments in module-rtp-recv, module-loopback and module-combine: - Each time an adjustment is made, the new rate can differ at most 2‰ from the old rate. Such a step is equal to 3.5 cents (a cent is 1/100th of a semitone) and as 5 cents is generally considered the smallest observable difference in pitch, this results in inaudible adjustments. - The sample rate of the stream can only differ from the rate of the corresponding sink by 25%. As these adjustments are meant to account for very small clock drifts, any large deviation from the base rate suggests something is seriously wrong. - If the calculated rate is within 20Hz of the base rate, set it to the base rate. This saves CPU because no resampling is necessary.
* module-loopback: Add adjust_time to valid argsMaarten Bosmans2011-02-251-0/+1
|
* client: Don't update smoother while corkedArun Raghavan2011-02-011-2/+2
| | | | | | | | | | | | | | This prevents the smoother attached to the stream clock from being updated while the stream is corked, which in turn ensures that once corking is completed, pa_stream_get_time() always returns the same value until the stream is uncorked - i.e., the clock does not advance when the client believes that it will not. The actual call to pa_smoother_put() happens on things like stream suspend/unsuspend, which trigger timing updates. This changes the smoother coefficients, which means that a call to pa_smoother_get() for the same value of 'x' can return different values before and after a timing update.
* Fighting rewinds: Reduce calls to handle_seekDavid Henningsson2011-01-311-30/+26
| | | | | | | | | If many small blocks are in queue, handle_seek is being called for every one of them, sometimes causing a rewind. Delay the call until all blocks are handled, then call handle_seek only once. Signed-off-by: David Henningsson <david.henningsson@canonical.com>
* Fighting rewinds: Seek and write data in the same messageDavid Henningsson2011-01-311-8/+12
| | | | | | | | Allow a message in the queue to perform both a seek and a post data. For clients that do not use PA_SEEK_RELATIVE (e g gstreamer), this cuts the message count - and sometimes even the rewinds - in half. Signed-off-by: David Henningsson <david.henningsson@canonical.com>
* Core: Fix incorrect check of return valueScott Reeves2011-01-231-2/+2
|
* tunnel: Fix automatic names when source/sink_name argument is missing.Colin Guthrie2011-01-231-2/+2
| | | | Spotted by palmerdabbelt via #894
* ratelimit: fix log levels of log suppression messagesLennart Poettering2011-01-2211-16/+17
| | | | | When logging a suppression message do so on the same log level as the suppressed messages.
* console-kit: Console Kit support is dependent on DBUS and is thus optional.Colin Guthrie2011-01-111-0/+2
| | | | | | | | Therefore, we must reflect this in the default.pa. Several users have reported an error with consolekit when starting a self-built PA due to the default config not working properly. This works around the issue but we should include a warning on configure about the lack of DBUS and udev support as this is a common mistake.
* padsp: wrap __open_2 and __open64_2Michal Schmidt2011-01-101-9/+52
| | | | | | These functions are used in OSS programs where the "flags" parameter for open() is not a build-time constant and the build has _FORTIFY_SOURCE enabled.
* fix bug about get source-output statusChen Rui2010-12-201-1/+1
|
* Fix typosZhang Wanming2010-12-2010-16/+16
|
* Fix return value of pa_sndfile_format_from_stringVincent Becker2010-12-181-3/+3
| | | | This prevented to use pacat --file-format option correctly
* core: Fix variable "has_whined" value bugYang Xichuan2010-12-181-1/+1
| | | | | | | | | In the file src/pulsecore/random.c I found that the log information "Failed to get proper entropy. Falling back to seeding with current time." would never be printed. This change corrects the issue.
* module-loopback: Prevent an infinite loop when rate adjusting is disabledMaarten Lankhorst2010-12-121-1/+2
|
* jack: Add module-jackdbus-detectDavid Henningsson2010-12-052-0/+316
|
* build-sys: Replace dummy Makefiles with proper Makefile.am'sColin Guthrie2010-12-0434-39/+361
| | | | | | | | | | | | | | | | | | | | | | | | This is needed to better support out of tree builds (including distcheck) and to ensure the necessary folders are created in the build tree on configure and also works around an intl-tools bug (https://bugs.launchpad.net/intltool/+bug/605826) The Makefile.am's used are minimal (and in some cases completely blank). At present they do not include anything interesting with the majority of the real work still done by the monolitic src/Makefile.am It may make sense to start splitting out src/Makefile.am into smaller chunks but this commit makes the minimum changes to address the issues that result from using make distcheck and other out of tree builds. Note: This 'breaks' the ability to type make in e.g. the src/modules folder and have all of PA rebuilt accordingly (this is because the static Makefiles previously present just did a "make -C ..") which was purportedly for use in emacs. But I'm sure there will be a better and more robust way to configure emacs to do your builds properly if this behaviour is still desirable.
* rescue-streams: Fix segfault in some conditionsArun Raghavan2010-12-021-1/+1
| | | | | | | There is a call to this function where 'skip' variable is NULL. Looks like this code doesn't get hit very often, probably because a suitable default sink can be found to move the stream to. However, if we can't move to the default sink and skip is NULL, there will be a segfault.
* volume: Add explicit checks for ARMv6 instructionsArun Raghavan2010-11-281-4/+4
| | | | | | | This ensures that the build does not fail if the ssat and pkhbt instructions are not available (armv5te and below). Fixes: http://www.pulseaudio.org/ticket/790
* Handle 'Internal Mic 1' as an 'Input Source'Daniel T Chen2010-11-251-0/+4
| | | | | | | | | BugLink: https://launchpad.net/bugs/680810 Some laptops have 'Internal Mic 1' exposed as an 'Input Source', e.g., Dell XPSM 1530, so handle these, too. Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
* Add "Rear Mic" to alsa mixer paths.David Henningsson2010-11-252-0/+13
| | | | Signed-off-by: David Henningsson <david.henningsson@canonical.com>
* alsa-source: fix enum typesLennart Poettering2010-11-251-2/+2
|
* alsa-mixer: make a few strings translatableLennart Poettering2010-11-251-3/+3
| | | | | | Original patch contributed by 'kelemeng' http://pulseaudio.org/ticket/843
* pulse: make sure legacy_dir is not staticJan Kratochvil2010-11-251-1/+1
|
* upnp: Implement the MediaServer2 D-Bus interfaceStephen Moehle2010-11-171-199/+463
| | | | | | This allows PulseAudio to work with versions of Rygel 0.7.1 and higher which only support MediaServer2: http://live.gnome.org/Rygel/MediaServer2Spec
* combine: Only check if the sink is h/w etc. in automatic modeColin Guthrie2010-11-171-8/+8
|
* combine: Handle reappearing slave sinks in non-automatic mode.Antti-Ville Jansson2010-11-171-3/+23
| | | | | | | | Earlier, if slave sinks were unlinked in non-automatic mode, their re-appearance was disregarded. Now they are added back to the list of outputs. Signed-off-by: Antti-Ville Jansson <antti-ville.jansson@digia.com> Reviewed-by: Tanu Kaskinen <tanu.kaskinen@digia.com>
* alsa: remove redundant call to snd_pcm_nonblock()Pierre-Louis Bossart2010-11-171-2/+0
| | | | | | | The PCM handle is already opened with the SND_PCM_NONBLOCK flag. This additional call is useless. Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@intel.com>
* doxygen: Add 'See also' linking to the overview pageDavid Fries2010-11-1712-11/+46
| | | | | | | A good many of the header files are broken into a function reference page and an overview page. These changes add a direct link from each function reference page to their overview page if one exists.
* doxygen: Documentation improvementsDavid Fries2010-11-175-15/+16
| | | | | | | | | stream.h, simple.h The words drain and flush are a little ambiguous, make it explicit as to what happens to any existing audio. *mainloop.h reword *_free and *_get_api for grammar
* doxygen: Fix the "all" comments regarding volume helper functions.David Fries2010-11-171-10/+11
| | | | | | Mostly change "Set the volume of all channels" to "Set the volume of the first n channels" as the first is incorrect, it doesn't set all the channels and doesn't explain what n was for.
* doxygen: Fix documentation typosDavid Fries2010-11-173-7/+8
|
* sink-input: Fix commentColin Guthrie2010-11-171-1/+1
|
* intended-roles: Mark devices with a form factor of 'headset' as being ↵Colin Guthrie2010-10-311-1/+2
| | | | | | | appropriate for 'phone' streams This was a result a report by Patrick Ben Koetter relating to his Logitech Wireless Headset.
* alsa-mixer: add profile for Native Instruments KorecontrollerDaniel Mack2010-10-313-1/+88
|
* SSE/MMX/ARM: Fix high frequency noise with unusual number of channelsDavid Henningsson2010-10-133-13/+25
| | | | | | | | In the assembly optimized versions of SSE, a noise could occur when the number of channels were 3,5,6 or 7. For MMX and ARM, this could occur when the number of channels were 3. Signed-off-by: David Henningsson <david.henningsson@canonical.com>
* augment-properties: Fix debug messages and statement bracketing.Colin Guthrie2010-10-061-2/+3
|
* suspend: Do not assert when checking for device suspended status and a ↵Colin Guthrie2010-10-052-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | stream is not linked. When looping through the streams on a given device checking to see if the stream is 'active' there should be no assert if the stream is not linked, it should simply be ignored. This assert can be hit if a sink and a sink input are both created and setup but the final put calls are left to the end as is done in module-ladspa-sink. While the order of the calls in module-ladspa-sink could be altered, we should deal gracefully with the way it is now and not complain about ending up in this state. A trigger case was trivial: 1. Load a ladspa-sink. 2. Play a stream and move it to it. 3. Unload the module, then reload it. 4. Due to module-stream-restore and module-suspend-on-idle, the hook callbacks will ultimately hit this assert. Thanks to Kim Therkelsen for highlighting this issue.
* device-manager: Ensure that sinks/sources populate the device manager lists ↵Colin Guthrie2010-09-291-5/+59
| | | | | | | in order of their priority. Currently the order of the sinks is simply that of their position in the idxset which is certainly not what the user would want.
* augment-properties: Search for .desktop files in subfolders too.Colin Guthrie2010-09-291-5/+39
|
* stream-restore: Clear the save_sink/save_source flags on apply_entry.Colin Guthrie2010-09-291-12/+36
| | | | | | | | | | | If the user specifically removes the device element from the stream restore rule, we have to clear the save_sink/save_source flag of the stream. This means that other stream routing systems (e.g. module-device-manager) can take over routing for this stream. In order to facilitate the reapplication of other routing rules, we fire a stream change event. Arguably the stream itself has not changed, but the rules governing its routing have, so I feel this is justified.
* Add a configure option to change 'udevrulesdir'Arun Raghavan2010-09-211-1/+0
| | | | | | | | | | | This patch serves two purposes: 1) Allows something other than the de-facto standard udev rules dir or /lib/udev/rules.d to be used (the udev build system allows you to customise this) 2) Allows a prefixed, non-root install (right now, the /lib/... path is hard-coded into the build system
* x11: Use the default screen for X11 properties.Colin Guthrie2010-09-185-69/+95
| | | | | This commit restores the functionality originally included in 65e807 by Leszek Koltunski.
* xcb: xcb_get_setup() can return 0, so make sure we check it before usingColin Guthrie2010-09-181-20/+48
|
* xcb: Ensure the XCB connection is valid before using it.Colin Guthrie2010-09-182-0/+10
|