WinRT TTS: Improve AudioSource buffer management


Replace the raw byte pointer + m_bufferOffset approach with a
QSpan<const char> member that is shrunk as data is consumed.
This removes m_bufferOffset, m_riffHeaderChecked, and the
bufferByteAccess::Buffer() call on every readData invocation.

The RIFF header skip moves into BytesReadyHandler Invoke, using
m_bytesRead == 0 as a natural first-buffer guard.

Fix a bug where the byte-position pause path added a spurious +44
(a stale WaveHeaderLength constant) to the truncation point,
overshooting the requested pause boundary by ~1.4 ms.

Pick-to: 6.12
Change-Id: I9b67841a686bf353b839cbe41015835a91272544
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
commitd5aa13e73726c3484b9721d10b3c762d1f6176db
parent650f07535fe7961fdc8b2e0c150901804f46fa56
authorTim Blechmann <tim@klingt.org>
committerTim Blechmann <tim@klingt.org>
commit timeFri, 10 Jul 2026 09:18:29 +0000