6a47fb00ad
JS: fix stereo AudioData channel copy — frame.copyTo with planeIndex:0 only fills the left plane; reading it as interleaved data caused every other sample to be zero, making WFM stereo play at half speed. Now calls copyTo per channel with the correct planeIndex. Rust WFM: replace integer output_decim/output_counter in WfmStereoDecoder with a fractional phase accumulator (output_phase_inc = audio_rate / composite_rate). Integer division caused the effective output rate to drift from audio_sample_rate when the SDR rate is not an exact multiple (e.g. 2 MHz SDR → 250 kHz composite → ~50 kHz output instead of 48 kHz, making audio play 4% slow). Rust non-WFM: add resample_phase/resample_phase_inc to ChannelDsp and use a fractional-phase resampler in process_block for non-WFM paths, ensuring exactly audio_sample_rate samples/sec regardless of SDR rate. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Stan Grams <sjg@haxx.space>