Commit graph

1474 commits

Author SHA1 Message Date
Colin Guthrie
06875b67e6 Revert "core: make use of dbus_message_iter_append_fixed_array"
This causes problems as outlined in ticket #887.
This reverts commit f564c7d763.
2011-01-03 09:22:33 +00:00
Zhang Wanming
0c0c285e79 Fix typos 2010-12-20 11:07:30 +00:00
Vincent Becker
12c3e97bb4 Fix return value of pa_sndfile_format_from_string
This prevented to use pacat --file-format option correctly
2010-12-18 11:52:24 +00:00
Yang Xichuan
ecd46c05d3 core: Fix variable "has_whined" value bug
In the file src/pulsecore/random.c

I found that the log information "Failed to get proper entropy. Falling
back to seeding with current time." would never be printed.

This change corrects the issue.
2010-12-18 11:20:46 +00:00
Colin Guthrie
3e28f60592 build-sys: Replace dummy Makefiles with proper Makefile.am's
This is needed to better support out of tree builds (including
distcheck) and to ensure the necessary folders are created in the
build tree on configure and also works around an intl-tools bug
(https://bugs.launchpad.net/intltool/+bug/605826)

The Makefile.am's used are minimal (and in some cases completely
blank). At present they do not include anything interesting
with the majority of the real work still done by the monolitic
src/Makefile.am

It may make sense to start splitting out src/Makefile.am into
smaller chunks but this commit makes the minimum changes to address
the issues that result from using make distcheck and other out of
tree builds.

Note: This 'breaks' the ability to type make in e.g. the src/modules
folder and have all of PA rebuilt accordingly (this is because the
static Makefiles previously present just did a "make -C ..") which
was purportedly for use in emacs. But I'm sure there will be a better
and more robust way to configure emacs to do your builds properly if
this behaviour is still desirable.
2010-12-05 15:58:59 +00:00
Jyri Sarha
427758aa4c core: Add name to flist struct for more informative log messages
PA_STATIC_FLIST_DECLARE macro sets the flist name automatically.
2010-11-28 16:37:56 +00:00
Jyri Sarha
851a188cf6 core: Lower "flist is full" log message level to debug and ratelimit it 2010-11-28 16:27:05 +00:00
Arun Raghavan
12b900858a volume: Add explicit checks for ARMv6 instructions
This ensures that the build does not fail if the ssat and pkhbt
instructions are not available (armv5te and below).

Fixes: http://www.pulseaudio.org/ticket/790
2010-11-28 16:23:18 +00:00
Jyri Sarha
914876b40a core: New LIFO style flist implementation v2.2
The old free list implementation used objects in FIFO style. This is
bad because it tries keep all the objects ever used alive and in
memory. This minimizes the changes that an allocated object is already
in cache. When there is shortage of physical memory this may also
increase change that newly allocated object is swapped out. LIFO
(e.g. stack) style free list should help these issues. Like the old
one the new implementation is also lock free. This version (v2.1) of
the patch has a potential weakness fixed. The previous version (2.0)
did segfault when popping from empty flist, this does not.
2010-11-16 21:29:58 +00:00
Luiz Augusto von Dentz
f564c7d763 core: make use of dbus_message_iter_append_fixed_array
dbus_message_iter_append_fixed_array does appends a block of fixed-length
values to an array.
2010-10-20 14:30:05 +03:00
Arun Raghavan
9b8f20f617 volume: Fix incorrect usage of PA_VOLUME_IS_VALID
The commit that introduced this macro was incorrect in some places. This
patch fixes these. Thanks to Pierre-Louis Bossart for pointing this out.
2010-10-19 09:52:19 +01:00
Colin Guthrie
340729d66f log: Totally trivial spelling 'correction' (for en-US) 2010-10-17 21:05:39 +01:00
Colin Guthrie
13278bf234 intended-roles: Mark devices with a form factor of 'headset' as being appropriate for 'phone' streams
This was a result a report by Patrick Ben Koetter relating to his
Logitech Wireless Headset.
2010-10-16 12:26:47 +01:00
Jyri Sarha
3e53e3bba3 daemon-conf: Add sync volume parameters to daemon-conf
Signed-off-by: Jyri Sarha <jyri.sarha@nokia.com>
Reviewed-by: Tanu Kaskinen <tanu.kaskinen@digia.com>
Reviewd-by: Colin Guthrie <cguthrie@mandriva.org>
2010-10-16 11:53:39 +01:00
Jyri Sarha
5391daf8df core: Add infrastructure for synchronizing HW and SW volume changes
To make concurrent use of SW and HW volume glitchles their application
needs to be synchronized. For accurate synchronization the HW volume
needs to be applied in IO thread. This patch adds infrastructure to
delay the applying of HW volume to match with SW volume timing. To
avoid synchronization problems this patch moves many of the volume and
mute related functions from main thread to IO thread. All these
changes become active only if the sync volume flag for a sink has been
set. So, for this patch to have any effect it needs to be taken into
use by sink implementor.

