Commit graph

1038 commits

Author SHA1 Message Date
Lennart Poettering
22c3373713 If we cannot open an ALSA device with SND_PCM_NO_AUTO_FORMAT retry without
This should fix compatibility with some sound cards which only support
24 bit packed samples.
2008-12-23 15:14:28 +01:00
Luiz Augusto von Dentz
7323e1a0a8 Update module-bluetooth-device to the new ipc. 2008-12-22 14:24:07 -03:00
Lennart Poettering
606c9caa0b Implement PA_SOURCE_MESSAGE_GET_LATENCY
The pipe source needs to implement PA_SOURCE_MESSAGE_GET_LATENCY since
we'll otherwise hit an assert.

Closes #424.
2008-12-21 13:34:56 +01:00
Lennart Poettering
10cc4ba1ca Use FIONREAD instead of TIOCINQ
On Linux the two ioctls FIONREAD and TIOCINQ share the same number.
However TIOCINQ is used for terminals while FIONREAD is used (among
others) for sockets and pipes. Hence use FIONREAD here since it seems
more appropriate.
2008-12-21 13:33:32 +01:00
Lennart Poettering
d71d79cd45 downgrade a few warnings 2008-12-17 22:58:17 +01:00
Lennart Poettering
906d06bd24 it's better to always use the index of a module instead of the pa_module* 2008-12-17 21:32:40 +01:00
Lennart Poettering
f5d40fa448 unload tunnel modules from a new stack frame 2008-12-17 21:27:07 +01:00
Lennart Poettering
b95539b18b actually unload the modules from a new stack frame 2008-12-17 21:20:51 +01:00
Lennart Poettering
86c6fd85f1 Don't store pointer to pa_module
pa_module pointers might become invalid at any time, so we use the
stable uin32_t index of the module for identifying or modules instead.
2008-12-17 21:19:53 +01:00
Luiz Augusto von Dentz
dcd498c5ad Fix bug walking on module list. 2008-12-17 21:06:46 +01:00
Lennart Poettering
3f20a152be Pass GDBM_NOLOCK to gdbm
gdbm still uses BSD lockf for locking which is incompatible with NFS.
Since we don't need the locking here since the db files in question
should never be accessed by more than one process since they are
per-home-dir and per-machine we can disable locking without any ill
results.

This should fix rhbz #471279.
2008-12-17 20:22:42 +01:00
Lennart Poettering
adc2973c8d Implement new flags DONT_INHIBIT_AUTO_SUSPEND and START_UNMUTED 2008-10-26 19:32:04 +01:00
Lennart Poettering
3294c89adb warn if ALSA wakes us up and there is actually nothing to do 2008-10-22 23:55:52 +02:00
Lennart Poettering
ef9f3f6ec4 Try to catch certain driver errors
... by verifying return values of snd_pcm_avail_update() and
snd_pcm_begin_mmap() for their sanenness.
2008-10-21 20:00:36 +02:00
Lennart Poettering
c7ed771a98 fix arguments to format string 2008-10-21 18:28:19 +02:00
Lennart Poettering
4ee5e06f38 implement may_move_to for ladspa/remap sinks 2008-10-21 18:25:26 +02:00
Lennart Poettering
60c2a82462 Merge commit 'vudentz/master' 2008-10-13 19:55:11 +02:00
Colin Guthrie
d8465f2c4f Fix two typos that broke tunnels
Signed-off-by: Lennart Poettering <lennart@poettering.net>
2008-10-13 19:53:45 +02:00
Lennart Poettering
5a5d2884e0 properly remove dbus matches an filters when unloading m-b-d 2008-10-13 19:52:02 +02:00
Luiz Augusto von Dentz
931cbd19f2 Fix possible invalid read while attempting to load module-bluetooth-device. 2008-10-09 19:31:43 -03:00
Lennart Poettering
8e3e88df8b Merge commit 'coling/airtunes-0.9.13' 2008-10-08 23:03:16 +02:00
Colin Guthrie
59eb64987f Follow master change r34dd4a and fix shutdown when --disallow-module-loading=1 is passed 2008-10-08 20:37:43 +01:00
Colin Guthrie
8715121755 Modularise the RAOP stuff that requires OpenSSL and make it optional at compile time 2008-10-08 20:37:43 +01:00
Colin Guthrie
c3d8bb5b34 Remove $Id$ lines left over from SVN 2008-10-08 20:36:24 +01:00
Colin Guthrie
19d2831973 Make module-raop-sink/discover work with 0.9.11 API 2008-10-08 20:36:24 +01:00
Colin Guthrie
ded09d1f9b Implement hardware volume control.
This allows near instant change of volume when controlling the hardware but the stream volume still suffers from a sizable delay.
2008-10-08 20:36:24 +01:00
Colin Guthrie
e543e04ca7 Implement a set volume function to expose this capability to higher layers 2008-10-08 20:36:24 +01:00
Colin Guthrie
36f2aad5f0 Use the new pa_namereg_make_valid_name() function. 2008-10-08 20:36:24 +01:00
Colin Guthrie
0ff75aea05 Add Lennart back in to Copyright as I copied these files from his originals and was a bit overzealous in changing things ;)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2520 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-10-08 20:35:47 +01:00
Colin Guthrie
729bbaf884 Automatic discovery of airtunes devices via Bonjour/Avahi.
This also does some minor reordering in the Makefile.am
Refs #69

