#ifndef MEDIA_FORMATS_HLS_TAG_NAME_H_
#define MEDIA_FORMATS_HLS_TAG_NAME_H_
#include <cstdint>
#include <optional>
#include <string_view>
#include "media/base/media_export.h"
namespace media::hls {
enum class TagKind { … };
TagName;
enum class CommonTagName : TagName { … };
enum class MultivariantPlaylistTagName : TagName { … };
enum class MediaPlaylistTagName : TagName { … };
constexpr TagKind GetTagKind(CommonTagName) { … }
constexpr TagName ToTagName(CommonTagName name) { … }
constexpr TagKind GetTagKind(MultivariantPlaylistTagName) { … }
constexpr TagName ToTagName(MultivariantPlaylistTagName name) { … }
constexpr TagKind GetTagKind(MediaPlaylistTagName) { … }
constexpr TagName ToTagName(MediaPlaylistTagName name) { … }
MEDIA_EXPORT TagKind GetTagKind(TagName name);
constexpr TagName ToTagName(TagName name) { … }
MEDIA_EXPORT std::optional<TagName> ParseTagName(std::string_view name);
MEDIA_EXPORT std::string_view TagNameToString(TagName name);
constexpr TagName kMinTagName = …;
constexpr TagName kMaxTagName = …;
}
#endif