Lennart Poettering [Tue, 23 Dec 2008 14:15:21 +0000 (15:15 +0100)]
fix a gcc warning
Lennart Poettering [Tue, 23 Dec 2008 14:14:28 +0000 (15:14 +0100)]
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.
Lennart Poettering [Sun, 21 Dec 2008 16:55:29 +0000 (17:55 +0100)]
make sure we don't hit an assert when we issue two rewind requests in a
single iteration
Closes rhbz 472757.
Lennart Poettering [Sun, 21 Dec 2008 12:34:56 +0000 (13:34 +0100)]
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.
Lennart Poettering [Sun, 21 Dec 2008 12:33:32 +0000 (13:33 +0100)]
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.
Lennart Poettering [Thu, 18 Dec 2008 14:24:02 +0000 (15:24 +0100)]
Allow access("/dev/dsp", W_OK) succeed
Some stupid apps (such as X-lite Softphone) check for W_OK on /dev/dsp.
This is of course crazy but easy for us to support.
Closes rhbz #474313
Lennart Poettering [Thu, 18 Dec 2008 00:25:54 +0000 (01:25 +0100)]
Make sure we drop CAP_NICE if RT is not allowed
but make sure we still allow RT if RLIMIT_RTPRIO is properly set when PA
is called.
Lennart Poettering [Wed, 17 Dec 2008 21:58:17 +0000 (22:58 +0100)]
downgrade a few warnings
Lennart Poettering [Wed, 17 Dec 2008 20:32:40 +0000 (21:32 +0100)]
it's better to always use the index of a module instead of the pa_module*
Lennart Poettering [Wed, 17 Dec 2008 20:27:07 +0000 (21:27 +0100)]
unload tunnel modules from a new stack frame
Lennart Poettering [Wed, 17 Dec 2008 20:20:51 +0000 (21:20 +0100)]
actually unload the modules from a new stack frame
Lennart Poettering [Wed, 17 Dec 2008 20:19:53 +0000 (21:19 +0100)]
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.
Lennart Poettering [Wed, 17 Dec 2008 20:19:34 +0000 (21:19 +0100)]
introduce new function pa_module_unload_request_by_index
Luiz Augusto von Dentz [Fri, 5 Dec 2008 18:47:37 +0000 (15:47 -0300)]
Fix bug walking on module list.
Lennart Poettering [Wed, 17 Dec 2008 20:03:17 +0000 (21:03 +0100)]
Don't hit an assert when checking for idleness
Closes #398
Lennart Poettering [Wed, 17 Dec 2008 19:30:01 +0000 (20:30 +0100)]
Load module-volume-restore and module-device-restore before all other modules
Since m-v-r and m-d-r become active in the FIXATE hooks for
stream/device creation we need to make sure the modules are loaded
before the first devices/streams are created.
Lennart Poettering [Wed, 17 Dec 2008 19:22:42 +0000 (20:22 +0100)]
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.
Lennart Poettering [Wed, 17 Dec 2008 18:53:58 +0000 (19:53 +0100)]
Don't mix front-center into rear channels
If there's a center channel on input that is not available on output
make sure we mix front-center only into front-left/right and rear-center
into rear-left/right.
Closes #400
Lennart Poettering [Tue, 16 Dec 2008 18:11:16 +0000 (19:11 +0100)]
fix implementation of bind now ltdl loader for libtool 2.2
Lennart Poettering [Tue, 16 Dec 2008 17:17:21 +0000 (18:17 +0100)]
Fix return value of --dump-resample-methods
We should return 0 when --dump-resample-methods is called.
Problem identified by "hchen59".
Closes bug #407.
Lennart Poettering [Tue, 16 Dec 2008 13:25:31 +0000 (14:25 +0100)]
libtool 2.2 updates
Lennart Poettering [Tue, 16 Dec 2008 13:03:40 +0000 (14:03 +0100)]
Check if environ is actually set before we use it
Some applications seem to set **environ to NULL for various reasons.
Before we iterate through it we thus need to make sure it is actually
set to make sure we don't segfault.
Closes rhbz #473080
Lennart Poettering [Tue, 16 Dec 2008 12:55:06 +0000 (13:55 +0100)]
Merge commit 'flameeyes/libtool-2.2'
Lennart Poettering [Sat, 1 Nov 2008 20:41:07 +0000 (21:41 +0100)]
make shm marker architecture independant, patch from michich, closes #401
Lennart Poettering [Sat, 1 Nov 2008 20:11:48 +0000 (21:11 +0100)]
Make sure libpulse never gets unloaded
When an .so is unloaded during runtime all TLS keys it has registered
need to be freed because the destructor callbacks of the TLS key might
otherwise point to invalid code. Hence it would appear sensible to
destruct the TLS keys from a function marked as __attribute__
((destructor)). However functions marked like that are also called when
an application terminates, on exit(). If a thread continues to run until
the very exit it might still want to access that TLS data. The
destructor functions are called while all other threads are still
running. If __attribute ((destructor)) is used to destruct TLS keys for
such threads this might hence cause a crash when the application shuts
down.
To circumvent this problem we'll now compile libpulse with -z nodelete,
to make it unnecessary to delete the TLS data ever and thus avoiding the
problem. It's suboptimal, but for now I see no better solution.
Lennart Poettering [Sat, 1 Nov 2008 20:10:26 +0000 (21:10 +0100)]
a bit of pa_bool_t'ization
Lennart Poettering [Sun, 26 Oct 2008 18:32:04 +0000 (19:32 +0100)]
Implement new flags DONT_INHIBIT_AUTO_SUSPEND and START_UNMUTED
Lennart Poettering [Sat, 25 Oct 2008 15:45:21 +0000 (17:45 +0200)]
bump micro version
Lennart Poettering [Fri, 24 Oct 2008 23:23:02 +0000 (01:23 +0200)]
Merge branch 'new-world-order'
Conflicts:
src/Makefile.am
Lennart Poettering [Fri, 24 Oct 2008 02:34:10 +0000 (04:34 +0200)]
make sure to use 64bit rounding even on 32bit machines when converting to pa_usec_t
Lennart Poettering [Wed, 22 Oct 2008 21:55:52 +0000 (23:55 +0200)]
warn if ALSA wakes us up and there is actually nothing to do
Lennart Poettering [Wed, 22 Oct 2008 20:48:53 +0000 (22:48 +0200)]
don't set the volume of pacat unless it is explicitly set
Lennart Poettering [Wed, 22 Oct 2008 00:22:19 +0000 (02:22 +0200)]
update map file
Lennart Poettering [Tue, 21 Oct 2008 20:05:13 +0000 (22:05 +0200)]
reorder setting of AM_CFLAGS a bit
Lennart Poettering [Wed, 22 Oct 2008 18:36:21 +0000 (20:36 +0200)]
a lot more build system updates
Lennart Poettering [Wed, 22 Oct 2008 00:22:40 +0000 (02:22 +0200)]
make new build logic actually work
Lennart Poettering [Wed, 22 Oct 2008 00:22:19 +0000 (02:22 +0200)]
update map file
Lennart Poettering [Tue, 21 Oct 2008 21:55:33 +0000 (23:55 +0200)]
temporary commit to allow flameeyes a look
Lennart Poettering [Tue, 21 Oct 2008 20:05:13 +0000 (22:05 +0200)]
reorder setting of AM_CFLAGS a bit
Lennart Poettering [Tue, 21 Oct 2008 20:04:22 +0000 (22:04 +0200)]
make the debug trap macro a proper macro in macro.h
Lennart Poettering [Tue, 21 Oct 2008 18:00:36 +0000 (20:00 +0200)]
Try to catch certain driver errors
... by verifying return values of snd_pcm_avail_update() and
snd_pcm_begin_mmap() for their sanenness.
Lennart Poettering [Tue, 21 Oct 2008 17:16:49 +0000 (19:16 +0200)]
make log meta, time, backtrace configurable using command line
Lennart Poettering [Tue, 21 Oct 2008 17:15:41 +0000 (19:15 +0200)]
Make log meta, time, backtrace configurable using config file
Lennart Poettering [Tue, 21 Oct 2008 17:14:07 +0000 (19:14 +0200)]
support changing logging parameters during runtime using the CLI
Lennart Poettering [Tue, 21 Oct 2008 17:13:15 +0000 (19:13 +0200)]
Support showing a backtrace on log messages
Lennart Poettering [Tue, 21 Oct 2008 16:40:01 +0000 (18:40 +0200)]
include log.h near the end so that macro.h can be included in log.h and defines pa_bool_t properly
Lennart Poettering [Tue, 21 Oct 2008 16:38:55 +0000 (18:38 +0200)]
add pa_config_parse_unsigned()
Lennart Poettering [Tue, 21 Oct 2008 16:28:19 +0000 (18:28 +0200)]
fix arguments to format string
Lennart Poettering [Tue, 21 Oct 2008 16:27:25 +0000 (18:27 +0200)]
convert argument to boolean int in PA_UNLIKELY, too
Lennart Poettering [Tue, 21 Oct 2008 16:26:24 +0000 (18:26 +0200)]
fix return value of pa_frame_aligned()
Lennart Poettering [Tue, 21 Oct 2008 16:25:26 +0000 (18:25 +0200)]
implement may_move_to for ladspa/remap sinks
Lennart Poettering [Tue, 21 Oct 2008 16:24:45 +0000 (18:24 +0200)]
add new virtual function may_move_to to sink inputs/source outputs to allow modules to forbid certain connections
Lennart Poettering [Tue, 21 Oct 2008 16:22:28 +0000 (18:22 +0200)]
fix invalid validity check
Lennart Poettering [Mon, 20 Oct 2008 18:33:28 +0000 (20:33 +0200)]
Make missing git-changelog.perl non-fatal
Lennart Poettering [Sun, 19 Oct 2008 20:25:58 +0000 (22:25 +0200)]
Fix spelling of privilige
Lennart Poettering [Sun, 19 Oct 2008 20:24:18 +0000 (22:24 +0200)]
always check for libtool prefix binary name to avoid confusion when using both installed and run-from-build-tree versions of PA in parallel
Lennart Poettering [Mon, 13 Oct 2008 17:55:11 +0000 (19:55 +0200)]
Merge commit 'vudentz/master'
Colin Guthrie [Sat, 11 Oct 2008 17:20:06 +0000 (18:20 +0100)]
Fix two typos that broke tunnels
Signed-off-by: Lennart Poettering <lennart@poettering.net>
Lennart Poettering [Mon, 13 Oct 2008 17:52:02 +0000 (19:52 +0200)]
properly remove dbus matches an filters when unloading m-b-d
Lennart Poettering [Mon, 13 Oct 2008 17:28:14 +0000 (19:28 +0200)]
correctly load module-flat-volume instead of module-flat-volumes
Luiz Augusto von Dentz [Thu, 9 Oct 2008 22:31:43 +0000 (19:31 -0300)]
Fix possible invalid read while attempting to load module-bluetooth-device.
Lennart Poettering [Wed, 8 Oct 2008 21:03:16 +0000 (23:03 +0200)]
Merge commit 'coling/airtunes-0.9.13'
Colin Guthrie [Wed, 8 Oct 2008 20:56:12 +0000 (22:56 +0200)]
Fix a potential C++/C99 ism, add a log message on error condition
Signed-off-by: Lennart Poettering <lennart@poettering.net>
Colin Guthrie [Fri, 22 Aug 2008 08:51:41 +0000 (09:51 +0100)]
Follow master change r34dd4a and fix shutdown when --disallow-module-loading=1 is passed
Colin Guthrie [Sun, 3 Aug 2008 21:46:21 +0000 (22:46 +0100)]
Modularise the RAOP stuff that requires OpenSSL and make it optional at compile time
Colin Guthrie [Sun, 3 Aug 2008 19:56:21 +0000 (20:56 +0100)]
Remove $Id$ lines left over from SVN
Colin Guthrie [Sun, 3 Aug 2008 19:52:35 +0000 (20:52 +0100)]
Make module-raop-sink/discover work with 0.9.11 API
Colin Guthrie [Thu, 3 Jul 2008 22:49:01 +0000 (23:49 +0100)]
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.
Colin Guthrie [Thu, 3 Jul 2008 22:47:34 +0000 (23:47 +0100)]
Implement a set volume function to expose this capability to higher layers
Colin Guthrie [Tue, 24 Jun 2008 22:57:37 +0000 (23:57 +0100)]
Use the new pa_namereg_make_valid_name() function.
Colin Guthrie [Wed, 11 Jun 2008 23:01:07 +0000 (23:01 +0000)]
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
Colin Guthrie [Wed, 11 Jun 2008 22:44:09 +0000 (22:44 +0000)]
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
Colin Guthrie [Wed, 11 Jun 2008 22:43:27 +0000 (22:43 +0000)]
Minor correction of help text
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2518
fefdeb5f-60dc-0310-8127-
8f9354f1896f
Colin Guthrie [Wed, 11 Jun 2008 00:02:10 +0000 (00:02 +0000)]
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
Colin Guthrie [Tue, 10 Jun 2008 23:55:58 +0000 (23:55 +0000)]
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
Colin Guthrie [Tue, 10 Jun 2008 23:49:35 +0000 (23:49 +0000)]
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
Colin Guthrie [Mon, 9 Jun 2008 22:01:23 +0000 (22:01 +0000)]
Remove unneeded headers accidentially added in r2500.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2501
fefdeb5f-60dc-0310-8127-
8f9354f1896f
Colin Guthrie [Mon, 9 Jun 2008 21:59:41 +0000 (21:59 +0000)]
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
Colin Guthrie [Mon, 9 Jun 2008 21:59:00 +0000 (21:59 +0000)]
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
Colin Guthrie [Tue, 3 Jun 2008 23:07:48 +0000 (23:07 +0000)]
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
Colin Guthrie [Mon, 26 May 2008 23:43:51 +0000 (23:43 +0000)]
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
Colin Guthrie [Mon, 26 May 2008 23:02:30 +0000 (23:02 +0000)]
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
Colin Guthrie [Mon, 26 May 2008 21:10:08 +0000 (21:10 +0000)]
Set forgotten keyword property
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2483
fefdeb5f-60dc-0310-8127-
8f9354f1896f
Colin Guthrie [Mon, 26 May 2008 21:05:53 +0000 (21:05 +0000)]
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
Colin Guthrie [Mon, 26 May 2008 21:04:45 +0000 (21:04 +0000)]
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
Colin Guthrie [Sun, 11 May 2008 17:02:19 +0000 (17:02 +0000)]
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
Colin Guthrie [Sun, 11 May 2008 16:40:26 +0000 (16:40 +0000)]
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
Colin Guthrie [Sun, 11 May 2008 16:38:33 +0000 (16:38 +0000)]
Don't try to free stack variables.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2409
fefdeb5f-60dc-0310-8127-
8f9354f1896f
Colin Guthrie [Sun, 11 May 2008 15:43:56 +0000 (15:43 +0000)]
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
Colin Guthrie [Sun, 11 May 2008 15:34:37 +0000 (15:34 +0000)]
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
Colin Guthrie [Sun, 11 May 2008 15:12:20 +0000 (15:12 +0000)]
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
Colin Guthrie [Sun, 11 May 2008 15:06:14 +0000 (15:06 +0000)]
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
Colin Guthrie [Sun, 11 May 2008 14:57:30 +0000 (14:57 +0000)]
Various changes suggested by Lennart.
Store the core* rather than just the mainloop as we can reuse the mempool without passing it in as an argument.
const'ify and deconst'ify some vars
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2404
fefdeb5f-60dc-0310-8127-
8f9354f1896f
Colin Guthrie [Sun, 11 May 2008 14:19:41 +0000 (14:19 +0000)]
Listen to the on_close callback. This still causes asserts in the mainloop, so this is not a complete solution
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2403
fefdeb5f-60dc-0310-8127-
8f9354f1896f
Colin Guthrie [Sun, 11 May 2008 14:18:48 +0000 (14:18 +0000)]
Add a new callback structure to propigate when the RTSP connection dies
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2402
fefdeb5f-60dc-0310-8127-
8f9354f1896f
Colin Guthrie [Sun, 11 May 2008 13:35:01 +0000 (13:35 +0000)]
Move the ownership of the encoded data memchunk into the raop_client.
This does not seem to fix the pool full messages so I'll have to try and suss that out.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2400
fefdeb5f-60dc-0310-8127-
8f9354f1896f
Colin Guthrie [Sun, 11 May 2008 13:32:09 +0000 (13:32 +0000)]
Do not assert on NULL values of s. This means the connection was closed. This change somehow kills the mainloop with an assert, so I need to sort that out.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2399
fefdeb5f-60dc-0310-8127-
8f9354f1896f
Colin Guthrie [Sun, 11 May 2008 12:21:32 +0000 (12:21 +0000)]
A very rough first version of the sink.
I can actually play music to my airport now (woot).
Still very rough round the edges and I need to handle disconnects etc. but it's all good progress :)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2398
fefdeb5f-60dc-0310-8127-
8f9354f1896f
Colin Guthrie [Sun, 11 May 2008 12:20:14 +0000 (12:20 +0000)]
Add more libraries to librtp now that it's doing a lot more.
This currently hacks in -lssl rather than writing a configure hook to detect it as I want to replace this with nss before official release.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2397
fefdeb5f-60dc-0310-8127-
8f9354f1896f
Colin Guthrie [Sun, 11 May 2008 12:18:36 +0000 (12:18 +0000)]
Properly duplicate the hostname passed in on connect.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/coling@2396
fefdeb5f-60dc-0310-8127-
8f9354f1896f