No description
Find a file
Tanu Kaskinen 6bd34156b1 virtual-sink: Fix a crash when moving the sink to a new master right after setup.
If the virtual sink is moved to a new master right after it has been created,
then the virtual sink input's memblockq can be rewound to a negative read
index. The data written prior to the move starts from index zero, so after the
rewind there's a bit of silence. If the memblockq doesn't have a silence
memchunk set, then pa_memblockq_peek() will return zero in such case, and the
returned memchunk's memblock pointer will be NULL.

That scenario wasn't taken into account in the implementation of
sink_input_pop_cb. Setting a silence memchunk for the memblockq solves this
problem, because pa_memblock_peek() will now return a valid memblock if the
read index happens to point to a hole in the memblockq.

I believe this isn't the best possible solution, though. It doesn't really make
sense to rewind the sink input's memblockq beyond index 0 in the first place,
because now when the stream starts to play to the new master sink, there's some
unnecessary silence before the actual data starts. This is a small problem,
though, and I don't grok the rewinding system well enough to know how to fix
this issue properly.

I went through all files that call pa_memblockq_peek() to see if there are more
similar bugs. play-memblockq.c was the only one that looked to me like it might
be broken in the same way. I didn't try reproducing the bug with
play-memblockq.c, though, so I just added a FIXME comment there.
2011-02-26 10:40:06 +00:00
doxygen doxygen: add rtclock.h to documentation 2009-09-11 01:49:39 +02:00
m4 echo-cancel: orc-ify some bits for optimisation 2010-09-23 17:17:03 +05:30
man Further clarify src- and speex- references in pulse-daemon.conf 2010-12-19 15:29:19 +00:00
po i18n: Update POTFILES.* 2010-12-05 16:00:23 +00:00
src virtual-sink: Fix a crash when moving the sink to a new master right after setup. 2011-02-26 10:40:06 +00:00
vala vala: fix wrapping of port setting calls 2010-02-21 17:48:39 +01:00
.gitignore build-sys: dropo shave support, depend on automake's new silent build support instead 2009-06-22 23:03:43 +02:00
.mailmap add a .mailmap file for git shortlog 2009-02-04 22:41:45 +01:00
autogen.sh remove remaining $ 2008-06-18 22:38:32 +02:00
bootstrap.sh Solaris: bootstrap portability 2009-08-22 00:58:53 +02:00
configure.ac Merge remote-tracking branch 'mkbosmans/mingw32-build' 2011-02-25 09:24:07 +00:00
git-version-gen build-sys: Include the .version file in the distribution tarball 2010-12-05 15:59:13 +00: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-browse.pc.in version: Drop the micro version number 2010-11-28 15:56:20 +00:00
libpulse-mainloop-glib.pc.in version: Drop the micro version number 2010-11-28 15:56:20 +00:00
libpulse-simple.pc.in version: Drop the micro version number 2010-11-28 15:56:20 +00:00
libpulse.pc.in version: Drop the micro version number 2010-11-28 15:56:20 +00:00
LICENSE echo-cancel: Add alternative echo-cancellation implementation 2010-09-07 15:12:12 +05:30
Makefile.am build-sys: Include the .version file in the distribution tarball 2010-12-05 15:59:13 +00:00
orc.mak build: Simplify Orc-related make rules 2011-02-01 11:51:46 +05:30
PROTOCOL Allow read-only or non-existing sink input volume. 2011-02-22 20:12:31 +00:00
pulseaudio-text.svg merge 'lennart' branch back into trunk. 2007-10-28 19:13:50 +00:00
pulseaudio.svg Add PulseAudio logo to tree. 2006-08-28 06:25:41 +00:00
README Add a small README with the new git URLs and stuff 2008-06-18 00:34:14 +02:00
todo remove remaining $ 2008-06-18 22:38:32 +02:00

PULSEAUDIO SOUND SERVER

WEB SITE:
	http://pulseaudio.org/

GIT:
	git://git.0pointer.de/pulseaudio.git

GITWEB:
	http://git.0pointer.de/?p=pulseaudio.git;a=summary

MAILING LIST:
	https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss

GIT COMMITS MAILING LIST:
	https://tango.0pointer.de/mailman/listinfo/pulseaudio-commits

TRAC TICKET CHANGES MAILING LIST:
	https://tango.0pointer.de/mailman/listinfo/pulseaudio-tickets

IRC:
	#pulseaudio on irc.freenode.org

CIA:
	http://cia.navi.cx/stats/project/polypaudio

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

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

AUTHORS:
	Several