[Helix-client-dev] HELIX_FEATURE_AUTOUPGRADE - What's it for?
Eric Hyche ehyche at real.comDave, HELIX_FEATURE_AUTOUPGRADE enables sections of code that allow the media engine to communicate to the top-level client that some components needed for playback are either: a) missing; or b) need to be upgraded. For instance, if a clip required a certain codec and it wasn't present, then the renderer would populate IHXUpgradeCollection and then return an error in IHXRenderer::OnHeader(). This informs the media engine what component is missing. However, from the section of code that you are at, it looks like there is a component missing in your build. If you look at the contents of IHXUpgradeCollection, it should give you a little information as to what component is can't find. What kind of clip are you trying to play? Eric ============================================= Eric Hyche (ehyche at real.com) Technical Lead RealNetworks, Inc. > -----Original Message----- > From: helix-client-dev-bounces at helixcommunity.org > [mailto:helix-client-dev-bounces at helixcommunity.org] On > Behalf Of Dave Jappy > Sent: Wednesday, January 03, 2007 8:56 AM > To: helix-client-dev at helixcommunity.org > Subject: [Helix-client-dev] HELIX_FEATURE_AUTOUPGRADE - What's it for? > > Can anyone advise me on the following please? > > > > What does the #define of HELIX_FEATURE_AUTOUPGRADE do? > > What problems might be caused by removing it? > > > > I'm getting problems in HXPlayer::ProcessIdle trying to play > a stream with the following code - I'm always hitting the > HXR_MISSING_COMPONENTS code below:- > > > > if(m_pUpgradeCollection && > m_pUpgradeCollection->GetCount() > 0 && !m_pEngine->AtInterruptTime()) > > { > > // Request an upgrade > > IHXUpgradeHandler* pUpgradeHandler = NULL; > > if(m_pClient) > > m_pClient->QueryInterface(IID_IHXUpgradeHandler, > (void**)&pUpgradeHandler); > > if(!pUpgradeHandler) > > { > > // In case of clients with no IHXUpgradeHandler support > > // just remove all the upgrade collectopn components > > m_pUpgradeCollection->RemoveAll(); > > theErr = HXR_MISSING_COMPONENTS; > > > > Regards, > > Dave Jappy > > Frontier Silicon > >