diff options
author | Jean-Francois Mauguit <jfmauguit@mac.com> | 2024-09-24 09:03:25 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-24 09:03:25 -0400 |
commit | bab614c421ed7ae329d26bf028c4a3b1d2450f5a (patch) | |
tree | 12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/Plugins/Encoder/enc_flac/AudioCoderFlac.h | |
parent | 4bde6044fddf053f31795b9eaccdd2a5a527d21f (diff) | |
parent | 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (diff) | |
download | winamp-bab614c421ed7ae329d26bf028c4a3b1d2450f5a.tar.gz |
Merge pull request #5 from WinampDesktop/community
Merge to main
Diffstat (limited to 'Src/Plugins/Encoder/enc_flac/AudioCoderFlac.h')
-rw-r--r-- | Src/Plugins/Encoder/enc_flac/AudioCoderFlac.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/Src/Plugins/Encoder/enc_flac/AudioCoderFlac.h b/Src/Plugins/Encoder/enc_flac/AudioCoderFlac.h new file mode 100644 index 00000000..e28eba96 --- /dev/null +++ b/Src/Plugins/Encoder/enc_flac/AudioCoderFlac.h @@ -0,0 +1,29 @@ +#pragma once +#include "../nsv/enc_if.h" +#include <FLAC/stream_encoder.h> +#include "StreamFileWin32.h" + +typedef struct { + unsigned int compression; // 0-8 +} configtype; + +class AudioCoderFlac : public AudioCoder +{ +public: + AudioCoderFlac(unsigned int nch, unsigned int bps, unsigned int samplerate, unsigned int compression); + ~AudioCoderFlac(); + int Encode(int framepos, void *in, int in_avail, int *in_used, void *out, int out_avail); //returns bytes in out + void PrepareToFinish(); + void Finish(const wchar_t *destination); + bool OK(); + +private: + FLAC__StreamEncoder *encoder; + FLAC__StreamMetadata *padding; + Win32_State win32State; + unsigned int nch; + unsigned int bps; + wchar_t tempFile[MAX_PATH]; + bool finished; + FLAC__uint64 finishedBytes; +};
\ No newline at end of file |