Mercurial > audlegacy-plugins
view src/console/Gzip_Reader.h @ 3162:e387614b9be9
alsa-ng: Import rewritten ALSA plugin. This is still woefully incomplete, but supports basic playback.
This driver uses the "safe" ALSA API subset, including use of blocking I/O.
Right now, it is hardcoded to use "default".
Do not complain about bugs in this plugin.
author | William Pitcock <nenolod@atheme.org> |
---|---|
date | Thu, 14 May 2009 21:05:11 -0500 |
parents | 986f098da058 |
children |
line wrap: on
line source
// Transparently decompresses gzip files, as well as uncompressed // File_Extractor 0.4.0 #ifndef GZIP_READER_H #define GZIP_READER_H #include "Data_Reader.h" #include "Zlib_Inflater.h" class Gzip_Reader : public Data_Reader { public: error_t open( File_Reader* ); void close(); public: Gzip_Reader(); ~Gzip_Reader(); long remain() const; error_t read( void*, long ); long read_avail( void*, long ); private: File_Reader* in; long tell_; long size_; Zlib_Inflater inflater; error_t calc_size(); blargg_err_t read_( void* out, long* count ); }; #endif