mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-10-31 22:25:33 -04:00
No description
pa_memblockq_push() expects all memchunks to be aligned to PCM frame boundaries, and that means both the index and length fields of pa_memchunk. pa_rtp_recv(), however, used a memblock for storing both the RTP packet metadata and the actual audio data. The metadata was "removed" from the audio data by setting the memchunk index appropriately, so the metadata stayed in the memblock, but it was not played back. The metadata length is not necessarily divisible by the PCM frame size, which caused pa_memblock_push() to crash in an assertion with some sample specs, because the memchunk index was not properly aligned. In my tests the metadata length was 12, so it was compatible with many configurations, but eight-channel audio didn't work. This patch adds a separate buffer for receiving the RTP packets. As a result, an extra memcpy is needed for moving the audio data from the receive buffer to the memblock buffer. BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=96612 |
||
|---|---|---|
| doc | ||
| doxygen | ||
| m4 | ||
| man | ||
| po | ||
| scripts | ||
| shell-completion | ||
| src | ||
| vala | ||
| .gitignore | ||
| .mailmap | ||
| .travis.yml | ||
| autogen.sh | ||
| bootstrap.sh | ||
| configure.ac | ||
| git-version-gen | ||
| GPL | ||
| LGPL | ||
| libpulse-mainloop-glib.pc.in | ||
| libpulse-simple.pc.in | ||
| libpulse.pc.in | ||
| LICENSE | ||
| Makefile.am | ||
| NEWS | ||
| orc.mak | ||
| PROTOCOL | ||
| pulseaudio-text.svg | ||
| pulseaudio.supp | ||
| pulseaudio.svg | ||
| PulseAudioConfig.cmake.in | ||
| PulseAudioConfigVersion.cmake.in | ||
| README | ||
| todo | ||
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
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/
SPELLING:
PulseAudio