Commit graph

  • bfb2691fac a few modernizations Lennart Poettering 2008-05-02 01:25:22 +00:00
  • 06b9140e10 reorderer a few things Lennart Poettering 2008-05-02 01:24:47 +00:00
  • 792ef5c244 fix a compiler warning Lennart Poettering 2008-05-02 01:24:01 +00:00
  • 775bc6c108 some modernizations Lennart Poettering 2008-05-02 01:23:32 +00:00
  • 7d6269e57a add multiarch paths to default LADSPA search path Lennart Poettering 2008-05-02 01:21:22 +00:00
  • 49b1b15ef0 don't enable prebuffering if we just call is_readable() Lennart Poettering 2008-05-02 01:20:46 +00:00
  • 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 Lennart Poettering 2008-05-01 19:51:05 +00:00
  • f94fae3da3 move unlinking code to operation_unlink() Lennart Poettering 2008-05-01 19:26:41 +00:00
  • f3cc178b92 some minor updates Lennart Poettering 2008-05-01 19:25:24 +00:00
  • 11559a6386 parse boolean parameters as boolean instead of int wherever applicable. add new function pa_cli_command_execute_file_stream() Lennart Poettering 2008-05-01 19:24:09 +00:00
  • 414f1d956f install gccmacro.h properly, drop unused core-def.h file Lennart Poettering 2008-05-01 19:22:35 +00:00
  • d7cc1f5a12 change pa_rtpoll_set_timer_absolute() to take a pa_usec_t instead of struct timeval Lennart Poettering 2008-05-01 19:17:52 +00:00
  • 5816871117 save and restore errno in log functions Lennart Poettering 2008-05-01 19:16:55 +00:00
  • b93ea1840c minor reformat Lennart Poettering 2008-05-01 19:16:25 +00:00
  • 4f99c431d0 check for $PULSE_INTERNAL before enabling padsp Lennart Poettering 2008-05-01 19:15:49 +00:00
  • 18ad6f845e don't allow overwriting of callback pointers when we're already dead Lennart Poettering 2008-05-01 19:15:08 +00:00
  • b70edf77da port pa_sample_clamp() to liboil Lennart Poettering 2008-05-01 19:13:53 +00:00
  • 9dd8f6ceb7 add new function pa_sample_clamp() Lennart Poettering 2008-05-01 19:09:03 +00:00
  • 264385aae4 strip CRLF line breaks from read CLI commands. This should fix the cli interface for people accessing it via telnet. Lennart Poettering 2008-05-01 19:06:15 +00:00
  • f49df7a3b0 * Increase history set to 64 to simplify reduction of indexes * Decrease memory consumption a bit by using bitfields for some bools * Rework reduction code * Drop an unnessacary counter * Before adding a new entry to the history, try to figure out if we already have an existing entry with the same x value and replace that. This fixes a division by zero * Fix up input x for all functions, according to the time offset Lennart Poettering 2008-05-01 19:04:42 +00:00
  • 563f4b63cd make check for $DISPLAY=="" more readable, pa_bool_tization Lennart Poettering 2008-05-01 18:59:25 +00:00
  • 06a05bc66c a bit of pa_bool_t'ization Lennart Poettering 2008-05-01 18:57:18 +00:00
  • b12b8ee160 save errno before calling free() Lennart Poettering 2008-05-01 18:56:14 +00:00
  • caf742a076 define minimal and maximal wakeup/sleep times; check for underrun condition only once during buffer fillup Lennart Poettering 2008-04-23 23:22:51 +00:00
  • 5353cf45f5 fix size of requested_latency Lennart Poettering 2008-04-23 19:55:04 +00:00
  • 067a68abf9 fix build for auxiliary modules Lennart Poettering 2008-04-23 19:22:56 +00:00
  • c8fc223fe9 add stripnul to build Lennart Poettering 2008-04-23 18:56:19 +00:00
  • 76031df4a4 Big pile of interdependant changes: * Fix a deadlock when an asyncq overflows and an RT thread needed to wait until space became available again while the main thread was waiting for a operation to complete and thus didn't free any new items. Now, if the asyncq overflows, queue those items temporarily, and return immediately. Then, when the queue becomes writable again, flush it. * Modify pa_thread_mq_init() to also set up pa_rtpoll events properly for the MQ * Some more pa_bool_t'ization * Unify more common code between alsa-sink and alsa-source * The upper limit for the tsched watermark is max_use minus one frame * make module-alsa-source work * make the alsa modules use pa_alsa_build_pollfd() now * fix detection of dB scale for alsa-source Lennart Poettering 2008-04-23 18:26:48 +00:00
  • a197644ea2 add new tool 'stripnul' which can be used to drop leading zeros from a file which is useful to do byte-by-byte comparison of what goes in and comes out of PA Lennart Poettering 2008-04-23 18:19:45 +00:00
  • f2dffb717d pa_bool_t'ization Lennart Poettering 2008-04-23 18:17:17 +00:00
  • 0b183fbdc6 respect the resampler's maximum block size to avoid that we get kicked out of the memory pool due to resampling. actually drop data from the delay queue after we used it Lennart Poettering 2008-04-23 18:14:25 +00:00
  • 998ed8ede1 add missing header definitions for last commit Lennart Poettering 2008-04-23 18:13:11 +00:00
  • 3f57d3aab2 add new function pa_alsa_build_pollfd() to alsa-util to unify a bit more common code from the sink and the source Lennart Poettering 2008-04-23 18:12:46 +00:00
  • ed0af46e69 unify code that fixes up buffering metrics Lennart Poettering 2008-04-23 18:11:57 +00:00
  • af03dd4e4f drop a misplaced newline Lennart Poettering 2008-04-23 18:11:14 +00:00
  • 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 Lennart Poettering 2008-04-23 18:10:34 +00:00
  • 5e6aacdbe2 * don't increase tsched_watermark on underrun without limits * fix the watermark when we change the latency * fix latency measurement * move rewinding code into its own function * make use of new function pa_alsa_recover_from_poll() were applicable Lennart Poettering 2008-04-22 02:50:55 +00:00
  • 6b4b95beed show configure latency metrics Lennart Poettering 2008-04-22 02:48:24 +00:00
  • 1adbe822b8 some beautification updates, show msec instead of usec everywhere Lennart Poettering 2008-04-22 02:47:47 +00:00
  • cdb077b6c0 if no timer was armed, we don't need to disarm it Lennart Poettering 2008-04-22 02:47:05 +00:00
  • 4a1971a535 if no latency was configure for a sink/source, fill in the max latency automatically Lennart Poettering 2008-04-22 02:46:19 +00:00
  • 69f6bdf155 add new function pa_alsa_recover_from_poll() to merge common core from module-alsa-sink and module-alsa-source Lennart Poettering 2008-04-22 02:44:25 +00:00
  • 9a486efa5f implement --process-time Lennart Poettering 2008-04-22 02:38:51 +00:00
  • 0d01c4350b make sure the client buffer has space for 2*minreq+tlength. Explain why Lennart Poettering 2008-04-22 01:11:16 +00:00
  • e16a1987a3 - Change meaning of special values of latency request: 0 -> "minimal latency, please"; (pa_usec_t)-1 -> "don't care" - Remove "source" word from monitor source description - Increase default tsched watermark to 20ms again - For the first iteration after snd_pcm_start() halve the sleep time as workaround for USB devices with quick starts Lennart Poettering 2008-04-22 01:04:27 +00:00
  • 88227c41c1 properly initialize memblock->is_silence for imported memory blocks; make is_silence and read_only a bit field Lennart Poettering 2008-04-22 00:52:31 +00:00
  • 5e7e827be5 improve dB volume calculation Lennart Poettering 2008-04-20 23:57:44 +00:00
  • ba6c0e17cf fix C++ compat Lennart Poettering 2008-04-20 23:56:55 +00:00
  • 8181db182b initialize properties for ALSA sinks/sources more elaborately, re #277 Lennart Poettering 2008-04-20 21:50:57 +00:00
  • c2c833c068 use the sink description instead of the name to choose the description for the monitor source Lennart Poettering 2008-04-20 21:49:05 +00:00
  • 64e048cb1b drop a redundant pa_init_proplist(), properly set MEDIA_NAME property on stream, not on context Lennart Poettering 2008-04-20 20:53:46 +00:00
  • 5971345e99 rename sink_input->rewind to process_rewind() and set_max_rewind to update_max_rewind() Lennart Poettering 2008-04-20 20:35:44 +00:00
  • 62e7bc17c4 Big pile of dependant changes: * Change pa_memblockq to carry silence memchunk instead of memblock and adapt all users * Add new call pa_sink_input_get_silence() to get the suitable silence block for a sink input * Implement monitoring sources properly by adding a delay queue to even out rewinds * Remove pa_{sink|source}_ping() becaused unnecessary these days and not used * Fix naming of various rewind related functions. Downstream is now _request_rewind(), upstream is _process_rewind() * Fix volume adjustments for a single stream in pa_sink_render() * Properly handle prebuf-style buffer underruns in pa_sink_input * Don't allow rewinding to more than the last underrun * Rework default buffering metrics selection for native protocol * New functions pa_memblockq_prebuf_active(), pa_memblockq_silence() * add option "mixer_reset=" to module-alsa-sink * Other cleanups Lennart Poettering 2008-04-20 20:16:55 +00:00
  • 7556ef5bfc maintain a global silence memblock cache Lennart Poettering 2008-04-20 19:53:07 +00:00
  • a0671aa8db fix for new location of gccmacro.h Lennart Poettering 2008-04-20 19:52:05 +00:00
  • d1d7a0749d we have not periodic timers anymore Lennart Poettering 2008-04-20 19:51:08 +00:00
  • 33a35b6f2e update to recent changes of proplist api Lennart Poettering 2008-04-20 19:50:42 +00:00
  • 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 Lennart Poettering 2008-04-20 19:49:55 +00:00
  • ed36f3129c increase the default pool size to 16MB because we now need to keep a lot more memory around due to glitch-free. Lennart Poettering 2008-04-20 19:46:43 +00:00
  • 03df08872d add lower boundary for artifical latencies Lennart Poettering 2008-04-20 19:44:33 +00:00
  • af256978de follow pa_pstream_use_shm->pa_pstream_enable_shm rename Lennart Poettering 2008-04-20 19:43:59 +00:00
  • 687aa295a7 add new pa_pstream_get_shm() API, rename pa_pstream_use_shm() to pa_pstream_enable_shm(); pa_bool_t-ization Lennart Poettering 2008-04-20 19:43:20 +00:00
  • bee409acbe remove debug messages Lennart Poettering 2008-04-20 19:41:53 +00:00
  • 1ddb95a4ce add new silence memblock caching subsystem Lennart Poettering 2008-04-20 19:41:26 +00:00
  • 4b1d684d26 add new API function pa_memchunk_memcpy() Lennart Poettering 2008-04-20 19:40:30 +00:00
  • 144b237d86 print a message on xrun Lennart Poettering 2008-04-20 19:38:33 +00:00
  • 22ceb15bae add new rtstutter tool which can be used generate artifical scheduling latencies in the OS to trigger buffer underrun events in your software. it's an awesome debug tool for glitch-free; also move test programs from automake's check_ back to noinst_ to make sure it is built everytime Lennart presses F9 in his emacs Lennart Poettering 2008-04-17 16:28:23 +00:00
  • c9d01592d4 define PA_xxxSEC_PER_yyySEC for usec, too Lennart Poettering 2008-04-17 16:24:26 +00:00
  • 1f0a52dad1 the pointer to rewind() may actually be NULL Lennart Poettering 2008-04-14 18:46:24 +00:00
  • 68e4a93705 properly ask the sink to rewind on new sink inputs and when they disappear Lennart Poettering 2008-04-14 18:45:08 +00:00
  • 6946d2ad2d make sure to clear all queued RT signals before arm a new timer Lennart Poettering 2008-04-14 18:43:59 +00:00
  • 04178d428e add _cb suffix to _max_rewind function like with all other functions, too Lennart Poettering 2008-04-14 18:43:11 +00:00
  • 91f092eadc Let bootstrap.sh require version 1.10 of the various autofoo bits. Otherwise things will break during compilation Sjoerd Simons 2008-04-13 19:05:53 +00:00
  • 14fd32ee4b add missing 'break's in switch Lennart Poettering 2008-04-11 17:39:38 +00:00
  • 55f273eb00 s/pulsecore\/gccmacro.h/pulse\/gccmacro.h/ Lennart Poettering 2008-04-11 17:06:41 +00:00
  • 07f5c1d8e4 register sink/source name as first step when creating a new sink/source so that we can hand the valid name string to the hook functions; se tup props for monitor sources correctly; fix implicit flag setting logic Lennart Poettering 2008-04-11 17:05:46 +00:00
  • aad9d39838 dump all info we know about sinks/sources/... in pactl Lennart Poettering 2008-04-11 17:03:18 +00:00
  • dbe36333f3 properly initialize ->memblockq Lennart Poettering 2008-04-11 17:02:42 +00:00
  • cdb273de90 add new pa_get_state_dir() function, move pa_strnull() here Lennart Poettering 2008-04-11 16:58:07 +00:00
  • dcf7173489 fix help string for volume commands Lennart Poettering 2008-04-11 16:57:26 +00:00
  • fe3c42dbfe fix packet formatting for a few commands Lennart Poettering 2008-04-11 16:53:29 +00:00
  • 2c6176fdd4 mark shm marker struct as packed, to guarantee identical sizes between archs Lennart Poettering 2008-04-11 16:52:45 +00:00
  • 29cbd88138 add new PA_GCC_PACKED macro Lennart Poettering 2008-04-11 16:51:21 +00:00
  • 096e7f0f81 make shm magic marker compat with multiarch systems where 64bit and 32bit processes might share SHM areas Lennart Poettering 2008-04-11 16:38:16 +00:00
  • c9db6d2543 don't fail if a signalled writability of STDOUT is no longer true when we try it because some other thread already wrote something Lennart Poettering 2008-04-11 16:37:22 +00:00
  • 413656bce6 update list-xxx commands a bit Lennart Poettering 2008-04-11 16:36:38 +00:00
  • 28ab2a0c1d don't print 'signal' each time a rtpoll poll() call is canceled Lennart Poettering 2008-04-11 16:36:13 +00:00
  • 50d585e458 fix linker warning macro code, move pa_strnull() to core-util.h, move PA_LIKELY definitions here from gccmacro.h Lennart Poettering 2008-04-11 16:35:31 +00:00
  • d0ebb71eed don't use fqdn if we don't have to Lennart Poettering 2008-04-11 16:34:11 +00:00
  • 78368db54f redirect alsa errors to normal PA log system; export buffer settings in device props Lennart Poettering 2008-04-11 16:33:33 +00:00
  • 1c5f66519d make use of new alsa SND_PCM_NO_AUTO_xxx flags; redirect alsa errors to normal PA log system Lennart Poettering 2008-04-11 16:32:03 +00:00
  • 0f28de6f17 mark autoload functions as deprecated Lennart Poettering 2008-04-11 16:31:01 +00:00
  • d7e260bf6e remove misplaced PA_GCC_PURE Lennart Poettering 2008-04-11 16:30:34 +00:00
  • e832b0c7fa add C++ safety to header file Lennart Poettering 2008-04-11 16:30:14 +00:00
  • 7dad6350e3 fix bit depth guarantee for pa_usec_t Lennart Poettering 2008-04-11 16:29:22 +00:00
  • 919bd98dff add new API function pa_timeval_add() Lennart Poettering 2008-04-11 16:28:49 +00:00
  • 566322ad30 remove gcc macros from cdecl.h because we have them in gccmacro.h now Lennart Poettering 2008-04-11 16:28:17 +00:00
  • 007f82d351 fix bad memory access when initializing client proplist Lennart Poettering 2008-04-11 16:27:31 +00:00
  • d491adff74 add gccmacro.h to doxygen docs Lennart Poettering 2008-04-11 16:23:06 +00:00
  • e084e4b5de add new module module-device-restore Lennart Poettering 2008-04-11 16:22:37 +00:00