Request for review 7124225: [macosx] Input lines support only current sample rate
Alex Strange
astrange at apple.com
Wed Feb 1 22:15:17 PST 2012
On Jan 31, 2012, at 5:03 AM, Alex Menkov <alexey.menkov at oracle.com> wrote:
> Hi all,
>
> Please review a fix for http://bugs.sun.com/view_bug.do?bug_id=7124225
> webrev: http://cr.openjdk.java.net/~amenkov/7124225/webrev.00/
>
> Summary of the changes: implemented resampler for TargetDataLine using AudioToolbox/AudioConverter (used only if requested sample rate does not match current device sample rate).
>
> regards
> Alex
Looks ok except for two minor issues:
> + if (ABS(sampleRate - hardwareSampleRate) > 1) {
> + device->resampler = new Resampler();
> +
You could use fabs() here and not have to define ABS().
> + if (!isSource) {
> + // for target lines we should ensure that sampleRate == current device sample rate
> + // (othewise we get error -10863 (kAudioUnitErr_CannotDoInCurrentContext in AUComponent.h)
> + // from AudioUnitRender(in InputCallback))
I think this comment is unnecessary now (there's also a spelling error).
Did you see any timestamp discontinuities in the input? I can understand it skipping some times, but not sure what could make it go backwards.
More information about the macosx-port-dev
mailing list