seal 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.yardopts +1 -0
- data/LICENSE +13 -0
- data/README.md +265 -0
- data/ext/seal/extconf.rb +45 -0
- data/include/al/al.h +724 -0
- data/include/al/alc.h +277 -0
- data/include/al/efx-presets.h +402 -0
- data/include/al/efx.h +758 -0
- data/include/mpg123/mpg123.h +1034 -0
- data/include/ogg/config_types.h +25 -0
- data/include/ogg/ogg.h +210 -0
- data/include/ogg/os_types.h +147 -0
- data/include/seal.h +23 -0
- data/include/seal/buf.h +143 -0
- data/include/seal/core.h +95 -0
- data/include/seal/efs.h +112 -0
- data/include/seal/err.h +93 -0
- data/include/seal/fmt.h +58 -0
- data/include/seal/listener.h +103 -0
- data/include/seal/raw.h +86 -0
- data/include/seal/rvb.h +520 -0
- data/include/seal/src.h +413 -0
- data/include/seal/stream.h +81 -0
- data/include/vorbis/codec.h +243 -0
- data/include/vorbis/vorbisfile.h +206 -0
- data/mpg123/AUTHORS +150 -0
- data/mpg123/COPYING +773 -0
- data/mpg123/ChangeLog +3 -0
- data/mpg123/INSTALL +111 -0
- data/mpg123/Makefile.am +99 -0
- data/mpg123/Makefile.in +1043 -0
- data/mpg123/NEWS +1200 -0
- data/mpg123/NEWS.libmpg123 +133 -0
- data/mpg123/README +203 -0
- data/mpg123/TODO +38 -0
- data/mpg123/aclocal.m4 +1168 -0
- data/mpg123/build/config.guess +1530 -0
- data/mpg123/build/config.sub +1782 -0
- data/mpg123/build/depcomp +707 -0
- data/mpg123/build/install-sh +527 -0
- data/mpg123/build/ltmain.sh +9655 -0
- data/mpg123/build/missing +330 -0
- data/mpg123/configure +20267 -0
- data/mpg123/configure.ac +2178 -0
- data/mpg123/doc/ACCURACY +2 -0
- data/mpg123/doc/BENCHMARKING +110 -0
- data/mpg123/doc/BUGS +3 -0
- data/mpg123/doc/CONTACT +17 -0
- data/mpg123/doc/LICENSE +22 -0
- data/mpg123/doc/Makefile.am +32 -0
- data/mpg123/doc/Makefile.in +490 -0
- data/mpg123/doc/PATENTS +39 -0
- data/mpg123/doc/README.3DNOW +56 -0
- data/mpg123/doc/README.gain +171 -0
- data/mpg123/doc/README.remote +218 -0
- data/mpg123/doc/ROAD_TO_LGPL +270 -0
- data/mpg123/doc/THANKS +13 -0
- data/mpg123/doc/TODO +63 -0
- data/mpg123/doc/doxy_examples.c +21 -0
- data/mpg123/doc/doxygen.conf +41 -0
- data/mpg123/doc/doxyhead.xhtml +12 -0
- data/mpg123/doc/examples/dump_seekindex.c +41 -0
- data/mpg123/doc/examples/extract_frames.c +92 -0
- data/mpg123/doc/examples/feedseek.c +238 -0
- data/mpg123/doc/examples/id3dump.c +178 -0
- data/mpg123/doc/examples/mpg123_to_wav.c +118 -0
- data/mpg123/doc/examples/mpglib.c +92 -0
- data/mpg123/doc/examples/scan.c +47 -0
- data/mpg123/doc/libmpg123_speed.txt +84 -0
- data/mpg123/equalize.dat +37 -0
- data/mpg123/libmpg123.pc.in +11 -0
- data/mpg123/m4/addrconfig.m4 +34 -0
- data/mpg123/m4/libtool.m4 +7982 -0
- data/mpg123/m4/ltoptions.m4 +384 -0
- data/mpg123/m4/ltsugar.m4 +123 -0
- data/mpg123/m4/ltversion.m4 +23 -0
- data/mpg123/m4/lt~obsolete.m4 +98 -0
- data/mpg123/makedll.sh +19 -0
- data/mpg123/man1/mpg123.1 +512 -0
- data/mpg123/mpg123.spec +68 -0
- data/mpg123/mpg123.spec.in +68 -0
- data/mpg123/ports/MSVC++/2005/libmpg123/libmpg123.vcproj +741 -0
- data/mpg123/ports/MSVC++/2008/dump_seekindex/dump_seekindex.vcproj +194 -0
- data/mpg123/ports/MSVC++/2008/feedseek/feedseek.vcproj +195 -0
- data/mpg123/ports/MSVC++/2008/libmpg123/libmpg123.vcproj +1357 -0
- data/mpg123/ports/MSVC++/2008/mpg123.sln +44 -0
- data/mpg123/ports/MSVC++/2008/mpglib/mpglib.vcproj +191 -0
- data/mpg123/ports/MSVC++/2008/scan/scan.vcproj +195 -0
- data/mpg123/ports/MSVC++/2008clr/2008clr.sln +81 -0
- data/mpg123/ports/MSVC++/2008clr/examples/ReplaceReaderclr/Program.cs +435 -0
- data/mpg123/ports/MSVC++/2008clr/examples/ReplaceReaderclr/Properties/AssemblyInfo.cs +36 -0
- data/mpg123/ports/MSVC++/2008clr/examples/ReplaceReaderclr/ReplaceReaderclr.csproj +72 -0
- data/mpg123/ports/MSVC++/2008clr/examples/feedseekclr/Program.cs +331 -0
- data/mpg123/ports/MSVC++/2008clr/examples/feedseekclr/Properties/AssemblyInfo.cs +36 -0
- data/mpg123/ports/MSVC++/2008clr/examples/feedseekclr/feedseekclr.csproj +71 -0
- data/mpg123/ports/MSVC++/2008clr/examples/scanclr/Program.cs +79 -0
- data/mpg123/ports/MSVC++/2008clr/examples/scanclr/Properties/AssemblyInfo.cs +36 -0
- data/mpg123/ports/MSVC++/2008clr/examples/scanclr/scanclr.csproj +70 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/AssemblyInfo.cpp +76 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/ReadMe.txt +165 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/advanced.cpp +91 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/advanced.h +130 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/dllmain.cpp +19 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/enum.h +218 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/error.cpp +48 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/error.h +134 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/id3v1.cpp +92 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/id3v1.h +132 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/id3v2.cpp +138 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/id3v2.h +152 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/mpg123clr.cpp +896 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/mpg123clr.h +953 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/mpg123clr.rc +102 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/mpg123clr.vcproj +328 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/resource.h +14 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/stdafx.cpp +8 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/stdafx.h +38 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/string.cpp +166 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/string.h +265 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/targetver.h +24 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/text.cpp +67 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/text.h +111 -0
- data/mpg123/ports/MSVC++/2010/dump_seekindex/dump_seekindex.vcxproj +90 -0
- data/mpg123/ports/MSVC++/2010/dump_seekindex/dump_seekindex.vcxproj.filters +6 -0
- data/mpg123/ports/MSVC++/2010/feedseek/feedseek.vcxproj +95 -0
- data/mpg123/ports/MSVC++/2010/feedseek/feedseek.vcxproj.filters +6 -0
- data/mpg123/ports/MSVC++/2010/libmpg123/libmpg123.vcxproj +960 -0
- data/mpg123/ports/MSVC++/2010/libmpg123/libmpg123.vcxproj.user +3 -0
- data/mpg123/ports/MSVC++/2010/libmpg123/yasm.exe +0 -0
- data/mpg123/ports/MSVC++/2010/mpg123.sln +38 -0
- data/mpg123/ports/MSVC++/2010/scan/scan.vcxproj +93 -0
- data/mpg123/ports/MSVC++/2010/scan/scan.vcxproj.filters +6 -0
- data/mpg123/ports/MSVC++/CMP3Stream/INCLUDE/CORE/CORE_FileIn.H +15 -0
- data/mpg123/ports/MSVC++/CMP3Stream/INCLUDE/CORE/SourceFilter_MP3.H +139 -0
- data/mpg123/ports/MSVC++/CMP3Stream/INCLUDE/IIEP_Def.H +206 -0
- data/mpg123/ports/MSVC++/CMP3Stream/INCLUDE/IIEP_FileIn.H +167 -0
- data/mpg123/ports/MSVC++/CMP3Stream/README +4 -0
- data/mpg123/ports/MSVC++/CMP3Stream/SOURCE/CORE_FileIn.CPP +462 -0
- data/mpg123/ports/MSVC++/CMP3Stream/SOURCE/CORE_Log.CPP +122 -0
- data/mpg123/ports/MSVC++/CMP3Stream/SOURCE/CORE_Mutex.CPP +35 -0
- data/mpg123/ports/MSVC++/CMP3Stream/SOURCE/SourceFilter_MP3Stream.CPP +586 -0
- data/mpg123/ports/MSVC++/CMP3Stream/libMPG123/PLACE_LIBMPG123_SOURCES_HERE +0 -0
- data/mpg123/ports/MSVC++/CMP3Stream/libMPG123/libMPG123.vcproj +245 -0
- data/mpg123/ports/MSVC++/config.h +35 -0
- data/mpg123/ports/MSVC++/examples/feedseek.c +240 -0
- data/mpg123/ports/MSVC++/examples/scan.c +47 -0
- data/mpg123/ports/MSVC++/mpg123.h +46 -0
- data/mpg123/ports/MSVC++/msvc.c +59 -0
- data/mpg123/ports/README +26 -0
- data/mpg123/ports/Sony_PSP/Makefile.psp +38 -0
- data/mpg123/ports/Sony_PSP/README +11 -0
- data/mpg123/ports/Sony_PSP/config.h +368 -0
- data/mpg123/ports/Sony_PSP/readers.c.patch +2 -0
- data/mpg123/ports/Xcode/config.h +197 -0
- data/mpg123/ports/Xcode/mpg123.h +17 -0
- data/mpg123/ports/Xcode/mpg123.xcodeproj/project.pbxproj +670 -0
- data/mpg123/ports/mpg123_.pas +478 -0
- data/mpg123/scripts/benchmark-cpu.pl +56 -0
- data/mpg123/scripts/tag_lyrics.py +76 -0
- data/mpg123/src/Makefile.am +186 -0
- data/mpg123/src/Makefile.in +1097 -0
- data/mpg123/src/audio.c +725 -0
- data/mpg123/src/audio.h +106 -0
- data/mpg123/src/buffer.c +312 -0
- data/mpg123/src/buffer.h +45 -0
- data/mpg123/src/common.c +240 -0
- data/mpg123/src/common.h +29 -0
- data/mpg123/src/config.h.in +436 -0
- data/mpg123/src/control_generic.c +809 -0
- data/mpg123/src/equalizer.c +48 -0
- data/mpg123/src/genre.c +271 -0
- data/mpg123/src/genre.h +15 -0
- data/mpg123/src/getlopt.c +148 -0
- data/mpg123/src/getlopt.h +77 -0
- data/mpg123/src/httpget.c +700 -0
- data/mpg123/src/httpget.h +66 -0
- data/mpg123/src/legacy_module.c +74 -0
- data/mpg123/src/libmpg123/Makefile.am +141 -0
- data/mpg123/src/libmpg123/Makefile.in +919 -0
- data/mpg123/src/libmpg123/compat.c +138 -0
- data/mpg123/src/libmpg123/compat.h +178 -0
- data/mpg123/src/libmpg123/dct36_3dnow.S +505 -0
- data/mpg123/src/libmpg123/dct36_3dnowext.S +512 -0
- data/mpg123/src/libmpg123/dct64.c +174 -0
- data/mpg123/src/libmpg123/dct64_3dnow.S +712 -0
- data/mpg123/src/libmpg123/dct64_3dnowext.S +714 -0
- data/mpg123/src/libmpg123/dct64_altivec.c +315 -0
- data/mpg123/src/libmpg123/dct64_i386.c +336 -0
- data/mpg123/src/libmpg123/dct64_i486.c +342 -0
- data/mpg123/src/libmpg123/dct64_mmx.S +811 -0
- data/mpg123/src/libmpg123/dct64_neon.S +297 -0
- data/mpg123/src/libmpg123/dct64_neon_float.S +270 -0
- data/mpg123/src/libmpg123/dct64_sse.S +454 -0
- data/mpg123/src/libmpg123/dct64_sse_float.S +401 -0
- data/mpg123/src/libmpg123/dct64_x86_64.S +464 -0
- data/mpg123/src/libmpg123/dct64_x86_64_float.S +426 -0
- data/mpg123/src/libmpg123/debug.h +171 -0
- data/mpg123/src/libmpg123/decode.h +268 -0
- data/mpg123/src/libmpg123/dither.c +119 -0
- data/mpg123/src/libmpg123/dither.h +23 -0
- data/mpg123/src/libmpg123/equalizer.c +17 -0
- data/mpg123/src/libmpg123/equalizer_3dnow.S +70 -0
- data/mpg123/src/libmpg123/feature.c +106 -0
- data/mpg123/src/libmpg123/format.c +521 -0
- data/mpg123/src/libmpg123/frame.c +1046 -0
- data/mpg123/src/libmpg123/frame.h +410 -0
- data/mpg123/src/libmpg123/gapless.h +119 -0
- data/mpg123/src/libmpg123/getbits.h +100 -0
- data/mpg123/src/libmpg123/getcpuflags.S +91 -0
- data/mpg123/src/libmpg123/getcpuflags.h +47 -0
- data/mpg123/src/libmpg123/huffman.h +340 -0
- data/mpg123/src/libmpg123/icy.c +32 -0
- data/mpg123/src/libmpg123/icy.h +38 -0
- data/mpg123/src/libmpg123/icy2utf8.c +438 -0
- data/mpg123/src/libmpg123/icy2utf8.h +10 -0
- data/mpg123/src/libmpg123/id3.c +999 -0
- data/mpg123/src/libmpg123/id3.h +43 -0
- data/mpg123/src/libmpg123/index.c +134 -0
- data/mpg123/src/libmpg123/index.h +59 -0
- data/mpg123/src/libmpg123/intsym.h +256 -0
- data/mpg123/src/libmpg123/l12_integer_tables.h +278 -0
- data/mpg123/src/libmpg123/l2tables.h +164 -0
- data/mpg123/src/libmpg123/l3_integer_tables.h +1002 -0
- data/mpg123/src/libmpg123/layer1.c +155 -0
- data/mpg123/src/libmpg123/layer2.c +371 -0
- data/mpg123/src/libmpg123/layer3.c +2053 -0
- data/mpg123/src/libmpg123/lfs_alias.c +252 -0
- data/mpg123/src/libmpg123/lfs_wrap.c +751 -0
- data/mpg123/src/libmpg123/libmpg123.c +1607 -0
- data/mpg123/src/libmpg123/mangle.h +74 -0
- data/mpg123/src/libmpg123/mpeghead.h +87 -0
- data/mpg123/src/libmpg123/mpg123.h.in +1075 -0
- data/mpg123/src/libmpg123/mpg123lib_intern.h +338 -0
- data/mpg123/src/libmpg123/ntom.c +148 -0
- data/mpg123/src/libmpg123/optimize.c +964 -0
- data/mpg123/src/libmpg123/optimize.h +219 -0
- data/mpg123/src/libmpg123/parse.c +1179 -0
- data/mpg123/src/libmpg123/parse.h +25 -0
- data/mpg123/src/libmpg123/reader.h +137 -0
- data/mpg123/src/libmpg123/readers.c +1235 -0
- data/mpg123/src/libmpg123/sample.h +152 -0
- data/mpg123/src/libmpg123/stringbuf.c +163 -0
- data/mpg123/src/libmpg123/synth.c +816 -0
- data/mpg123/src/libmpg123/synth.h +196 -0
- data/mpg123/src/libmpg123/synth_3dnow.S +318 -0
- data/mpg123/src/libmpg123/synth_3dnowext.S +6 -0
- data/mpg123/src/libmpg123/synth_8bit.c +142 -0
- data/mpg123/src/libmpg123/synth_8bit.h +86 -0
- data/mpg123/src/libmpg123/synth_altivec.c +1057 -0
- data/mpg123/src/libmpg123/synth_arm.S +271 -0
- data/mpg123/src/libmpg123/synth_arm_accurate.S +287 -0
- data/mpg123/src/libmpg123/synth_i486.c +252 -0
- data/mpg123/src/libmpg123/synth_i586.S +336 -0
- data/mpg123/src/libmpg123/synth_i586_dither.S +375 -0
- data/mpg123/src/libmpg123/synth_mmx.S +125 -0
- data/mpg123/src/libmpg123/synth_mono.h +64 -0
- data/mpg123/src/libmpg123/synth_neon.S +123 -0
- data/mpg123/src/libmpg123/synth_neon_accurate.S +173 -0
- data/mpg123/src/libmpg123/synth_neon_float.S +149 -0
- data/mpg123/src/libmpg123/synth_neon_s32.S +168 -0
- data/mpg123/src/libmpg123/synth_ntom.h +213 -0
- data/mpg123/src/libmpg123/synth_real.c +404 -0
- data/mpg123/src/libmpg123/synth_s32.c +411 -0
- data/mpg123/src/libmpg123/synth_sse.S +6 -0
- data/mpg123/src/libmpg123/synth_sse3d.h +246 -0
- data/mpg123/src/libmpg123/synth_sse_accurate.S +294 -0
- data/mpg123/src/libmpg123/synth_sse_float.S +241 -0
- data/mpg123/src/libmpg123/synth_sse_s32.S +306 -0
- data/mpg123/src/libmpg123/synth_stereo_neon.S +175 -0
- data/mpg123/src/libmpg123/synth_stereo_neon_accurate.S +262 -0
- data/mpg123/src/libmpg123/synth_stereo_neon_float.S +220 -0
- data/mpg123/src/libmpg123/synth_stereo_neon_s32.S +247 -0
- data/mpg123/src/libmpg123/synth_stereo_sse_accurate.S +508 -0
- data/mpg123/src/libmpg123/synth_stereo_sse_float.S +416 -0
- data/mpg123/src/libmpg123/synth_stereo_sse_s32.S +540 -0
- data/mpg123/src/libmpg123/synth_stereo_x86_64.S +335 -0
- data/mpg123/src/libmpg123/synth_stereo_x86_64_accurate.S +454 -0
- data/mpg123/src/libmpg123/synth_stereo_x86_64_float.S +396 -0
- data/mpg123/src/libmpg123/synth_stereo_x86_64_s32.S +473 -0
- data/mpg123/src/libmpg123/synth_x86_64.S +244 -0
- data/mpg123/src/libmpg123/synth_x86_64_accurate.S +301 -0
- data/mpg123/src/libmpg123/synth_x86_64_float.S +259 -0
- data/mpg123/src/libmpg123/synth_x86_64_s32.S +312 -0
- data/mpg123/src/libmpg123/synths.h +52 -0
- data/mpg123/src/libmpg123/tabinit.c +294 -0
- data/mpg123/src/libmpg123/tabinit_mmx.S +210 -0
- data/mpg123/src/libmpg123/testcpu.c +35 -0
- data/mpg123/src/libmpg123/true.h +14 -0
- data/mpg123/src/local.c +63 -0
- data/mpg123/src/local.h +21 -0
- data/mpg123/src/metaprint.c +373 -0
- data/mpg123/src/metaprint.h +17 -0
- data/mpg123/src/module.c +306 -0
- data/mpg123/src/module.h +48 -0
- data/mpg123/src/mpg123.c +1405 -0
- data/mpg123/src/mpg123app.h +171 -0
- data/mpg123/src/output/Makefile.am +213 -0
- data/mpg123/src/output/Makefile.in +1238 -0
- data/mpg123/src/output/aix.c +300 -0
- data/mpg123/src/output/alib.c +209 -0
- data/mpg123/src/output/alsa.c +297 -0
- data/mpg123/src/output/arts.c +117 -0
- data/mpg123/src/output/coreaudio.c +370 -0
- data/mpg123/src/output/dummy.c +78 -0
- data/mpg123/src/output/esd.c +167 -0
- data/mpg123/src/output/hp.c +184 -0
- data/mpg123/src/output/jack.c +450 -0
- data/mpg123/src/output/mint.c +197 -0
- data/mpg123/src/output/nas.c +335 -0
- data/mpg123/src/output/openal.c +197 -0
- data/mpg123/src/output/os2.c +665 -0
- data/mpg123/src/output/oss.c +319 -0
- data/mpg123/src/output/portaudio.c +255 -0
- data/mpg123/src/output/pulse.c +164 -0
- data/mpg123/src/output/sdl.c +206 -0
- data/mpg123/src/output/sgi.c +213 -0
- data/mpg123/src/output/sndio.c +161 -0
- data/mpg123/src/output/sun.c +281 -0
- data/mpg123/src/output/win32.c +229 -0
- data/mpg123/src/playlist.c +596 -0
- data/mpg123/src/playlist.h +52 -0
- data/mpg123/src/resolver.c +319 -0
- data/mpg123/src/resolver.h +25 -0
- data/mpg123/src/sfifo.c +146 -0
- data/mpg123/src/sfifo.h +95 -0
- data/mpg123/src/streamdump.c +74 -0
- data/mpg123/src/streamdump.h +20 -0
- data/mpg123/src/term.c +479 -0
- data/mpg123/src/term.h +81 -0
- data/mpg123/src/tests/noise.c +52 -0
- data/mpg123/src/tests/plain_id3.c +109 -0
- data/mpg123/src/tests/seek_accuracy.c +261 -0
- data/mpg123/src/tests/seek_whence.c +56 -0
- data/mpg123/src/tests/testtext.h +34 -0
- data/mpg123/src/tests/text.c +80 -0
- data/mpg123/src/wav.c +464 -0
- data/mpg123/src/wavhead.h +68 -0
- data/mpg123/src/win32_net.c +599 -0
- data/mpg123/src/win32_support.c +191 -0
- data/mpg123/src/win32_support.h +152 -0
- data/mpg123/src/xfermem.c +321 -0
- data/mpg123/src/xfermem.h +74 -0
- data/mpg123/windows-builds.sh +137 -0
- data/msvc/lib/OpenAL32.lib +0 -0
- data/spec/fixtures/heal.ogg +0 -0
- data/spec/fixtures/tone_up.wav +0 -0
- data/spec/seal/buffer_spec.rb +37 -0
- data/spec/seal/core_spec.rb +29 -0
- data/spec/seal/effect_slot_spec.rb +38 -0
- data/spec/seal/listener_spec.rb +33 -0
- data/spec/seal/reverb_spec.rb +51 -0
- data/spec/seal/source_spec.rb +370 -0
- data/spec/seal/stream_spec.rb +38 -0
- data/spec/spec_helper.rb +45 -0
- data/spec/support/attribute_examples.rb +75 -0
- data/spec/support/audio_object_with_format.rb +27 -0
- data/spec/support/movable_object.rb +22 -0
- data/src/libogg/bitwise.c +857 -0
- data/src/libogg/framing.c +2093 -0
- data/src/libvorbis/backends.h +144 -0
- data/src/libvorbis/bitrate.c +253 -0
- data/src/libvorbis/bitrate.h +59 -0
- data/src/libvorbis/block.c +1046 -0
- data/src/libvorbis/codebook.c +484 -0
- data/src/libvorbis/codebook.h +119 -0
- data/src/libvorbis/codec_internal.h +167 -0
- data/src/libvorbis/envelope.c +375 -0
- data/src/libvorbis/envelope.h +80 -0
- data/src/libvorbis/floor0.c +221 -0
- data/src/libvorbis/floor1.c +1100 -0
- data/src/libvorbis/highlevel.h +58 -0
- data/src/libvorbis/info.c +668 -0
- data/src/libvorbis/lookup.c +94 -0
- data/src/libvorbis/lookup.h +32 -0
- data/src/libvorbis/lookup_data.h +192 -0
- data/src/libvorbis/lpc.c +160 -0
- data/src/libvorbis/lpc.h +29 -0
- data/src/libvorbis/lsp.c +456 -0
- data/src/libvorbis/lsp.h +28 -0
- data/src/libvorbis/mapping0.c +816 -0
- data/src/libvorbis/masking.h +785 -0
- data/src/libvorbis/mdct.c +563 -0
- data/src/libvorbis/mdct.h +71 -0
- data/src/libvorbis/misc.h +57 -0
- data/src/libvorbis/os.h +186 -0
- data/src/libvorbis/psy.c +1206 -0
- data/src/libvorbis/psy.h +154 -0
- data/src/libvorbis/registry.c +45 -0
- data/src/libvorbis/registry.h +32 -0
- data/src/libvorbis/res0.c +889 -0
- data/src/libvorbis/scales.h +90 -0
- data/src/libvorbis/sharedbook.c +579 -0
- data/src/libvorbis/smallft.c +1255 -0
- data/src/libvorbis/smallft.h +34 -0
- data/src/libvorbis/synthesis.c +184 -0
- data/src/libvorbis/vorbisfile.c +2337 -0
- data/src/libvorbis/window.c +2135 -0
- data/src/libvorbis/window.h +26 -0
- data/src/rubyext.c +2329 -0
- data/src/seal/buf.c +124 -0
- data/src/seal/core.c +283 -0
- data/src/seal/efs.c +74 -0
- data/src/seal/err.c +118 -0
- data/src/seal/fmt.c +86 -0
- data/src/seal/listener.c +111 -0
- data/src/seal/mpg.c +174 -0
- data/src/seal/mpg.h +24 -0
- data/src/seal/ov.c +180 -0
- data/src/seal/ov.h +22 -0
- data/src/seal/raw.c +59 -0
- data/src/seal/reader.c +102 -0
- data/src/seal/reader.h +59 -0
- data/src/seal/rvb.c +368 -0
- data/src/seal/src.c +654 -0
- data/src/seal/stream.c +109 -0
- data/src/seal/threading.c +66 -0
- data/src/seal/threading.h +20 -0
- data/src/seal/wav.c +297 -0
- data/src/seal/wav.h +23 -0
- data/src/win32api.rb +29 -0
- metadata +563 -0
@@ -0,0 +1,243 @@
|
|
1
|
+
/********************************************************************
|
2
|
+
* *
|
3
|
+
* THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
|
4
|
+
* USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
|
5
|
+
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
|
6
|
+
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
7
|
+
* *
|
8
|
+
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 *
|
9
|
+
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
10
|
+
|
11
|
+
********************************************************************
|
12
|
+
|
13
|
+
function: libvorbis codec headers
|
14
|
+
last mod: $Id: codec.h 17021 2010-03-24 09:29:41Z xiphmont $
|
15
|
+
|
16
|
+
********************************************************************/
|
17
|
+
|
18
|
+
#ifndef _vorbis_codec_h_
|
19
|
+
#define _vorbis_codec_h_
|
20
|
+
|
21
|
+
#ifdef __cplusplus
|
22
|
+
extern "C"
|
23
|
+
{
|
24
|
+
#endif /* __cplusplus */
|
25
|
+
|
26
|
+
#include <ogg/ogg.h>
|
27
|
+
|
28
|
+
typedef struct vorbis_info{
|
29
|
+
int version;
|
30
|
+
int channels;
|
31
|
+
long rate;
|
32
|
+
|
33
|
+
/* The below bitrate declarations are *hints*.
|
34
|
+
Combinations of the three values carry the following implications:
|
35
|
+
|
36
|
+
all three set to the same value:
|
37
|
+
implies a fixed rate bitstream
|
38
|
+
only nominal set:
|
39
|
+
implies a VBR stream that averages the nominal bitrate. No hard
|
40
|
+
upper/lower limit
|
41
|
+
upper and or lower set:
|
42
|
+
implies a VBR bitstream that obeys the bitrate limits. nominal
|
43
|
+
may also be set to give a nominal rate.
|
44
|
+
none set:
|
45
|
+
the coder does not care to speculate.
|
46
|
+
*/
|
47
|
+
|
48
|
+
long bitrate_upper;
|
49
|
+
long bitrate_nominal;
|
50
|
+
long bitrate_lower;
|
51
|
+
long bitrate_window;
|
52
|
+
|
53
|
+
void *codec_setup;
|
54
|
+
} vorbis_info;
|
55
|
+
|
56
|
+
/* vorbis_dsp_state buffers the current vorbis audio
|
57
|
+
analysis/synthesis state. The DSP state belongs to a specific
|
58
|
+
logical bitstream ****************************************************/
|
59
|
+
typedef struct vorbis_dsp_state{
|
60
|
+
int analysisp;
|
61
|
+
vorbis_info *vi;
|
62
|
+
|
63
|
+
float **pcm;
|
64
|
+
float **pcmret;
|
65
|
+
int pcm_storage;
|
66
|
+
int pcm_current;
|
67
|
+
int pcm_returned;
|
68
|
+
|
69
|
+
int preextrapolate;
|
70
|
+
int eofflag;
|
71
|
+
|
72
|
+
long lW;
|
73
|
+
long W;
|
74
|
+
long nW;
|
75
|
+
long centerW;
|
76
|
+
|
77
|
+
ogg_int64_t granulepos;
|
78
|
+
ogg_int64_t sequence;
|
79
|
+
|
80
|
+
ogg_int64_t glue_bits;
|
81
|
+
ogg_int64_t time_bits;
|
82
|
+
ogg_int64_t floor_bits;
|
83
|
+
ogg_int64_t res_bits;
|
84
|
+
|
85
|
+
void *backend_state;
|
86
|
+
} vorbis_dsp_state;
|
87
|
+
|
88
|
+
typedef struct vorbis_block{
|
89
|
+
/* necessary stream state for linking to the framing abstraction */
|
90
|
+
float **pcm; /* this is a pointer into local storage */
|
91
|
+
oggpack_buffer opb;
|
92
|
+
|
93
|
+
long lW;
|
94
|
+
long W;
|
95
|
+
long nW;
|
96
|
+
int pcmend;
|
97
|
+
int mode;
|
98
|
+
|
99
|
+
int eofflag;
|
100
|
+
ogg_int64_t granulepos;
|
101
|
+
ogg_int64_t sequence;
|
102
|
+
vorbis_dsp_state *vd; /* For read-only access of configuration */
|
103
|
+
|
104
|
+
/* local storage to avoid remallocing; it's up to the mapping to
|
105
|
+
structure it */
|
106
|
+
void *localstore;
|
107
|
+
long localtop;
|
108
|
+
long localalloc;
|
109
|
+
long totaluse;
|
110
|
+
struct alloc_chain *reap;
|
111
|
+
|
112
|
+
/* bitmetrics for the frame */
|
113
|
+
long glue_bits;
|
114
|
+
long time_bits;
|
115
|
+
long floor_bits;
|
116
|
+
long res_bits;
|
117
|
+
|
118
|
+
void *internal;
|
119
|
+
|
120
|
+
} vorbis_block;
|
121
|
+
|
122
|
+
/* vorbis_block is a single block of data to be processed as part of
|
123
|
+
the analysis/synthesis stream; it belongs to a specific logical
|
124
|
+
bitstream, but is independent from other vorbis_blocks belonging to
|
125
|
+
that logical bitstream. *************************************************/
|
126
|
+
|
127
|
+
struct alloc_chain{
|
128
|
+
void *ptr;
|
129
|
+
struct alloc_chain *next;
|
130
|
+
};
|
131
|
+
|
132
|
+
/* vorbis_info contains all the setup information specific to the
|
133
|
+
specific compression/decompression mode in progress (eg,
|
134
|
+
psychoacoustic settings, channel setup, options, codebook
|
135
|
+
etc). vorbis_info and substructures are in backends.h.
|
136
|
+
*********************************************************************/
|
137
|
+
|
138
|
+
/* the comments are not part of vorbis_info so that vorbis_info can be
|
139
|
+
static storage */
|
140
|
+
typedef struct vorbis_comment{
|
141
|
+
/* unlimited user comment fields. libvorbis writes 'libvorbis'
|
142
|
+
whatever vendor is set to in encode */
|
143
|
+
char **user_comments;
|
144
|
+
int *comment_lengths;
|
145
|
+
int comments;
|
146
|
+
char *vendor;
|
147
|
+
|
148
|
+
} vorbis_comment;
|
149
|
+
|
150
|
+
|
151
|
+
/* libvorbis encodes in two abstraction layers; first we perform DSP
|
152
|
+
and produce a packet (see docs/analysis.txt). The packet is then
|
153
|
+
coded into a framed OggSquish bitstream by the second layer (see
|
154
|
+
docs/framing.txt). Decode is the reverse process; we sync/frame
|
155
|
+
the bitstream and extract individual packets, then decode the
|
156
|
+
packet back into PCM audio.
|
157
|
+
|
158
|
+
The extra framing/packetizing is used in streaming formats, such as
|
159
|
+
files. Over the net (such as with UDP), the framing and
|
160
|
+
packetization aren't necessary as they're provided by the transport
|
161
|
+
and the streaming layer is not used */
|
162
|
+
|
163
|
+
/* Vorbis PRIMITIVES: general ***************************************/
|
164
|
+
|
165
|
+
extern void vorbis_info_init(vorbis_info *vi);
|
166
|
+
extern void vorbis_info_clear(vorbis_info *vi);
|
167
|
+
extern int vorbis_info_blocksize(vorbis_info *vi,int zo);
|
168
|
+
extern void vorbis_comment_init(vorbis_comment *vc);
|
169
|
+
extern void vorbis_comment_add(vorbis_comment *vc, const char *comment);
|
170
|
+
extern void vorbis_comment_add_tag(vorbis_comment *vc,
|
171
|
+
const char *tag, const char *contents);
|
172
|
+
extern char *vorbis_comment_query(vorbis_comment *vc, const char *tag, int count);
|
173
|
+
extern int vorbis_comment_query_count(vorbis_comment *vc, const char *tag);
|
174
|
+
extern void vorbis_comment_clear(vorbis_comment *vc);
|
175
|
+
|
176
|
+
extern int vorbis_block_init(vorbis_dsp_state *v, vorbis_block *vb);
|
177
|
+
extern int vorbis_block_clear(vorbis_block *vb);
|
178
|
+
extern void vorbis_dsp_clear(vorbis_dsp_state *v);
|
179
|
+
extern double vorbis_granule_time(vorbis_dsp_state *v,
|
180
|
+
ogg_int64_t granulepos);
|
181
|
+
|
182
|
+
extern const char *vorbis_version_string(void);
|
183
|
+
|
184
|
+
/* Vorbis PRIMITIVES: analysis/DSP layer ****************************/
|
185
|
+
|
186
|
+
extern int vorbis_analysis_init(vorbis_dsp_state *v,vorbis_info *vi);
|
187
|
+
extern int vorbis_commentheader_out(vorbis_comment *vc, ogg_packet *op);
|
188
|
+
extern int vorbis_analysis_headerout(vorbis_dsp_state *v,
|
189
|
+
vorbis_comment *vc,
|
190
|
+
ogg_packet *op,
|
191
|
+
ogg_packet *op_comm,
|
192
|
+
ogg_packet *op_code);
|
193
|
+
extern float **vorbis_analysis_buffer(vorbis_dsp_state *v,int vals);
|
194
|
+
extern int vorbis_analysis_wrote(vorbis_dsp_state *v,int vals);
|
195
|
+
extern int vorbis_analysis_blockout(vorbis_dsp_state *v,vorbis_block *vb);
|
196
|
+
extern int vorbis_analysis(vorbis_block *vb,ogg_packet *op);
|
197
|
+
|
198
|
+
extern int vorbis_bitrate_addblock(vorbis_block *vb);
|
199
|
+
extern int vorbis_bitrate_flushpacket(vorbis_dsp_state *vd,
|
200
|
+
ogg_packet *op);
|
201
|
+
|
202
|
+
/* Vorbis PRIMITIVES: synthesis layer *******************************/
|
203
|
+
extern int vorbis_synthesis_idheader(ogg_packet *op);
|
204
|
+
extern int vorbis_synthesis_headerin(vorbis_info *vi,vorbis_comment *vc,
|
205
|
+
ogg_packet *op);
|
206
|
+
|
207
|
+
extern int vorbis_synthesis_init(vorbis_dsp_state *v,vorbis_info *vi);
|
208
|
+
extern int vorbis_synthesis_restart(vorbis_dsp_state *v);
|
209
|
+
extern int vorbis_synthesis(vorbis_block *vb,ogg_packet *op);
|
210
|
+
extern int vorbis_synthesis_trackonly(vorbis_block *vb,ogg_packet *op);
|
211
|
+
extern int vorbis_synthesis_blockin(vorbis_dsp_state *v,vorbis_block *vb);
|
212
|
+
extern int vorbis_synthesis_pcmout(vorbis_dsp_state *v,float ***pcm);
|
213
|
+
extern int vorbis_synthesis_lapout(vorbis_dsp_state *v,float ***pcm);
|
214
|
+
extern int vorbis_synthesis_read(vorbis_dsp_state *v,int samples);
|
215
|
+
extern long vorbis_packet_blocksize(vorbis_info *vi,ogg_packet *op);
|
216
|
+
|
217
|
+
extern int vorbis_synthesis_halfrate(vorbis_info *v,int flag);
|
218
|
+
extern int vorbis_synthesis_halfrate_p(vorbis_info *v);
|
219
|
+
|
220
|
+
/* Vorbis ERRORS and return codes ***********************************/
|
221
|
+
|
222
|
+
#define OV_FALSE -1
|
223
|
+
#define OV_EOF -2
|
224
|
+
#define OV_HOLE -3
|
225
|
+
|
226
|
+
#define OV_EREAD -128
|
227
|
+
#define OV_EFAULT -129
|
228
|
+
#define OV_EIMPL -130
|
229
|
+
#define OV_EINVAL -131
|
230
|
+
#define OV_ENOTVORBIS -132
|
231
|
+
#define OV_EBADHEADER -133
|
232
|
+
#define OV_EVERSION -134
|
233
|
+
#define OV_ENOTAUDIO -135
|
234
|
+
#define OV_EBADPACKET -136
|
235
|
+
#define OV_EBADLINK -137
|
236
|
+
#define OV_ENOSEEK -138
|
237
|
+
|
238
|
+
#ifdef __cplusplus
|
239
|
+
}
|
240
|
+
#endif /* __cplusplus */
|
241
|
+
|
242
|
+
#endif
|
243
|
+
|
@@ -0,0 +1,206 @@
|
|
1
|
+
/********************************************************************
|
2
|
+
* *
|
3
|
+
* THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
|
4
|
+
* USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
|
5
|
+
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
|
6
|
+
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
7
|
+
* *
|
8
|
+
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
|
9
|
+
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
10
|
+
* *
|
11
|
+
********************************************************************
|
12
|
+
|
13
|
+
function: stdio-based convenience library for opening/seeking/decoding
|
14
|
+
last mod: $Id: vorbisfile.h 17182 2010-04-29 03:48:32Z xiphmont $
|
15
|
+
|
16
|
+
********************************************************************/
|
17
|
+
|
18
|
+
#ifndef _OV_FILE_H_
|
19
|
+
#define _OV_FILE_H_
|
20
|
+
|
21
|
+
#ifdef __cplusplus
|
22
|
+
extern "C"
|
23
|
+
{
|
24
|
+
#endif /* __cplusplus */
|
25
|
+
|
26
|
+
#include <stdio.h>
|
27
|
+
#include "codec.h"
|
28
|
+
|
29
|
+
/* The function prototypes for the callbacks are basically the same as for
|
30
|
+
* the stdio functions fread, fseek, fclose, ftell.
|
31
|
+
* The one difference is that the FILE * arguments have been replaced with
|
32
|
+
* a void * - this is to be used as a pointer to whatever internal data these
|
33
|
+
* functions might need. In the stdio case, it's just a FILE * cast to a void *
|
34
|
+
*
|
35
|
+
* If you use other functions, check the docs for these functions and return
|
36
|
+
* the right values. For seek_func(), you *MUST* return -1 if the stream is
|
37
|
+
* unseekable
|
38
|
+
*/
|
39
|
+
typedef struct {
|
40
|
+
size_t (*read_func) (void *ptr, size_t size, size_t nmemb, void *datasource);
|
41
|
+
int (*seek_func) (void *datasource, ogg_int64_t offset, int whence);
|
42
|
+
int (*close_func) (void *datasource);
|
43
|
+
long (*tell_func) (void *datasource);
|
44
|
+
} ov_callbacks;
|
45
|
+
|
46
|
+
#ifndef OV_EXCLUDE_STATIC_CALLBACKS
|
47
|
+
|
48
|
+
/* a few sets of convenient callbacks, especially for use under
|
49
|
+
* Windows where ov_open_callbacks() should always be used instead of
|
50
|
+
* ov_open() to avoid problems with incompatible crt.o version linking
|
51
|
+
* issues. */
|
52
|
+
|
53
|
+
static int _ov_header_fseek_wrap(FILE *f,ogg_int64_t off,int whence){
|
54
|
+
if(f==NULL)return(-1);
|
55
|
+
|
56
|
+
#ifdef __MINGW32__
|
57
|
+
return fseeko64(f,off,whence);
|
58
|
+
#elif defined (_WIN32)
|
59
|
+
return _fseeki64(f,off,whence);
|
60
|
+
#else
|
61
|
+
return fseek(f,off,whence);
|
62
|
+
#endif
|
63
|
+
}
|
64
|
+
|
65
|
+
/* These structs below (OV_CALLBACKS_DEFAULT etc) are defined here as
|
66
|
+
* static data. That means that every file which includes this header
|
67
|
+
* will get its own copy of these structs whether it uses them or
|
68
|
+
* not unless it #defines OV_EXCLUDE_STATIC_CALLBACKS.
|
69
|
+
* These static symbols are essential on platforms such as Windows on
|
70
|
+
* which several different versions of stdio support may be linked to
|
71
|
+
* by different DLLs, and we need to be certain we know which one
|
72
|
+
* we're using (the same one as the main application).
|
73
|
+
*/
|
74
|
+
|
75
|
+
static ov_callbacks OV_CALLBACKS_DEFAULT = {
|
76
|
+
(size_t (*)(void *, size_t, size_t, void *)) fread,
|
77
|
+
(int (*)(void *, ogg_int64_t, int)) _ov_header_fseek_wrap,
|
78
|
+
(int (*)(void *)) fclose,
|
79
|
+
(long (*)(void *)) ftell
|
80
|
+
};
|
81
|
+
|
82
|
+
static ov_callbacks OV_CALLBACKS_NOCLOSE = {
|
83
|
+
(size_t (*)(void *, size_t, size_t, void *)) fread,
|
84
|
+
(int (*)(void *, ogg_int64_t, int)) _ov_header_fseek_wrap,
|
85
|
+
(int (*)(void *)) NULL,
|
86
|
+
(long (*)(void *)) ftell
|
87
|
+
};
|
88
|
+
|
89
|
+
static ov_callbacks OV_CALLBACKS_STREAMONLY = {
|
90
|
+
(size_t (*)(void *, size_t, size_t, void *)) fread,
|
91
|
+
(int (*)(void *, ogg_int64_t, int)) NULL,
|
92
|
+
(int (*)(void *)) fclose,
|
93
|
+
(long (*)(void *)) NULL
|
94
|
+
};
|
95
|
+
|
96
|
+
static ov_callbacks OV_CALLBACKS_STREAMONLY_NOCLOSE = {
|
97
|
+
(size_t (*)(void *, size_t, size_t, void *)) fread,
|
98
|
+
(int (*)(void *, ogg_int64_t, int)) NULL,
|
99
|
+
(int (*)(void *)) NULL,
|
100
|
+
(long (*)(void *)) NULL
|
101
|
+
};
|
102
|
+
|
103
|
+
#endif
|
104
|
+
|
105
|
+
#define NOTOPEN 0
|
106
|
+
#define PARTOPEN 1
|
107
|
+
#define OPENED 2
|
108
|
+
#define STREAMSET 3
|
109
|
+
#define INITSET 4
|
110
|
+
|
111
|
+
typedef struct OggVorbis_File {
|
112
|
+
void *datasource; /* Pointer to a FILE *, etc. */
|
113
|
+
int seekable;
|
114
|
+
ogg_int64_t offset;
|
115
|
+
ogg_int64_t end;
|
116
|
+
ogg_sync_state oy;
|
117
|
+
|
118
|
+
/* If the FILE handle isn't seekable (eg, a pipe), only the current
|
119
|
+
stream appears */
|
120
|
+
int links;
|
121
|
+
ogg_int64_t *offsets;
|
122
|
+
ogg_int64_t *dataoffsets;
|
123
|
+
long *serialnos;
|
124
|
+
ogg_int64_t *pcmlengths; /* overloaded to maintain binary
|
125
|
+
compatibility; x2 size, stores both
|
126
|
+
beginning and end values */
|
127
|
+
vorbis_info *vi;
|
128
|
+
vorbis_comment *vc;
|
129
|
+
|
130
|
+
/* Decoding working state local storage */
|
131
|
+
ogg_int64_t pcm_offset;
|
132
|
+
int ready_state;
|
133
|
+
long current_serialno;
|
134
|
+
int current_link;
|
135
|
+
|
136
|
+
double bittrack;
|
137
|
+
double samptrack;
|
138
|
+
|
139
|
+
ogg_stream_state os; /* take physical pages, weld into a logical
|
140
|
+
stream of packets */
|
141
|
+
vorbis_dsp_state vd; /* central working state for the packet->PCM decoder */
|
142
|
+
vorbis_block vb; /* local working space for packet->PCM decode */
|
143
|
+
|
144
|
+
ov_callbacks callbacks;
|
145
|
+
|
146
|
+
} OggVorbis_File;
|
147
|
+
|
148
|
+
|
149
|
+
extern int ov_clear(OggVorbis_File *vf);
|
150
|
+
extern int ov_fopen(const char *path,OggVorbis_File *vf);
|
151
|
+
extern int ov_open(FILE *f,OggVorbis_File *vf,const char *initial,long ibytes);
|
152
|
+
extern int ov_open_callbacks(void *datasource, OggVorbis_File *vf,
|
153
|
+
const char *initial, long ibytes, ov_callbacks callbacks);
|
154
|
+
|
155
|
+
extern int ov_test(FILE *f,OggVorbis_File *vf,const char *initial,long ibytes);
|
156
|
+
extern int ov_test_callbacks(void *datasource, OggVorbis_File *vf,
|
157
|
+
const char *initial, long ibytes, ov_callbacks callbacks);
|
158
|
+
extern int ov_test_open(OggVorbis_File *vf);
|
159
|
+
|
160
|
+
extern long ov_bitrate(OggVorbis_File *vf,int i);
|
161
|
+
extern long ov_bitrate_instant(OggVorbis_File *vf);
|
162
|
+
extern long ov_streams(OggVorbis_File *vf);
|
163
|
+
extern long ov_seekable(OggVorbis_File *vf);
|
164
|
+
extern long ov_serialnumber(OggVorbis_File *vf,int i);
|
165
|
+
|
166
|
+
extern ogg_int64_t ov_raw_total(OggVorbis_File *vf,int i);
|
167
|
+
extern ogg_int64_t ov_pcm_total(OggVorbis_File *vf,int i);
|
168
|
+
extern double ov_time_total(OggVorbis_File *vf,int i);
|
169
|
+
|
170
|
+
extern int ov_raw_seek(OggVorbis_File *vf,ogg_int64_t pos);
|
171
|
+
extern int ov_pcm_seek(OggVorbis_File *vf,ogg_int64_t pos);
|
172
|
+
extern int ov_pcm_seek_page(OggVorbis_File *vf,ogg_int64_t pos);
|
173
|
+
extern int ov_time_seek(OggVorbis_File *vf,double pos);
|
174
|
+
extern int ov_time_seek_page(OggVorbis_File *vf,double pos);
|
175
|
+
|
176
|
+
extern int ov_raw_seek_lap(OggVorbis_File *vf,ogg_int64_t pos);
|
177
|
+
extern int ov_pcm_seek_lap(OggVorbis_File *vf,ogg_int64_t pos);
|
178
|
+
extern int ov_pcm_seek_page_lap(OggVorbis_File *vf,ogg_int64_t pos);
|
179
|
+
extern int ov_time_seek_lap(OggVorbis_File *vf,double pos);
|
180
|
+
extern int ov_time_seek_page_lap(OggVorbis_File *vf,double pos);
|
181
|
+
|
182
|
+
extern ogg_int64_t ov_raw_tell(OggVorbis_File *vf);
|
183
|
+
extern ogg_int64_t ov_pcm_tell(OggVorbis_File *vf);
|
184
|
+
extern double ov_time_tell(OggVorbis_File *vf);
|
185
|
+
|
186
|
+
extern vorbis_info *ov_info(OggVorbis_File *vf,int link);
|
187
|
+
extern vorbis_comment *ov_comment(OggVorbis_File *vf,int link);
|
188
|
+
|
189
|
+
extern long ov_read_float(OggVorbis_File *vf,float ***pcm_channels,int samples,
|
190
|
+
int *bitstream);
|
191
|
+
extern long ov_read_filter(OggVorbis_File *vf,char *buffer,int length,
|
192
|
+
int bigendianp,int word,int sgned,int *bitstream,
|
193
|
+
void (*filter)(float **pcm,long channels,long samples,void *filter_param),void *filter_param);
|
194
|
+
extern long ov_read(OggVorbis_File *vf,char *buffer,int length,
|
195
|
+
int bigendianp,int word,int sgned,int *bitstream);
|
196
|
+
extern int ov_crosslap(OggVorbis_File *vf1,OggVorbis_File *vf2);
|
197
|
+
|
198
|
+
extern int ov_halfrate(OggVorbis_File *vf,int flag);
|
199
|
+
extern int ov_halfrate_p(OggVorbis_File *vf);
|
200
|
+
|
201
|
+
#ifdef __cplusplus
|
202
|
+
}
|
203
|
+
#endif /* __cplusplus */
|
204
|
+
|
205
|
+
#endif
|
206
|
+
|
data/mpg123/AUTHORS
ADDED
@@ -0,0 +1,150 @@
|
|
1
|
+
This is an attempt to give credit to the people who contributed in some way to the mpg123 project.
|
2
|
+
There are names and email addresses listed. Please use these addresses only to contact contributors with some question about their mpg123 contribution.
|
3
|
+
You are explicitly not allowed to send them unwanted business offers or to question the quality of their sex life.
|
4
|
+
--------------------
|
5
|
+
|
6
|
+
Current maintainers with various sorts of contributions:
|
7
|
+
Thomas Orgis <thomas@orgis.org>
|
8
|
+
Patrick Dehne <patrick@steidle.net>
|
9
|
+
Jonathan Yong <10walls@gmail.com>
|
10
|
+
|
11
|
+
Co-initiator of the revived mpg123 project, but not that involved anymore:
|
12
|
+
Nicholas J Humfrey <njh@ecs.soton.ac.uk>
|
13
|
+
|
14
|
+
Generic address pointing to the current maintainer (hopefully still works in future in case maintainership will change again): <maintainer@mpg123.org>
|
15
|
+
|
16
|
+
The creator: Michael Hipp (email: hippm@informatik.uni-tuebingen.de - please bother maintainers first)
|
17
|
+
|
18
|
+
Contributions/ideas Thomas Orgis era (includes backports from mhipp trunk):
|
19
|
+
|
20
|
+
Dan McGee <dpmcgee@gmail.com>: various patches (also for test suite)
|
21
|
+
Jonathan Yong (jon_y) <10walls@gmail.com>: win32 hacking
|
22
|
+
Malcolm Boczek <MBoczek@terraindustries.com>: Common language runtime wrapper
|
23
|
+
Elbert Pol (TeLLie) <elbert.pol@gmail.com>: OS/2 port fixup
|
24
|
+
Jeroen Valkonet <jvalkon@xs4all.nl>: motivate pitch control, suggestive patch for pitch command in generic control interface
|
25
|
+
Andy Hefner <ahefner@gmail.com>: patch for that second UTF16 issue
|
26
|
+
Taihei Monma <tmkk@mac.com>: A whole lot of new/improved assembler code, including Altivec!
|
27
|
+
Christian Weisgerber <naddy@openbsd.org>, Brad Smith: sndio output
|
28
|
+
Patrick Dehne (P4tr3ck) <patrick@steidle.net>: more MSVC++ porting, patch to handle missing bit reservoirs
|
29
|
+
Thorsten Glaser <tg@mirbsd.de>: icy2utf8, suggest utf8 locale stuff
|
30
|
+
Dan Smith <dan@algenta.com>: ABI fixes for ensuring stack alignment (esp. for MinGW-built DLL with MSVC)
|
31
|
+
Michael Ryzhykh <mclroy@gmail.com>: mpg123.spec.in
|
32
|
+
Stefan Lenselink <Stefan@lenselink.org>: initial aRts output
|
33
|
+
Sergej Kvachonok <ravenexp@gmail.com>: win32 audio rewrite
|
34
|
+
Winston: SunOS-4.1.4/gcc-2.7.0 testing and suggestions for fixes (legacy Makefile, integer type headers)
|
35
|
+
Mika Tiainen: pointing out the fix for the UTF to ASCII filtering of tags to actually work
|
36
|
+
Nick Kurshev <nickols_k@mail.ru>: extended 3dnow (from mplayer)
|
37
|
+
Zuxy Meng <zuxy.meng@gmail.com>: SSE (from mplayer)
|
38
|
+
Honza <cundrak@quick.cz>: idea and prototype patch for ICY meta data support
|
39
|
+
Petr Baudis <pasky@ucw.cz>: patches: term sigcont, id3 display unicode fallback and condensed output
|
40
|
+
Petr Salinger <Petr.Salinger@seznam.cz>: i486 enhancement
|
41
|
+
mpdavig@users.sourceforge.net: linux-ppc-nas Makefile.legacy entry
|
42
|
+
Adrian Bacon <adrian.bacon@xs4all.nl>: patched decode_i586_dither (noise shaped float/int rounding)
|
43
|
+
Cool Feet Audio project <nutcase@dtfm.org>: realtime equalizer control
|
44
|
+
Steve Grundell <www@grundell.u-net.com>: clean stdout in control mode with stdout decoding
|
45
|
+
Romain Dolbeau <romain@dolbeau.org>: Altivec support (taken from mplayer)
|
46
|
+
higway <higway@mednet.md>: MMX Patch
|
47
|
+
Clemens Ladisch <clemens@ladisch.de>: ALSA 0.9/1.0 support
|
48
|
+
|
49
|
+
Debian Daniel Kobras <kobras@debian.org> era:
|
50
|
+
|
51
|
+
Steve Kemp <skx@debian.org>
|
52
|
+
Dan Olson <theoddone33@icculus.org>
|
53
|
+
Syuuhei Kashiyama <squash@mb.kcom.ne.jp>
|
54
|
+
Rupert Levene <rupert.debian@hotpop.com>
|
55
|
+
Andreas Dilger <adilger@turbolinux.com>
|
56
|
+
Erik B. Andersen <andersee@debian.org>
|
57
|
+
Chris Butler <chrisb@debian.org>
|
58
|
+
Martin Sjogren <md9ms@mdstud.chalmers.se>
|
59
|
+
Chet Hosey <chosey@budapress.com>
|
60
|
+
Roland Rosenfeld <roland@spinnaker.de>
|
61
|
+
|
62
|
+
|
63
|
+
Debian Colin Watson <cjwatson@debian.org> era:
|
64
|
+
|
65
|
+
Helge Deller <deller@gmx.de>
|
66
|
+
Chet Hosey <chosey@budapress.com>
|
67
|
+
Christopher C. Chimelis <chris@debian.org>
|
68
|
+
Roland Rosenfeld <roland@spinnaker.de>
|
69
|
+
Marcelo E. Magallon <mmagallo@debian.org>
|
70
|
+
|
71
|
+
|
72
|
+
Initial Debianers:
|
73
|
+
|
74
|
+
Tommi Virtanen <tv@debian.org>
|
75
|
+
Paul Haggart <phaggart@debian.org>
|
76
|
+
|
77
|
+
|
78
|
+
Contributions/ideas Michael Hipp era:
|
79
|
+
|
80
|
+
Mikko Tommila: DCT9
|
81
|
+
Oliver Fromme <oliver.fromme@heim3.tu-clausthal.de>
|
82
|
+
MPEG Software Simulation Group: reference decoder package
|
83
|
+
Tobias Bading: idea for DCT64 in subband synthesis from maplay package
|
84
|
+
Jeff Tsay and Mikko Tommila: MDCT36 from maplay package
|
85
|
+
Philipp Knirsch <phil@mpik-tueb.mpg.de>: DCT36/manual unroll idea
|
86
|
+
Thomas Woerner: SGI Audio
|
87
|
+
Damien Clermonte: HP-UX audio fixes
|
88
|
+
Niclas Lindstrom <nil@wineasy.se>: OS2 port
|
89
|
+
Stefan Bieschewski <stb@acm.org>: Pentium optimizations, decode_i586.s
|
90
|
+
Martin Denn <mdenn@unix-ag.uni-kl.de>: NAS port
|
91
|
+
Niklas Beisert <nbeisert@physik.tu-muenchen.de>: MPEG 2.5 tables
|
92
|
+
<mycroft@NetBSD.ORG> and <augustss@cs.chalmers.se>: NetBSD Patch(es)
|
93
|
+
Kevin Brintnall <kbrint@visi.com>: BSD patch
|
94
|
+
Tony Million: win32 port
|
95
|
+
Steven Tiger Lang: advanced shuffle
|
96
|
+
Eric B. Mitchell: esd port
|
97
|
+
Ryan R. Prosser <prosser@geocities.com>: esd port for Solaris
|
98
|
+
Andreas Neuhaus: initial generic control interface
|
99
|
+
|
100
|
+
(additionally fetched from changelog:)
|
101
|
+
|
102
|
+
Ralf Hildebrandt <R.Hildebrandt@TU-BS.DE>: audio_alib changes
|
103
|
+
<sms@moe.2bsd.com>: BSDOS 4.0 with gcc added to Makefile
|
104
|
+
Bertrand Petit <elrond@phoe.netdev.net>: frontend changes
|
105
|
+
Erik Mouw <J.A.K.Mouw@its.tudelft.nl>: SGI audio fix for non RAD machines
|
106
|
+
Daniel O'Connor <darius@guppy.dons.net.au>: freebsd-esd make-entry
|
107
|
+
D. Skarda <0rfelyus@atrey.karlin.mff.cuni.cz>: enhanced head_check
|
108
|
+
Wilson, Jeff D <jeff.wilson@wilcom.com>: xterm-title
|
109
|
+
Robert Bihlmeyer <robbe@orcus.priv.at>: esd changes
|
110
|
+
Hannu Napari's <Hannu.Napari@hut.fi>: SGI audio patches
|
111
|
+
<Juergen.Schoew@unix-ag.uni-siegen.de>: native AIX support
|
112
|
+
<psst@euskalnet.net>: playlist patch
|
113
|
+
Gilles Zunino <Gilles.Zunino@hei.fupl.asso.fr>: SGI audio patches
|
114
|
+
Matthew Parslow <roy@alpha.alphalink.com.au>: esdserver patch
|
115
|
+
<dlux@dlux.sch.bme.hu>: equalizer patch (equalfile setting)
|
116
|
+
Ducroquet Erwan <ducroque@ufr-info-p7.ibp.fr>: HPUX/ALib support
|
117
|
+
Shane Wegner <shane@CM.NU>: genrepatch
|
118
|
+
Samuel Audet <guardia@step.polymtl.ca>: wav-File patch
|
119
|
+
"J. Dean Brederson" <jdb@cs.utah.edu>: SGI-RAD support
|
120
|
+
Chou Ye-chi <is84002@cis.nctu.edu.tw>: sajberplay/FreeBSD patch
|
121
|
+
Fabrice Bellard <bellard@email.enst.fr>: 486 optimizations
|
122
|
+
A. Hermansen <ahermans@vf.telia.no> and J. Kysela <perex@jcu.cz>: ALSA output
|
123
|
+
KIMURA Takuhiro <kim@hannah.ipc.miyakyo-u.ac.jp>: K6-3DNow
|
124
|
+
Petr Stehlik <stehlik@cas3.zlin.vutbr.cz>: MINT
|
125
|
+
Andy <andy@snoogie.demon.co.uk>: float2int speed up proposal
|
126
|
+
Brian Foutz <foutz@anise.ee.cornell.edu>: TK3Play
|
127
|
+
Thomas Niederreiter <tn@tarantel.rz.fh-muenchen.de>: RIFF header fix
|
128
|
+
Stefan Gybas <cab@studbox.uni-stuttgart.de>: m68k patch
|
129
|
+
Grant Erickson <eric0139@tc.umn.edu>: Linux PPC patch
|
130
|
+
Peter Berger <peterb@hoopoe.psc.edu>: BSDi patch
|
131
|
+
Henrik P Johnson <king@one.se>: HTTP auth
|
132
|
+
Steven Tiger Lang <tiger@tyger.org>: advanced shuffle
|
133
|
+
"Brian J. Swetland" <swetland@uiuc.edu>: front-end (remote) patch
|
134
|
+
<leo@zycad.com>
|
135
|
+
Tillmann Steinbrecher <tst@gmx.de>: shuffle patch
|
136
|
+
M.Stekelenburg <m.stekelenburg@student.utwente.nl>: i386-getbits
|
137
|
+
Antti Andreimann <anttix@cyberix.edu.ee>: outburst patch
|
138
|
+
Hur TaeSung <saturn@arari.snu.ac.kr>: 'http accept' patch
|
139
|
+
|
140
|
+
(from post-0.59 changes that yet have to go into new trunk:)
|
141
|
+
|
142
|
+
Hans Schwengeler <schweng@astro.unibas.ch>: audio_dec additions
|
143
|
+
Wojciech Bara�ski's Mp3Play (check the tools folder): Mp3Play frontend
|
144
|
+
Daniel Koukola: audio_oss.c patch
|
145
|
+
Munechika SUMIKAWA <sumikawa@ebina.hitachi.co.jp>: IPv6
|
146
|
+
TEMNOTA <temnota@kmv.ru>: HTTP,FTP patch/playlist fix
|
147
|
+
Peter Surda <shurdeek@panorama.sth.ac.at>: VBR patch
|
148
|
+
Ben <ben@blaukopf.com>: ARM startup time improvements
|
149
|
+
Dave MacKenzie <djm@pix.net>: init_output() patch
|
150
|
+
pasky's <pasky@ju.cz>: close-on-stop patch
|