From: Matthew C. <mc...@no...> - 2008-04-29 20:27:37
|
On Mon, 2008-04-28 at 23:40 -0400, Peter Grayson wrote: > > Okay, I've found the source of the problem. In audio_portaudio.c, the > > framesPerBuffer parameter in calls to Pa_OpenStream() was changed from > > paFramesPerBufferUnspecified to SAMPLES_PER_FRAME. When I changed it > > back to the old value, audio sounds okay. For whatever reason, the new > > value causes very choppy audio playback in SuSE Linux. > > Ah ha. I believe it. > > > I suspect that we will need the fixed value of SAMPLES_PER_FRAME in > > order for echo cancellation to work, though, huh? :-) > > I think given the way the echo cancellation is currently implemented > that yes, this is true. However, I think a different echo cancellation > implementation that avoids doing sketchy things like fixing the > samples (frames) per buffer to inappropriate values is certainly > possible. I wish I had the bandwidth to address this right now, but I > do not. Maybe someone else out there would like to take a cut at this > one? > > Pete Good news: For some reason, playback sounds fine with the fixed samples per buffer when using the ALSA version of PortAudio. The problems with using the fixed samples per buffer appears to be limited to PortAudio OSS. This is all very strange. The reason I started using OSS instead of ALSA was because both iaxclient (using the old paFramesPerBufferUnspecified parameter) and the PortAudio test programs had choppy playback when using ALSA! :-) Next... testing echo cancellation! -Matt |