Signed-off-by: Jyri Sarha <jyri.sarha@nokia.com>
Reviewed-by: Tanu Kaskinen <tanu.kaskinen@digia.com>
Reviewd-by: Colin Guthrie <cguthrie@mandriva.org>
2010-10-16 11:53:38 +01:00
Arun Raghavan
0edbb2c6aa cli: Validate volume before setting
This causes an error to be generated if an invalid volume is provided to
commands that set sink/sink-input/source volume.
2010-10-15 01:10:00 +05:30
Arun Raghavan
1d2ef7923d volume: Use a macro to check if a volume is valid
This adds a PA_VOLUME_IS_VALID() macro for checking if a given
pa_volume_t is valid. This makes changes to the volume ranges simpler
(just change PA_VOLUME_MAX, for example, without needing to modify any
other code).
2010-10-15 01:10:00 +05:30
David Henningsson
4d84a00b49 SSE/MMX/ARM: Fix high frequency noise with unusual number of channels
In the assembly optimized versions of SSE, a noise could occur when the
number of channels were 3,5,6 or 7. For MMX and ARM, this could occur
when the number of channels were 3.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2010-10-13 14:52:03 +01:00
Colin Guthrie
3de129f3ac introspect: Include whether a stream is corked in the info callback. 2010-10-06 09:17:01 +01:00
Colin Guthrie
b6be95ef53 sink-input: Fix comment 2010-10-01 01:39:35 +01:00
Colin Guthrie
d195a54979 suspend: Do not assert when checking for device suspended status and a stream is not linked.
When looping through the streams on a given device checking to see if the
stream is 'active' there should be no assert if the stream is not linked, it
should simply be ignored.

This assert can be hit if a sink and a sink input are both created and setup
but the final put calls are left to the end as is done in module-ladspa-sink.

While the order of the calls in module-ladspa-sink could be altered, we should
deal gracefully with the way it is now and not complain about ending up
in this state.

A trigger case was trivial:
 1. Load a ladspa-sink.
 2. Play a stream and move it to it.
 3. Unload the module, then reload it.
 4. Due to module-stream-restore and module-suspend-on-idle, the hook callbacks
    will ultimately hit this assert.

Thanks to Kim Therkelsen for highlighting this issue.
2010-10-01 01:39:35 +01:00
Arun Raghavan
ab4223e9cf cpu: Add CPU information to pa_core
This retains CPU information (processor type and supported features) in
pa_core, so that this information can be used by modules at init time to
figure out what optimisations may be used.
2010-09-23 17:17:03 +05:30
Colin Guthrie
f73e9c19f7 x11: Use the default screen for X11 properties.
This commit restores the functionality originally included in 65e807
by Leszek Koltunski.
2010-09-18 12:05:38 +01:00
Colin Guthrie
c0e045d003 xcb: xcb_get_setup() can return 0, so make sure we check it before using 2010-09-18 12:05:26 +01:00
Colin Guthrie
38778117f8 x11: Partially convert to XCB.
This commit mostly converts the X11 handling to XCB. There are still
some uses of XLib to deal with the X11 session handling modules, however all
client-side code should now be free of XLib and thus this should fix Bug #799

