CNA-VGAP-035: DynamicSoundEffectInstance's PendingBufferCount accounting is untested when the stream resamples

CNA snapshot 009d40f5  ·  Known Issues › Verification gaps  ·  source links pinned to 009d40f5

✓

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

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.

The same subject is explained at several altitudes. These are the neighbouring pages at each one.

User guide
Audio: overview