Any thoughts!

> _____________________________________________ 
> From:         Srivastava Asheesh (EXT-Infovision-MSW/Dallas)  
> Sent: Wednesday, October 29, 2008 4:05 PM
> To:   '[email protected]'; '[EMAIL PROTECTED]'
> Subject:      Query on CR-Client: Audio Stream rework for SMIL
> operation
> 
> Hi
> 
> I have a doubt on function HX_RESULT
> CHXAudioSession::Resume(CHXAudioPlayer* pPlayerToExclude, HXBOOL
> bRewindNeeded) [which is part of above mentioned CR], where
> RewindSession.function is called even when we don't have
> HELIX_FEATURE_AUDIO_MULTIPLAYER_PAUSE flag enabled.
> 
> HX_RESULT CHXAudioSession::Resume(CHXAudioPlayer* pPlayerToExclude,
> HXBOOL bRewindNeeded)
> {
>     HXLOGL3(HXLOG_ADEV, "CHXAudioSession[%p]::Resume(): player [%p]",
> this, pPlayerToExclude);
> 
>     HX_RESULT theErr = HXR_OK;
> 
>     if ((m_bPaused || m_bStoppedDuringPause) &&
>         (!m_pLastPausedPlayer || (m_pLastPausedPlayer ==
> pPlayerToExclude)))
>     {
>       if (bRewindNeeded)
>       {
>           RewindSession();
>       }
>         theErr = ActualResume();
>     }
> #ifdef HELIX_FEATURE_AUDIO_MULTIPLAYER_PAUSE
>     /*
>      * we need to re-mix to start the newly resumed player instantly
>      * and not delay it by pushdown
>      */
>     else if (!GetDisableMultiPlayPauseSupport() &&
>              (NumberOfResumedPlayers() > 1 ||
>               (m_pLastPausedPlayer && m_pLastPausedPlayer !=
> pPlayerToExclude)))
>     {
>       if (bRewindNeeded)
>       {
>           RewindSession();
>       }
>         theErr = ActualResume();
>     }
> #endif
> 
>     return theErr;
> }
> 
> 
> If we go back to Cayenne branch, we don't have this [RewindSession]
> call. 
> 
> HX_RESULT CHXAudioSession::Resume(CHXAudioPlayer* pPlayerToExclude)
> {
>     HXLOGL3(HXLOG_ADEV, "CHXAudioSession[%p]::Pause(): exclude player
> [%p]", this, pPlayerToExclude);
> 
>     HX_RESULT theErr = HXR_OK;
> 
>     if ((m_bPaused || m_bStoppedDuringPause) &&
>         (!m_pLastPausedPlayer || (m_pLastPausedPlayer ==
> pPlayerToExclude)))
>     {
>         theErr = ActualResume();
>     }
> #ifdef HELIX_FEATURE_AUDIO_MULTIPLAYER_PAUSE
>     /*
>      * we need to re-mix to start the newly resumed player instantly
>      * and not delay it by pushdown
>      */
>     else if (!GetDisableMultiPlayPauseSupport() &&
>              (NumberOfResumedPlayers() > 1 ||
>               (m_pLastPausedPlayer && m_pLastPausedPlayer !=
> pPlayerToExclude)))
>     {
>         RewindSession(pPlayerToExclude);
>         theErr = ActualResume();
>     }
> #endif
> 
>     return theErr;
> }
> 
> 
> If DSP decoder is used then while calling CHXAudioSession::Resume,
> bRewindNeeded gets enabled and that leads call to RewindSession, which
> empties the buffer list and that inturn adds filler (silence) frames
> to the audio device and audio play-back gets stuck.
> 
> When I comment out call to RewindSession, audio play-back works fine.
> So, my question is, do we need to rewind the session, even when we
> don't have HELIX_FEATURE_AUDIO_MULTIPLAYER_PAUSE flag enabled?
> 
> Regadrs
> Asheesh
> 
> 
_______________________________________________
Audio-dev mailing list
[email protected]
http://lists.helixcommunity.org/mailman/listinfo/audio-dev

Reply via email to