seal 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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