Commit graph

4822 commits

Author SHA1 Message Date
Lennart Poettering
19eb7ebd4d once.c is no longer POSIX specific. Since it is now considerably more advanced than it used to be, use it on windows, too
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1841 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-17 13:50:13 +00:00
Lennart Poettering
7f9fea74ef on Linu disable lazy binding altogether
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1840 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-17 13:32:46 +00:00
Lennart Poettering
a1526f105d add missing initialization
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1839 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-17 13:01:04 +00:00
Lennart Poettering
061e8068aa Add a special ltdl .so loader that avoids lazy frelocations during runtime
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1838 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-17 12:31:06 +00:00
Lennart Poettering
2741685d3a use priority inheritance on mutexes where applicable
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1837 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-17 00:32:51 +00:00
Lennart Poettering
61b90a0951 add proper boolean type pa_bool_t
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1836 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-16 23:28:56 +00:00
Lennart Poettering
116ddaaae9 use gcc const and pure function attributes wherever applicable
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1835 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-16 22:42:03 +00:00
Lennart Poettering
35483eeab7 add a new module module-remap-sink which can be used to remap the channel maps of an already existant sink. one use case is to create a virtual sink that redirects stereo data to the rear speakers of a surround card.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1834 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-16 22:03:19 +00:00
Lennart Poettering
1d1eda6059 add a "length" argument to the seek functions, as an optimization to request a certain block size if any data needs to be generated. this is merely a hint.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1833 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-16 22:00:38 +00:00
Lennart Poettering
5df7a85473 split memblocks into multiples of the mempool tile size
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1832 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-16 21:58:04 +00:00
Lennart Poettering
ac1ee4e675 add new API pa_mempool_block_size_max() to query the maximum tile size
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1831 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-16 21:57:15 +00:00
Lennart Poettering
fce8507179 * add a new resampler "copy" which is does not change sample rates but copies data unmodified from input to output.
* add a new API pa_resampler_max_block_size() which can be used to determine the maximum input buffer size for the resampler so that the bounce buffers don't grow larger then the mempool tile size


