[hxdatatype] CR: MIN_HEAP change to audrend
Greg Wright gwright at real.com> Index: audrend.cpp
> @@ -407,15 +408,27 @@
>
> pSource->Release();
> }
> }
>
> + IHXAudioPushdown2 * pAudioPushdown2 = NULL;
> +
> // get interface to audio player
> if (m_pPlayer)
> {
> retVal = m_pPlayer->QueryInterface(IID_IHXAudioPlayer,
> (void**) &m_pAudioPlayer);
> +#ifdef HELIX_CONFIG_MIN_PCM_PUSHDOWN_BYTES
> + if( m_pAudioPlayer )
> + {
> + m_pAudioPlayer->QueryInterface(IID_IHXAudioPushdown2, (void**)
> &pAudioPushdown2);
> + if( pAudioPushdown2 )
> + {
> + pAudioPushdown2->SetAudioPushdown( MINIMAL_AUDIO_PUSHDOWN );
> + }
> + }
You need to Release pAudioPushdown2 somewhere.
> @@ -669,13 +695,16 @@
> }
>
> m_bProcessingPacket = TRUE;
> #endif /*_MACINTOSH*/
>
> +#if !defined(HELIX_CONFIG_MIN_PCM_PUSHDOWN_BYTES)
> // Write to AS
> UINT32 ulAudioTime;
> DoAudio(ulAudioTime);
> +#endif
It appears that in normal playback there are only 2 calls to
DoAudio(). The above one you are changing, in OnTimeSync(), and
one in OnPacket(). With this change it looks like we will
write audio data only as long as we are receiving packets.
Once we near the end of the clip and we stop getting packets
it looks like we could run dry and rebuffer. Is that not the
case?
--greg.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe at datatype.helixcommunity.org
For additional commands, e-mail: dev-help at datatype.helixcommunity.org