Commit graph

394 commits

Author SHA1 Message Date
Lennart Poettering
e37fa011ac add hooks for name/description changes of sinks/source and streams
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1897 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-24 21:47:22 +00:00
Lennart Poettering
ef020c6e89 fix stream corking: ignore pa_sink_input() when we are in corked state
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1896 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-24 17:14:00 +00:00
Lennart Poettering
55651ec215 don't count streams using the monitor source in pa_sink_used_by(), because this would disallow suspending a sink ehn an rtp stream is connected
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1895 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-24 16:24:23 +00:00
Lennart Poettering
ba322a49e1 drop the PA_SOURCE_CAN_SUSPEND and PA_SINK_CAN_SUSPEND flags, since they were a bad idea in the first place. All sinks/sources are now *required* to handle suspending in one way or another. Luckily all current sink/source implementations handle it fine anyway.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1894 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-24 16:10:43 +00:00
Lennart Poettering
fc00eaf1d4 use O_NOFOLLOW when creating lock files, too
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1892 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-23 19:30:56 +00:00
Lennart Poettering
2860685269 use O_NOFOLLOW when creating PID file, to avoid symlink vulnerability
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1891 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-23 19:23:44 +00:00
Tanu Kaskinen
de079ac404 Added an assertion for the case when the sink programmer hasn't installed the thread_mq properly.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1890 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-23 14:51:07 +00:00
Tanu Kaskinen
7bcbf16e94 Comment typo fix.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1889 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-23 14:39:39 +00:00
Lennart Poettering
e04a8576bb minor optimization
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1886 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-22 02:00:32 +00:00
Lennart Poettering
c6b43bf119 prefix by order macros with PA_
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1884 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-22 01:16:14 +00:00
Lennart Poettering
668340099c rework a couple of sample type converters, to actually work
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1883 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-22 00:26:18 +00:00
Lennart Poettering
78a9ad336b - rework volume adjustment code to not require fp
- don't hit an assert when we cannot do a volume adjustment, instead, print a warning and go on


git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1882 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-22 00:25:17 +00:00
Lennart Poettering
d7a0876d7f fix selection of working format
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1881 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-22 00:22:36 +00:00
Lennart Poettering
9db42672d4 make use of byte swap builtins of gcc if they are available
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1880 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-22 00:21:08 +00:00
Lennart Poettering
c34a2635b2 allow _unlink() functions to be called as many times as people want, even before _put() was called
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1878 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-21 13:32:00 +00:00
Lennart Poettering
29d25ec8d9 add CLAMP macro
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1876 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-21 00:14:20 +00:00
Lennart Poettering
3b2835d334 properly detach/attach when moving sink inputs
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1874 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-20 22:01:07 +00:00
Lennart Poettering
c40c1682be maintain the attach status in a boolean variable 'attach' accessible from the IO thread for sink_inputs/source_outputs
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1872 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-20 20:30:03 +00:00
Lennart Poettering
a8a9ee499d make sure we initialize thread private data before we move our ghost sink to the rt thread, not after
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1870 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-19 21:20:15 +00:00
Lennart Poettering
42b71ff965 fix trivial typo
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1869 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-19 19:06:25 +00:00
Lennart Poettering
d716e3cd7b fix check for lrintf, make resample2.c again identical to upstream ffmpeg
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1868 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-19 19:03:38 +00:00
Lennart Poettering
75f799a3d8 make O_CLOEXEC, O_NONBLOCK and socket low latency fd ops more uniform: always return void, name them similarly, only pass a single fd
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1867 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-19 00:12:01 +00:00
Lennart Poettering
0fcad97782 copy free_cb into a temporary variable first, to avoid compiler warning
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1866 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-19 00:08:40 +00:00
Lennart Poettering
1fd9afdf7d make use of pa_bool_t on a few places where applicable; really start work_cb
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1863 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-18 23:21:06 +00:00
Lennart Poettering
b3093d8405 lower SO_PRIORITY priority to 6, since this is the best we get without being root
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1862 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-18 22:29:24 +00:00
Lennart Poettering
f44ddd1052 add new pa_socket_udp_low_delay() API
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1860 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-18 22:24:45 +00:00
Lennart Poettering
6b2fd2328a add two missing header file inclusions
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1859 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-18 21:31:21 +00:00
Lennart Poettering
8fdf054e68 make sure we don't call pa_source_post() for a monitor source after it was unlinked
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1857 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-18 19:52:20 +00:00
Lennart Poettering
ca717643ee If PTHREAD_PRIO_INHERIT mutexes are not available fall back to normal mutexes
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1856 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-18 19:51:26 +00:00
Lennart Poettering
a558e9312e port module-rtp-send.c to lock-free core
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1855 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-18 17:41:51 +00:00
Pierre Ossman
4ed41f3dab strtof() is a rather recent addition to C. Fall back to strtod() if it isn't
available.


git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1853 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-18 10:47:03 +00:00
Pierre Ossman
03d9863980 Emulate lrintf with simple truncation if it isn't available.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1851 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-18 10:38:07 +00:00
Pierre Ossman
df1d34753f NSIG is not defined by neither C99 nor POSIX so we can't rely on it.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1849 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-18 08:57:54 +00:00
Lennart Poettering
8ff7d567d3 add a locale-independant pa_atof() implementation
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1846 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-17 22:39:51 +00:00
Lennart Poettering
26a1ae7bbb Rename pa_strsignal() to pa_sig2str(), since we return the symbolical signal name, not a human readable string. This follows the Solaris API of sig2str() a bit. Also, add all remaining signals to the list of signal names.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1843 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-17 15:26:18 +00:00
Lennart Poettering
d3b898513c drop a couple of WARNING prefixes in log messages, since we have pa_log_warn anyway for marking warnings especially
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1842 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-09-17 14:03:04 +00:00
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
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
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
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
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