mirror of
https://github.com/WinampDesktop/winamp.git
synced 2025-06-18 15:15:45 -04:00
Initial community commit
This commit is contained in:
47
Src/replicant/nsmp3/MPEGHeader.h
Normal file
47
Src/replicant/nsmp3/MPEGHeader.h
Normal file
@ -0,0 +1,47 @@
|
||||
#pragma once
|
||||
#include "foundation/types.h"
|
||||
|
||||
class MPEGHeader
|
||||
{
|
||||
public:
|
||||
void ReadBuffer(const uint8_t *buffer);
|
||||
int GetNumChannels() const;
|
||||
bool IsSync() const;
|
||||
int GetBitrate() const;
|
||||
int HeaderSize() const;
|
||||
int GetSampleRate() const;
|
||||
int FrameSize() const;
|
||||
int GetLayer() const;
|
||||
bool IsCRC() const;
|
||||
bool IsCopyright() const;
|
||||
bool IsOriginal() const;
|
||||
int GetSamplesPerFrame() const;
|
||||
enum
|
||||
{
|
||||
NotPadded=0,
|
||||
Padded=1,
|
||||
CRC = 0,
|
||||
NoProtection = 1,
|
||||
Stereo = 0,
|
||||
JointStereo = 1,
|
||||
DualChannel = 2,
|
||||
Mono = 3,
|
||||
MPEG1 = 3,
|
||||
MPEG2 = 2,
|
||||
MPEG_Error = 1,
|
||||
MPEG2_5 = 0,
|
||||
Layer1 = 3,
|
||||
Layer2 = 2,
|
||||
Layer3 = 1,
|
||||
LayerError = 0,
|
||||
Emphasis_None = 0,
|
||||
Emphasis_50_15_ms = 1,
|
||||
Emphasis_reserved = 2,
|
||||
Emphasis_CCIT_J_17 = 3,
|
||||
};
|
||||
|
||||
uint16_t sync;
|
||||
uint8_t mpeg_version, layer, protection, bitrate_index;
|
||||
uint8_t padding_bit, private_bit, channel_mode, mode_extension;
|
||||
uint8_t sample_rate_index, copyright, original, emphasis;
|
||||
};
|
Reference in New Issue
Block a user