Note that this removes the screen-based changes by Leszek Koltunski
in 65e80, however this will be restored in due course.
2010-09-18 12:04:09 +01:00
Wim Taymans
2ee7cd15b3 smoother: avoid losing precision
Avoid losing precision by subtracting uint64 values before converting them to
doubles.
2010-09-07 12:07:24 +02:00
Colin Guthrie
d0f91b1cf7 cli: Allow .include on directories as well as files.
When .including a directory, all files with the extension '.pa'
in that folder will be parsed in alphabetical order.
2010-09-04 17:07:23 +01:00
Tanu Kaskinen
7ba22276d2 core: New function: pa_module_update_proplist(). 2010-08-19 12:10:01 +03:00
Pierre-Louis Bossart
9b6c84ad6e AC3 passthrough support
Second version after Tanu's feedback

TODO:
    - notify client that volume control is disabled
    - change sink rate in passthrough mode if needed
    - automatic detection of passthrough mode instead of hard
    coded profile names

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@intel.com>
2010-08-12 18:20:27 +01:00
Tanu Kaskinen
5012dc8450 dbus: Fix slightly messed up assertions. 2010-05-10 14:33:16 +03:00
Tanu Kaskinen
63c24fa49a dbus: Use a struct as the hashmap items for listening_signals.
Previously we used libdbus's memory as keys in listening_signals, which caused
that the memory of the hashmap keys got overwritten, which led to that signals
weren't sent properly.
2010-05-10 14:29:30 +03:00
Tanu Kaskinen
acaeb71cf8 dbus: Fix segfault when receiving a property access call that isn't permitted. 2010-05-10 14:10:09 +03:00
Tanu Kaskinen
2dcf378741 cli: Increase the command maximum length from 1024 to 2048. 2010-05-10 14:08:04 +03:00
Jez Austin
74591da68b socket-client: properly handle asyncns failures
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
2010-05-08 14:21:01 +01:00
Kees Cook
87fdbb544b core-util: ensure that we chmod only the dir we ourselves created 2010-05-08 14:19:08 +01:00
Lennart Poettering
cdc2769162 thread: name all threads so that the names appear in /proc/$PID/task/$TID/comm 2010-05-07 23:58:59 +02:00
Lennart Poettering
87cc741d0e memblockq: implement new call pa_memblockq_peek_fixed_size() 2010-02-25 02:10:45 +01:00
Lennart Poettering
616a8997b3 core: rework how stream volumes affect sink volumes 2010-02-23 18:41:18 +01:00
Lennart Poettering
c970131094 esd,simple: use pa_memblockq_pop_missing()
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
2010-02-23 01:24:01 +01:00
Lennart Poettering
dbdc666fb6 various modernizations 2010-02-23 01:23:41 +01:00
Lennart Poettering
028aa734f8 iochannel: remove fd from poll() when we don't care from events
This should make it unlikely that we loop on SIGHUP indefinitely.

Also, this makes it possible for callbacks not to process all events and
still not busy loop.
2010-02-23 01:20:25 +01:00
Lennart Poettering
b5e30764c4 native: improve logging for buffer_attrs 2010-02-22 04:57:21 +01:00
Lennart Poettering
0c7c9653b1 conf-parser: make use of pa_strip() wherever applicable 2010-02-21 22:00:16 +01:00
Lennart Poettering
f1af7a02d1 core-util: introduce generic function pa_strip() 2010-02-21 21:59:53 +01:00
Matthijs Kooijman
f8aceafb13 http: support HTTP HEAD
http://pulseaudio.org/ticket/781
2010-02-21 21:46:06 +01:00
Lennart Poettering
ea29b11097 scache: when playing a sample from the cache make sure not queue them up 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.
2010-02-21 17:48:55 +01:00
Lennart Poettering
3f1c90b9d7 sample-cache: use the sample name as unmodified fallback in the properties when playing a sample from the cache 2010-02-21 17:48:50 +01:00
Lennart Poettering
c2079d792c shm: don't complain about missing SHM segments
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.
2010-02-21 17:48:17 +01:00
Lennart Poettering
b9bcc7c733 fdsem: be more verbose when reading from eventfd fails.
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
2010-02-21 17:47:40 +01:00
Lennart Poettering
ac76dbde63 dbus: first restart timer, then dispatch it
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
2010-02-21 17:47:36 +01:00