No description
Find a file
Georg Chini da539ed336 sink-input: Implement resampler pseudo rewinding
This patch uses the two previous patches to implemnt pseudo-rewinding for the
resamplers by feeding some old data into the resampler after a reset. This is
necessary because PA is using external resamplers that do not implement
rewinding.

To get exactly the same output data from the resampler after a rewind if possible,
the matching period is calculated. This is the number of input samples that produces
an integral number of output samples. After the matching period, the resampler state
repeats. If the matching period is not too large, feeding history into the resampler
will start at a point that is a multiple of the matching period back in time. Then
the resampler will produce exactly the same samples.

The PA_RESAMPLER_MAX_HISTORY value has been replaced by PA_RESAMPLER_MAX_DELAY_USEC
and the required number of history samples is calculated from the sink input sample
rate. The number of history samples can be as large as about 12500.

This fixes glitches during volume changes when the sink runs on a rate different
from the sink input rate.

Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/120>
2021-11-03 18:37:31 +00:00
.gitlab doc: Add some contributor guidelines 2021-01-04 15:30:38 +00:00
coverity build: Add Coverity scan model 2017-03-06 08:22:33 +01:00
doc card: handle sticky profile flag 2021-06-10 10:30:58 +00:00
doxygen build-sys: Fix a couple of meson warnings 2021-05-17 16:07:33 -04:00
man fix a single typo in pulse-client.conf.5.xml.in 2021-09-20 02:33:43 +00:00
po i18n: Update .pot and .po files 2021-10-08 21:57:34 +03:00
scripts build-sys: meson: fix meson dist version 2021-03-15 18:25:06 +00:00
shell-completion shell-completion: bash: Localize word variable 2021-08-25 15:54:35 +00:00
src sink-input: Implement resampler pseudo rewinding 2021-11-03 18:37:31 +00:00
vala vala: Couple of libpulse binding fixes 2021-09-22 15:56:27 +00:00
.gitignore gitignore: Add install/ for local prefixed installs 2021-01-19 10:57:17 -05:00
.gitlab-ci.yml build-sys: meson: fix meson dist version 2021-03-15 18:25:06 +00:00
.mailmap add a .mailmap file for git shortlog 2009-02-04 22:41:45 +01:00
CODE_OF_CONDUCT.md Adopt a Code of Conduct 2018-09-26 02:39:00 +00:00
CONTRIBUTING.md CONTRIBUTING.md: fix another typo 2021-07-30 13:13:46 +00:00
git-version-gen git-version-gen: Avoid further processing when tarball-version is present 2015-10-20 16:55:23 +02:00
GPL * rename "LICENSE" to "LGPL" 2006-04-20 12:33:00 +00:00
LGPL * rename "LICENSE" to "LGPL" 2006-04-20 12:33:00 +00:00
libpulse-mainloop-glib.pc.in build: Fix static linking 2012-07-17 11:05:34 +05:30
libpulse-simple.pc.in build: Fix static linking 2012-07-17 11:05:34 +05:30
libpulse.pc.in build: Fix static linking 2012-07-17 11:05:34 +05:30
LICENSE qpaeq: change license from AGPL to LGPL v2.1 2017-09-19 21:29:44 +03:00
meson.build Install modules in bindir for Windows 2021-09-22 15:19:02 +00:00
meson_options.txt build-sys: meson: Require bluez dependency if bluez5 feature is enabled 2021-06-21 10:50:08 +00:00
NEWS Update NEWS for 15.0 2021-07-27 12:42:33 -04:00
PROTOCOL protocol-native: add message sending capability 2020-12-03 14:41:39 +00:00
pulseaudio-text.svg merge 'lennart' branch back into trunk. 2007-10-28 19:13:50 +00:00
pulseaudio.supp Add a Valgrind suppression file 2014-09-21 11:00:51 +03:00
pulseaudio.svg Add PulseAudio logo to tree. 2006-08-28 06:25:41 +00:00
PulseAudioConfig.cmake.in build-sys: Provide a simple CMake Config setup (similar to pkgconfig) 2011-10-19 23:49:23 +01:00
PulseAudioConfigVersion.cmake.in build-sys: Provide a simple CMake Config setup (similar to pkgconfig) 2011-10-19 23:49:23 +01:00
README doc: link to site documentation for IRC channels 2021-06-14 18:55:33 +03:00
todo build-sys: Stop using symdef headers for modules 2017-12-12 12:58:52 +05:30

PULSEAUDIO SOUND SERVER

WEB SITE:
	http://pulseaudio.org/

GIT:
	https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git

GitLab:
	https://gitlab.freedesktop.org/pulseaudio/pulseaudio

MAILING LIST:
	http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

GIT COMMITS MAILING LIST:
	http://lists.freedesktop.org/mailman/listinfo/pulseaudio-commits

TRAC/BUGZILLA TICKET CHANGES MAILING LIST:
	http://lists.freedesktop.org/mailman/listinfo/pulseaudio-bugs

IRC:
	https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Community/#ircandmatrix

FRESHMEAT:
	http://freshmeat.net/projects/pulseaudio/

OHLOH:
	http://www.ohloh.net/projects/4038

AUTHORS:
	Several

HACKING:
	In order to run pulseaudio from the build dir:
	  meson build
	  meson compile -C build
	  build/src/daemon/pulseaudio -n -F build/src/daemon/default.pa -p $(pwd)/build/src/modules/

SPELLING:
        PulseAudio