Commit graph

115 commits

Author SHA1 Message Date
Lennart Poettering
076ffa340a add 'stream' as media role
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2426 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-05-15 17:58:53 +00:00
Lennart Poettering
df92b23fa6 - Fix moving of sink inputs between sinks
- Don't write more than a single buffer size in the ALSA driver at a time, to give the clients time to fill up the memblockq again
- Add API for querying the requested latency of a sink input/source output
- Drop get_letancy() from vtable of sinks/sources


git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2392 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-05-09 22:48:37 +00:00
Lennart Poettering
e97a347325 bah, english sucks
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2389 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-05-09 22:11:57 +00:00
Lennart Poettering
7b5c6a34e2 fix recording
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2387 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-05-07 21:10:19 +00:00
Lennart Poettering
44241ac243 define callback function types; allow pa_signal_done() to be called even without prior pa_signal_init()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2377 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-05-07 01:34:54 +00:00
Lennart Poettering
dee3555b2a rename 'routing' to 'filter'
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2371 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-05-06 21:11:55 +00:00
Lennart Poettering
52e3628c3e Yes, yet another evil all-in-one commit of intervowen changes. I suck.
* Drop "state" directory, fold that into "runtime directory"
* No longer automatically rewind when a new stream connects
* Rework sound file stream, to cause a rewind on initialisation, shorten _pop() code a bit
* Fix reference counting of pa_socket_server in the protocol implementations
* Rework daemon initialization code to be compatible with non-SUID-root setups where RLIMIT_RTPRIO is non-zero
* Print warning if RT/HP is enabled in the config, but due to missing caps, rlimits, policy we cannot enable it.
* Fix potential memory leak in pa_open_config_file()
* Add pa_find_config_file() which works much like pa_open_config_file() but doesn't actually open the config file in question. Just searches for it.
* Add portable pa_is_path_absolute()
* Add pa_close_all() and use it on daemon startup to close leaking file descriptors (inspired from what I did for libdaemon)
* Add pa_unblock_sigs() and use it on daemon startup to unblock all signals (inspired from libdaemon, too)
* Add pa_reset_sigs() and use it on daemon startup to reset all signal handlers (inspired from libdaemon as well)
* Implement pa_set_env()
* Define RLIMIT_RTTIME and friends if not defined by glibc
* Add pa_strempty()
* rename state testing macros to include _IS_, to make clearer that they are no states, but testing macros
* Implement pa_source_output_set_requested_latency_within_thread() to be able to forward latency info to sources from within the IO thread
* Similar for sink inputs
* generelize since_underrun counter in sink inputs to "playing_for" and "underrun_for". Use only this for ignore potential rewind requests over underruns
* Add new native protocol message PLAYBACK_STREAM_MESSAGE_STARTED for notification about the end of an underrun
* Port native protocol to use underrun_for/playing_for which is maintained by the sink input anyway
* Pass underrun_for/playing_for in timing info to client
* Drop pa_sink_skip() since it breaks underrun detection code
* Move PID file and unix sockets to the runtime dir (i.e. ~/.pulse). This fixes a potention DoS attack from other users stealing dirs in /tmp from us so that we cannot take them anymore)
* Allow setting of more resource limits from the config file. Set RTTIME by default
* Streamline daemon startup code
* Rework algorithm to find default configuration files
* If run in system mode use "system.pa" instead of "default.pa" as default script file
* Change ladspa sink to use pa_clamp_samples() for clamping samples
* Teach module-null-sink how to deal with rewinding
* Try to support ALSA devices with no implicit channel map. Synthesize one by padding with PA_CHANNEL_POSITION_AUX channels. This is not tested since I lack hardware with these problems.
* Make use of time smoother in the client libraries.
* Add new pa_stream_is_corked() and pa_stream_set_started_callback() functions to public API
* Since our native socket moved, add some code for finding sockets created by old versions of PA. This should ease upgrades


