]> code.delx.au - pulseaudio/commit
RTP segfault/uninitialized resampler
authorErich Boleyn <erich@uruk.org>
Fri, 6 Feb 2009 01:11:07 +0000 (02:11 +0100)
committerLennart Poettering <lennart@poettering.net>
Fri, 6 Feb 2009 01:12:20 +0000 (02:12 +0100)
commit64926ff6b3c13d75731f19d36bc056dda1c49deb
tree577a5c72be0488e60f33dc8f4b47f65cf64df2f5
parent6bb2c49057338fc88fd3846b34911878aec65b12
RTP segfault/uninitialized resampler

Erich Boleyn <erich@uruk.org> wrote:

> Using RTP for multi-room music streaming, updated to Pulse 0.9.14 from
> 0.9.9, RTP reception new crashes with a segfault on all machines at
> the first "Updating sample rate" log message.
>
> Source of the segfault appears to be null pointer for
> "impl_update_rates" function in resampler routine, perhaps
> uninitialized resamplers in general?

A fresh look after work made the resampler initialization code pop out.

The problem is in the sink connection being made from
"module-rtp-recv.c", the "PA_SINK_INPUT_VARIABLE_RATE" flag should be
passed into "pa_sink_input_new", but is not there.  Made the change and
tested it, fixes the problem.  Checked and head-of- tree off of the
pulseaudio.org source browsing link does not have this fix either.

One-liner patch attached.
src/modules/rtp/module-rtp-recv.c