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,23 @@
1
+ # ltversion.m4 -- version numbers -*- Autoconf -*-
2
+ #
3
+ # Copyright (C) 2004 Free Software Foundation, Inc.
4
+ # Written by Scott James Remnant, 2004
5
+ #
6
+ # This file is free software; the Free Software Foundation gives
7
+ # unlimited permission to copy and/or distribute it, with or without
8
+ # modifications, as long as this notice is preserved.
9
+
10
+ # @configure_input@
11
+
12
+ # serial 3337 ltversion.m4
13
+ # This file is part of GNU Libtool
14
+
15
+ m4_define([LT_PACKAGE_VERSION], [2.4.2])
16
+ m4_define([LT_PACKAGE_REVISION], [1.3337])
17
+
18
+ AC_DEFUN([LTVERSION_VERSION],
19
+ [macro_version='2.4.2'
20
+ macro_revision='1.3337'
21
+ _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
22
+ _LT_DECL(, macro_revision, 0)
23
+ ])
@@ -0,0 +1,98 @@
1
+ # lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
2
+ #
3
+ # Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
4
+ # Written by Scott James Remnant, 2004.
5
+ #
6
+ # This file is free software; the Free Software Foundation gives
7
+ # unlimited permission to copy and/or distribute it, with or without
8
+ # modifications, as long as this notice is preserved.
9
+
10
+ # serial 5 lt~obsolete.m4
11
+
12
+ # These exist entirely to fool aclocal when bootstrapping libtool.
13
+ #
14
+ # In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
15
+ # which have later been changed to m4_define as they aren't part of the
16
+ # exported API, or moved to Autoconf or Automake where they belong.
17
+ #
18
+ # The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
19
+ # in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
20
+ # using a macro with the same name in our local m4/libtool.m4 it'll
21
+ # pull the old libtool.m4 in (it doesn't see our shiny new m4_define
22
+ # and doesn't know about Autoconf macros at all.)
23
+ #
24
+ # So we provide this file, which has a silly filename so it's always
25
+ # included after everything else. This provides aclocal with the
26
+ # AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
27
+ # because those macros already exist, or will be overwritten later.
28
+ # We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
29
+ #
30
+ # Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
31
+ # Yes, that means every name once taken will need to remain here until
32
+ # we give up compatibility with versions before 1.7, at which point
33
+ # we need to keep only those names which we still refer to.
34
+
35
+ # This is to help aclocal find these macros, as it can't see m4_define.
36
+ AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
37
+
38
+ m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
39
+ m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
40
+ m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
41
+ m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
42
+ m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
43
+ m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
44
+ m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
45
+ m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
46
+ m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
47
+ m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
48
+ m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
49
+ m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
50
+ m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
51
+ m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
52
+ m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
53
+ m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
54
+ m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
55
+ m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
56
+ m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
57
+ m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
58
+ m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
59
+ m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
60
+ m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
61
+ m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
62
+ m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
63
+ m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
64
+ m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
65
+ m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
66
+ m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
67
+ m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
68
+ m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
69
+ m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
70
+ m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
71
+ m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
72
+ m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
73
+ m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
74
+ m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
75
+ m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
76
+ m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
77
+ m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
78
+ m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
79
+ m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
80
+ m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
81
+ m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
82
+ m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
83
+ m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
84
+ m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
85
+ m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
86
+ m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
87
+ m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
88
+ m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
89
+ m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
90
+ m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
91
+ m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
92
+ m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
93
+ m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])])
94
+ m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
95
+ m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
96
+ m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])])
97
+ m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])])
98
+ m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
@@ -0,0 +1,19 @@
1
+ #!/bin/sh
2
+ if test -e Makefile; then
3
+ make clean
4
+ fi
5
+ options="$@"
6
+ echo "using options: $options"
7
+ CFLAGS="-march=i686" ./configure --disable-modules --with-cpu=x86_dither $options &&
8
+ cd src/libmpg123 &&
9
+ make &&
10
+ cp .libs/libmpg123-0.dll ../../ &&
11
+ cp .libs/libmpg123-0.dll.def ../../libmpg123-0.def
12
+ cd ../../ &&
13
+ echo "Now run that lib tool... perhaps you want to strip, too.
14
+ Hints:
15
+ strip --strip-unneeded libmpg123-0.dll
16
+ lib /machine:i386 /def:libmpg123-0.def" ||
17
+ echo You got some trouble.
18
+
19
+
@@ -0,0 +1,512 @@
1
+ .TH mpg123 1 "31 Jan 2008"
2
+ .SH NAME
3
+ mpg123 \- play audio MPEG 1.0/2.0/2.5 stream (layers 1, 2 and 3)
4
+ .SH SYNOPSIS
5
+ .B mpg123
6
+ [
7
+ .B options
8
+ ]
9
+ .IR file " ... | " URL " ... | "
10
+ .B \-
11
+ .SH DESCRIPTION
12
+ .B mpg123
13
+ reads one or more
14
+ .IR file\^ s
15
+ (or standard input if ``\-'' is specified) or
16
+ .IR URL\^ s
17
+ and plays them on the audio device (default) or
18
+ outputs them to stdout.
19
+ .IR file\^ / URL
20
+ is assumed to be an MPEG audio bit stream.
21
+ .SH OPERANDS
22
+ The following operands are supported:
23
+ .TP 8
24
+ .IR file (s)
25
+ The path name(s) of one or more input files. They must be
26
+ valid MPEG-1.0/2.0/2.5 audio layer 1, 2 or 3 bit streams.
27
+ If a dash ``\-'' is specified, MPEG data will
28
+ be read from the standard input. Furthermore, any name
29
+ starting with ``http://'' is recognized as
30
+ .I URL
31
+ (see next section).
32
+ .SH OPTIONS
33
+ .B mpg123
34
+ options may be either the traditional POSIX one letter options,
35
+ or the GNU style long options. POSIX style options start with a
36
+ single ``\-'', while GNU long options start with ``\-\^\-''.
37
+ Option arguments (if needed) follow separated by whitespace (not ``='').
38
+ Note that some options can be absent from your installation when disabled in the build process.
39
+ .SH INPUT OPTIONS
40
+ .TP
41
+ \fB\-k \fInum\fR, \fB\-\^\-skip \fInum
42
+ Skip first
43
+ .I num
44
+ frames. By default the decoding starts at the first frame.
45
+ .TP
46
+ \fB\-n \fInum\fR, \fB\-\^\-frames \fInum
47
+ Decode only
48
+ .I num
49
+ frames. By default the complete stream is decoded.
50
+ .TP
51
+ .BR \-\-fuzzy
52
+ Enable fuzzy seeks (guessing byte offsets or using approximate seek points from Xing TOC).
53
+ Without that, seeks need a first scan through the file before they can jump at positions.
54
+ You can decide here: sample-accurate operation with gapless features or faster (fuzzy) seeking.
55
+ .TP
56
+ .BR \-y ", " \-\^\-no\-resync
57
+ Do NOT try to resync and continue decoding if an error occurs in
58
+ the input file. Normally,
59
+ .B mpg123
60
+ tries to keep the playback alive at all costs, including skipping invalid material and searching new header when something goes wrong.
61
+ With this switch you can make it bail out on data errors
62
+ (and perhaps spare your ears a bad time). Note that this switch has been renamed from \-\-resync.
63
+ The old name still works, but is not advertised or recommened to use (subject to removal in future).
64
+ .TP
65
+ \fB\-\^-resync\-limit \fIbytes\fR
66
+ Set number of bytes to search for valid MPEG data once lost in stream; <0 means search whole stream.
67
+ If you know there are huge chunks of invalid data in your files... here is your hammer.
68
+ Note: Only since version 1.14 this also increases the amount of junk skipped on beginning.
69
+ .TP
70
+ \fB\-p \fIURL \fR| \fBnone\fR, \fB\-\^\-proxy \fIURL \fR| \fBnone
71
+ The specified
72
+ .I proxy
73
+ will be used for HTTP requests. It
74
+ should be specified as full URL (``http://host.domain:port/''),
75
+ but the ``http://'' prefix, the port number and the trailing
76
+ slash are optional (the default port is 80). Specifying
77
+ .B none
78
+ means not to use any proxy, and to retrieve files directly
79
+ from the respective servers. See also the
80
+ ``HTTP SUPPORT'' section.
81
+ .TP
82
+ \fB\-u \fIauth\fR, \fB\-\^\-auth \fIauth
83
+ HTTP authentication to use when recieving files via HTTP.
84
+ The format used is user:password.
85
+ .TP
86
+ \fB\-@ \fIfile\fR, \fB\-\^\-list \fIfile
87
+ Read filenames and/or URLs of MPEG audio streams from the specified
88
+ .I file
89
+ in addition to the ones specified on the command line (if any).
90
+ Note that
91
+ .I file
92
+ can be either an ordinary file, a dash ``\-'' to indicate that
93
+ a list of filenames/URLs is to be read from the standard input,
94
+ or an URL pointing to a an appropriate list file. Note: only
95
+ one
96
+ .B \-@
97
+ option can be used (if more than one is specified, only the
98
+ last one will be recognized).
99
+ .TP
100
+ \fB\-l \fIn\fR, \fB\-\^\-listentry \fIn
101
+ Of the playlist, play specified entry only.
102
+ .I n
103
+ is the number of entry starting at 1. A value of 0 is the default and means playling the whole list, a negative value means showing of the list of titles with their numbers...
104
+ .TP
105
+ \fB\-\-loop \fItimes\fR
106
+ for looping track(s) a certain number of times, < 0 means infinite loop (not with \-\-random!).
107
+ .TP
108
+ .BR \-\-keep\-open
109
+ For remote control mode: Keep loaded file open after reaching end.
110
+ .TP
111
+ \fB\-\-timeout \fIseconds\fR
112
+ Timeout in (integer) seconds before declaring a stream dead (if <= 0, wait forever).
113
+ .TP
114
+ .BR \-z ", " \-\^\-shuffle
115
+ Shuffle play. Randomly shuffles the order of files specified on the command
116
+ line, or in the list file.
117
+ .TP
118
+ .BR \-Z ", " \-\-random
119
+ Continuous random play. Keeps picking a random file from the command line
120
+ or the play list. Unlike shuffle play above, random play never ends, and
121
+ plays individual songs more than once.
122
+ .TP
123
+ \fB\-\^\-no\-icy\-meta
124
+ Do not accept ICY meta data.
125
+ .TP
126
+ \fB\-i, \-\^-\index
127
+ Index / scan through the track before playback.
128
+ This fills the index table for seeking (if enabled in libmpg123) and may make the operating system cache the file contents for smoother operating on playback.
129
+ .TP
130
+ \fB\-\-index\-size \fIsize\fR
131
+ Set the number of entries in the seek frame index table.
132
+ .TP
133
+ \fB\-\-preframes \fInum\fR
134
+ Set the number of frames to be read as lead-in before a seeked-to position.
135
+ This serves to fill the layer 3 bit reservoir, which is needed to faithfully reproduce a certain sample at a certain position.
136
+ Note that for layer 3, a minimum of 1 is enforced (because of frame overlap), and for layer 1 and 2, this is limited to 2 (no bit reservoir in that case, but engine spin-up anyway).
137
+
138
+ .SH OUTPUT and PROCESSING OPTIONS
139
+ .TP
140
+ \fB\-o \fImodule\fR, \-\^\-output \fImodule\fR
141
+ Select audio output module. You can provide a comma-separated list to use the first one that works.
142
+ .TP
143
+ \fB\-\^\-list\-modules
144
+ List the available modules.
145
+ .TP
146
+ \fB\-a \fIdev\fR, \fB\-\^\-audiodevice \fIdev
147
+ Specify the audio device to use. The default is
148
+ system-dependent (usually /dev/audio or /dev/dsp).
149
+ Use this option if you have multiple audio devices and
150
+ the default is not what you want.
151
+ .TP
152
+ .BR \-s ", " \-\^\-stdout
153
+ The decoded audio samples are written to standard output,
154
+ instead of playing them through the audio device. This
155
+ option must be used if your audio hardware is not supported
156
+ by
157
+ .BR mpg123 .
158
+ The output format per default is raw (headerless) linear PCM audio data,
159
+ 16 bit, stereo, host byte order (you can force mono or 8bit).
160
+ .TP
161
+ \fB\-O \fIfile\fR, \fB\-\^\-outfile
162
+ Write raw output into a file (instead of simply redirecting standard output to a file with the shell).
163
+ .TP
164
+ \fB\-w \fIfile\fR, \fB\-\^\-wav
165
+ Write output as WAV file. This will cause the MPEG stream to be decoded
166
+ and saved as file
167
+ .I file
168
+ , or standard output if
169
+ .I -
170
+ is used as file name. You can also use
171
+ .I --au
172
+ and
173
+ .I --cdr
174
+ for AU and CDR format, respectively.
175
+ .TP
176
+ \fB\-\^\-au \fIfile
177
+ Does not play the MPEG file but writes it to
178
+ .I file
179
+ in SUN audio format. If \- is used as the filename, the AU file is
180
+ written to stdout.
181
+ .TP
182
+ \fB\-\^\-cdr \fIfile
183
+ Does not play the MPEG file but writes it to
184
+ .I file
185
+ as a CDR file. If \- is used as the filename, the CDR file is written
186
+ to stdout.
187
+ .TP
188
+ .BR \-\-reopen
189
+ Forces reopen of the audiodevice after ever song
190
+ .TP
191
+ .BR \-\-cpu\ \fIdecoder\-type
192
+ Selects a certain decoder (optimized for specific CPU), for example i586 or MMX.
193
+ The list of available decoders can vary; depending on the build and what your CPU supports.
194
+ This options is only availabe when the build actually includes several optimized decoders.
195
+ .TP
196
+ .BR \-\-test\-cpu
197
+ Tests your CPU and prints a list of possible choices for \-\-cpu.
198
+ .TP
199
+ .BR \-\-list\-cpu
200
+ Lists all available decoder choices, regardless of support by your CPU.
201
+ .TP
202
+ \fB\-g \fIgain\fR, \fB\-\^\-gain \fIgain
203
+ [DEPRECATED] Set audio hardware output gain (default: don't change). The unit of the gain value is hardware and output module dependent.
204
+ (This parameter is only provided for backwards compatibility and may be removed in the future without prior notice. Use the audio player for playing and a mixer app for mixing, UNIX style!)
205
+ .TP
206
+ \fB\-f \fIfactor\fR, \fB\-\^\-scale \fIfactor
207
+ Change scale factor (default: 32768).
208
+ .TP
209
+ .BR \-\-rva-mix,\ \-\-rva-radio
210
+ Enable RVA (relative volume adjustment) using the values stored for ReplayGain radio mode / mix mode with all tracks roughly equal loudness.
211
+ The first valid information found in ID3V2 Tags (Comment named RVA or the RVA2 frame) or ReplayGain header in Lame/Info Tag is used.
212
+ .TP
213
+ .BR \-\-rva-album,\ \-\-rva-audiophile
214
+ Enable RVA (relative volume adjustment) using the values stored for ReplayGain audiophile mode / album mode with usually the effect of adjusting album loudness but keeping relative loudness inside album.
215
+ The first valid information found in ID3V2 Tags (Comment named RVA_ALBUM or the RVA2 frame) or ReplayGain header in Lame/Info Tag is used.
216
+ .TP
217
+ .BR \-0 ", " \-\^\-single0 "; " \-1 ", " \-\^\-single1
218
+ Decode only channel 0 (left) or channel 1 (right),
219
+ respectively. These options are available for
220
+ stereo MPEG streams only.
221
+ .TP
222
+ .BR \-m ", " \-\^\-mono ", " \-\^\-mix ", " \-\^\-singlemix
223
+ Mix both channels / decode mono. It takes less
224
+ CPU time than full stereo decoding.
225
+ .TP
226
+ .BR \-\-stereo
227
+ Force stereo output
228
+ .TP
229
+ \fB\-r \fIrate\fR, \fB\-\^\-rate \fIrate
230
+ Set sample rate (default: automatic). You may want to
231
+ change this if you need a constant bitrate independent of
232
+ the mpeg stream rate. mpg123 automagically converts the
233
+ rate. You should then combine this with \-\-stereo or \-\-mono.
234
+ .TP
235
+ .BR \-2 ", " \-\^\-2to1 "; " \-4 ", " \-\^\-4to1
236
+ Performs a downsampling of ratio 2:1 (22 kHz) or 4:1 (11 kHz)
237
+ on the output stream, respectively. Saves some CPU cycles, but
238
+ at least the 4:1 ratio sounds ugly.
239
+ .TP
240
+ .BR \-\-pitch\ \fIvalue
241
+ Set hardware pitch (speedup/down, 0 is neutral; 0.05 is 5%). This changes the output sampling rate, so it only works in the range your audio system/hardware supports.
242
+ .TP
243
+ .BR \-\-8bit
244
+ Forces 8bit output
245
+ .TP
246
+ \fB\-\^\-float
247
+ Forces f32 encoding
248
+ .TP
249
+ \fp\-e \fIenc\fR, \fB\-\^\-encoding \fIenc
250
+ Choose output sample encoding. Possible values look like f32 (32-bit floating point), s32 (32-bit signed integer), u32 (32-bit unsigned integer) and the variants with different numbers of bits (s24, u24, s16, u16, s8, u8) and also special variants like ulaw and alaw 8-bit.
251
+ See the output of mpg123's longhelp for actually available encodings.
252
+ .TP
253
+ \fB\-d \fIn\fR, \fB\-\^\-doublespeed \fIn
254
+ Only play every
255
+ .IR n 'th
256
+ frame. This will cause the MPEG stream
257
+ to be played
258
+ .I n
259
+ times faster, which can be used for special
260
+ effects. Can also be combined with the
261
+ .B \-\^\-halfspeed
262
+ option to play 3 out of 4 frames etc. Don't expect great
263
+ sound quality when using this option.
264
+ .TP
265
+ \fB\-h \fIn\fR, \fB\-\^\-halfspeed \fIn
266
+ Play each frame
267
+ .I n
268
+ times. This will cause the MPEG stream
269
+ to be played at
270
+ .IR 1 / n 'th
271
+ speed (n times slower), which can be
272
+ used for special effects. Can also be combined with the
273
+ .B \-\^\-doublespeed
274
+ option to double every third frame or things like that.
275
+ Don't expect great sound quality when using this option.
276
+ .TP
277
+ \fB\-E \fIfile\fR, \fB\-\^\-equalizer
278
+ Enables equalization, taken from
279
+ .IR file .
280
+ The file needs to contain 32 lines of data, additional comment lines may
281
+ be prefixed with
282
+ .IR # .
283
+ Each data line consists of two floating-point entries, separated by
284
+ whitespace. They specify the multipliers for left and right channel of
285
+ a certain frequency band, respectively. The first line corresponds to the
286
+ lowest, the 32nd to the highest frequency band.
287
+ Note that you can control the equalizer interactively with the generic control interface.
288
+ .TP
289
+ \fB\-\^\-gapless
290
+ Enable code that cuts (junk) samples at beginning and end of tracks, enabling gapless transitions between MPEG files when encoder padding and codec delays would prevent it.
291
+ This is enabled per default beginning with mpg123 version 1.0.0 .
292
+ .TP
293
+ \fB\-\^\-no\-gapless
294
+ Disable the gapless code. That gives you MP3 decodings that include encoder delay and padding plus mpg123's decoder delay.
295
+ .TP
296
+ \fB\-D \fIn\fR, \fB\-\-delay \fIn
297
+ Insert a delay of \fIn\fR seconds before each track.
298
+ .TP
299
+ .BR "\-o h" ", " \-\^\-headphones
300
+ Direct audio output to the headphone connector (some hardware only; AIX, HP, SUN).
301
+ .TP
302
+ .BR "\-o s" ", " \-\^\-speaker
303
+ Direct audio output to the speaker (some hardware only; AIX, HP, SUN).
304
+ .TP
305
+ .BR "\-o l" ", " \-\^\-lineout
306
+ Direct audio output to the line-out connector (some hardware only; AIX, HP, SUN).
307
+ .TP
308
+ \fB\-b \fIsize\fR, \fB\-\^\-buffer \fIsize
309
+ Use an audio output buffer of
310
+ .I size
311
+ Kbytes. This is useful to bypass short periods of heavy
312
+ system activity, which would normally cause the audio output
313
+ to be interrupted.
314
+ You should specify a buffer size of at least 1024
315
+ (i.e. 1 Mb, which equals about 6 seconds of audio data) or more;
316
+ less than about 300 does not make much sense. The default is 0,
317
+ which turns buffering off.
318
+ .TP
319
+ \fB\-\^\-preload \fIfraction
320
+ Wait for the buffer to be filled to
321
+ .I fraction
322
+ before starting playback (fraction between 0 and 1). You can tune this prebuffering to either get faster sound to your ears or safer uninterrupted web radio.
323
+ Default is 1 (wait for full buffer before playback).
324
+ .TP
325
+ \fB\-\^\-smooth
326
+ Keep buffer over track boundaries -- meaning, do not empty the buffer between tracks for possibly some added smoothness.
327
+
328
+ .SH MISC OPTIONS
329
+
330
+ .TP
331
+ .BR \-t ", " \-\^\-test
332
+ Test mode. The audio stream is decoded, but no output occurs.
333
+ .TP
334
+ .BR \-c ", " \-\^\-check
335
+ Check for filter range violations (clipping), and report them for each frame
336
+ if any occur.
337
+ .TP
338
+ .BR \-v ", " \-\^\-verbose
339
+ Increase the verbosity level. For example, displays the frame
340
+ numbers during decoding.
341
+ .TP
342
+ .BR \-q ", " \-\^\-quiet
343
+ Quiet. Suppress diagnostic messages.
344
+ .TP
345
+ .BR \-C ", " \-\^\-control
346
+ Enable terminal control keys. By default use 's' or the space bar to stop/restart (pause, unpause) playback, 'f' to jump forward to the next song, 'b' to jump back to the
347
+ beginning of the song, ',' to rewind, '.' to fast forward, and 'q' to quit.
348
+ Type 'h' for a full list of available controls.
349
+ .TP
350
+ \fB\-\^\-title
351
+ In an xterm, or rxvt (compatible, TERM environment variable is examined), change the window's title to the name of song currently
352
+ playing.
353
+ .TP
354
+ \fB\-\^\-long\-tag
355
+ Display ID3 tag info always in long format with one line per item (artist, title, ...)
356
+ .TP
357
+ .BR \-\-utf8
358
+ Regardless of environment, print metadata in UTF-8 (otherwise, when not using UTF-8 locale, you'll get ASCII stripdown).
359
+ .TP
360
+ .BR \-R ", " \-\^\-remote
361
+ Activate generic control interface.
362
+ .B mpg123
363
+ will then read and execute commands from stdin. Basic usage is ``load <filename> '' to play some file and the obvious ``pause'', ``command.
364
+ ``jump <frame>'' will jump/seek to a given point (MPEG frame number).
365
+ Issue ``help'' to get a full list of commands and syntax.
366
+ .TP
367
+ .BR \-\^\-remote\-err
368
+ Print responses for generic control mode to standard error, not standard out.
369
+ This is automatically triggered when using
370
+ .B -s
371
+ \fN.
372
+ .TP
373
+ \fB\-\-fifo \fIpath
374
+ Create a fifo / named pipe on the given path and use that for reading commands instead of standard input.
375
+ .TP
376
+ \fB\-\^\-aggressive
377
+ Tries to get higher priority
378
+ .TP
379
+ .BR \-T ", " \-\-realtime
380
+ Tries to gain realtime priority. This option usually requires root
381
+ privileges to have any effect.
382
+ .TP
383
+ .BR \-? ", " \-\^\-help
384
+ Shows short usage instructions.
385
+ .TP
386
+ .BR \-\^\-longhelp
387
+ Shows long usage instructions.
388
+ .TP
389
+ .BR \-\^\-version
390
+ Print the version string.
391
+ .SH HTTP SUPPORT
392
+ In addition to reading MPEG audio streams from ordinary
393
+ files and from the standard input,
394
+ .B mpg123
395
+ supports retrieval of MPEG audio files or playlists via the HTTP protocol,
396
+ which is used in the World Wide Web (WWW). Such files are
397
+ specified using a so-called URL, which starts with ``http://''. When a file with
398
+ that prefix is encountered,
399
+ .B mpg123
400
+ attempts to open an HTTP connection to the server in order to
401
+ retrieve that file to decode and play it.
402
+ .P
403
+ It is often useful to retrieve files through a WWW cache or
404
+ so-called proxy. To accomplish this,
405
+ .B mpg123
406
+ examines the environment for variables named
407
+ .BR MP3_HTTP_PROXY ", " http_proxy " and " HTTP_PROXY ,
408
+ in this order. The value of the first one that is set will
409
+ be used as proxy specification. To override this, you can
410
+ use the
411
+ .B \-p
412
+ command line option (see the ``OPTIONS'' section). Specifying
413
+ .B "\-p none"
414
+ will enforce contacting the server directly without using
415
+ any proxy, even if one of the above environment variables
416
+ is set.
417
+ .P
418
+ Note that, in order to play MPEG audio files from a WWW
419
+ server, it is necessary that the connection to that server
420
+ is fast enough. For example, a 128 kbit/s MPEG file
421
+ requires the network connection to be at least 128 kbit/s
422
+ (16 kbyte/s) plus protocol overhead. If you suffer from
423
+ short network outages, you should try the
424
+ .B \-b
425
+ option (buffer) to bypass such outages. If your network
426
+ connection is generally not fast enough to retrieve MPEG
427
+ audio files in realtime, you can first download the files
428
+ to your local harddisk (e.g. using
429
+ .BR wget (1))
430
+ and then play them from there.
431
+ .P
432
+ If authentication is needed to access the file it can be
433
+ specified with the
434
+ .BR "\-u user:pass".
435
+ .SH INTERRUPT
436
+ When in terminal control mode, you can quit via pressing the q key,
437
+ while any time you can abort
438
+ .B mpg123
439
+ by pressing Ctrl-C. If not in terminal control mode, this will
440
+ skip to the next file (if any). If you want to abort playing immediately
441
+ in that case, press Ctrl-C twice in short succession (within about one second).
442
+ .P
443
+ Note that the result of quitting
444
+ .B mpg123
445
+ pressing Ctrl-C might not be audible
446
+ immediately, due to audio data buffering in the audio device.
447
+ This delay is system dependent, but it is usually not more
448
+ than one or two seconds.
449
+ .SH "SEE ALSO"
450
+ .BR wget (1),
451
+ .BR sox (1),
452
+ .SH NOTES
453
+ MPEG audio decoding requires a good deal of CPU performance,
454
+ especially layer-3. To decode it in realtime, you should
455
+ have at least an i486DX4, Pentium, Alpha, SuperSparc or equivalent
456
+ processor. You can also use the
457
+ .B -m
458
+ option to decode mono only, which reduces the CPU load
459
+ somewhat for layer-3 streams. See also the
460
+ .BR \-2 " and " \-4
461
+ options.
462
+ .P
463
+ If everything else fails, use the
464
+ .B \-s
465
+ option to decode to standard output, direct it into a file
466
+ and then use an appropriate utility to play that file.
467
+ You might have to use a tool such as
468
+ .BR sox (1)
469
+ to convert the output to an audio format suitable for
470
+ your audio player.
471
+ .P
472
+ If your system is generally fast enough to decode in
473
+ realtime, but there are sometimes periods of heavy
474
+ system load (such as cronjobs, users logging in remotely,
475
+ starting of ``big'' programs etc.) causing the
476
+ audio output to be interrupted, then you should use
477
+ the
478
+ .B \-b
479
+ option to use a buffer of reasonable size (at least 1000 Kbytes).
480
+ .SH BUGS
481
+ .P
482
+ Mostly MPEG-1 layer 2 and 3 are tested in real life.
483
+ Please report any issues and provide test files to help fixing them.
484
+ .P
485
+ Free format streams are not supported, but they could be (there is some code).
486
+ .P
487
+ No CRC error checking is performed.
488
+ .P
489
+ Some platforms lack audio hardware support; you may be able to use the
490
+ .B -s
491
+ switch to feed the decoded data to a program that can play it on your audio device.
492
+ Notably, this includes Tru64 with MME, but you should be able to install and use OSS there (it perhaps will perform better as MME would anyway).
493
+ .SH AUTHORS
494
+ .TP
495
+ Maintainers:
496
+ .br
497
+ Thomas Orgis <maintainer@mpg123.org>, <thomas@orgis.org>
498
+ .br
499
+ Nicholas J. Humfrey
500
+ .TP
501
+ Creator:
502
+ .br
503
+ Michael Hipp
504
+ .TP
505
+ Uses code or ideas from various people, see the AUTHORS file accompanying the source code.
506
+ .SH LICENSE
507
+ .B mpg123
508
+ is licensed under the GNU Lesser/Library General Public License, LGPL, version 2.1 .
509
+ .SH WEBSITE
510
+ http://www.mpg123.org
511
+ .br
512
+ http://sourceforge.net/projects/mpg123