From 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d Mon Sep 17 00:00:00 2001 From: Jef Date: Tue, 24 Sep 2024 14:54:57 +0200 Subject: Initial community commit --- Src/Plugins/Input/in_flac/StreamFileWin32.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 Src/Plugins/Input/in_flac/StreamFileWin32.h (limited to 'Src/Plugins/Input/in_flac/StreamFileWin32.h') diff --git a/Src/Plugins/Input/in_flac/StreamFileWin32.h b/Src/Plugins/Input/in_flac/StreamFileWin32.h new file mode 100644 index 00000000..e3a98d79 --- /dev/null +++ b/Src/Plugins/Input/in_flac/StreamFileWin32.h @@ -0,0 +1,23 @@ +#ifndef NULLSOFT_IN_FLAC_STREAMFILEWIN32_H +#define NULLSOFT_IN_FLAC_STREAMFILEWIN32_H + +#include +#include + +struct Win32_State +{ + void *userData; + HANDLE handle; + bool endOfFile; +}; + +FLAC__StreamDecoderReadStatus Win32_Read(const FLAC__StreamDecoder *decoder, FLAC__byte buffer[], size_t *bytes, void *client_data); +FLAC__StreamDecoderSeekStatus Win32_Seek(const FLAC__StreamDecoder *decoder, FLAC__uint64 absolute_byte_offset, void *client_data); +FLAC__StreamDecoderTellStatus Win32_Tell(const FLAC__StreamDecoder *decoder, FLAC__uint64 *absolute_byte_offset, void *client_data); +FLAC__StreamDecoderLengthStatus Win32_Length(const FLAC__StreamDecoder *decoder, FLAC__uint64 *stream_length, void *client_data); +FLAC__bool Win32_EOF(const FLAC__StreamDecoder *decoder, void *client_data); + +// helper function extern'd here because DecodeThread needs it +__int64 FileSize64(HANDLE file); + +#endif \ No newline at end of file -- cgit