Eric Oulashin's C++ Audio Mixer 1.0
FLACFileInfo.h
Go to the documentation of this file.
1#ifndef __EO_UTILS_FLAC_FILE_INFO_H__
2#define __EO_UTILS_FLAC_FILE_INFO_H__
3
4#include <string>
5#include <fstream>
6#include <cstdint>
7
9#include "AudioFileInfo.h"
10
11namespace EOUtils
12{
17 {
18 public:
22 FLACFileInfo(int16_t pNumChannels = 0, int32_t pSampleRateHz = 0, int32_t pBytesPerSecond = 0, int16_t pByteRate = 0, int16_t pBitsPerSample = 0);
23
27 FLACFileInfo(const AudioFileInfo& pAudioFileInfo);
28
32 FLACFileInfo(const FLACFileInfo& pAudioFileInfo);
33
37 AudioFileResultType read(std::fstream& pInFStream) override;
38
42 AudioFileResultType write(std::fstream& pOutFStream) override;
43
47 AudioFileResultType read(const char* pFilename);
48
52 static bool isFLACFile(const char* pFilename);
53
57 uint32_t CompressionLevel() const;
58
62 void CompressionLevel(uint32_t pCompressionLevel);
63
64 private:
65 uint32_t mCompressionLevel = 8; // Maximum compression
66 };
67}
68
69#endif
Definition AudioFileInfo.h:14
Definition AudioFileResultType.h:13
Holds metadata for FLAC audio files.
Definition FLACFileInfo.h:17
AudioFileResultType read(std::fstream &pInFStream) override
Reads the FLAC stream info from a file.
Definition FLACFileInfo.cpp:135
static bool isFLACFile(const char *pFilename)
Check if the given file is a FLAC file (has "fLaC" signature)
Definition FLACFileInfo.cpp:224
AudioFileResultType write(std::fstream &pOutFStream) override
Not used for FLAC - metadata is written by the encoder.
Definition FLACFileInfo.cpp:203
uint32_t CompressionLevel() const
Returns the current compression level.
Definition FLACFileInfo.cpp:241
Definition StringUtils.cpp:6