summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2015-01-20combine-sink: Rearrange block_usec initializationrhel-6.6-workTanu Kaskinen1-3/+3
block_usec should be determined by the sink max latency, not the other way around. This change doesn't cause any change in behaviour, but makes the code more logical. Further updates to block_usec are already done correctly, so this is the only place that needs modification.
2015-01-20combine-sink: Fix the initial requested latency of new outputsTanu Kaskinen1-1/+1
If the combine-sink is running with low latency, and a new output is added, the new output was not configured with low latency.
2015-01-20combine-sink: Add a convenience variableTanu Kaskinen1-5/+8
2015-01-20combine-sink: Make the latency range calculation easier to readTanu Kaskinen1-5/+10
I think this is much easier to understand. This should not result in any functional change.
2015-01-20combine-sink: add support for DYNAMIC_LATENCYWim Taymans1-33/+104
Mark the sink as DYNAMIC_LATENCY and implement update_sink_latency_range on its sink-input to collect the combined latency range of all sinks. Implement update_requested_latency on the sink to configure the final latency by combining the sink-input requested latencies. This makes us honour the client latency request. Also add more debug log. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=47899
2015-01-20combine-sink: rework output add/removeWim Taymans1-16/+10
Add the output from its sink-input attached callback and remove it again from the detach callback. This simplifies some output_enable and we can also avoid posting 2 messages for the sink.
2015-01-20Fix input device for M-audio fasttrack proDavid Henningsson1-1/+3
Some M-audio fasttrack pro devices, the input device is at index 1 instead of index 0. According to http://mailman.alsa-project.org/pipermail/alsa-devel/2012-March/050701.html the reason for this is probably that the device has mutually exclusive analog and digital input. With this patch we can catch the input regardless of state. BugLink: https://bugs.launchpad.net/bugs/569932 Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2014-06-23rules: remove stray gotoWim Taymans1-1/+0
Clean up a leftover goto-undeclared-label from a previous merge
2014-06-23Name HDMI outputs uniquelyrhel-6.6Alexander E. Patrakov1-6/+6
On Haswell hardware, there are multiple HDMI outputs capable of digital sound output. As they were identically named, KDE's control center was unable to distinguish them, restored the wrong profile and thus routed sound to the wrong HDMI monitor. Also, having identically-named menu items in other mixer applications looks like a bug.
2014-06-23alsa: Add port information to HDMI profilesDavid Henningsson8-2/+196
For Nvidia and Intel, support probing of up to four HDMI devices. Also add port information to all HDMI profiles. Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2014-04-02alsa-mixer: Mute IEC958 optical raw for several Audigy modelsrhel-6.5David Henningsson1-0/+3
This switch needs to be off for analog output to work on several Audigy cards. Thanks to Daniel T Chen for the patch. BugLink: http://bugs.launchpad.net/bugs/408370 Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2014-04-02socket-client: properly handle asyncns failuresJez Austin1-1/+2
We fail to detect when people disable IPv6 in there kernels. This patch makes sure we don't ignore this error condition. http://pulseaudio.org/ticket/752 https://bugzilla.mozilla.org/show_bug.cgi?id=533470 http://bugs.freedesktop.org/show_bug.cgi?id=25742
2014-04-02intended-roles: Do not pick monitor sources when doing automatic role-based ↵Colin Guthrie1-1/+12
device selection
2014-04-02Handle 'Digital Mic' as an 'Input Source'Daniel T Chen1-0/+4
BugLink: https://launchpad.net/bugs/533877 Some laptops have 'Digital Mic' exposed as an 'Input Source', e.g., Dell XPS 1330, so handle these, too.
2014-04-02core-util: ensure that we chmod only the dir we ourselves createdKees Cook1-5/+34
2014-04-02core: rework how stream volumes affect sink volumesLennart Poettering1-1/+41
2014-04-02esd,simple: use pa_memblockq_pop_missing()Lennart Poettering2-2/+2
We need to use pa_memblockq_pop_missing() for all request handling, including the initial request, because otherwise the counters will be stay off during the entire runtime. This should fix: https://bugzilla.redhat.com/show_bug.cgi?id=559467
2014-04-02core-util: introduce generic function pa_strip()Lennart Poettering2-4/+25
2014-04-02alsa: reset max_rewind/max_request while suspendingLennart Poettering1-1/+10
2014-04-02alsa-util: strip spaces from ALSA card/pcm namesLennart Poettering1-5/+7
http://pulseaudio.org/ticket/778
2014-04-02native: improve logging for buffer_attrsLennart Poettering1-0/+18
2014-04-02suspend-on-idle: resume audio device even for initially corked streamsLennart Poettering1-5/+3
We need to resume audio devices even for streams that are created in corked stat, so that the latency ranges of the audio device are known during the initial latency negotiation. If we don't the latency negotiation will be based on placeholder data and changed later on which clients do not expect. This should fix issues with Skype. https://bugzilla.redhat.com/show_bug.cgi?id=554929
2014-04-02pacat: pass buffer_attr to recording streams tooLennart Poettering1-1/+1
Pointed out by Colin Guthrie. https://tango.0pointer.de/pipermail/pulseaudio-discuss/2010-February/006698.html
2014-04-02scache: when playing a sample from the cache make sure not queue them up ↵Lennart Poettering5-19/+31
when the sink is suspended libcanberra already sets the appropriate flags for uncached sample streams, we now need to make sure to set them for cached samples too.
2014-04-02sample-cache: use the sample name as unmodified fallback in the properties ↵Lennart Poettering1-1/+2
when playing a sample from the cache
2014-04-02stream-restore: be a little bit more verbose why we don't reastore a sinkLennart Poettering1-1/+1
2014-04-02proplist: explicitly mention a role 'test'Lennart Poettering1-1/+1
2014-04-02channelmap: Use "Subwoofer" as pretty name for LFELennart Poettering1-1/+1
The pretty name is suspposed to be understandable by non-technical folks, and they are generally more used to the term "Subwoofer" than "Low Frequency Emitter", so let's change the name here.
2014-04-02Add missing profile and alsa-mixer/paths to src/Makefile.amDaniel T Chen1-0/+3
Commits e8cb96c and 0c836aa created mixer paths but did not update src/Makefile.am. Building a snapshot containing these two commits therefore results in the user being unable to adjust the volume or (un)mute through PA. Fix this by adding the two new mixer paths files to src/Makefile.am. Likewise, commit 66e1a2d created a profile for the M-Audio FastTrack Pro USB but did not update src/Makefile.am. Fix this by adding the profile to src/Makefile.am.
2014-04-02shm: don't complain about missing SHM segmentsLennart Poettering1-1/+1
If two clients try to cleanup the SHM directory at the same time, they might want to open and then delete the same segment at the same time, in which case one client might win, the other one lose. In this case, don't warn about ENOENT.
2014-04-02pacmd: don't enter busy loop when reading from stdin very earlyLennart Poettering1-86/+100
pointed out in: https://tango.0pointer.de/pipermail/pulseaudio-discuss/2010-January/006365.html
2014-04-02pacmd: store away fd typeLennart Poettering1-4/+5
2014-04-02pacat: always fully fulfill write requestsLennart Poettering1-17/+30
Make sure we always fulfill write requests from the server. If we don't the server won't ask us again and playback will stay stuck. https://tango.0pointer.de/pipermail/pulseaudio-discuss/2010-February/006611.html
2014-04-02fdsem: be more verbose when reading from eventfd fails.Lennart Poettering1-6/+35
Apperently reading from an eventfd can fail, which results in an assert to be hit. I am not sure about the reason for the failure, but in attempt to track down the issue the next time is hit this prints a more useful log message. https://bugzilla.redhat.com/attachment.cgi?id=386380
2014-04-02dbus: first restart timer, then dispatch itLennart Poettering1-13/+16
This makes sure that we don't access the timer after it might have been destroyed already from the dbus timeout callback. https://bugzilla.redhat.com/attachment.cgi?id=389952
2014-04-02padsp: emulate /dev/audio, tooLennart Poettering1-35/+20
https://bugzilla.redhat.com/show_bug.cgi?id=561262
2014-04-02alsa: use default output port namesLennart Poettering5-3/+5
instead of coming up with pointless aliases, reuse the already established names, for second headphones, and second speakers.
2014-04-02alsa: cover "Internal Mic" elementsLennart Poettering9-0/+98
https://bugzilla.redhat.com/show_bug.cgi?id=562216
2014-04-02alsa: cover 'Shared Mic/Line in', 'Analog Source'Lennart Poettering1-0/+25
https://bugzilla.redhat.com/show_bug.cgi?id=558638
2014-04-02alsa: cover "Desktop Speaker" mixer elementsLennart Poettering9-8/+131
As exposed by really old Microsoft USB sound systems
2014-04-02core: Fix macro typo - PA_SINK_IS_LINKED -> PA_SINK_INPUT_IS_LINKEDColin Guthrie1-1/+1
2014-04-02native: rework handling of seeks that depend on variables the client does ↵Lennart Poettering7-9/+20
not know anything about All seeks/flushes that depend on the playback buffer read pointer cannot be accounted for properly in the client since it does not know the actual read pointer. Due to that the clients do not account for it at all. We need do the same on the server side. And we did, but a little bit too extreme. While we properly have not applied the changes to the "request" counter we still do have to apply it to the "missing" counter. This patch fixes that.
2014-04-02libpulse: Store pa_stream pointers to hashmaps instead of dynarrays.Tanu Kaskinen3-18/+17
Since the stream identifiers (channels) are monotonically growing integer, it isn't a good idea to use them as index to a dynamic array, because the array will grow all the time. This is not a problem with client connections that don't create many streams, but, for example, long-running clients that use libcanberra for playing event sounds, this means that the client connection effectively leaks memory.
2014-04-02Fix the following warnings (which now cause buildd failures in Ubuntu 10.04):Daniel T Chen1-0/+1
pulsecore/cpu-arm.c: In function 'get_cpuinfo': pulsecore/cpu-arm.c:70: warning: implicit declaration of function 'pa_read' [-Wimplicit-function-declaration] pulsecore/cpu-arm.c:72: warning: implicit declaration of function 'pa_close' [-Wimplicit-function-declaration] pulsecore/cpu-arm.c: In function 'pa_cpu_init_arm': pulsecore/cpu-arm.c:110: warning: implicit declaration of function 'pa_split_spaces' [-Wimplicit-function-declaration] pulsecore/cpu-arm.c:110: warning: assignment makes pointer from integer without a cast Function `pa_split_spaces' implicitly converted to pointer at pulsecore/cpu-arm.c:110 Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
2014-04-02More src/pulsecore/cpu-arm.c FTBFS fixesDaniel T Chen1-2/+3
Fix missing argument to pa_read(), and be consistent with declaration of state variable in pa_cpu_init_arm(). Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
2014-04-02udev: Use SOUND_CLASS instead of SOUND_FORM_FACTOR when checking for modemDaniel T Chen1-1/+1
The fact whether an ALSA card is a modem is stored in the SOUND_CLASS, not the SOUND_FORM_FACTOR property. So read it from there. Patch from Whoopie.
2014-04-02threaded-mainloop: Properly initialise m->n_waiting_for_accept to prevent ↵Daniel T Chen1-0/+1
deadlock Compiler optimisations have been seen to initialise m->n_waiting_for_accept to a positive non-zero value, so the while() in pa_threaded_mainloop_signal() never proceeds. Fix this by properly initializing m->n_waiting_for_accept in pa_threaded_mainloop_new(). Patch from Iain Bucław. https://bugs.launchpad.net/bugs/502992
2014-04-02alsa: add profile set for M-Audio FastTrack Pro USBDavid Kågedal2-0/+86
2014-04-02client: include dolby channel names in commentsLennart Poettering1-10/+10
2014-04-02client: implement $PULSE_LATENCY_MSECLennart Poettering1-6/+31
This allows easy overriding of a clients latency setting for debugging purposes. http://pulseaudio.org/ticket/753