We're seeing an effect I can't explain.
I wrote a simple virtual audio driver based on MSVAD. The fake speaker
feeds into a FIFO to be read by an app, and the fake microphone reads
from another FIFO fed from an app.
In one of our initial tests, we open the fake speaker at 48000-S-16 in
exclusive mode, feed in a repeating ramp from -32768 to 32767, and read
it back from the FIFO. What we're finding is that the FIFO results are
not identical to the input ramp. There are seemingly random variations
in the low couple of bits, with a bit of clipping at the top end. The
fuzz in the two channels is not identical.
This surprises me. I would have expected simple passthrough. Even if
the audio were being passed through an integer-to-float-to-integer
conversion, the two channels should still have remained identical. Then
I had a horrible thought. This driver does not have the "trusted audio
source" signature. Is it possible that the audio engine is
intentionally fuzzing the low order bits of my speaker output for DRM
purposes, to discourage digitally-accurate capture of generated audio?
Tim Roberts, timr@xxxxxxxxx
Providenza & Boekelheide, Inc.
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
URL to WDMAUDIODEV page: