No description
Find a file
Tanu Kaskinen dfd44036b5 pulse: Fix hole handling in pa_stream_peek().
Previously, if there was a hole in a recording stream,
pa_stream_peek() would crash. Holes could be handled silently inside
pa_stream_peek() by generating silence (wouldn't work for compressed
streams, though) or by skipping any holes. However, I think it's
better to let the caller decide how the holes should be handled, so
in case of holes, pa_stream_peek() will return NULL data pointer and
the length of the hole in the nbytes argument.

This change is technically an interface break, because previously the
documentation didn't mention the possibility of holes that need
special handling. However, since holes caused crashing anyway in the
past, it's not a regression if applications keep misbehaving due to
not handing holes properly.

Some words about when holes can appear in recording streams: I think
it would be reasonable behavior if overruns due to the application
reading data too slowly would cause holes. Currently that's not the
case - overruns will just cause audio to be skipped. But the point is
that this might change some day. I'm not sure how holes can occur
with the current code, but as the linked bug shows, they can happen.
It's most likely due to recording from a monitor source where the
thing being monitored has holes in its playback stream.

BugLink: http://bugs.launchpad.net/bugs/1058200
2012-11-08 15:38:32 +01:00
doc doc: Add an example stream-restore fallback table file. 2011-10-01 13:25:16 +01:00
doxygen build-sys: readd stub makefiles to subdirectories to make building with emacs easier 2012-05-15 14:17:58 +02:00
m4 build-sys: Check for necessary programs in bootstrap.sh 2011-07-28 10:51:09 +01:00
man man pulse-daemon.conf: Correct typoes 2012-11-03 15:42:35 +01:00
po i18n: Fix POTFILES for poll changes 2012-11-03 10:52:35 +01:00
src pulse: Fix hole handling in pa_stream_peek(). 2012-11-08 15:38:32 +01:00
vala vala: Add has_type_id=false to all enums, structs and classes 2011-08-31 11:35:35 +05:30
.gitignore build-sys: readd stub makefiles to subdirectories to make building with emacs easier 2012-05-15 14:17:58 +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 build-sys: Check for necessary programs in bootstrap.sh 2011-07-28 10:51:09 +01:00
configure.ac build: fix Mac OS X configure process 2012-11-04 10:07:31 +01:00
git-version-gen git-version-gen: Honor GIT_DESCRIBE_FOR_BUILD environment variable 2012-09-27 15:22:10 +03: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 Update LICENSE 2011-11-27 14:54:01 +00:00
Makefile.am build: Add PROTOCOL to EXTRA_DIST. 2012-11-04 10:07:31 +01:00
orc.mak build: Simplify Orc-related make rules 2011-02-01 11:51:46 +05:30
PROTOCOL introspect: Add functions to handle the latency offset. 2012-06-30 14:41:08 +03: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
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: Add entry for correct spelling 2012-04-27 13:13:23 +05:30
todo Update todo 2011-06-24 00:35:26 +01:00

PULSEAUDIO SOUND SERVER

WEB SITE:
	http://pulseaudio.org/

GIT:
	git://anongit.freedesktop.org/pulseaudio/pulseaudio

GITWEB/CGIT:
	http://cgit.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:
	#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

HACKING:
	In order to run pulseaudio from the build dir __OPTIMIZE__ should be
	disabled (look at src/pulsecore/core-util.h::pa_run_from_build_tree()),
	this can be done by passing "CFLAGS=-O0" to the configure script:
	  ./autogen.sh
	  CFLAGS="-ggdb3 -O0" LDFLAGS="-ggdb3" ./configure
	  make
	  ./src/pulseaudio -n -F src/default.pa -p $(pwd)/src/.libs/

SPELLING:
        PulseAudio