seal 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (421) hide show
  1. data/.yardopts +1 -0
  2. data/LICENSE +13 -0
  3. data/README.md +265 -0
  4. data/ext/seal/extconf.rb +45 -0
  5. data/include/al/al.h +724 -0
  6. data/include/al/alc.h +277 -0
  7. data/include/al/efx-presets.h +402 -0
  8. data/include/al/efx.h +758 -0
  9. data/include/mpg123/mpg123.h +1034 -0
  10. data/include/ogg/config_types.h +25 -0
  11. data/include/ogg/ogg.h +210 -0
  12. data/include/ogg/os_types.h +147 -0
  13. data/include/seal.h +23 -0
  14. data/include/seal/buf.h +143 -0
  15. data/include/seal/core.h +95 -0
  16. data/include/seal/efs.h +112 -0
  17. data/include/seal/err.h +93 -0
  18. data/include/seal/fmt.h +58 -0
  19. data/include/seal/listener.h +103 -0
  20. data/include/seal/raw.h +86 -0
  21. data/include/seal/rvb.h +520 -0
  22. data/include/seal/src.h +413 -0
  23. data/include/seal/stream.h +81 -0
  24. data/include/vorbis/codec.h +243 -0
  25. data/include/vorbis/vorbisfile.h +206 -0
  26. data/mpg123/AUTHORS +150 -0
  27. data/mpg123/COPYING +773 -0
  28. data/mpg123/ChangeLog +3 -0
  29. data/mpg123/INSTALL +111 -0
  30. data/mpg123/Makefile.am +99 -0
  31. data/mpg123/Makefile.in +1043 -0
  32. data/mpg123/NEWS +1200 -0
  33. data/mpg123/NEWS.libmpg123 +133 -0
  34. data/mpg123/README +203 -0
  35. data/mpg123/TODO +38 -0
  36. data/mpg123/aclocal.m4 +1168 -0
  37. data/mpg123/build/config.guess +1530 -0
  38. data/mpg123/build/config.sub +1782 -0
  39. data/mpg123/build/depcomp +707 -0
  40. data/mpg123/build/install-sh +527 -0
  41. data/mpg123/build/ltmain.sh +9655 -0
  42. data/mpg123/build/missing +330 -0
  43. data/mpg123/configure +20267 -0
  44. data/mpg123/configure.ac +2178 -0
  45. data/mpg123/doc/ACCURACY +2 -0
  46. data/mpg123/doc/BENCHMARKING +110 -0
  47. data/mpg123/doc/BUGS +3 -0
  48. data/mpg123/doc/CONTACT +17 -0
  49. data/mpg123/doc/LICENSE +22 -0
  50. data/mpg123/doc/Makefile.am +32 -0
  51. data/mpg123/doc/Makefile.in +490 -0
  52. data/mpg123/doc/PATENTS +39 -0
  53. data/mpg123/doc/README.3DNOW +56 -0
  54. data/mpg123/doc/README.gain +171 -0
  55. data/mpg123/doc/README.remote +218 -0
  56. data/mpg123/doc/ROAD_TO_LGPL +270 -0
  57. data/mpg123/doc/THANKS +13 -0
  58. data/mpg123/doc/TODO +63 -0
  59. data/mpg123/doc/doxy_examples.c +21 -0
  60. data/mpg123/doc/doxygen.conf +41 -0
  61. data/mpg123/doc/doxyhead.xhtml +12 -0
  62. data/mpg123/doc/examples/dump_seekindex.c +41 -0
  63. data/mpg123/doc/examples/extract_frames.c +92 -0
  64. data/mpg123/doc/examples/feedseek.c +238 -0
  65. data/mpg123/doc/examples/id3dump.c +178 -0
  66. data/mpg123/doc/examples/mpg123_to_wav.c +118 -0
  67. data/mpg123/doc/examples/mpglib.c +92 -0
  68. data/mpg123/doc/examples/scan.c +47 -0
  69. data/mpg123/doc/libmpg123_speed.txt +84 -0
  70. data/mpg123/equalize.dat +37 -0
  71. data/mpg123/libmpg123.pc.in +11 -0
  72. data/mpg123/m4/addrconfig.m4 +34 -0
  73. data/mpg123/m4/libtool.m4 +7982 -0
  74. data/mpg123/m4/ltoptions.m4 +384 -0
  75. data/mpg123/m4/ltsugar.m4 +123 -0
  76. data/mpg123/m4/ltversion.m4 +23 -0
  77. data/mpg123/m4/lt~obsolete.m4 +98 -0
  78. data/mpg123/makedll.sh +19 -0
  79. data/mpg123/man1/mpg123.1 +512 -0
  80. data/mpg123/mpg123.spec +68 -0
  81. data/mpg123/mpg123.spec.in +68 -0
  82. data/mpg123/ports/MSVC++/2005/libmpg123/libmpg123.vcproj +741 -0
  83. data/mpg123/ports/MSVC++/2008/dump_seekindex/dump_seekindex.vcproj +194 -0
  84. data/mpg123/ports/MSVC++/2008/feedseek/feedseek.vcproj +195 -0
  85. data/mpg123/ports/MSVC++/2008/libmpg123/libmpg123.vcproj +1357 -0
  86. data/mpg123/ports/MSVC++/2008/mpg123.sln +44 -0
  87. data/mpg123/ports/MSVC++/2008/mpglib/mpglib.vcproj +191 -0
  88. data/mpg123/ports/MSVC++/2008/scan/scan.vcproj +195 -0
  89. data/mpg123/ports/MSVC++/2008clr/2008clr.sln +81 -0
  90. data/mpg123/ports/MSVC++/2008clr/examples/ReplaceReaderclr/Program.cs +435 -0
  91. data/mpg123/ports/MSVC++/2008clr/examples/ReplaceReaderclr/Properties/AssemblyInfo.cs +36 -0
  92. data/mpg123/ports/MSVC++/2008clr/examples/ReplaceReaderclr/ReplaceReaderclr.csproj +72 -0
  93. data/mpg123/ports/MSVC++/2008clr/examples/feedseekclr/Program.cs +331 -0
  94. data/mpg123/ports/MSVC++/2008clr/examples/feedseekclr/Properties/AssemblyInfo.cs +36 -0
  95. data/mpg123/ports/MSVC++/2008clr/examples/feedseekclr/feedseekclr.csproj +71 -0
  96. data/mpg123/ports/MSVC++/2008clr/examples/scanclr/Program.cs +79 -0
  97. data/mpg123/ports/MSVC++/2008clr/examples/scanclr/Properties/AssemblyInfo.cs +36 -0
  98. data/mpg123/ports/MSVC++/2008clr/examples/scanclr/scanclr.csproj +70 -0
  99. data/mpg123/ports/MSVC++/2008clr/mpg123clr/AssemblyInfo.cpp +76 -0
  100. data/mpg123/ports/MSVC++/2008clr/mpg123clr/ReadMe.txt +165 -0
  101. data/mpg123/ports/MSVC++/2008clr/mpg123clr/advanced.cpp +91 -0
  102. data/mpg123/ports/MSVC++/2008clr/mpg123clr/advanced.h +130 -0
  103. data/mpg123/ports/MSVC++/2008clr/mpg123clr/dllmain.cpp +19 -0
  104. data/mpg123/ports/MSVC++/2008clr/mpg123clr/enum.h +218 -0
  105. data/mpg123/ports/MSVC++/2008clr/mpg123clr/error.cpp +48 -0
  106. data/mpg123/ports/MSVC++/2008clr/mpg123clr/error.h +134 -0
  107. data/mpg123/ports/MSVC++/2008clr/mpg123clr/id3v1.cpp +92 -0
  108. data/mpg123/ports/MSVC++/2008clr/mpg123clr/id3v1.h +132 -0
  109. data/mpg123/ports/MSVC++/2008clr/mpg123clr/id3v2.cpp +138 -0
  110. data/mpg123/ports/MSVC++/2008clr/mpg123clr/id3v2.h +152 -0
  111. data/mpg123/ports/MSVC++/2008clr/mpg123clr/mpg123clr.cpp +896 -0
  112. data/mpg123/ports/MSVC++/2008clr/mpg123clr/mpg123clr.h +953 -0
  113. data/mpg123/ports/MSVC++/2008clr/mpg123clr/mpg123clr.rc +102 -0
  114. data/mpg123/ports/MSVC++/2008clr/mpg123clr/mpg123clr.vcproj +328 -0
  115. data/mpg123/ports/MSVC++/2008clr/mpg123clr/resource.h +14 -0
  116. data/mpg123/ports/MSVC++/2008clr/mpg123clr/stdafx.cpp +8 -0
  117. data/mpg123/ports/MSVC++/2008clr/mpg123clr/stdafx.h +38 -0
  118. data/mpg123/ports/MSVC++/2008clr/mpg123clr/string.cpp +166 -0
  119. data/mpg123/ports/MSVC++/2008clr/mpg123clr/string.h +265 -0
  120. data/mpg123/ports/MSVC++/2008clr/mpg123clr/targetver.h +24 -0
  121. data/mpg123/ports/MSVC++/2008clr/mpg123clr/text.cpp +67 -0
  122. data/mpg123/ports/MSVC++/2008clr/mpg123clr/text.h +111 -0
  123. data/mpg123/ports/MSVC++/2010/dump_seekindex/dump_seekindex.vcxproj +90 -0
  124. data/mpg123/ports/MSVC++/2010/dump_seekindex/dump_seekindex.vcxproj.filters +6 -0
  125. data/mpg123/ports/MSVC++/2010/feedseek/feedseek.vcxproj +95 -0
  126. data/mpg123/ports/MSVC++/2010/feedseek/feedseek.vcxproj.filters +6 -0
  127. data/mpg123/ports/MSVC++/2010/libmpg123/libmpg123.vcxproj +960 -0
  128. data/mpg123/ports/MSVC++/2010/libmpg123/libmpg123.vcxproj.user +3 -0
  129. data/mpg123/ports/MSVC++/2010/libmpg123/yasm.exe +0 -0
  130. data/mpg123/ports/MSVC++/2010/mpg123.sln +38 -0
  131. data/mpg123/ports/MSVC++/2010/scan/scan.vcxproj +93 -0
  132. data/mpg123/ports/MSVC++/2010/scan/scan.vcxproj.filters +6 -0
  133. data/mpg123/ports/MSVC++/CMP3Stream/INCLUDE/CORE/CORE_FileIn.H +15 -0
  134. data/mpg123/ports/MSVC++/CMP3Stream/INCLUDE/CORE/SourceFilter_MP3.H +139 -0
  135. data/mpg123/ports/MSVC++/CMP3Stream/INCLUDE/IIEP_Def.H +206 -0
  136. data/mpg123/ports/MSVC++/CMP3Stream/INCLUDE/IIEP_FileIn.H +167 -0
  137. data/mpg123/ports/MSVC++/CMP3Stream/README +4 -0
  138. data/mpg123/ports/MSVC++/CMP3Stream/SOURCE/CORE_FileIn.CPP +462 -0
  139. data/mpg123/ports/MSVC++/CMP3Stream/SOURCE/CORE_Log.CPP +122 -0
  140. data/mpg123/ports/MSVC++/CMP3Stream/SOURCE/CORE_Mutex.CPP +35 -0
  141. data/mpg123/ports/MSVC++/CMP3Stream/SOURCE/SourceFilter_MP3Stream.CPP +586 -0
  142. data/mpg123/ports/MSVC++/CMP3Stream/libMPG123/PLACE_LIBMPG123_SOURCES_HERE +0 -0
  143. data/mpg123/ports/MSVC++/CMP3Stream/libMPG123/libMPG123.vcproj +245 -0
  144. data/mpg123/ports/MSVC++/config.h +35 -0
  145. data/mpg123/ports/MSVC++/examples/feedseek.c +240 -0
  146. data/mpg123/ports/MSVC++/examples/scan.c +47 -0
  147. data/mpg123/ports/MSVC++/mpg123.h +46 -0
  148. data/mpg123/ports/MSVC++/msvc.c +59 -0
  149. data/mpg123/ports/README +26 -0
  150. data/mpg123/ports/Sony_PSP/Makefile.psp +38 -0
  151. data/mpg123/ports/Sony_PSP/README +11 -0
  152. data/mpg123/ports/Sony_PSP/config.h +368 -0
  153. data/mpg123/ports/Sony_PSP/readers.c.patch +2 -0
  154. data/mpg123/ports/Xcode/config.h +197 -0
  155. data/mpg123/ports/Xcode/mpg123.h +17 -0
  156. data/mpg123/ports/Xcode/mpg123.xcodeproj/project.pbxproj +670 -0
  157. data/mpg123/ports/mpg123_.pas +478 -0
  158. data/mpg123/scripts/benchmark-cpu.pl +56 -0
  159. data/mpg123/scripts/tag_lyrics.py +76 -0
  160. data/mpg123/src/Makefile.am +186 -0
  161. data/mpg123/src/Makefile.in +1097 -0
  162. data/mpg123/src/audio.c +725 -0
  163. data/mpg123/src/audio.h +106 -0
  164. data/mpg123/src/buffer.c +312 -0
  165. data/mpg123/src/buffer.h +45 -0
  166. data/mpg123/src/common.c +240 -0
  167. data/mpg123/src/common.h +29 -0
  168. data/mpg123/src/config.h.in +436 -0
  169. data/mpg123/src/control_generic.c +809 -0
  170. data/mpg123/src/equalizer.c +48 -0
  171. data/mpg123/src/genre.c +271 -0
  172. data/mpg123/src/genre.h +15 -0
  173. data/mpg123/src/getlopt.c +148 -0
  174. data/mpg123/src/getlopt.h +77 -0
  175. data/mpg123/src/httpget.c +700 -0
  176. data/mpg123/src/httpget.h +66 -0
  177. data/mpg123/src/legacy_module.c +74 -0
  178. data/mpg123/src/libmpg123/Makefile.am +141 -0
  179. data/mpg123/src/libmpg123/Makefile.in +919 -0
  180. data/mpg123/src/libmpg123/compat.c +138 -0
  181. data/mpg123/src/libmpg123/compat.h +178 -0
  182. data/mpg123/src/libmpg123/dct36_3dnow.S +505 -0
  183. data/mpg123/src/libmpg123/dct36_3dnowext.S +512 -0
  184. data/mpg123/src/libmpg123/dct64.c +174 -0
  185. data/mpg123/src/libmpg123/dct64_3dnow.S +712 -0
  186. data/mpg123/src/libmpg123/dct64_3dnowext.S +714 -0
  187. data/mpg123/src/libmpg123/dct64_altivec.c +315 -0
  188. data/mpg123/src/libmpg123/dct64_i386.c +336 -0
  189. data/mpg123/src/libmpg123/dct64_i486.c +342 -0
  190. data/mpg123/src/libmpg123/dct64_mmx.S +811 -0
  191. data/mpg123/src/libmpg123/dct64_neon.S +297 -0
  192. data/mpg123/src/libmpg123/dct64_neon_float.S +270 -0
  193. data/mpg123/src/libmpg123/dct64_sse.S +454 -0
  194. data/mpg123/src/libmpg123/dct64_sse_float.S +401 -0
  195. data/mpg123/src/libmpg123/dct64_x86_64.S +464 -0
  196. data/mpg123/src/libmpg123/dct64_x86_64_float.S +426 -0
  197. data/mpg123/src/libmpg123/debug.h +171 -0
  198. data/mpg123/src/libmpg123/decode.h +268 -0
  199. data/mpg123/src/libmpg123/dither.c +119 -0
  200. data/mpg123/src/libmpg123/dither.h +23 -0
  201. data/mpg123/src/libmpg123/equalizer.c +17 -0
  202. data/mpg123/src/libmpg123/equalizer_3dnow.S +70 -0
  203. data/mpg123/src/libmpg123/feature.c +106 -0
  204. data/mpg123/src/libmpg123/format.c +521 -0
  205. data/mpg123/src/libmpg123/frame.c +1046 -0
  206. data/mpg123/src/libmpg123/frame.h +410 -0
  207. data/mpg123/src/libmpg123/gapless.h +119 -0
  208. data/mpg123/src/libmpg123/getbits.h +100 -0
  209. data/mpg123/src/libmpg123/getcpuflags.S +91 -0
  210. data/mpg123/src/libmpg123/getcpuflags.h +47 -0
  211. data/mpg123/src/libmpg123/huffman.h +340 -0
  212. data/mpg123/src/libmpg123/icy.c +32 -0
  213. data/mpg123/src/libmpg123/icy.h +38 -0
  214. data/mpg123/src/libmpg123/icy2utf8.c +438 -0
  215. data/mpg123/src/libmpg123/icy2utf8.h +10 -0
  216. data/mpg123/src/libmpg123/id3.c +999 -0
  217. data/mpg123/src/libmpg123/id3.h +43 -0
  218. data/mpg123/src/libmpg123/index.c +134 -0
  219. data/mpg123/src/libmpg123/index.h +59 -0
  220. data/mpg123/src/libmpg123/intsym.h +256 -0
  221. data/mpg123/src/libmpg123/l12_integer_tables.h +278 -0
  222. data/mpg123/src/libmpg123/l2tables.h +164 -0
  223. data/mpg123/src/libmpg123/l3_integer_tables.h +1002 -0
  224. data/mpg123/src/libmpg123/layer1.c +155 -0
  225. data/mpg123/src/libmpg123/layer2.c +371 -0
  226. data/mpg123/src/libmpg123/layer3.c +2053 -0
  227. data/mpg123/src/libmpg123/lfs_alias.c +252 -0
  228. data/mpg123/src/libmpg123/lfs_wrap.c +751 -0
  229. data/mpg123/src/libmpg123/libmpg123.c +1607 -0
  230. data/mpg123/src/libmpg123/mangle.h +74 -0
  231. data/mpg123/src/libmpg123/mpeghead.h +87 -0
  232. data/mpg123/src/libmpg123/mpg123.h.in +1075 -0
  233. data/mpg123/src/libmpg123/mpg123lib_intern.h +338 -0
  234. data/mpg123/src/libmpg123/ntom.c +148 -0
  235. data/mpg123/src/libmpg123/optimize.c +964 -0
  236. data/mpg123/src/libmpg123/optimize.h +219 -0
  237. data/mpg123/src/libmpg123/parse.c +1179 -0
  238. data/mpg123/src/libmpg123/parse.h +25 -0
  239. data/mpg123/src/libmpg123/reader.h +137 -0
  240. data/mpg123/src/libmpg123/readers.c +1235 -0
  241. data/mpg123/src/libmpg123/sample.h +152 -0
  242. data/mpg123/src/libmpg123/stringbuf.c +163 -0
  243. data/mpg123/src/libmpg123/synth.c +816 -0
  244. data/mpg123/src/libmpg123/synth.h +196 -0
  245. data/mpg123/src/libmpg123/synth_3dnow.S +318 -0
  246. data/mpg123/src/libmpg123/synth_3dnowext.S +6 -0
  247. data/mpg123/src/libmpg123/synth_8bit.c +142 -0
  248. data/mpg123/src/libmpg123/synth_8bit.h +86 -0
  249. data/mpg123/src/libmpg123/synth_altivec.c +1057 -0
  250. data/mpg123/src/libmpg123/synth_arm.S +271 -0
  251. data/mpg123/src/libmpg123/synth_arm_accurate.S +287 -0
  252. data/mpg123/src/libmpg123/synth_i486.c +252 -0
  253. data/mpg123/src/libmpg123/synth_i586.S +336 -0
  254. data/mpg123/src/libmpg123/synth_i586_dither.S +375 -0
  255. data/mpg123/src/libmpg123/synth_mmx.S +125 -0
  256. data/mpg123/src/libmpg123/synth_mono.h +64 -0
  257. data/mpg123/src/libmpg123/synth_neon.S +123 -0
  258. data/mpg123/src/libmpg123/synth_neon_accurate.S +173 -0
  259. data/mpg123/src/libmpg123/synth_neon_float.S +149 -0
  260. data/mpg123/src/libmpg123/synth_neon_s32.S +168 -0
  261. data/mpg123/src/libmpg123/synth_ntom.h +213 -0
  262. data/mpg123/src/libmpg123/synth_real.c +404 -0
  263. data/mpg123/src/libmpg123/synth_s32.c +411 -0
  264. data/mpg123/src/libmpg123/synth_sse.S +6 -0
  265. data/mpg123/src/libmpg123/synth_sse3d.h +246 -0
  266. data/mpg123/src/libmpg123/synth_sse_accurate.S +294 -0
  267. data/mpg123/src/libmpg123/synth_sse_float.S +241 -0
  268. data/mpg123/src/libmpg123/synth_sse_s32.S +306 -0
  269. data/mpg123/src/libmpg123/synth_stereo_neon.S +175 -0
  270. data/mpg123/src/libmpg123/synth_stereo_neon_accurate.S +262 -0
  271. data/mpg123/src/libmpg123/synth_stereo_neon_float.S +220 -0
  272. data/mpg123/src/libmpg123/synth_stereo_neon_s32.S +247 -0
  273. data/mpg123/src/libmpg123/synth_stereo_sse_accurate.S +508 -0
  274. data/mpg123/src/libmpg123/synth_stereo_sse_float.S +416 -0
  275. data/mpg123/src/libmpg123/synth_stereo_sse_s32.S +540 -0
  276. data/mpg123/src/libmpg123/synth_stereo_x86_64.S +335 -0
  277. data/mpg123/src/libmpg123/synth_stereo_x86_64_accurate.S +454 -0
  278. data/mpg123/src/libmpg123/synth_stereo_x86_64_float.S +396 -0
  279. data/mpg123/src/libmpg123/synth_stereo_x86_64_s32.S +473 -0
  280. data/mpg123/src/libmpg123/synth_x86_64.S +244 -0
  281. data/mpg123/src/libmpg123/synth_x86_64_accurate.S +301 -0
  282. data/mpg123/src/libmpg123/synth_x86_64_float.S +259 -0
  283. data/mpg123/src/libmpg123/synth_x86_64_s32.S +312 -0
  284. data/mpg123/src/libmpg123/synths.h +52 -0
  285. data/mpg123/src/libmpg123/tabinit.c +294 -0
  286. data/mpg123/src/libmpg123/tabinit_mmx.S +210 -0
  287. data/mpg123/src/libmpg123/testcpu.c +35 -0
  288. data/mpg123/src/libmpg123/true.h +14 -0
  289. data/mpg123/src/local.c +63 -0
  290. data/mpg123/src/local.h +21 -0
  291. data/mpg123/src/metaprint.c +373 -0
  292. data/mpg123/src/metaprint.h +17 -0
  293. data/mpg123/src/module.c +306 -0
  294. data/mpg123/src/module.h +48 -0
  295. data/mpg123/src/mpg123.c +1405 -0
  296. data/mpg123/src/mpg123app.h +171 -0
  297. data/mpg123/src/output/Makefile.am +213 -0
  298. data/mpg123/src/output/Makefile.in +1238 -0
  299. data/mpg123/src/output/aix.c +300 -0
  300. data/mpg123/src/output/alib.c +209 -0
  301. data/mpg123/src/output/alsa.c +297 -0
  302. data/mpg123/src/output/arts.c +117 -0
  303. data/mpg123/src/output/coreaudio.c +370 -0
  304. data/mpg123/src/output/dummy.c +78 -0
  305. data/mpg123/src/output/esd.c +167 -0
  306. data/mpg123/src/output/hp.c +184 -0
  307. data/mpg123/src/output/jack.c +450 -0
  308. data/mpg123/src/output/mint.c +197 -0
  309. data/mpg123/src/output/nas.c +335 -0
  310. data/mpg123/src/output/openal.c +197 -0
  311. data/mpg123/src/output/os2.c +665 -0
  312. data/mpg123/src/output/oss.c +319 -0
  313. data/mpg123/src/output/portaudio.c +255 -0
  314. data/mpg123/src/output/pulse.c +164 -0
  315. data/mpg123/src/output/sdl.c +206 -0
  316. data/mpg123/src/output/sgi.c +213 -0
  317. data/mpg123/src/output/sndio.c +161 -0
  318. data/mpg123/src/output/sun.c +281 -0
  319. data/mpg123/src/output/win32.c +229 -0
  320. data/mpg123/src/playlist.c +596 -0
  321. data/mpg123/src/playlist.h +52 -0
  322. data/mpg123/src/resolver.c +319 -0
  323. data/mpg123/src/resolver.h +25 -0
  324. data/mpg123/src/sfifo.c +146 -0
  325. data/mpg123/src/sfifo.h +95 -0
  326. data/mpg123/src/streamdump.c +74 -0
  327. data/mpg123/src/streamdump.h +20 -0
  328. data/mpg123/src/term.c +479 -0
  329. data/mpg123/src/term.h +81 -0
  330. data/mpg123/src/tests/noise.c +52 -0
  331. data/mpg123/src/tests/plain_id3.c +109 -0
  332. data/mpg123/src/tests/seek_accuracy.c +261 -0
  333. data/mpg123/src/tests/seek_whence.c +56 -0
  334. data/mpg123/src/tests/testtext.h +34 -0
  335. data/mpg123/src/tests/text.c +80 -0
  336. data/mpg123/src/wav.c +464 -0
  337. data/mpg123/src/wavhead.h +68 -0
  338. data/mpg123/src/win32_net.c +599 -0
  339. data/mpg123/src/win32_support.c +191 -0
  340. data/mpg123/src/win32_support.h +152 -0
  341. data/mpg123/src/xfermem.c +321 -0
  342. data/mpg123/src/xfermem.h +74 -0
  343. data/mpg123/windows-builds.sh +137 -0
  344. data/msvc/lib/OpenAL32.lib +0 -0
  345. data/spec/fixtures/heal.ogg +0 -0
  346. data/spec/fixtures/tone_up.wav +0 -0
  347. data/spec/seal/buffer_spec.rb +37 -0
  348. data/spec/seal/core_spec.rb +29 -0
  349. data/spec/seal/effect_slot_spec.rb +38 -0
  350. data/spec/seal/listener_spec.rb +33 -0
  351. data/spec/seal/reverb_spec.rb +51 -0
  352. data/spec/seal/source_spec.rb +370 -0
  353. data/spec/seal/stream_spec.rb +38 -0
  354. data/spec/spec_helper.rb +45 -0
  355. data/spec/support/attribute_examples.rb +75 -0
  356. data/spec/support/audio_object_with_format.rb +27 -0
  357. data/spec/support/movable_object.rb +22 -0
  358. data/src/libogg/bitwise.c +857 -0
  359. data/src/libogg/framing.c +2093 -0
  360. data/src/libvorbis/backends.h +144 -0
  361. data/src/libvorbis/bitrate.c +253 -0
  362. data/src/libvorbis/bitrate.h +59 -0
  363. data/src/libvorbis/block.c +1046 -0
  364. data/src/libvorbis/codebook.c +484 -0
  365. data/src/libvorbis/codebook.h +119 -0
  366. data/src/libvorbis/codec_internal.h +167 -0
  367. data/src/libvorbis/envelope.c +375 -0
  368. data/src/libvorbis/envelope.h +80 -0
  369. data/src/libvorbis/floor0.c +221 -0
  370. data/src/libvorbis/floor1.c +1100 -0
  371. data/src/libvorbis/highlevel.h +58 -0
  372. data/src/libvorbis/info.c +668 -0
  373. data/src/libvorbis/lookup.c +94 -0
  374. data/src/libvorbis/lookup.h +32 -0
  375. data/src/libvorbis/lookup_data.h +192 -0
  376. data/src/libvorbis/lpc.c +160 -0
  377. data/src/libvorbis/lpc.h +29 -0
  378. data/src/libvorbis/lsp.c +456 -0
  379. data/src/libvorbis/lsp.h +28 -0
  380. data/src/libvorbis/mapping0.c +816 -0
  381. data/src/libvorbis/masking.h +785 -0
  382. data/src/libvorbis/mdct.c +563 -0
  383. data/src/libvorbis/mdct.h +71 -0
  384. data/src/libvorbis/misc.h +57 -0
  385. data/src/libvorbis/os.h +186 -0
  386. data/src/libvorbis/psy.c +1206 -0
  387. data/src/libvorbis/psy.h +154 -0
  388. data/src/libvorbis/registry.c +45 -0
  389. data/src/libvorbis/registry.h +32 -0
  390. data/src/libvorbis/res0.c +889 -0
  391. data/src/libvorbis/scales.h +90 -0
  392. data/src/libvorbis/sharedbook.c +579 -0
  393. data/src/libvorbis/smallft.c +1255 -0
  394. data/src/libvorbis/smallft.h +34 -0
  395. data/src/libvorbis/synthesis.c +184 -0
  396. data/src/libvorbis/vorbisfile.c +2337 -0
  397. data/src/libvorbis/window.c +2135 -0
  398. data/src/libvorbis/window.h +26 -0
  399. data/src/rubyext.c +2329 -0
  400. data/src/seal/buf.c +124 -0
  401. data/src/seal/core.c +283 -0
  402. data/src/seal/efs.c +74 -0
  403. data/src/seal/err.c +118 -0
  404. data/src/seal/fmt.c +86 -0
  405. data/src/seal/listener.c +111 -0
  406. data/src/seal/mpg.c +174 -0
  407. data/src/seal/mpg.h +24 -0
  408. data/src/seal/ov.c +180 -0
  409. data/src/seal/ov.h +22 -0
  410. data/src/seal/raw.c +59 -0
  411. data/src/seal/reader.c +102 -0
  412. data/src/seal/reader.h +59 -0
  413. data/src/seal/rvb.c +368 -0
  414. data/src/seal/src.c +654 -0
  415. data/src/seal/stream.c +109 -0
  416. data/src/seal/threading.c +66 -0
  417. data/src/seal/threading.h +20 -0
  418. data/src/seal/wav.c +297 -0
  419. data/src/seal/wav.h +23 -0
  420. data/src/win32api.rb +29 -0
  421. 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
+
@@ -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