Tag Parser  9.3.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 
8 namespace TagParser {
9 
11 public:
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 
19 protected:
20  void internalParseHeader(Diagnostics &diag) override;
21 
22 private:
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 {
34 }
35 
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
ivfframe.h
TagParser::TrackType::IvfStream
@ IvfStream
TagParser::Diagnostics
The Diagnostics class is a container for DiagMessage.
Definition: diagnostics.h:156
TagParser
Contains all classes and functions of the TagInfo library.
Definition: aaccodebook.h:10
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::TrackType
TrackType
Specifies the track type.
Definition: abstracttrack.h:27
TagParser::IvfStream::type
TrackType type() const override
Returns the type of the track if known; otherwise returns TrackType::Unspecified.
Definition: ivfstream.h:40
TagParser::AbstractTrack
The AbstractTrack class parses and stores technical information about video, audio and other kinds of...
Definition: abstracttrack.h:39
TagParser::AbstractTrack::m_mediaType
MediaType m_mediaType
Definition: abstracttrack.h:128
TagParser::IvfStream
Implementation of TagParser::AbstractTrack for ADTS streams.
Definition: ivfstream.h:10
TAG_PARSER_EXPORT
#define TAG_PARSER_EXPORT
Marks the symbol to be exported by the tagparser library.
TagParser::MatroskaTrackType::Video
@ Video
Definition: matroskaid.h:403
TagParser::IvfStream::~IvfStream
~IvfStream() override
Definition: ivfstream.h:36