#ifndef MEDIA_FORMATS_MP4_BOX_READER_H_
#define MEDIA_FORMATS_MP4_BOX_READER_H_
#include <stdint.h>
#include <limits>
#include <map>
#include <memory>
#include <vector>
#include "base/containers/span.h"
#include "base/logging.h"
#include "base/memory/raw_ptr.h"
#include "base/memory/raw_span.h"
#include "base/numerics/safe_conversions.h"
#include "media/base/media_export.h"
#include "media/base/media_log.h"
#include "media/formats/mp4/fourccs.h"
#include "media/formats/mp4/parse_result.h"
#include "media/formats/mp4/rcheck.h"
namespace media {
namespace mp4 {
enum DisplayMatrixSize { … };
DisplayMatrix;
class BoxReader;
struct MEDIA_EXPORT Box { … };
class MEDIA_EXPORT BufferReader { … };
class MEDIA_EXPORT BoxReader : public BufferReader { … };
template <typename T>
bool BoxReader::ReadChildren(std::vector<T>* children) { … }
template <typename T>
bool BoxReader::MaybeReadChildren(std::vector<T>* children) { … }
template <typename T>
bool BoxReader::ReadAllChildren(std::vector<T>* children) { … }
template <typename T>
bool BoxReader::ReadAllChildrenAndCheckFourCC(std::vector<T>* children) { … }
template <typename T>
bool BoxReader::ReadAllChildrenInternal(std::vector<T>* children,
bool check_box_type) { … }
}
}
#endif