Tag Parser: ivf/ivfstream.h Source File

Tag Parser 12.5.2 C++ library for reading and writing MP4 (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags

Loading...
Searching...
No Matches
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
10 class TAG_PARSER_EXPORT IvfStream final : public AbstractTrack {
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
30 inline IvfStream::IvfStream(std::iostream &stream, std::uint64_t startOffset)
31 : AbstractTrack(stream, startOffset)
32{
33 m_mediaType = MediaType::Video;
34}
35
36 inline IvfStream::~IvfStream()
37{
38}
39
40 inline TrackType IvfStream::type() const
41{
42 return TrackType::IvfStream;
43}
44
45} // namespace TagParser
46
47#endif // TAG_PARSER_IVFSTREAM_H
abstracttrack.h
TagParser::AbortableProgressFeedback
The AbortableProgressFeedback class provides feedback about an ongoing operation via callbacks.
Definition progressfeedback.h:186
TagParser::AbstractTrack::startOffset
std::uint64_t startOffset() const
Returns the start offset of the track in the associated stream.
Definition abstracttrack.h:316
TagParser::AbstractTrack::AbstractTrack
AbstractTrack(std::istream &inputStream, std::ostream &outputStream, std::uint64_t startOffset)
Constructs a new track.
Definition abstracttrack.cpp:33
TagParser::AbstractTrack::m_mediaType
MediaType m_mediaType
Definition abstracttrack.h:201
TagParser::Diagnostics
The Diagnostics class is a container for DiagMessage.
Definition diagnostics.h:156
TagParser::IvfStream::IvfStream
IvfStream(std::iostream &stream, std::uint64_t startOffset)
Constructs a new track for the stream at the specified startOffset.
Definition ivfstream.h:30
TagParser::IvfStream::~IvfStream
~IvfStream() override
Definition ivfstream.h:36
TagParser::IvfStream::readFrame
void readFrame(Diagnostics &diag)
Definition ivfstream.cpp:61
TagParser::IvfStream::type
TrackType type() const override
Returns the type of the track if known; otherwise returns TrackType::Unspecified.
Definition ivfstream.h:40
TagParser::IvfStream::internalParseHeader
void internalParseHeader(Diagnostics &diag, AbortableProgressFeedback &progress) override
This method is internally called to parse header information.
Definition ivfstream.cpp:23
TAG_PARSER_EXPORT
#define TAG_PARSER_EXPORT
Marks the symbol to be exported by the tagparser library.
Definition global.h:14
ivfframe.h
TagParser
Contains all classes and functions of the TagInfo library.
Definition aaccodebook.h:10
TagParser::MediaType::Video
@ Video
Definition mediaformat.h:17
TagParser::TrackType
TrackType
The TrackType enum specifies the underlying file type of a track and the concrete class of the track ...
Definition abstracttrack.h:32
TagParser::TrackType::IvfStream
@ IvfStream
Definition abstracttrack.h:41