49 inline void copy_raw(
const void * src) {memcpy(bytes,src,4);}
56 inline void get_bytes(
void * out) {memcpy(out,bytes,4);}
60 unsigned get_samples_per_frame();
bool ValidateFrameCRC(const t_uint8 *frameData, t_size frameSize)
t_uint16 ExtractFrameCRC(const t_uint8 *frameData, t_size frameSize, TMPEGFrameInfo const &frameInfo)
Assumes valid frame with CRC (frameInfo.m_crc set, frameInfo.m_bytes <= frameSize).
static mp3header mp3header_from_buffer(const void *p_buffer)
unsigned QueryMPEGFrameSize(const t_uint8 p_header[4])
t_uint16 CalculateFrameCRC(const t_uint8 *frameData, t_size frameSize, TMPEGFrameInfo const &frameInfo)
Assumes valid frame with CRC (frameInfo.m_crc set, frameInfo.m_bytes <= frameSize).
bool IsSameStream(TMPEGFrameInfo const &p_frame1, TMPEGFrameInfo const &p_frame2)
bool ParseMPEGFrameHeader(TMPEGFrameInfo &p_info, const t_uint8 p_header[4])
void RecalculateFrameCRC(t_uint8 *frameData, t_size frameSize, TMPEGFrameInfo const &frameInfo)
Assumes valid frame with CRC (frameInfo.m_crc set, frameInfo.m_bytes <= frameSize).
This is free and unencumbered software released into the public domain Anyone is free to copy