wirefmgr.h

来自「symbian 下的helix player源代码」· C头文件 代码 · 共 298 行 · 第 1/2 页

H
298
字号

    void           SetBackgroundColor(BYTE ucRed, BYTE ucGreen, BYTE ucBlue);
    void           SetBackgroundColor(UINT32 ulColor);
    void           GetBackgroundColor(REF(BYTE) rucRed, REF(BYTE) rucGreen, REF(BYTE) rucBlue) const;
    UINT32         GetBackgroundColor() const;

    void           SetBackgroundOpacity(UINT32 ulOpacity) { m_ulBackgroundOpacity = (ulOpacity > 255 ? 255 : ulOpacity); }
    UINT32         GetBackgroundOpacity() const           { return m_ulBackgroundOpacity;                                }

    void           SetRealPixAdsFlag(BOOL bFlag);
    BOOL           GetRealPixAdsFlag() const;
    void           SetRPACachingAdFlag(BOOL bFlag);
    BOOL           GetRPACachingAdFlag() const;

    void           SetLiveRealPixFlag(BOOL bFlag);
    BOOL           GetLiveRealPixAds() const;

    HX_RESULT      SetASMRuleBook(const char* pszRuleBook);
    HX_RESULT      SetASMRuleBook(IHXBuffer* pRuleBookStr);
    HX_RESULT      GetASMRuleBook(REF(IHXBuffer*) rpRuleBookStr);

    HX_RESULT      SetStreamMimeType(const char* pszMime);
    HX_RESULT      SetStreamMimeType(IHXBuffer* pMimeStr);
    HX_RESULT      GetStreamMimeType(REF(IHXBuffer*) rpMimeStr);

    HX_RESULT      AddCodecMime(const char* pszMime)    { return AddStringToList(pszMime,  m_pCodecMimeList);           }
    HX_RESULT      AddCodecMime(IHXBuffer* pMimeStr)   { return AddStringToList(pMimeStr, m_pCodecMimeList);           }
    UINT32         GetNumCodecMimes() const;
    HX_RESULT      GetFirstCodecMime(IHXBuffer** ppBuffer) { return GetFirstString(m_pCodecListPos, m_pCodecMimeList, ppBuffer); }
    HX_RESULT      GetNextCodecMime(IHXBuffer** ppBuffer)  { return GetNextString(m_pCodecListPos, m_pCodecMimeList, ppBuffer);  }

    HX_RESULT      AddFXPackageMime(const char* pszMime)  { return AddStringToList(pszMime,  m_pFXPackageMimeList); }
    HX_RESULT      AddFXPackageMime(IHXBuffer* pMimeStr) { return AddStringToList(pMimeStr, m_pFXPackageMimeList); }
    UINT32         GetNumFXPackageMimes() const;
    HX_RESULT      GetFirstFXPackageMime(IHXBuffer** ppBuffer) { return GetFirstString(m_pFXPackageListPos, m_pFXPackageMimeList, ppBuffer); }
    HX_RESULT      GetNextFXPackageMime(IHXBuffer** ppBuffer)  { return GetNextString(m_pFXPackageListPos, m_pFXPackageMimeList, ppBuffer); }

    HX_RESULT      GetFileHeader(REF(IHXValues*) rpFileHeader, const char* pszAcceptMetaInfo = NULL);
    HX_RESULT      GetStreamHeader(REF(IHXValues*) rpStreamHeader);
    HX_RESULT      OnHeader(IHXValues* pHeader);

    HX_RESULT      GetPacketType(IHXPacket* pPacket, REF(UINT32) rulType);
    HX_RESULT      GetImageHeaderInfo(IHXPacket* pPacket, REF(UINT32) rulHandle, REF(UINT32) rulFileLength,
                                      REF(UINT32) rulFlags, IHXBuffer** ppMimeStr, REF(UINT32) rulOpaqueSize);
    HX_RESULT      SetImageHeaderInfo(UINT32 ulHandle, UINT32 ulFileLength, UINT32 ulFlags,
                                      const char* pszMime, UINT32 ulTimeStamp, REF(IHXPacket*) rpPacket);
    HX_RESULT      SetImageHeaderInfo(UINT32 ulHandle, UINT32 ulFileLength, UINT32 ulFlags,
                                      IHXBuffer* pMimeStr, UINT32 ulTimeStamp, REF(IHXPacket*) rpPacket);
    HX_RESULT      GetImageDataHandle(IHXPacket* pPacket, REF(UINT32) rulHandle);
    HX_RESULT      GetImageDataInfo(IHXPacket* pPacket, UINT32 ulOpaqueSize,
                                    REF(IHXBuffer*) rpOpaque, REF(IHXBuffer*) rpData);
    HX_RESULT      SetImageDataInfo(UINT32 ulHandle, IHXBuffer* pData, IHXBuffer* pOpaque,
                                    UINT32 ulPacketIndex, UINT32 ulTimeStamp, BOOL bRequired,
                                    REF(IHXPacket*) rpPacket);
    HX_RESULT      GetEffectType(IHXPacket* pPacket, REF(UINT32) rulType);
    HX_RESULT      GetEffectInfo(IHXPacket* pPacket, PXEffect** ppEffect);
    HX_RESULT      SetEffectInfo(PXEffect* pEffect, UINT32 ulTimeStamp, REF(IHXPacket*) rpPacket);
    HX_RESULT      SetEffectPacketParameters(IHXPacket* pPacket, UINT32 ulEffectType,
                                             UINT32 ulStart, UINT32 ulDuration);
    HX_RESULT      SetCookieInfo(UINT32 ulNumCookies, IHXBuffer** ppURL, IHXBuffer** ppCookie,
                                 UINT32 ulTimeStamp, REF(IHXPacket*) rpPacket);
    HX_RESULT      GetNumCookies(IHXPacket* pPacket, REF(UINT32) rulNumCookies);
    HX_RESULT      GetCookie(IHXPacket* pPacket, UINT32 ulIndex,
                             REF(IHXBuffer*) rpURL, REF(IHXBuffer*) rpBuffer);
    HX_RESULT      SetNoOpInfo(UINT32 ulSize, UINT32 ulTimeStamp, REF(IHXPacket*) rpPacket);
    HX_RESULT      GetBackChannelInfo(IHXPacket* pPacket, REF(UINT32) rulHandle, REF(UINT32) rulTimeStopped);
    HX_RESULT      SetBackChannelInfo(UINT32 ulHandle, UINT32 ulTimeStopped, REF(IHXPacket*) rpPacket);
    UINT32         GetEffectWireSize(PXEffect* pEffect);
    UINT32         GetImageWireSize(IHXBuffer* pStreamMimeStr, UINT32 ulImageFileSize);

    static UINT32  GetPacketSize(IHXPacket* pPacket);
    static UINT32  UnPackUINT32(REF(BYTE*) rpBuffer);
    static UINT32  UnPackUINT16(REF(BYTE*) rpBuffer);
    static UINT32  UnPackBYTE(REF(BYTE*) rpBuffer);
    static UINT32  UnPackUINT32_LE(REF(BYTE*) rpBuffer);
    static UINT32  UnPackUINT16_LE(REF(BYTE*) rpBuffer);
    static UINT32  UnPackVUINT(REF(BYTE*) rpBuffer);
    static void    PackUINT32(REF(BYTE*) rpBuffer, UINT32 ulValue);
    static void    PackUINT16(REF(BYTE*) rpBuffer, UINT32 ulValue);
    static void    PackBYTE(REF(BYTE*) rpBuffer,   UINT32 ulValue);
    static void    PackVUINT(REF(BYTE*) rpBuffer,  UINT32 ulValue);
    static UINT32  GetMask(UINT32 ulBitPos, UINT32 ulNumBits);
    static UINT32  GetUnsignedBits(REF(BYTE*) rpBuf, REF(UINT32) rulBitPos, UINT32 ulNumBits);
    static INT32   GetSignedBits(REF(BYTE*) rpBuf, REF(UINT32) rulBitPos, UINT32 ulNumBits);
