summaryrefslogtreecommitdiffstats
path: root/src/modules/module-combine.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix up according to Coding StyleMaarten Bosmans2011-03-111-1/+1
| | | | Only whitespace changes in here
* Limit rate adjustments to small, inaudible jumpsMaarten Bosmans2011-01-161-10/+16
| | | | | | | | | | | | | | | The same logic is applied to the sample rate adjustments in module-rtp-recv, module-loopback and module-combine: - Each time an adjustment is made, the new rate can differ at most 2‰ from the old rate. Such a step is equal to 3.5 cents (a cent is 1/100th of a semitone) and as 5 cents is generally considered the smallest observable difference in pitch, this results in inaudible adjustments. - The sample rate of the stream can only differ from the rate of the corresponding sink by 25%. As these adjustments are meant to account for very small clock drifts, any large deviation from the base rate suggests something is seriously wrong. - If the calculated rate is within 20Hz of the base rate, set it to the base rate. This saves CPU because no resampling is necessary.
* combine: Only check if the sink is h/w etc. in automatic modeColin Guthrie2010-11-171-8/+8
|
* combine: Handle reappearing slave sinks in non-automatic mode.Antti-Ville Jansson2010-11-161-3/+23
| | | | | | | | Earlier, if slave sinks were unlinked in non-automatic mode, their re-appearance was disregarded. Now they are added back to the list of outputs. Signed-off-by: Antti-Ville Jansson <antti-ville.jansson@digia.com> Reviewed-by: Tanu Kaskinen <tanu.kaskinen@digia.com>
* thread: name all threads so that the names appear in /proc/$PID/task/$TID/commLennart Poettering2010-05-071-1/+1
|
* native: rework handling of seeks that depend on variables the client does ↵Lennart Poettering2010-02-091-2/+2
| | | | | | | | | | | | not know anything about All seeks/flushes that depend on the playback buffer read pointer cannot be accounted for properly in the client since it does not know the actual read pointer. Due to that the clients do not account for it at all. We need do the same on the server side. And we did, but a little bit too extreme. While we properly have not applied the changes to the "request" counter we still do have to apply it to the "missing" counter. This patch fixes that.
* core: make sure we always return a valid memblock in sink_input_pop() callbacksLennart Poettering2010-02-091-1/+1
| | | | https://bugzilla.redhat.com/show_bug.cgi?id=553607
* core: move 'flags' field into 'pa_sink_input_new_data' structure so that ↵Lennart Poettering2009-08-281-1/+2
| | | | hooks can access it
* combine: store adjust time in usecLennart Poettering2009-08-261-15/+15
|
* combine: quieten gcc a bitLennart Poettering2009-08-211-0/+2
|
* combine: determine sample parameters of combined sink from underlying sinksMaarten Bosmans2009-08-151-0/+49
| | | | http://pulseaudio.org/ticket/521
* combine: warn when the latency of a stream gets too highLennart Poettering2009-08-151-0/+3
|
* combine: big reworkLennart Poettering2009-08-151-205/+266
|
* combine: drop adjust_timestamp variable because it is unusedLennart Poettering2009-08-151-12/+2
|
* core: move rtpoll to thread_info sub structureLennart Poettering2009-08-151-2/+2
|
* combine: Do not set (and update) description if the user passed one in ↵Colin Guthrie2009-06-291-1/+12
| | | | | | | during load. Note that this will not turn off auto-description setting if the user were to update the proplist later, so such a change could be short lived.
* Merge most of elmarco/rtclock2Lennart Poettering2009-06-221-18/+12
|\ | | | | | | Merge commit 'e4d914c945c13d23b131d7ba75fbdd03cb6d0043'
| * Base mainloop on pa_rtclock_now()Marc-André Lureau2009-06-201-11/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the mainloop to monotonic based time events. Introduces 4 helper functions: pa_{context,core}_rttime_{new,restart}(), that fill correctly a timeval with the rtclock flag set if the mainloop supports it. Both mainloop-test and mainloop-test-glib works with rt and timeval based time events. PulseAudio and clients should be fully functional. This patch has received several iterations, and this one as been largely untested. Signed-off-by: Marc-André Lureau <marca-andre.lureau@nokia.com>
| * pulse: move pa_rtclock_now in pulsecommonMarc-André Lureau2009-06-201-1/+2
| |
| * perl -p -i -e 's/pa_rtclock_usec/pa_rtclock_now/g' `find . -name '*.[ch]'`Marc-André Lureau2009-06-191-6/+6
| |
* | core: get rid of rt sig/timer handling since modern Linux' ppooll() is ↵Lennart Poettering2009-06-191-1/+0
|/ | | | finally fixed for granularity
* core: add a suspend cause flags fieldLennart Poettering2009-06-051-2/+2
|
* modules: add {sink|source|card}_properties argument to all modulesLennart Poettering2009-05-281-2/+10
|
* Modify smoothing code to make cubic interpolation optional and allow 'quick ↵Lennart Poettering2009-04-051-2/+9
| | | | | | | | | | | | | | | fixups' on resuming The primary reason for this change is to allow time graphs that do not go through the origin and hence smoothing starting from the origin is not desired. This change will allow passing time data into the smoother while paused and then abruptly use that data without smoothing using the 'quick fixup' flag when resuming. Primary use case is allowing recording time graphs where the data recorded originates from a time before the stream was created. The resulting graft will be shifted and should not be smoothened to go through the origin.
* don't fiddle with latency range because we cannot adjust it dynamicallyLennart Poettering2009-03-251-7/+4
|
* set request/rewind sizes only via accessor functionsLennart Poettering2009-03-241-1/+1
|
* Use LGPL 2.1 on all files previously using LGPL 2Colin Guthrie2009-03-031-1/+1
|
* Use pa_assert_se() when the containing code has side effects.Colin Guthrie2009-03-021-1/+1
| | | | As reported by rantala. Closes #502 and #503
* introduce default channel map in addition to the default sample specLennart Poettering2009-02-211-1/+2
|
* make a couple of functions return proper error codesLennart Poettering2009-02-031-1/+1
|
* include PA_SINK_INVALID_STATE in all switch/case statements to make gcc shut upLennart Poettering2009-01-221-0/+1
|
* kill autoload stuff as plannedLennart Poettering2009-01-151-1/+1
|
* add new dont_rewind_render flag to allow quick starts of newly created streamsLennart Poettering2009-01-151-1/+1
|
* add a few missing castsLennart Poettering2008-08-201-2/+2
|
* add a few more gcc warning flags and fix quite a few problems found by doing soLennart Poettering2008-08-191-3/+3
|
* fix shutdown when --disallow-module-loading=1 is passedLennart Poettering2008-08-051-1/+1
|
* handle rewind requestsLennart Poettering2008-06-271-0/+4
|
* make sure to call process_rewind() under all circumstances before we do the ↵Lennart Poettering2008-06-261-1/+0
| | | | next loop iteration
* split pa_memblockq_flush() into two flush commands, one which fixes up the ↵Lennart Poettering2008-06-261-2/+2
| | | | read ptr, and one which fixes up the write ptr
* Request a rewrite immediately after we have been linked, so that playback ↵Lennart Poettering2008-06-201-0/+15
| | | | starts immediately
* Rework module-combine to work with glitch-free core; add new max_request ↵Lennart Poettering2008-06-201-253/+290
| | | | field to pa_sink
* get rid of svn $ keywordsLennart Poettering2008-06-181-2/+0
|
* merge Colin Guthrie's module-always-sink module, and add priorization to the ↵Lennart Poettering2008-06-111-3/+3
| | | | | | hook subsystem while doing so. git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2516 fefdeb5f-60dc-0310-8127-8f9354f1896f
* merge glitch-free branch back into trunkLennart Poettering2008-05-151-69/+82
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2445 fefdeb5f-60dc-0310-8127-8f9354f1896f
* deal with a possibly failing pa_channel_map_init_auto() correctlyLennart Poettering2008-02-131-1/+3
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2105 fefdeb5f-60dc-0310-8127-8f9354f1896f
* tag modules that may only be loaded once at most especially, and enforce ↵Lennart Poettering2007-11-091-4/+5
| | | | | | that in the module loader git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2043 fefdeb5f-60dc-0310-8127-8f9354f1896f
* make rtprio and nice level actually configurableLennart Poettering2007-11-011-2/+2
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2014 fefdeb5f-60dc-0310-8127-8f9354f1896f
* merge 'lennart' branch back into trunk.Lennart Poettering2007-10-281-169/+895
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1971 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Add copyright notices to all relevant files. (based on svn log)Pierre Ossman2007-02-131-0/+2
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1426 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Huge trailing whitespace cleanup. Let's keep the tree pure from here on,Pierre Ossman2007-01-041-35/+35
| | | | | | | mmmkay? git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1418 fefdeb5f-60dc-0310-8127-8f9354f1896f