1#ifndef TAG_PARSER_MP4ATOM_H
2#define TAG_PARSER_MP4ATOM_H
6#include "../genericfileelement.h"
8#include <c++utilities/conversion/stringconversion.h>
32 static constexpr std::uint8_t minimumElementSize()
42 Mp4Atom(ContainerType &container, std::uint64_t startOffset);
44 std::string idToString()
const;
45 bool isParent()
const;
46 bool isPadding()
const;
47 std::uint64_t firstChildOffset()
const;
49 static void seekBackAndWriteAtomSize(std::ostream &stream,
const std::ostream::pos_type &startOffset,
Diagnostics &diag);
50 static void seekBackAndWriteAtomSize64(std::ostream &stream,
const std::ostream::pos_type &startOffset);
51 static constexpr void addHeaderSize(std::uint64_t &dataSize);
52 static void makeHeader(std::uint64_t size, std::uint32_t
id, CppUtilities::BinaryWriter &writer);
55 Mp4Atom(ContainerType &container, std::uint64_t startOffset, std::uint64_t maxSize);
61 std::string parsingContext()
const;
69 auto idString = CppUtilities::interpretIntegerAsString<IdentifierType>(
id());
70 for (
char &c : idString) {
The Diagnostics class is a container for DiagMessage.
std::uint64_t DataSizeType
std::uint32_t IdentifierType
Defines traits for the specified ImplementationType.
The GenericFileElement class helps to parse binary files which consist of an arboreal element structu...
DataSizeType dataSize() const
Returns the data size of the element in byte.
The Mp4Atom class helps to parse MP4 files.
static constexpr void addHeaderSize(std::uint64_t &dataSize)
Adds the header size to the specified data size.
Mp4Atom(ContainerType &container, std::uint64_t startOffset, std::uint64_t maxSize)
std::string idToString() const
Converts the specified atom ID to a printable string.
Mp4Atom(ContainerType &container, std::uint64_t startOffset)
Implementation of GenericContainer<MediaFileInfo, Mp4Tag, Mp4Track, Mp4Atom>.
#define TAG_PARSER_EXPORT
Marks the symbol to be exported by the tagparser library.
Contains all classes and functions of the TagInfo library.