Re: 96kHz 24bit WAV playback
John Stirling <[email protected]>
| Newsgroups | gmane.comp.multimedia.helix.devel |
|---|---|
| Message-ID | <[email protected]> |
Greg Wright wrote: > John Stirling wrote: >> Still stuck on this. Any help would be much appreciated. > > So, are you trying to find out why it stops, or do you know? I'm trying to find out. > In what way does the audio stop, does the device run dry, does > it rebuffer or what? > > I don't see any logs from between the renderer and the physical > hardware, do you have data making it that far, to Write()? At the start of the log there is - audlinux_oss.cpp:_WriteBytes l=19200 real=19200 rep=19200 t=1363200 which is the last call to _WriteBytes I see After that the renderer receives several more packets and writes those to audio service but eventually wvffplin stops receiving GetPacket() requests. I can't see why these are stopping. I'll send you a more detailed log direct. > > --greg. > > >> >> >> John Stirling wrote: >>> Back on 24/96 again... >>> >>> With the audio device refusing to open in 24 bit mode, we've got it >>> as far as thinking it's playing (GetPacket/OnPacket activity for >>> correct length of time, but no audio output) >>> Device opens as follows: >>> Device Configured: >>> Sample Rate: 96000 >>> Sample Width: 8 [faked=AFMT_U8 actual=AFMT_U8] >>> Num channels: 2 >>> Block size: 19200 >>> Device buffer size: 32768 >>> >>> When we then enable the audio device to accept 24 bits per sample it >>> does the same thing, but something goes wrong after about 5 seconds >>> (stop seeing any GetPacket/OnPacket debug) >>> Device opens as follows: >>> Device Configured: >>> Sample Rate: 96000 >>> Sample Width: 24 [faked=AFMT_S24_LE actual=AFMT_S16_LE] >>> Num channels: 2 >>> Block size: 19200 >>> Device buffer size: 65536 >>> >>> In the trace below it looks to me that everything is working as >>> expected up until the point it stops. Can anyone give me some >>> pointers - what might be going wrong, where to add debug etc. >>> >>> audrend.cpp:OnPacket to=0 t=5620 s=11520 >>> audlinux_oss.cpp:_WriteBytes l=19200 real=19200 rep=19200 t=1363200 >>> audrend.cpp:DoAudio IN >>> audrend.cpp:WriteToAudioServices s=11520 >>> audrend.cpp:WriteToAudioServices OK t=5620 >>> audrend.cpp:WriteToAudioServices s=11520 >>> audrend.cpp:WriteToAudioServices OK t=5640 >>> audrend.cpp:DoAudio OUT >>> wvffplin.cpp:GetPacket >>> wvffplin.cpp:RIFFReadDone s=11520 st=5 283 >>> audrend.cpp:OnPacket to=0 t=5640 s=11520 >>> audrend.cpp:DoAudio IN >>> audrend.cpp:WriteToAudioServices s=11520 >>> audrend.cpp:WriteToAudioServices OK t=5660 >>> audrend.cpp:DoAudio OUT >>> wvffplin.cpp:GetPacket >>> wvffplin.cpp:RIFFReadDone s=11520 st=5 284 >>> wvffplin.cpp:GetPacket >>> wvffplin.cpp:RIFFReadDone s=11520 st=5 285 >>> audrend.cpp:OnPacket to=0 t=5660 s=11520 >>> audrend.cpp:OnPacket to=0 t=5680 s=11520 >>> audrend.cpp:DoAudio IN >>> audrend.cpp:WriteToAudioServices s=11520 >>> audrend.cpp:WriteToAudioServices OK t=5680 >>> audrend.cpp:WriteToAudioServices s=11520 >>> audrend.cpp:WriteToAudioServices OK t=5700 >>> audrend.cpp:DoAudio OUT >>> audlinux_oss.cpp:_WriteBytes l=19200 real=19200 rep=19200 t=1382400 >>> audrend.cpp:DoAudio IN >>> audrend.cpp:DoAudio OUT >>> wvffplin.cpp:GetPacket >>> wvffplin.cpp:RIFFReadDone s=11520 st=5 286 >>> audrend.cpp:OnPacket to=0 t=5700 s=11520 >>> audrend.cpp:DoAudio IN >>> audrend.cpp:WriteToAudioServices s=11520 >>> audrend.cpp:WriteToAudioServices OK t=5720 >>> audrend.cpp:DoAudio OUT >>> audrend.cpp:DoAudio IN >>> audrend.cpp:DoAudio OUT >