Tag Parser 11.0.0
C++ library for reading and writing MP4 (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags
ivfstream.h
Go to the documentation of this file.
1#ifndef TAG_PARSER_IVFSTREAM_H
2#define TAG_PARSER_IVFSTREAM_H
3
4#include "./ivfframe.h"
5
6#include "../abstracttrack.h"
7
8namespace TagParser {
9
11public:
12 IvfStream(std::iostream &stream, std::uint64_t startOffset);
13 ~IvfStream() override;
14
15 TrackType type() const override;
16
17 void readFrame(Diagnostics &diag);
18
19protected:
20 void internalParseHeader(Diagnostics &diag, AbortableProgressFeedback &progress) override;
21
22private:
23 std::vector<IvfFrame> m_frames;
24 std::uint16_t m_headerLength;
25};
26
30inline IvfStream::IvfStream(std::iostream &stream, std::uint64_t startOffset)
31 : AbstractTrack(stream, startOffset)
32{
34}
35
37{
38}
39
41{
43}
44
45} // namespace TagParser
46
47#endif // TAG_PARSER_IVFSTREAM_H
The AbortableProgressFeedback class provides feedback about an ongoing operation via callbacks.
The AbstractTrack class parses and stores technical information about video, audio and other kinds of...
The Diagnostics class is a container for DiagMessage.
Definition: diagnostics.h:156
Implementation of TagParser::AbstractTrack for ADTS streams.
Definition: ivfstream.h:10
IvfStream(std::iostream &stream, std::uint64_t startOffset)
Constructs a new track for the stream at the specified startOffset.
Definition: ivfstream.h:30
~IvfStream() override
Definition: ivfstream.h:36
TrackType type() const override
Returns the type of the track if known; otherwise returns TrackType::Unspecified.
Definition: ivfstream.h:40
#define TAG_PARSER_EXPORT
Marks the symbol to be exported by the tagparser library.
Contains all classes and functions of the TagInfo library.
Definition: aaccodebook.h:10
TrackType
The TrackType enum specifies the underlying file type of a track and the concrete class of the track ...
Definition: abstracttrack.h:31