git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1830 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-16 21:56:38 +00:00
Lennart Poettering
d079b4863b properly define MAX/MIN macros
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1829 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-16 21:54:12 +00:00
Lennart Poettering
87795b0973 add missing header file changes for frame alignment apis
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1828 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-16 15:10:16 +00:00
Lennart Poettering
e17fbf0606 be a little bit more elaborate on the reason why we drop to software volume control if hw is not featureful enough for us
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1827 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-16 15:09:45 +00:00
Lennart Poettering
0469c84366 add frame alignment APIs; don't require memory to be writable when silencing it (required of the mmap modes drivers where the hw data needs to be silenced, although it is not writable to others)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1826 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-16 15:05:26 +00:00
Lennart Poettering
298d2392f9 trivial typo
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1825 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-15 14:57:18 +00:00
Lennart Poettering
8389264d65 count corked streams per sink/source and make pa_sink_used_by() return only the number of streams that are not corked. Introduce pa_sink_linked_by() returning the number of streams connected at all. This will allow suspending of sinks/sources when all streams connected to a sink are corked.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1824 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-15 14:21:05 +00:00
Lennart Poettering
5ae4eed52e Move attaching/detaching from a pa_rtpoll into pa_sink proper, remove it from module-combine
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1823 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-14 23:26:17 +00:00
Lennart Poettering
3396b65f15 simplify rt loops a bit by moving more code into pa_rtpoll. It is now possible to attach "work" functions to a pa_rtpoll_item, which will be called in each loop iteration. This allows us to hide the message processing in the RT loops and to drop the seperate sink_input->process hooks. Basically, only the driver-specific code remains in the RT loops.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1822 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-14 21:51:05 +00:00
Lennart Poettering
f0b9dce32e explicitly destory TLS data before destroying TLS
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1821 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-14 21:05:47 +00:00
Lennart Poettering
bf274cb617 add two new macros PA_ONCE_BEGIN and PA_ONCE_END which allow usage of pa_once without declaring a function to be called
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1820 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-14 21:04:08 +00:00
Lennart Poettering
04ed0f9536 call dbus_shutdown() before exiting, to make valgrind output more useful
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1819 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-14 21:02:18 +00:00
Lennart Poettering
8775309234 fix two typos in reference count handling
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1818 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-14 21:01:00 +00:00
Lennart Poettering
9be0d70ea7 make newer gcc shut up
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1817 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-14 17:12:25 +00:00
Lennart Poettering
ef83a19525 extend rtpoll API to allow registration of arbitray functions to be executed in the event loop. Add priority system for specifying the order of these functions.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1816 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-12 22:57:29 +00:00
Lennart Poettering
cf3e9da9dd add missing config.h inclusion
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1815 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-12 22:54:22 +00:00
Lennart Poettering
03f311a464 reindent, and s/assert/pa_assert/g
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1814 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-12 22:50:44 +00:00
Lennart Poettering
4137865815 change pa_modargs_get_channel_map() to take an extra argument for specifying the name of the modargs attribute to parse
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1813 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-12 20:12:13 +00:00
Lennart Poettering
d9c4c9509d add new pa_pipe_close() API to close two fds at the same time
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1812 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-12 00:17:51 +00:00
Lennart Poettering
7f92542420 consolidate close() calls to pa_close(), and make sure on every occasion that we handle failures of close() sensibly
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1811 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-12 00:04:21 +00:00
Lennart Poettering
54506ab44a on systems where we know that POSIX shm is mapped to /dev/shm, add the ability to cleanup stale SHM segments. (Right now only Linux)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1810 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-11 23:12:24 +00:00
Lennart Poettering
d5bedbcd98 remaining s/assert/pa_assert/ and refcnt.h modernizations
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1809 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-11 20:48:33 +00:00
Lennart Poettering
2988c3d9fb Rework core-error.c on top of PA_STATIC_TLS_DECLARE, the windows specific parts need to be moved to thread-win32.c
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1808 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-11 15:27:32 +00:00
Lennart Poettering
abb18d9c4c explcitly initialize tls memory to NULL
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1807 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-11 15:14:46 +00:00
Lennart Poettering
9c523e0607 more modernizations, s/assert/pa_assert/g
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1806 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-11 14:58:25 +00:00
Lennart Poettering
27f13b3853 finish modernizations in pulse/, s/assert/pa_assert/g
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1805 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-11 14:23:38 +00:00
Lennart Poettering
038e560152 More s/assert/pa_assert/ modernizations
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1804 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-11 14:04:38 +00:00
Lennart Poettering
391d09cd6e add 'wait' parameter to pa_rtpoll_run(), if zero pa_rtpoll_runn will only update the struct pollfd but not wait for an event
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1803 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-11 13:15:39 +00:00
Lennart Poettering
597a1c4e82 port client libs to refcnt.h
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1802 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-11 12:42:17 +00:00
Lennart Poettering
55d9fcb126 add globally defined PA_PATH_SEP macro, replacing private per-file macros
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1801 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-11 01:00:33 +00:00
Lennart Poettering
6ac66e453f add missing config.h includes
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1800 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-11 00:56:21 +00:00
Lennart Poettering
e2e2ce79e2 Instead of including config.h from header files, check whether PACKAGE is defined and if not, fail (thus using PACKAGE as a check for inclusion of config.h)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1799 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-11 00:30:53 +00:00
Lennart Poettering
848a4d7487 more s/assert/pa_assert/ modernizations
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1798 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-11 00:24:10 +00:00
Lennart Poettering
9b0ab39b1c unify static TLS support, make use of gcc __thread attribute if available
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1797 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-10 23:57:10 +00:00
Lennart Poettering
3d122d0fee s/assert/pa_assert/ modernizations
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1796 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-10 22:17:30 +00:00
Lennart Poettering
de21b54bd1 add new API pa_threaded_mainloop_in_thread(), update test case for it
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1795 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-10 21:58:01 +00:00
Lennart Poettering
a6f8b813ae simple modernizations: s/assert/pa_assert
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1794 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-10 21:48:45 +00:00
Lennart Poettering
662988650a make sure we send each memblock only once when recording, not twice
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1793 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-10 20:57:17 +00:00
Lennart Poettering
d5caa0205f minor cleanup
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1792 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-10 20:56:36 +00:00