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 + -
显示快捷键?