123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222 |
- /**
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is part of the mingw-w64 runtime package.
- * No warranty is given; refer to the file DISCLAIMER.PD within this package.
- */
- #include <mpeg2data.h>
- #include <mpeg2bits.h>
- #ifndef __INC_MPEG2STRUCTS__
- #define __INC_MPEG2STRUCTS__
- typedef enum _MPEG_CONTEXT_TYPE {
- MPEG_CONTEXT_BCS_DEMUX = 0,
- MPEG_CONTEXT_WINSOCK
- } MPEG_CONTEXT_TYPE;
- typedef enum _MPEG_CURRENT_NEXT_BIT {
- MPEG_SECTION_IS_NEXT = 0,
- MPEG_SECTION_IS_CURRENT = 1
- } MPEG_CURRENT_NEXT_BIT;
- typedef enum _MPEG_REQUEST_TYPE {
- MPEG_RQST_UNKNOWN = 0,
- MPEG_RQST_GET_SECTION,
- MPEG_RQST_GET_SECTION_ASYNC,
- MPEG_RQST_GET_TABLE,
- MPEG_RQST_GET_TABLE_ASYNC,
- MPEG_RQST_GET_SECTIONS_STREAM,
- MPEG_RQST_GET_PES_STREAM,
- MPEG_RQST_GET_TS_STREAM,
- MPEG_RQST_START_MPE_STREAM
- } MPEG_REQUEST_TYPE;
- typedef struct _DSMCC_ELEMENT {
- PID pid;
- BYTE bComponentTag;
- DWORD dwCarouselId;
- DWORD dwTransactionId;
- struct _DSMCC_ELEMENT *pNext;
- } DSMCC_ELEMENT, *PDSMCC_ELEMENT;
- typedef struct {
- WINBOOL fSpecifyProtocol;
- BYTE Protocol;
- WINBOOL fSpecifyType;
- BYTE Type;
- WINBOOL fSpecifyMessageId;
- WORD MessageId;
- WINBOOL fSpecifyTransactionId;
- WINBOOL fUseTrxIdMessageIdMask;
- DWORD TransactionId;
- WINBOOL fSpecifyModuleVersion;
- BYTE ModuleVersion;
- WINBOOL fSpecifyBlockNumber;
- WORD BlockNumber;
- WINBOOL fGetModuleCall;
- WORD NumberOfBlocksInModule;
- } DSMCC_FILTER_OPTIONS;
- typedef struct _MPEG_HEADER_BITS_MIDL {
- WORD Bits;
- } MPEG_HEADER_BITS_MIDL;
- typedef struct _MPEG_HEADER_VERSION_BITS_MIDL {
- BYTE Bits;
- } MPEG_HEADER_VERSION_BITS_MIDL;
- typedef struct _DSMCC_SECTION {
- TID TableId;
- __C89_NAMELESS union {
- MPEG_HEADER_BITS_MIDL S;
- WORD W;
- } Header;
- WORD TableIdExtension;
- __C89_NAMELESS union {
- MPEG_HEADER_VERSION_BITS_MIDL S;
- BYTE B;
- } Version;
- BYTE SectionNumber;
- BYTE LastSectionNumber;
- BYTE ProtocolDiscriminator;
- BYTE DsmccType;
- WORD MessageId;
- DWORD TransactionId;
- BYTE Reserved;
- BYTE AdaptationLength;
- WORD MessageLength;
- BYTE RemainingData[1];
- } DSMCC_SECTION, *PDSMCC_SECTION;
- typedef struct _DVB_EIT_FILTER_OPTIONS {
- WINBOOL fSpecifySegment;
- BYTE bSegment;
- } DVB_EIT_FILTER_OPTIONS, *PDVB_EIT_FILTER_OPTIONS;
- typedef struct {
- TID TableId;
- __C89_NAMELESS union {
- MPEG_HEADER_BITS_MIDL S;
- WORD W;
- } Header;
- WORD TableIdExtension;
- __C89_NAMELESS union {
- MPEG_HEADER_VERSION_BITS_MIDL S;
- BYTE B;
- } Version;
- BYTE SectionNumber;
- BYTE LastSectionNumber;
- BYTE RemainingData[1];
- } LONG_SECTION, *PLONG_SECTION;
- typedef struct _MPE_ELEMENT {
- PID pid;
- BYTE bComponentTag;
- struct _MPE_ELEMENT *pNext;
- } MPE_ELEMENT, *PMPE_ELEMENT;
- typedef struct _MPEG2_FILTER {
- BYTE bVersionNumber;
- WORD wFilterSize;
- WINBOOL fUseRawFilteringBits;
- BYTE Filter[16];
- BYTE Mask[16];
- WINBOOL fSpecifyTableIdExtension;
- WORD TableIdExtension;
- WINBOOL fSpecifyVersion;
- BYTE Version;
- WINBOOL fSpecifySectionNumber;
- BYTE SectionNumber;
- WINBOOL fSpecifyCurrentNext;
- WINBOOL fNext;
- WINBOOL fSpecifyDsmccOptions;
- DSMCC_FILTER_OPTIONS Dsmcc;
- WINBOOL fSpecifyAtscOptions;
- ATSC_FILTER_OPTIONS Atsc;
- } MPEG2_FILTER, *PMPEG2_FILTER;
- typedef struct {
- BYTE bVersionNumber;
- WORD wFilterSize;
- WINBOOL fUseRawFilteringBits;
- BYTE Filter[16];
- BYTE Mask[16];
- WINBOOL fSpecifyTableIdExtension;
- WORD TableIdExtension;
- WINBOOL fSpecifyVersion;
- BYTE Version;
- WINBOOL fSpecifySectionNumber;
- BYTE SectionNumber;
- WINBOOL fSpecifyCurrentNext;
- WINBOOL fNext;
- WINBOOL fSpecifyDsmccOptions;
- DSMCC_FILTER_OPTIONS Dsmcc;
- WINBOOL fSpecifyAtscOptions;
- ATSC_FILTER_OPTIONS Atsc;
- WINBOOL fSpecifyDvbEitOptions;
- DVB_EIT_FILTER_OPTIONS Dvb_Eit;
- } MPEG2_FILTER2, *PMPEG2_FILTER2;
- typedef struct _MPEG_BCS_DEMUX {
- DWORD AVMGraphId;
- } MPEG_BCS_DEMUX;
- typedef struct _MPEG_WINSOCK {
- DWORD AVMGraphId;
- } MPEG_WINSOCK;
- typedef struct _MPEG_CONTEXT {
- MPEG_CONTEXT_TYPE Type;
- __C89_NAMELESS union {
- MPEG_BCS_DEMUX Demux;
- MPEG_WINSOCK Winsock;
- } U;
- } MPEG_CONTEXT, *PMPEG_CONTEXT;
- typedef struct _MPEG_DATE {
- BYTE Date;
- BYTE Month;
- WORD Year;
- } MPEG_DATE;
- typedef struct _MPEG_TIME {
- BYTE Hours;
- BYTE Minutes;
- BYTE Seconds;
- } MPEG_TIME;
- typedef struct _MPEG_DATE_AND_TIME {
- MPEG_DATE D;
- MPEG_TIME T;
- } MPEG_DATE_AND_TIME;
- typedef MPEG_TIME MPEG_DURATION;
- typedef struct {
- TID TableId;
- __C89_NAMELESS union {
- MPEG_HEADER_BITS_MIDL S;
- WORD W;
- } Header;
- BYTE SectionData[1];
- } SECTION, *PSECTION;
- typedef struct _MPEG_RQST_PACKET {
- DWORD dwLength;
- PSECTION pSection;
- } MPEG_RQST_PACKET, *PMPEG_RQST_PACKET;
- typedef struct _MPEG_PACKET_LIST {
- WORD wPacketCount;
- PMPEG_RQST_PACKET PacketList[1];
- } MPEG_PACKET_LIST, *PMPEG_PACKET_LIST;
- typedef struct _MPEG_STREAM_BUFFER {
- HRESULT hr;
- DWORD dwDataBufferSize;
- DWORD dwSizeOfDataRead;
- BYTE *pDataBuffer;
- } MPEG_STREAM_BUFFER, *PMPEG_STREAM_BUFFER;
- #endif /*__INC_MPEG2STRUCTS__*/
|