5 #ifndef _INC_cRIFFFormat_H
6 #define _INC_cRIFFFormat_H
11 #include "../UID/cFourCC.h"
44 : m_nTypeChunk(nTypeChunk)
45 , m_nDataSize(nDataSize)
50 return(
cFourCC(m_nTypeChunk).isListType());
55 return (m_nDataSize % 2 == 1);
62 return nSize +
sizeof(m_nTypeChunk) +
sizeof(m_nDataSize);
87 , m_nTypeList(nTypeList)
93 return SUPER_t::get_RawSize() +
sizeof(m_nTypeList);
110 , m_nFileOffsetData(0)
#define CATTR_PACKED
Definition: GrayCore.h:87
#define GRAYLIB_LINK
Definition: GrayLibBase.h:35
INT32 HRESULT
_WIN32 style error codes. INT32
Definition: SysTypes.h:465
UINT32 FOURCC
32 bit code. Also defined in _MMSYSTEM_H
Definition: cFourCC.h:19
Definition: cRIFFFormat.h:74
FOURCC m_nTypeList
'LIST' type or 'FORM' type. i.e. 'WAVE' FOURCC_WAVE, FOURCC_INFO. (MMCKINFO fccType)
Definition: cRIFFFormat.h:82
RIFF_SIZE_t get_RawSize() const
Definition: cRIFFFormat.h:90
cRIFFHeadList(FOURCC nTypeChunk=FOURCC_0, RIFF_SIZE_t nDataSize=0, FOURCC nTypeList=FOURCC_0)
Definition: cRIFFFormat.h:85
Definition: cRIFFFormat.h:99
cRIFFHeadX(FOURCC nTypeChunk=FOURCC_0, RIFF_SIZE_t nDataSize=0, FOURCC nTypeList=FOURCC_0)
Definition: cRIFFFormat.h:108
STREAM_POS_t m_nFileOffsetData
offset of data portion of chunk in the file.
Definition: cRIFFFormat.h:104
RIFFIO_TYPE m_dwFlags
RIFFIO_TYPE mask.
Definition: cRIFFFormat.h:105
Definition: cRIFFFormat.h:34
RIFF_SIZE_t get_DataSize() const
Definition: cRIFFFormat.h:64
bool isListType() const
Definition: cRIFFFormat.h:48
cRIFFHead(FOURCC nTypeChunk=FOURCC_0, RIFF_SIZE_t nDataSize=0)
Definition: cRIFFFormat.h:43
RIFF_SIZE_t get_RawSize() const
Definition: cRIFFFormat.h:57
RIFF_SIZE_t m_nDataSize
chunk size (bytes) including m_nTypeList not including align/pad byte. (MMCKINFO cksize)
Definition: cRIFFFormat.h:40
FOURCC m_nTypeChunk
chunk ID. i.e. 'RIFF','LIST','FORM' FOURCC_RIFF or 'data' for non list (MMCKINFO ckid)
Definition: cRIFFFormat.h:39
bool isPadded() const
Definition: cRIFFFormat.h:52
Definition: cRIFFFormat.h:120
cRIFFReader(cStreamInput &s)
Definition: cRIFFFormat.h:131
cStreamInput & m_rInp
File or memory stream input.
Definition: cRIFFFormat.h:125
Definition: cRIFFFormat.h:143
cRIFFWriter(cStreamOutput *pOut)
Definition: cRIFFFormat.h:151
cStreamOutput * m_pOut
File or memory stream output.
Definition: cRIFFFormat.h:148
Definition: cStream.h:126
RIFFIO_TYPE
Definition: cRIFFFormat.h:20
@ RIFFIO_NULL
Definition: cRIFFFormat.h:23
@ RIFFIO_FINDLIST
or FORM
Definition: cRIFFFormat.h:28
@ RIFFIO_FINDCHUNK
Definition: cRIFFFormat.h:29
@ RIFFIO_FINDRIFF
Definition: cRIFFFormat.h:27
@ RIFFIO_CREATECHUNK
Definition: cRIFFFormat.h:26
@ RIFFIO_CREATERIFF
Definition: cRIFFFormat.h:24
@ RIFFIO_CREATELIST
Definition: cRIFFFormat.h:25
@ FOURCC_0
junk FOURCC
Definition: cFourCC.h:38
UINT32 RIFF_SIZE_t
32 bit Size limit for any chunk
Definition: cRIFFFormat.h:17
BITOP_TYPE
Definition: cBits.h:22
@ BITOP_TOGGLE
XOR bit operation to flip bits. Also used for unknown bit state.
Definition: cBits.h:26
ULONG_PTR STREAM_POS_t
NOT same as FILE_SIZE_t in 32 bit. Why not ?
Definition: cOSHandle.h:54