Tag Parser 12.3.1
C++ library for reading and writing MP4 (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags
Loading...
Searching...
No Matches
mpegaudioframestream.h
Go to the documentation of this file.
1#ifndef TAG_PARSER_MPEGAUDIOFRAMESTREAM_H
2#define TAG_PARSER_MPEGAUDIOFRAMESTREAM_H
3
4#include "./mpegaudioframe.h"
5
6#include "../abstracttrack.h"
7
8#include <list>
9
10namespace TagParser {
11
12class TAG_PARSER_EXPORT MpegAudioFrameStream final : public AbstractTrack {
13public:
14 MpegAudioFrameStream(std::iostream &stream, std::uint64_t startOffset);
15 ~MpegAudioFrameStream() override;
16
17 TrackType type() const override;
18
19 static void addInfo(const MpegAudioFrame &frame, AbstractTrack &track);
20
21protected:
22 void internalParseHeader(Diagnostics &diag, AbortableProgressFeedback &progress) override;
23
24private:
25 std::list<MpegAudioFrame> m_frames;
26};
27
31inline MpegAudioFrameStream::MpegAudioFrameStream(std::iostream &stream, std::uint64_t startOffset)
32 : AbstractTrack(stream, startOffset)
33{
35}
36
40
45
46} // namespace TagParser
47
48#endif // MPEGAUDIOFRAMESTREAM_H
The AbstractTrack class parses and stores technical information about video, audio and other kinds of...
friend class MpegAudioFrameStream
TrackType type() const override
Returns the type of the track if known; otherwise returns TrackType::Unspecified.
#define TAG_PARSER_EXPORT
Marks the symbol to be exported by the tagparser library.
Definition global.h:14
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 ...