protected:
    enum
    {
        kDefaultOpaqueSize      = 8,
        kIHXPacketOverhead     = 20,
        kMinImageDataPacketSize = 320,
        kRealPixAdsFlagMask     = 0x00000001,
        kRPACachingAdFlagMask   = 0x00000002,
        kLiveRealPixMask        = 0x00000004
    };

    INT32                   m_lRefCount;
    IUnknown*               m_pContext;
    IHXCommonClassFactory*  m_pCommonClassFactory;
    UINT32                  m_ulStreamVersion;
    IHXBuffer*              m_pTitleStr;
    IHXBuffer*              m_pAuthorStr;
    IHXBuffer*              m_pCopyrightStr;
    UINT32                  m_ulStart;
    UINT32                  m_ulDuration;
    BOOL                    m_bIsLive;
    BOOL                    m_bMinimizeLatency;
    UINT32                  m_ulPreroll;
    BOOL                    m_bPrerollAfterSeek;
    UINT32                  m_ulPreData;
    BOOL                    m_bPreDataAtStart;
    UINT32                  m_ulBitrate;
    UINT32                  m_ulDisplayWidth;
    UINT32                  m_ulDisplayHeight;
    BOOL                    m_bDefaultAspectFlag;
    IHXBuffer*              m_pDefaultURLStr;
    UINT32                  m_ulDefaultMaxFps;
    UINT32                  m_ulContentVersion;
    UINT32                  m_ulBackgroundColor; // 0x00RRGGBB
    UINT32                  m_ulBackgroundOpacity;
    CHXSimpleList*          m_pCodecMimeList;
    CHXSimpleList*          m_pFXPackageMimeList;
    CHXMapStringToOb*       m_pMapMimeToOpaqueSize;
    LISTPOSITION            m_pCodecListPos;
    LISTPOSITION            m_pFXPackageListPos;
    IHXBuffer*              m_pASMRuleBook;
    IHXBuffer*              m_pStreamMimeType;
    UINT32                  m_ulRendererFlags;

    static const UINT32     m_ulHighestSupportedStreamVersion;

    HX_RESULT AddStringToList(const char* pszStr, CHXSimpleList* pList);
    HX_RESULT AddStringToList(IHXBuffer* pBufferStr, CHXSimpleList* pList);
    HX_RESULT SetString(const char* pszStr, REF(IHXBuffer*) rpBufferStr);
    HX_RESULT SetString(IHXBuffer* pBuffer, REF(IHXBuffer*) rpBufferStr);
    HX_RESULT GetFirstString(REF(LISTPOSITION) rPos, CHXSimpleList* pList, IHXBuffer** ppBuffer);
    HX_RESULT GetNextString(REF(LISTPOSITION) rPos, CHXSimpleList* pList, IHXBuffer** ppBuffer);
    void      Deallocate();
    void      Reset();
    UINT32    GetOpaqueSize(const char* pszMimeType);
    void      ReleaseAllCodecMimes();
    void      ReleaseAllFXPackageMimes();
    UINT32    PackStreamHeader(BYTE*& rpBuf, BOOL bPack);
    void      AddMetaInfo(IHXValues* pAvailableMetaInfo,
                          const char* pszRequestedInfo,
                          IHXValues* pFileHeader);
};

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?