diff options
Diffstat (limited to 'Src/Plugins/Input/in_flac/StreamFileWin32.h')
-rw-r--r-- | Src/Plugins/Input/in_flac/StreamFileWin32.h | 23 |
1 files changed, 23 insertions, 0 deletions
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 <FLAC/all.h> +#include <windows.h> + +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 |