Tag Parser 12.5.0
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
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 AbortableProgressFeedback class provides feedback about an ongoing operation via callbacks.
std::uint64_t startOffset() const
Returns the start offset of the track in the associated stream.
AbstractTrack(std::istream &inputStream, std::ostream &outputStream, std::uint64_t startOffset)
Constructs a new track.
friend class MpegAudioFrameStream
The Diagnostics class is a container for DiagMessage.
TrackType type() const override
Returns the type of the track if known; otherwise returns TrackType::Unspecified.
MpegAudioFrameStream(std::iostream &stream, std::uint64_t startOffset)
Constructs a new track for the stream at the specified startOffset.
static void addInfo(const MpegAudioFrame &frame, AbstractTrack &track)
Adds the information from the specified frame to the specified track.
void internalParseHeader(Diagnostics &diag, AbortableProgressFeedback &progress) override
This method is internally called to parse header information.
The MpegAudioFrame class is used to parse MPEG audio frames.
#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 ...