1#ifndef TAG_PARSER_OGGCONTAINER_H
2#define TAG_PARSER_OGGCONTAINER_H
13#include <unordered_map>
17template <std::
size_t bufferSize>
class CopyHelper;
31 void set(std::size_t pageIndex, std::size_t segmentIndex,
bool lastMetaDataBlock,
GeneralMediaFormat streamFormat = GeneralMediaFormat::Vorbis);
48 , firstSegmentIndex(0)
52 , lastMetaDataBlock(false)
75 static constexpr TagType tagType = TagType::OggVorbisComment;
76 static constexpr std::string_view tagName =
"Ogg Vorbis comment";
78 std::string_view typeName()
const override;
79 bool supportsTarget()
const override;
141 bool isChecksumValidationEnabled()
const;
142 void setChecksumValidationEnabled(
bool enabled);
143 void reset()
override;
147 std::size_t tagCount()
const override;
148 bool removeTag(
Tag *tag)
override;
149 void removeAllTags()
override;
158 void announceComment(
159 std::size_t pageIndex, std::size_t segmentIndex,
bool lastMetaDataBlock,
GeneralMediaFormat mediaFormat = GeneralMediaFormat::Vorbis);
160 void makeVorbisCommentSegment(std::stringstream &buffer, CppUtilities::CopyHelper<65307> ©Helper, std::vector<std::uint32_t> &newSegmentSizes,
163 std::unordered_map<std::uint32_t, std::vector<std::unique_ptr<OggStream>>::size_type> m_streamsBySerialNo;
166 bool m_validateChecksums;
179 return m_validateChecksums;
188 m_validateChecksums = enabled;
The AbortableProgressFeedback class provides feedback about an ongoing operation via callbacks.
The Diagnostics class is a container for DiagMessage.
The GenericContainer class helps parsing header, track, tag and chapter information of a file.
Implementation of TagParser::AbstractContainer for Ogg files.
void setChecksumValidationEnabled(bool enabled)
Sets whether checksum validation is enabled.
bool isChecksumValidationEnabled() const
Returns whether checksum validation is enabled.
The OggIterator class helps iterating through all segments of an Ogg bitstream.
Implementation of TagParser::AbstractTrack for Ogg streams.
The TagTarget class specifies the target of a tag.
The Tag class is used to store, read and write tag information.
#define TAG_PARSER_EXPORT
Marks the symbol to be exported by the tagparser library.
Contains all classes and functions of the TagInfo library.
TagType
Specifies the tag type.
GeneralMediaFormat
The GeneralMediaFormat enum specifies the general format of media data (PCM, MPEG-4,...
The OggParameter struct holds the Ogg parameter for a VorbisComment.
GeneralMediaFormat streamFormat
std::size_t lastPageIndex
std::size_t lastSegmentIndex
constexpr OggParameter()
Creates new parameters.
std::size_t firstSegmentIndex
void set(std::size_t pageIndex, std::size_t segmentIndex, bool lastMetaDataBlock, GeneralMediaFormat streamFormat=GeneralMediaFormat::Vorbis)
Sets the firstPageIndex/lastPageIndex, the firstSegmentIndex/lastSegmentIndex, whether the associated...
std::size_t firstPageIndex