blob: d4d710292e95aa3bd9e1b87a9dc889eba6338da7 [file] [log] [blame]
// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef MEDIA_FORMATS_MP4_MP4_STATUS_H_
#define MEDIA_FORMATS_MP4_MP4_STATUS_H_
#include "media/base/status.h"
namespace media {
struct MP4StatusTraits {
enum class Codes : StatusCodeType {
kOk = 0,
kUnsupportedStream = 1,
kFailedToParse = 2,
// SPS and PPS are common to H264 and H265.
kInvalidSPS = 3,
kInvalidPPS = 4,
kFailedToLookupSPS = 5,
kFailedToLookupPPS = 6,
// Slice headers are h264 only (I think, but we only have an h264 parser)
kInvalidSliceHeader = 7,
kBufferTooSmall = 8,
// H265 specific
kInvalidVPS = 9,
kFailedToLookupVPS = 10,
};
static constexpr StatusGroupType Group() { return "MP4Status"; }
};
using MP4Status = TypedStatus<MP4StatusTraits>;
} // namespace media
#endif // MEDIA_FORMATS_MP4_MP4_STATUS_H_