forked from renaudbedard/nvorbis
Fork of http://nvorbis.codeplex.com/ with some performance improvements and a streaming sample for OpenTK
License
katerd/nvorbis
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
NVorbis ------- NVorbis is a .Net library for decoding Xiph.org Vorbis files. It is purely managed code, and should run correctly in partial-trust environments. This implementation is based on the Vorbis specification found on xiph.org. The MDCT and Huffman codeword generator were borrowed from public domain implementations at http://nothings.org/stb_vorbis/. Currently the only container supported is Xiph.org Ogg. Matroska and RTP are planned. To use: - Create an instance of NVorbis.VorbisReader (pass the Ogg Vorbis filename in) - Use these properties to gather data about the logical stream: - Channels - SampleRate - TotalTime - A TimeSpan indicating the total length of the audio data - DecodedTime - A TimeSpan indicating the last returned sample's timestamp - NominalBitrate, UpperBitrate, and LowerBitrate - These are the encoder's reported bitrates - Vendor - The encoder's vendor string - Comments - An array of comments in the file (usually tags) - Call "int ReadSamples(float[], int, int)" to retrieve the next batch of samples. It will return 0 when the logical Vorbis stream is done. - For NAudio support: - Reference NVorbis.NAudioSupport.dll - Create an instance of NVorbis.NAudioSupport.VorbisWaveReader - VorbisWaveReader implements NAudio.Wave.WaveStream. History ------- 0.1 - 08/03/2012 * Initial Release 0.2 - 08/07/2012 * Swapped out LGPL code for public domain implementations * Relicensed under Ms-PL * Added NAudio support project * Added test files & app * Performance improvements 0.3 - 08/08/2012 * Fixed Page / Packet decode (packets overlapping 2 pages) * Fixed "no energy" packet handling * Fixed packet reader not merging when unsolicited packets are added * Added .gitignore * Added initial multi-stream support * Added statistics (see VorbisReader.Stats) 0.4 - 08/14/2012 * Refactoring to clean up code and make room for later improvements * Changed lapping algorithm to be simpler * Switched to higher-performance clipping algorithm * Some cleanup 0.4.1 - 09/11/2012 * Fixed a couple Ogg container bugs * Optimized memory allocations for better performance / memory usage 0.5 - 09/20/2012 * Added seeking support * Changed OggPacketReader to use a doubly-linked list for the packet queue / history * Changed OggPacketReader.GetTotalPageCount() to count pages directly instead of making .AddPacket(...) keep a list * Fixed a few bugs (mostly race conditions in multi-threaded playback scenarios) * Added multi-stream support to VorbisWaveReader * Added several info properties to VorbisWaveReader
About
Fork of http://nvorbis.codeplex.com/ with some performance improvements and a streaming sample for OpenTK
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published