git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2519 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-10-08 20:35:47 +01:00
Colin Guthrie
d997420791 Minor correction of help text
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2518 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-10-08 20:33:48 +01:00
Colin Guthrie
15e8420a25 Still send silence when we are not doing anything else, but also flush the buffers correctly upon recovery from suspension.
Close the RTP socket correctly after passing messages about.
When not sending silence, the RTSP socket will be closed after some period of inactivity. I'm not sure why this is.
Sending silence keeps things working and with the flushes after suspension we now get a better latency. As this relies on the auto-suspend feature, it's not exactly ideal.
Typical latencies are currently about 3s which makes it more or less usuable for listening to music.
If the connection is disconnected, it will reconnect but I've found that the second connection is silent. Hopefully the silence will prevent the first connection dropping.
Refs #69

git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2504 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-10-08 20:32:09 +01:00
Colin Guthrie
c49be7891f Add some new public API functions to connect and flush.
This allows us to reconnect upon disconnection but this has thus far proved unreliable.
We no longer close the socket. We leave this to the module thread to do the closing.
We can also flush the remote buffer now.
Refs #69

git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2503 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-10-08 20:32:09 +01:00
Colin Guthrie
d86fc75e0c Change the API of the RTSP client a bit.
* Store the mainloop, hostname and port internally on construction
* This should allow use to easily reconnect if disconnected although this has thus far proved unreliable.
The changes look like more than they are due to moving a function around.

git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2502 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-10-08 20:32:09 +01:00
Colin Guthrie
19dcb529ad Remove unneeded headers accidentially added in r2500.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2501 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-10-08 20:32:09 +01:00
Colin Guthrie
5f527dc479 Add seq and rtptime params to record/flush with a view to using these for timing and device suspension
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2500 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-10-08 20:32:09 +01:00
Colin Guthrie
651da7d095 Minor update to copywrite (I still plan to replace this completely but in the mean time....)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2499 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-10-08 20:32:09 +01:00
Colin Guthrie
7f0cf0c9ad Fix up a couple of values related to encoding overhead.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2497 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-10-08 20:32:09 +01:00
Colin Guthrie
13bc075875 A few related changes:
* Change the encode_sample routine to simply return normal memchunks allocated from the mempool.
* unref the memchunks returned from encode_sample when we are done with them.
* Create an encoded 'silence' sample and play this at all times to prevent hangup and to 'hog' the airtunes device

This now works and can be used as a regular sink albeit with a constant latency of about 8 seconds :s

git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2485 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-10-08 20:32:09 +01:00
Colin Guthrie
b93e9e80ec Keep track of the memblock pointer internally and do not rely on subsequent calls to pass it back in for unref'ing
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2484 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-10-08 20:32:08 +01:00
Colin Guthrie
8108121fa7 Set forgotten keyword property
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2483 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-10-08 20:32:08 +01:00
Colin Guthrie
6dc5e07977 Set the send buffer size to prevent rendering silence in amongst our good data (this should be more sophisticated but that can wait for a glitch-free port)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2482 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-10-08 20:32:08 +01:00
Colin Guthrie
6c1dd6e54b Move the encoding loop around a bit such that it does not grab the data and keep it for the next loop iteration.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2481 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-10-08 20:32:08 +01:00
Colin Guthrie
3767cdb6d1 Do tidy up on disconnection.
Only clear IO related stuff if this free() was triggered deliberatly (i.e. not by server side disconnect)

git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2411 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-10-08 20:32:08 +01:00
Colin Guthrie
9216684691 Do not prefix internal function rtsp_exec.
Change port to be 16 bits
Do not free stuff on closure as this happens further up the stack.

git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2410 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-10-08 20:32:08 +01:00
Colin Guthrie
eca94fee59 Don't try to free stack variables.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2409 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-10-08 20:32:08 +01:00
Colin Guthrie
be73d378f5 unref the raw data memblock before requesting more data.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2408 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-10-08 20:32:08 +01:00
Colin Guthrie
cb8c5a925f Some misc fixes. consts, base64 optimisation (not that it will be with us long anyway), and c comments
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2407 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-10-08 20:32:08 +01:00
Colin Guthrie
4b7b7b15d7 Fix up IPv6 address format to enclose it in []
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2406 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-10-08 20:32:08 +01:00
Colin Guthrie
d195d06da7 Change suggested by Lennart. Do not return a memchunk, instead pass in the pointer.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2405 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-10-08 20:32:08 +01:00