1*05767d91SRobert Wu**parselib** 2*05767d91SRobert Wu========== 3*05767d91SRobert WuClasses for parsing and loading audio data. 4*05767d91SRobert Wu 5*05767d91SRobert Wu## Abstract 6*05767d91SRobert Wu(Oboe) **parselib** contains facilities for reading and loading audio data from streams. Streams can be wrapped around either files or memory blocks. 7*05767d91SRobert Wu 8*05767d91SRobert Wu**parselib** is written in C++ and is intended to be called from Android native code. It is implemented as a static library. 9*05767d91SRobert Wu 10*05767d91SRobert Wu## Supported Encodings 11*05767d91SRobert Wu* Microsoft WAV format 12*05767d91SRobert Wu 13*05767d91SRobert Wu## **parselib** project structure 14*05767d91SRobert Wu* stream 15*05767d91SRobert WuContains classes related to reading audio data from a stream abstraction 16*05767d91SRobert Wu 17*05767d91SRobert Wu* wav 18*05767d91SRobert WuContains classes to read/load audio data in WAV format 19*05767d91SRobert Wu 20*05767d91SRobert Wu## **stream** Classes 21*05767d91SRobert Wu### InputStream 22*05767d91SRobert WuAn abstract class that defines the `InputStream` interface. 23*05767d91SRobert Wu 24*05767d91SRobert Wu### FileInputStream 25*05767d91SRobert WuA concrete implementation of `InputStream` that reads data from a file. 26*05767d91SRobert Wu 27*05767d91SRobert Wu### MemInputStream 28*05767d91SRobert WuA concrete implementation of `InputStream` that reads data from a memory block. 29*05767d91SRobert Wu 30*05767d91SRobert Wu## **wav** Classes 31*05767d91SRobert WuContains classes to read/load audio data in WAV format. WAV format files are "Microsoft Resource Interchange File Format" (RIFF) files. WAV files contain a variety of RIFF "chunks", but only a few are required (see 'Chunk' classes below) 32*05767d91SRobert Wu 33*05767d91SRobert Wu### Utility 34*05767d91SRobert Wu#### AudioEncoding 35*05767d91SRobert WuDefines constants for various audio encodings 36*05767d91SRobert Wu 37*05767d91SRobert Wu### WavTypes 38*05767d91SRobert WuSupport for **RIFF** file types and managing FOURCC data. 39*05767d91SRobert Wu 40*05767d91SRobert Wu### WAV Data I/O 41*05767d91SRobert Wu#### WavStreamReader 42*05767d91SRobert WuParses and loads WAV data from an InputStream. 43*05767d91SRobert Wu 44*05767d91SRobert Wu### WAV Data 45*05767d91SRobert Wu#### WavChunkHeader 46*05767d91SRobert WuDefines common fields and operations for all WAV format RIFF Chunks. 47*05767d91SRobert Wu 48*05767d91SRobert Wu#### WavFmtChunkHeader 49*05767d91SRobert WuDefines fields and operations for RIFF '`fmt `' chunks 50*05767d91SRobert Wu 51*05767d91SRobert Wu#### WavRIFFChunkHeader 52*05767d91SRobert WuDefines fields and operations for RIFF '`data`' chunks 53