96khz 24bit .wav playback

John Stirling <[email protected]>
Newsgroups gmane.comp.multimedia.helix.devel
Message-ID <[email protected]>
We've made some changes to enabled 24bit 96khz .wav playback and are 
having a few issues getting audio to play.

Everything looks ok until it gets to audio services - the correct data 
is getting submitted but it's wrong by the time it gets to the audio device.

Before we debug in detail can someone confirm if the following sounds 
correct

. to accommodate 24 bit samples - need to undefine 
HELIX_FEATURE_16BIT_MIXENGINE so that tAudioSample is defined as - INT32 
tAudioSample
. mixengine.h - need to add cvt24 to handle the copy from the packed 
input data to the mixengine buffers
. hxaudses.cpp->PlayAudio - this calls hxaudstr_new.cpp->MixIntoBuffer 
which calls mixengine->MixIntoBuffer which calls 
hxaudstr_new.cpp->ConvertIntoBuffer. This should then result in an audio 
buffer with 24 bit samples stored as INT32, with the least significant 
byte to be ignored
. this buffer is then written to the audio device via 
hxaudev.cpp->Write. The audio device will need to strip out the extra 
byte (or extra 2 bytes if audio data is 16 bit)

Note we don't need any resampling or processing on the audio data - it 
just needs to go straight through to the audio device.

John
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.