CNA-VGAP-035: DynamicSoundEffectInstance's PendingBufferCount accounting is untested when the stream resamples
Evidence basis: source-verified at the pinned commit; tests exist (not executed for this page). Claims on this page were checked by reading the CNA source at commit 009d40f5; unless a sentence says otherwise, nothing here was built or executed. Nothing on this page was executed unless the Evidence section says so.
PendingBufferCount compares submitted chunk sizes with the stream's queued-byte count; every test uses a 44,100 Hz source matching the mixer, so the accounting under rate or format conversion is unestablished.
- Identifier
CNA-VGAP-035- Category
- Verification gap
- Subsystem
- Testing & evidence
- Status
- Open
- Verified against
- CNA
009d40f5(009d40f5dd085c4e674d3479675fac84b12b3e0a) - Evidence basis
- Source-verified: read at TARGET, not executed
- Tests touching this area
- Yes: see Current tests
- Affected contract
- DynamicSoundEffectInstance::getPendingBufferCountProperty() and the BufferNeeded event
Expected behaviour
PendingBufferCount and BufferNeeded drive every streaming producer; they must be right for any sample rate XNA accepts (8,000–48,000 Hz).
Actual behaviour at TARGET
The consumption loop in DynamicSoundEffectInstance.cpp pops a submitted chunk once total - GetMixerStreamQueuedBytes(stream) covers its size, which is correct only if the queued count is in the units submitted. DynamicSoundEffectInstanceTests.cpp constructs its instances at 44,100 Hz (the other rates appear only in construction-range checks), so no test exercises a converting stream.
Source locations
modules/audio/src/Xna/DynamicSoundEffectInstance.cpp— Update: consumed-bytes accounting against GetMixerStreamQueuedBytesmodules/audio/tests/Microsoft/Xna/Framework/Audio/DynamicSoundEffectInstanceTests.cpp— fixtures at 44,100 Hz
Evidence
Checked by reading at 009d40f5; not executed.
Focused reproduction
No focused reproduction is known. Nothing has been invented here; the evidence above is what exists.
Current tests
Pending-count tests at the mixer's rate (PendingBufferCountAccumulatesAcrossMultipleSubmits and others).
Regression test
The pending-count tests repeated at 22,050 and 48,000 Hz, mono and stereo, on each audio backend.
Blast radius
Evidence only; streaming producers at other rates could over- or under-feed.
Workaround
No workaround is known.
Related pages
The same subject is explained at several altitudes. These are the neighbouring pages at each one.
- User guide
- Audio: overview
- Known issues
- Verification gap index