Commit graph

978 commits

Author SHA1 Message Date
Lubomir Rintel
34f31f666e Recover stream when it's suspended upon rewind
Error from snd_pcm_rewind() might mean we just woke up from suspend and
didn't have a chance to try to recover the stream since we didn't write
to it in between. Call try_recover() in such cases.

Note that for this to work kernel must return ESTRPIPE instead of EBADF
for rewind/forward attempts on suspended streams, so that
snd_pcm_recover() can recognize it should snd_pcm_resume() the stream.
This is not the case yet (2.6.31-rc5), patch is available.

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
2009-08-03 22:47:15 +02:00
Lennart Poettering
e5c2256e36 pipe: replace PIPE_BUF macro pa pa_pipe_buf call
This should help portability to platforms that lack PIPE_BUF. Based on a
patch from Samuel Thibault.

See ticket #546
2009-08-01 01:59:58 +02:00
Lennart Poettering
0113e7282c hal: add option to initialize all subdevices of an OSS device
Patch from 'cmt', closes ticket #544
2009-07-31 23:13:21 +02:00
Lennart Poettering
39aa1cf94d alsa: revert to first set number of periods, then set buffer size
Apparently some ALSA drivers aren't happy with getting the buffer size
configured first followed the period size. So swap the order again and
document this for future reference so that we don't turn that around
again.
2009-07-31 02:07:24 +02:00
Lennart Poettering
c14f6c179f tunnel: don't assert on misaligned reads, closes #597 and rhbz #496310 2009-07-31 00:50:19 +02:00
Lennart Poettering
5efb07281d alsa: throw timing data away after device resume 2009-07-24 20:13:52 +02:00
Lennart Poettering
2bbdf631f8 udev: explain what happened when inotify_add_watch() returned ENOSPC, rhbz #513571 2009-07-24 13:58:22 +02:00
Lennart Poettering
18433c19b6 alsa: handle correctly if alsa returns us 0 or EAGAIN on snd_pcm_mmap_begin if we didn't call snd_pcm_avail immediately before 2009-07-24 13:45:59 +02:00
Lennart Poettering
c325b93c01 alsa: don't reset volume/mute when selecting path 2009-07-23 19:24:26 +02:00
Lennart Poettering
ac38c4d898 build-sys: add a couple of stub Makefiles 2009-07-23 18:49:28 +02:00
Lennart Poettering
1160cad9c3 alsa: control 'Speaker' element as well 2009-07-23 18:44:26 +02:00
Lennart Poettering
e3b0ce57e0 udev: don't fail if /dev/snd is not available right-away 2009-07-22 22:48:54 +02:00
Lennart Poettering
7e2afffb81 alsa: deal properly with IO functions asking us to write 0 bytes 2009-07-22 22:38:38 +02:00
Lennart Poettering
6fdd5846b2 stream-restore: mark volume changes from instant apply as saved ones 2009-07-01 21:11:19 +02:00
Marc-André Lureau
95d3faaac8 bluetooth: don't connect on unconnected profile 2009-07-01 21:00:42 +02:00
Marc-André Lureau
e93c6c36fe bluetooth: warn on EAGAIN after POLLOUT 2009-07-01 21:00:33 +02:00
Lennart Poettering
efdd3d054b reserve: update from upstream git repo 2009-07-01 20:20:36 +02:00
Lennart Poettering
5d4769b7dd alsa: fix a few comments 2009-07-01 20:20:06 +02:00
Lennart Poettering
cd70d7f5b0 bluetooth: don't busy loop when device is not writable but we want to write 2009-07-01 02:21:17 +02:00
Lennart Poettering
c3958aaa07 bluetooth: handle absence of bluez D-Bus service properly 2009-07-01 02:20:23 +02:00
Lennart Poettering
1104141d78 reserve: fix build without D-Bus 2009-06-30 21:13:09 +02:00
Colin Guthrie
a007d4740f combine: Do not set (and update) description if the user passed one in during load.
Note that this will not turn off auto-description setting if the user were to
update the proplist later, so such a change could be short lived.
2009-06-29 22:52:31 +01:00
Diego Elio 'Flameeyes' Pettenò
2266a39bd3 Remove the call for pa_rtpoll_install() in the Solaris module.
I hope this is enough, since the removal of the other pa_rtpoll_install()
calls deemed Linux good enough, but said nothing about Solaris, but since
the function is gone there is little more to do.
2009-06-29 17:41:27 +02:00
Diego Elio 'Flameeyes' Pettenò
24564afc43 Fix the moved rtclock.h header in the Solaris module. 2009-06-29 17:41:18 +02:00
Lennart Poettering
5b78752a04 intended-roles: drop quite a few unnecessary includes 2009-06-23 16:09:32 +02:00
Lennart Poettering
ef85558abd modules: pass properly initialized userdata pointers to various hooks 2009-06-23 04:25:45 +02:00
Lennart Poettering
b6d0b0e808 intended-roles: properly initialize split state 2009-06-23 04:23:26 +02:00
Lennart Poettering
b627d68721 intended-roles: fix symdef header inclusion 2009-06-23 03:35:34 +02:00
Lennart Poettering
fc33f7ee97 Merge most of elmarco/rtclock2
Merge commit 'e4d914c945'
2009-06-22 23:09:46 +02:00
Lennart Poettering
374efbded4 Merge branch 'master' of ssh://rootserver/home/lennart/git/public/pulseaudio 2009-06-22 22:36:31 +02:00
Lennart Poettering
aa2570c2ba rescue: make sure module-rescue-streams is used only as last fallback 2009-06-22 22:36:23 +02:00
Lennart Poettering
60d36c7e74 module-stream-restore: recheck stream database on hotplug/unplug and potentially move streams 2009-06-22 22:35:55 +02:00
Lennart Poettering
27af46045b modules: add module-intended-roles that automatically puts streams marked with a role on devices that are intended for that role 2009-06-22 22:34:57 +02:00
Lennart Poettering
c4d90ea986 restore: change 'save' flag behaviour to reflect whether an entry shall and/or is in the on-disk databases 2009-06-22 22:33:09 +02:00
Marc-André Lureau
0955e3d45b Base mainloop on pa_rtclock_now()
Move the mainloop to monotonic based time events.

Introduces 4 helper functions:
pa_{context,core}_rttime_{new,restart}(), that fill correctly a
timeval with the rtclock flag set if the mainloop supports it.

Both mainloop-test and mainloop-test-glib works with rt and timeval
based time events. PulseAudio and clients should be fully functional.

This patch has received several iterations, and this one as been
largely untested.

Signed-off-by: Marc-André Lureau <marca-andre.lureau@nokia.com>
2009-06-20 17:29:31 +03:00
Marc-André Lureau
125c528896 pulse: move pa_rtclock_now in pulsecommon 2009-06-20 17:29:08 +03:00
Lennart Poettering
32e2cd6d32 core: get rid of rt sig/timer handling since modern Linux' ppooll() is finally fixed for granularity 2009-06-19 21:00:06 +02:00
Marc-André Lureau
5dcdd5e358 perl -p -i -e 's/pa_rtclock_usec/pa_rtclock_now/g' find . -name '*.[ch]' 2009-06-19 19:04:04 +03:00
Lennart Poettering
6ad3855639 alsa: synthesize volume values more sensibly for channels that are not controllable in hw 2009-06-19 02:03:03 +02:00
Lennart Poettering
b1ea7c0d89 alsa: document alsa mixer path/profile sets a bit more 2009-06-19 01:55:59 +02:00
Lennart Poettering
b70b5edcfc alsa: add copyright blobs and comments to all mixer paths/profile sets 2009-06-19 01:30:24 +02:00
Lennart Poettering
11d2a7ee21 alsa: move udev rules file behind the other sound related rules 2009-06-18 23:03:28 +02:00
Lennart Poettering
0fd17c6cb9 alsa: document default profile set a bit better 2009-06-18 23:00:53 +02:00
Lennart Poettering
8a5f8f41f6 alsa: add profile set for Native Instruments 4 DJ 2009-06-18 22:58:58 +02:00
Lennart Poettering
348dcd6a31 alsa: unify alsa log handling and snd_config_update_free_global() handling in one place 2009-06-18 21:27:02 +02:00
Lennart Poettering
25e5197f6a alsa: merge mic boost into volume slider 2009-06-18 15:50:41 +02:00
Lennart Poettering
8fe50b0d7c alsa,core: include mapping name in description strings 2009-06-18 04:38:59 +02:00
Lennart Poettering
ca560ccc4a alsa: add profile set for Native Instruments Audio 8 DJ sound card 2009-06-18 03:58:05 +02:00
Lennart Poettering
60df970bd9 alsa: properly count mappings of manually defined profiles 2009-06-18 03:43:51 +02:00
Lennart Poettering
b5cea8d590 alsa: fix duplicate mapping detection 2009-06-18 03:43:22 +02:00