git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2329 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-05-01 19:51:05 +00:00
Lennart Poettering
f94fae3da3 move unlinking code to operation_unlink()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2328 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-05-01 19:26:41 +00:00
Lennart Poettering
18ad6f845e don't allow overwriting of callback pointers when we're already dead
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2320 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-05-01 19:15:08 +00:00
Lennart Poettering
563f4b63cd make check for $DISPLAY=="" more readable, pa_bool_tization
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2315 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-05-01 18:59:25 +00:00
Lennart Poettering
b12b8ee160 save errno before calling free()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2313 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-05-01 18:56:14 +00:00
Lennart Poettering
3c8e83fb3e do not fix automatic buffer attrs anymore, the new protocol version doesn't need this anymore and it creates more problems than it solves. Also drop the initial timing info query. Correct programs shouldn't depend on it anyway
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2300 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-23 18:10:34 +00:00
Lennart Poettering
5e7e827be5 improve dB volume calculation
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2289 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-20 23:57:44 +00:00
Lennart Poettering
ba6c0e17cf fix C++ compat
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2288 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-20 23:56:55 +00:00
Lennart Poettering
64e048cb1b drop a redundant pa_init_proplist(), properly set MEDIA_NAME property on stream, not on context
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2285 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-20 20:53:46 +00:00
Lennart Poettering
33cb5897e1 split user supplied data in multiple memory blocks if necessary to fit in one mempool tile. If the caller supplied a free_cb and we use shm it's better to copy the data immediately to the shm region instead of keeping it around as user memblock
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2278 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-20 19:49:55 +00:00
Lennart Poettering
af256978de follow pa_pstream_use_shm->pa_pstream_enable_shm rename
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2275 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-20 19:43:59 +00:00
Lennart Poettering
c9d01592d4 define PA_xxxSEC_PER_yyySEC for usec, too
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2268 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-17 16:24:26 +00:00
Lennart Poettering
55f273eb00 s/pulsecore\/gccmacro.h/pulse\/gccmacro.h/
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2261 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-11 17:06:41 +00:00
Lennart Poettering
29cbd88138 add new PA_GCC_PACKED macro
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2253 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-11 16:51:21 +00:00
Lennart Poettering
0f28de6f17 mark autoload functions as deprecated
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2244 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-11 16:31:01 +00:00
Lennart Poettering
d7e260bf6e remove misplaced PA_GCC_PURE
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2243 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-11 16:30:34 +00:00
Lennart Poettering
e832b0c7fa add C++ safety to header file
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2242 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-11 16:30:14 +00:00
Lennart Poettering
7dad6350e3 fix bit depth guarantee for pa_usec_t
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2241 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-11 16:29:22 +00:00
Lennart Poettering
919bd98dff add new API function pa_timeval_add()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2240 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-11 16:28:49 +00:00
Lennart Poettering
566322ad30 remove gcc macros from cdecl.h because we have them in gccmacro.h now
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2239 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-11 16:28:17 +00:00
Lennart Poettering
007f82d351 fix bad memory access when initializing client proplist
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2238 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-11 16:27:31 +00:00
Lennart Poettering
bb9792a616 move gccmacro from pulsecore/ to pulse/
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2232 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-11 16:19:35 +00:00
Lennart Poettering
39afb14093 add new pa_proplist_setf() API function
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2230 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-09 13:49:04 +00:00
Lennart Poettering
fc9d8276db remove doxygen \since tag for API changes older than 0.9; properly implement new latency query APIs
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2228 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-09 01:19:01 +00:00
Lennart Poettering
122861f75e mark libpulse-browse as obsolete
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2216 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-04 16:04:29 +00:00
Lennart Poettering
cdfcf6654c - deprecate autoload stuff
- allow setting of the requested latency of a sink input/source output before _put() is called
- allow sinks/sources to have a "minimal" latency which applies to all requested latencies by sink inputs/source outputs
- add new client library flags PA_STREAM_ADJUST_LATENCY, PA_STREAM_START_MUTED
- allow client library to fill in 0 to buffer_attr fields
- update module-alsa-source following module-alsa-sink
- other cleanups and fixes


git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2215 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-04-03 13:40:55 +00:00
Lennart Poettering
ecf6439661 catch up with trunk HEAD (i.e. 2118:2213)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2214 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-03-31 23:08:01 +00:00
Lennart Poettering
347cfc356a commit glitch-free work
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2121 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-03-15 15:18:55 +00:00
Lennart Poettering
86b9ef8c96 deal with a possibly failing pa_channel_map_init_auto() correctly
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2105 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-02-13 22:13:44 +00:00
Lennart Poettering
d36a1b8333 use __BYTE_ORDER macro for detecting byte order, as suggested on http://unixpapa.com/incnote/byteorder.html
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2098 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-01-06 20:38:11 +00:00
Lennart Poettering
2cb1b2c067 add new function pa_proplist_contains()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2089 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-12-29 18:03:53 +00:00
Lennart Poettering
63c616eecc add new property list implementation
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2085 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-12-23 20:12:37 +00:00
Lennart Poettering
2d34bca4a1 rearrange #includes
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2081 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-24 16:24:54 +00:00
Lennart Poettering
9d2255d4e5 fix uploading of samples into PA. Problem discovered by Colin Guthrie
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2074 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-22 15:09:00 +00:00
Lennart Poettering
14a9b80afb - Check process name when dealing with PID files
- Add new PA_STREAM_FIX_CHANNELS, FIX_RATE, FIX_FORMAT, DONT_MOVE, VARIABLE_RATES to pa_sream_flags_t adn implement it
- Expose those flags in pacat
- Add notifications about device suspend/resume to the protocol and expose them in libpulse
- Allow changing of buffer_attr during playback
- allow disabling for remixing globally
- hookup polkit support


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2067 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-21 01:30:40 +00:00
Lennart Poettering
413a8f8917 use a prio inheriting mutex for the threaded mainloop, to ease writing of RT clients
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2059 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-14 16:11:51 +00:00
Lennart Poettering
461e36910a use a free list for allocation pa_operation objects
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2058 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-14 16:11:09 +00:00
Lennart Poettering
4c4761731d add array size to increase chance of detecting missing updates
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2054 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-13 23:41:17 +00:00
Lennart Poettering
d8e0c1c6bd minor typo
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2042 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-09 18:24:09 +00:00
Lennart Poettering
7e0f547f2f add support for 32bit integer samples
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2037 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-09 02:45:07 +00:00
Lennart Poettering
a2121d5e6f strip most comments from the default configuration files, since the man page is now more elaborate and we don't want to maintain those docs redundantly at two places
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2030 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-08 22:31:30 +00:00
Lennart Poettering
e706f7bed7 pa_boolize the client config
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2009 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-01 00:33:14 +00:00
Lennart Poettering
5058a1e9ed save and restore errno in the sig handler
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2004 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-10-30 18:35:08 +00:00
Lennart Poettering
b03b5741ea rename 'length' parameters in the API to 'bytes', to make their unit clear
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1999 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-10-30 14:17:41 +00:00