Tag Parser 12.3.1
C++ library for reading and writing MP4 (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags
Loading...
Searching...
No Matches
adtsframe.cpp
Go to the documentation of this file.
1#include "./adtsframe.h"
2
3#include "../exceptions.h"
4
5#include <c++utilities/io/binaryreader.h>
6
7using namespace std;
8
9namespace TagParser {
10
21void AdtsFrame::parseHeader(CppUtilities::BinaryReader &reader)
22{
23 m_header1 = reader.readUInt16BE();
24 // check whether syncword is present
25 if ((m_header1 & 0xFFF6u) != 0xFFF0u) {
27 }
28 m_header2 = hasCrc() ? reader.readUInt56BE() : (reader.readUInt40BE() << 16);
29 // check whether frame length is ok
30 if (totalSize() < headerSize()) {
32 }
33}
34
35} // namespace TagParser
constexpr std::uint16_t totalSize() const
Returns the size of the frame (including the header) in bytes.
Definition adtsframe.h:103
constexpr bool hasCrc() const
Returns whether a CRC-16 checksum is present ("protection absent" bit is NOT set).
Definition adtsframe.h:66
constexpr std::uint8_t headerSize() const
Returns the header size in bytes (9 if CRC is present; otherwise 7).
Definition adtsframe.h:111
void parseHeader(CppUtilities::BinaryReader &reader)
Parses the header read using the specified reader.
Definition adtsframe.cpp:21
The exception that is thrown when the data to be parsed or to be made seems invalid and therefore can...
Contains all classes and functions of the TagInfo library.
Definition aaccodebook.h:10