summaryrefslogtreecommitdiffstats
path: root/src/modules
Commit message (Collapse)AuthorAgeFilesLines
...
* | Include <time.h> where necessaryMaarten Bosmans2011-03-011-0/+1
| |
* | alsa-mixer: Add support for "Line Boost" elementDavid Henningsson2011-02-282-0/+11
| | | | | | | | Signed-off-by: David Henningsson <david.henningsson@canonical.com>
* | Add src/*-symdef.h to .gitignore.Tanu Kaskinen2011-02-281-1/+0
| | | | | | | | | | Also remove src/module/.gitignore as this is no longer needed as pointed out by Arun Raghavan
* | virtual-sink: Fix a crash when moving the sink to a new master right after ↵Tanu Kaskinen2011-02-262-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | setup. If the virtual sink is moved to a new master right after it has been created, then the virtual sink input's memblockq can be rewound to a negative read index. The data written prior to the move starts from index zero, so after the rewind there's a bit of silence. If the memblockq doesn't have a silence memchunk set, then pa_memblockq_peek() will return zero in such case, and the returned memchunk's memblock pointer will be NULL. That scenario wasn't taken into account in the implementation of sink_input_pop_cb. Setting a silence memchunk for the memblockq solves this problem, because pa_memblock_peek() will now return a valid memblock if the read index happens to point to a hole in the memblockq. I believe this isn't the best possible solution, though. It doesn't really make sense to rewind the sink input's memblockq beyond index 0 in the first place, because now when the stream starts to play to the new master sink, there's some unnecessary silence before the actual data starts. This is a small problem, though, and I don't grok the rewinding system well enough to know how to fix this issue properly. I went through all files that call pa_memblockq_peek() to see if there are more similar bugs. play-memblockq.c was the only one that looked to me like it might be broken in the same way. I didn't try reproducing the bug with play-memblockq.c, though, so I just added a FIXME comment there.
* | virtual-sink/source: Remove an unused variable.Tanu Kaskinen2011-02-262-10/+0
| |
* | virtual-sink/source: Use a more descriptive stream name.Tanu Kaskinen2011-02-262-2/+2
| |
* | virtual-sink: Add a modarg for forcing flat volume.Tanu Kaskinen2011-02-261-1/+15
| |
* | virtual-sink: Add a modarg for enabling volume sharing.Tanu Kaskinen2011-02-261-5/+12
| |
* | alsa-mixer: Make sure capture source and input source use right pathDavid Henningsson2011-02-256-45/+12
| | | | | | | | | | | | | | Make sure that mic and line (with common names) use the specific path instead of the analog-input one. Signed-off-by: David Henningsson <david.henningsson@canonical.com>
* | alsa-mixer: Fixup "Mic"/"Line"/"analog-input" paths to work with the new pathsDavid Henningsson2011-02-254-22/+111
| | | | | | | | Signed-off-by: David Henningsson <david.henningsson@canonical.com>
* | alsa-mixer: Add new paths for Internal Mic, Front Mic, Rear Mic and Dock MicDavid Henningsson2011-02-256-78/+317
| | | | | | | | Signed-off-by: David Henningsson <david.henningsson@canonical.com>
* | alsa-mixer: always round towards 0 dBDavid Henningsson2011-02-251-6/+9
| | | | | | | | | | | | | | Always round towards 0 dB. Also add a few debug comments to aid troubleshooting. Signed-off-by: David Henningsson <david.henningsson@canonical.com>
* | alsa-mixer: add required-any and required-* for enum optionsDavid Henningsson2011-02-253-12/+91
| | | | | | | | | | | | | | | | | | | | | | Now you can add required-any to elements in a path and the path will be valid as long as at least one of the elements are present. Also you can have required, required-any and required-absent in element options, causing a path to be unsupported if an option is (not) present (simplified example: to skip line in path if "Capture source" doesn't have a "Line In" option). Signed-off-by: David Henningsson <david.henningsson@canonical.com>
* | alsa-mixer: Add a few well-known descriptionsDavid Henningsson2011-02-251-0/+7
| | | | | | | | | | | | | | | | Add front mic, rear mic, and docking line-in. These are likely to be present on modern hda chips, for reference see linux-2.6/sound/pci/hda/hda_codec.c:hda_get_input_pin_label Signed-off-by: David Henningsson <david.henningsson@canonical.com>
* | alsa-card: Add a new modarg "profile_set" for giving the card a custom ↵Tanu Kaskinen2011-02-251-1/+8
| | | | | | | | profile set configuration file.
* | alsa-mixer: Fix path set building when using the element-output or ↵Tanu Kaskinen2011-02-251-0/+5
| | | | | | | | | | | | | | | | | | element-input mapping options in profile set configuration. When creating synthesized paths, pa_alsa_path_set_new() created duplicate elements for each path, and one of the duplicate elements would be marked as required absent. That made path probing fail. While debugging this, I noticed also that pa_alsa_path_synthesize() didn't initialize p->last_element properly.
* | Support for multichannel DSP processing in module-ladspa-sinkKim Therkelsen2011-02-251-147/+237
| |
* | Merge remote-tracking branch 'mkbosmans/mingw32-build'Colin Guthrie2011-02-2512-184/+258
|\|
| * module-waveout: Adapted to updated APIMaarten Bosmans2011-02-171-168/+227
| | | | | | | | Waveout sink works again, Wavein source still needs some work.
| * Use PCRE if POSIX regex.h is not availableMaarten Bosmans2011-02-171-1/+6
| |
| * Apply #ifdefs around functionality not available on win32Maarten Bosmans2011-02-173-1/+16
| | | | | | | | And also the reverse: around some win32 specific functionality
| * Use <pulsecore/socket.h> instead of <sys/socket.h>Maarten Bosmans2011-02-172-5/+2
| | | | | | | | | | | | | | | | The check whether POSIX socket.h or WIN32 winsock2.h must be included can be made centrally. The downside is that some functionality of e.g. arpa/inet.h is also implemented in winsock.h, so that some files that don't use socket functions, but do use inet.h functions, must also include pulsecore/socket.h. (as well as arpa/inet.h)
| * Clean up <poll.h> includesMaarten Bosmans2011-02-177-9/+7
| | | | | | | | | | | | Instead <pulsecore/poll.h> should be included. That file includes poll.h on platform where it is appropriate. Also remove some unnecessary <ioctl.h> includes.
* | solaris: update call of pa_thread_new to new prototypeEdward Rudd2011-02-221-1/+1
| |
* | coreaudio: Fix call to pa_thread_newEdward Rudd2011-02-221-1/+1
| |
* | Allow read-only or non-existing sink input volume.Tanu Kaskinen2011-02-222-48/+86
| | | | | | | | | | | | | | | | | | | | | | | | There are two known cases where read-only or non-existing sink input volume is relevant: passthrough streams and the planned volume sharing logic. Passthrough streams don't have volume at all, and the volume sharing logic requires read-only sink input volume. This commit is primarily working towards the volume sharing feature, but support for non-existing sink input volume is also added, because it is so closely related to read-only volume. Some unrelated refactoring in iface-stream.c creeped into this commit too (new function: stream_to_string()).
* | dbusiface-stream: Send the Device property in the GetAll handler.Tanu Kaskinen2011-02-221-0/+1
| |
* | core: Link virtual sinks and sources to their streams.Tanu Kaskinen2011-02-226-1/+21
|/ | | | | | | | | | | | | | | This change doesn't add any functionality in itself, but it will be useful in the future for operating on chains of sinks or sources that are piggy-backing on each other. For example, the PA_PROP_DEVICE_MASTER_DEVICE property could be handled in the core so that each virtual device doesn't have to maintain it separately. By using the origin_sink and destination_source pointers the core is able to see at stream creation time that the stream is created by a virtual device, and then update that device's property list using the name of the master device that the stream is being connected to. The same thing can be done also when the stream is being moved from a device to another, in which case the _MASTER_DEVICE property needs updating.
* alsa: disable period wakeups in tsched mode if possiblePierre-Louis Bossart2011-02-011-0/+28
| | | | | | | | | | | | | | | | | | | | | | | This patch reflects a new capability that Lennart was wishing for. Wish granted... Re-submitting it now that alsa-lib 1.0.24 provides additional entry points to disable period wakeups in timer-scheduling mode if hardware can work without it (HDAudio, oxygen and Intel SST). Example with standard playback on HDAudio output Before change: Top causes for wakeups: 3.8% ( 5.4) [hda_intel] <interrupt> 2.8% ( 4.0) alsa-sink After change: Top causes for wakeups: 2.3% ( 3.0) alsa-sink Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@intel.com>
* echo-cancel: Make Orc file names less sillyArun Raghavan2011-02-012-1/+1
| | | | | The naming was what it was because of the way orc.mak was originally written. This has changed now.
* build: Simplify Orc-related make rulesArun Raghavan2011-02-013-312/+1
| | | | | | | This greatly simplifies the Orc-related make rules. The old system of distributing generated files is gone, which means that anyone who wants to build with Orc support enabled needs to have the orcc compiler installed (presumably the orc 'devel' package in most distros).
* build: Don't include empty Makefile.am in subdirsMaarten Bosmans2011-01-3113-260/+0
|
* Merge remote branch 'mkbosmans/rate-adjustment'Colin Guthrie2011-01-313-60/+103
|\
| * module-rtp-recv: Request proper rewind after underrunMaarten Bosmans2011-01-161-1/+3
| |
| * module-rtp-recv: Remove smoother from write indexMaarten Bosmans2011-01-161-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-01-161-4/+22
| |
| * module-rtp-recv: Use new algorithm for adjusting sample rateMaarten Bosmans2011-01-161-15/+29
| |
| * Limit rate adjustments to small, inaudible jumpsMaarten Bosmans2011-01-163-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-01-161-0/+1
| |
* | ratelimit: fix log levels of log suppression messagesLennart Poettering2011-01-313-6/+6
| | | | | | | | | | | | | | | | | | When logging a suppression message do so on the same log level as the suppressed messages. Cherry picked by Colin Guthrie from ec5a7857127a1b3b9c5517c4a70a9b2c8aab35ca with a couple of additional changes due to extra limiting in master that was not present in stable-queue.
* | Merge commit 'e4979ab5cff84ef64c88bba3a1b6b4c5e02f7777'Colin Guthrie2011-01-173-10/+16
|\ \
| * | bluetooth: detect when bitpool has changed on sbc codecLuiz Augusto von Dentz2010-12-231-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A2DP spec allow bitpool changes midstream which is why sbc configuration has a range of values for bitpool that the encoder can use and decoder must support. Bitpool changes do not affect the state of encoder/decoder so they don't need to be reinitialize when this happens, so the impact is fairly small, what it does change is the frame length so encoders may change the bitpool to use the link more efficiently.
| * | bluetooth: fix build for libdbus < 1.3Luiz Augusto von Dentz2010-12-231-0/+2
| | |
| * | bluetooth: fix case of profile UUIDs to match what BlueZ usesLuiz Augusto von Dentz2010-12-231-8/+8
| |/
* | tunnel: Fix automatic names when source/sink_name argument is missing.Colin Guthrie2011-01-161-2/+2
| | | | | | | | Spotted by palmerdabbelt via #894
* | alsa-sink: Don't assume we were able to enable hw-volume or sync-volume (v1.1)Jyri Sarha2011-01-151-21/+21
| | | | | | | | | | This patch also disables mixer callback code if we do not have neither HW-volume or HW-mute.
* | alsa-sink: Fix double use of stringJyri Sarha2011-01-151-6/+8
| |
* | loopback: Add new arguments to disable stream moveCai Yuanqing2011-01-031-1/+26
|/ | | | | | | | | The arguments sink_dont_move and source_dont_move have been added to toggle module automatic unloading when the sink or source were no longer available, rather than just moving them to the next available sink/source (via rescue streams). Reviewed and tweaked by Colin Guthrie.
* coreaudio: Make coreaudio-detect safer by adding asserts before dereferencingCai Yuanqing2010-12-221-6/+11
|
* fix bug about get source-output statusChen Rui2010-12-201-1/+1
|