So I'm having this weird buffering problem. Here is the prequel to destruction:
I'm starting streaming playback with my symbian phone, example from my own server. Initial Buffering goes OK playback starts, because of configuration this happens almost instantly. (This wont happen if there is enough bandwidth, ex wlan in use) Anyways audio is saying that it is going to underflow, helix will start accelerated event delivery and sets REBUFFER_WARNING on. - Eventually CHXAudioSession::GoingToUnderflow will return TRUE because nBlocksRemaining will be less than m_ulMinBlocksTobeQueuedAtStart. - It stops accelerated event delivery. - HxFeedbackbufferControl Changes state to Rebuffering - REBUFFER_REQUIRED is set to the rebufferstatus. - AudioRenderer says StartRebuffering. It will buffer both audio and video buffers 100% (GetPercentDone returns 100) Now engine should change state back to play and resumeaudio, however something goes wrong. Playback is never resumed, There will be no other messages from AudioRenderer (ex. EndBuffering etc), There will never be HXFeedbackBufferControl::OnBufferingDone() , it will never set m_rebufferStatus back to REBUFFER_NONE. Piece of log: [16:55:31.282] xti1:MCU_ASCII_PRINTF; channel:0xE0; msg:TRAN¿565155¿0512¿HXSource::IsRebufferDone() called, m_rebufferStatus = 2| (REBUFFER_REQUIRED) [16:55:31.282] xti1:MCU_ASCII_PRINTF; channel:0xE0; msg:TRAN¿565156¿0512¿Check that streams are done with rebuffering, stream 0 status: m_unNeeded (0) m_unAvailable (0)| (Video) [16:55:31.282] xti1:MCU_ASCII_PRINTF; channel:0xE0; msg:TRAN¿565156¿0512¿Check that streams are done with rebuffering, stream 1 status: m_unNeeded (1) m_unAvailable (0)| (Audio) [16:55:31.282] xti1:MCU_ASCII_PRINTF; channel:0xE0; msg:BUFF¿565157¿0512¿HXNetSource::IsRebufferDone = FALSE [16:55:31.297] xti1:MCU_ASCII_PRINTF; channel:0xE0; msg:BUFF¿565158¿0512¿HXNetSource::GetStatus, status at exit: m_rebufferStatus 2, statusCode 4, uStatusCode 2, m_uLastStatusCode 2| [16:55:31.360] xti1:MCU_ASCII_PRINTF; channel:0xE0; msg:CORE¿565236¿0512¿HXBufferingState[video/MP4V-ES-0x16aa058]::GetPercentDone() return 100| [16:55:31.375] xti1:MCU_ASCII_PRINTF; channel:0xE0; msg:CORE¿565237¿0512¿HXBufferingState[audio/AMR-WB-0x16aa360]::GetPercentDone() return 100| It loops above until timeout. Any idea what could cause the problem? I Think that for some reason audio side is not reporting that buffering is complete, and thats why engine stays in indefinite buffering mode.. What could cause above? but i'm 100% sure that what ever it is, it is because of audio side. Best Regards, Jussi
_______________________________________________ Audio-dev mailing list Audio-dev@helixcommunity.org http://lists.helixcommunity.org/mailman/listinfo/audio-dev