wmaud_ty.h

来自「ESS3890+SL原代码(1*16内存)」· C头文件 代码 · 共 175 行

H
175
字号
/* Copyright 1997, ESS Technology, Inc.                                 *//* SCCSID @(#)wmaud_ty.h	1.1 01/23/02 *//* Based on DVD code version  	1.16 10/12/01 */#ifndef _WMAUDIO_IMPL_H_#define _WMAUDIO_IMPL_H_#include "wmaerr.h"#include "wmatypes.h"#include "wmaudio.h"#define MIN_OBJECT_SIZE     24#define DATA_OBJECT_SIZE    50/* parser state  */typedef enum{    csWMA_NotValid = 0,    csWMA_HeaderStart,    csWMA_HeaderError,    csWMA_NewAsfPacket,    /* packet parsing states */    csWMA_DecodePayloadStart,    csWMA_DecodePayload,    csWMA_DecodePayloadHeader,    csWMA_DecodeLoopStart,    csWMA_DecodePayloadEnd,    csWMA_DecodeCompressedPayload,    csWMA_End_} tWMAParseState;/* internal structure for the ASF header parsing */typedef struct tagWMAFileHdrStateInternal{    DWORD currPacketOffset;     /* not just for packets */    DWORD nextPacketOffset;    /* ASF header */    DWORD   cbHeader;    DWORD   cbPacketSize;    DWORD   cbAudioSize;    DWORD   cPackets;    DWORD   msDuration;    DWORD   msPreroll;    DWORD   cbFirstPacketOffset;    DWORD   cbLastPacketOffset;    /* audio prop */    DWORD   nSamplesPerSec;    DWORD   nAvgBytesPerSec;    DWORD   nBlockAlign;    DWORD   nSamplesPerBlock;    DWORD    nVersion;    DWORD    nChannels;    DWORD    nEncodeOpt;#if 1    /* DRM */    BYTE    pbSecretData[32];#endif    DWORD   cbSecretData;#if 1    BYTE    pbType[16];    BYTE    pbKeyID[32];#endif    /* Content Description */    DWORD   cbCDOffset;    DWORD    cbCDTitle;    DWORD    cbCDAuthor;    DWORD    cbCDCopyright;    DWORD    cbCDDescription;    DWORD    cbCDRating;#if 1    /* Extended Content Description */    tWMAExtendedContentDesc m_pECDesc;#endif    /* Marker */    DWORD   m_dwMarkerNum;#if 0    MarkerEntry *m_pMarker;#endif#if 0    /* License Store */    BYTE   *m_pLicData;#endif    DWORD   m_dwLicenseLen;/* Members added by Amit  */    DWORD	wAudioStreamId;} tWMAFileHdrStateInternal;/* internal structure for the WMAudio library state */typedef struct tagWMAFileStateInternal{    tWMAFileHdrStateInternal hdr_parse;    /* parse_state */        tWMAParseState parse_state;    /* payload parsing */    DWORD cbPayloadOffset;    DWORD cbPayloadLeft;    BOOL1  bBlockStart;    DWORD cbBlockLeft;    /* packet parsing */    PACKET_PARSE_INFO_EX ppex;    PAYLOAD_MAP_ENTRY_EX payload;    DWORD iPayload;    WORD wPayStart;    /* other states */    BOOL1    bHasDRM;#if 0    DWORD   nSampleCount;    /* objects */    WMARawDecHandle hWMA;#endif	BYTE bDecInWaitState;	BYTE bAllFramesDone;	BYTE bFirst;#if 0    BYTE *pCallBackBuffer;#endif} tWMAFileStateInternal;/* ASF parsing functions */#if 0/* use (only) for reading possibly large chunk */DWORD WMA_GetBuffer(tWMAFileStateInternal *pInt,                    DWORD cbOffset, DWORD cbWanted, BYTE *pBuffer);#endifvoid WMA_LoadObjectHeader(tWMAFileHdrStateInternal *pInt);WMAERR WMA_LoadHeaderObject(tWMAFileHdrStateInternal *pInt);WMAERR WMA_LoadPropertiesObject(tWMAFileHdrStateInternal *pInt, int cbSize);WMAERR WMA_LoadAudioObject(tWMAFileHdrStateInternal *pInt, DWORD cbSize);WMAERR WMA_LoadEncryptionObject(tWMAFileHdrStateInternal *pInt, DWORD cbSize);WMAERR WMA_LoadContentDescriptionObject(tWMAFileHdrStateInternal *pInt, DWORD cbSize);WMAERR WMA_LoadExtendedContentDescObject(tWMAFileHdrStateInternal *pInt, DWORD cbSize);WMAERR WMA_LoadScriptCommandObject( tWMAFileHdrStateInternal *pInt, int cbSize);#if 0WMAERR WMA_ParseAsfHeader(tWMAFileHdrStateInternal *pInt, int isFull);WMAERR WMA_ParsePacketHeader(tWMAFileStateInternal *pInt);WMAERR WMA_ParsePayloadHeader(tWMAFileStateInternal *pInt);WMAERR WMA_GetMarkerObject(tWMAFileHdrStateInternal *pInt, int k);#endif /* if 0 */#endif /* _WMAUDIO_IMPL_H_ */

⌨️ 快捷键说明

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