@mentra/bluetooth-sdk 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 (278) hide show
  1. package/README.md +278 -0
  2. package/android/build.gradle +167 -0
  3. package/android/lc3Lib/CMakeLists.txt +6 -0
  4. package/android/lc3Lib/build.gradle +109 -0
  5. package/android/lc3Lib/proguard-rules.pro +33 -0
  6. package/android/lc3Lib/src/main/AndroidManifest.xml +2 -0
  7. package/android/lc3Lib/src/main/cpp/CMakeLists.txt +8 -0
  8. package/android/lc3Lib/src/main/cpp/google_opus_stuff/CMakeLists.txt +30 -0
  9. package/android/lc3Lib/src/main/cpp/google_opus_stuff/jni/CMakeLists.txt +7 -0
  10. package/android/lc3Lib/src/main/cpp/google_opus_stuff/jni/ogg_opus_encoder.cc +96 -0
  11. package/android/lc3Lib/src/main/cpp/google_opus_stuff/jni/ogg_opus_encoder.h +53 -0
  12. package/android/lc3Lib/src/main/cpp/google_opus_stuff/libogg/Makefile.am +6 -0
  13. package/android/lc3Lib/src/main/cpp/google_opus_stuff/libogg/config_types.h +26 -0
  14. package/android/lc3Lib/src/main/cpp/google_opus_stuff/libogg/config_types.h.in +26 -0
  15. package/android/lc3Lib/src/main/cpp/google_opus_stuff/libogg/ogg.h +209 -0
  16. package/android/lc3Lib/src/main/cpp/google_opus_stuff/libogg/os_types.h +158 -0
  17. package/android/lc3Lib/src/main/cpp/google_opus_stuff/libopus/opus.h +981 -0
  18. package/android/lc3Lib/src/main/cpp/google_opus_stuff/libopus/opus_custom.h +342 -0
  19. package/android/lc3Lib/src/main/cpp/google_opus_stuff/libopus/opus_defines.h +799 -0
  20. package/android/lc3Lib/src/main/cpp/google_opus_stuff/libopus/opus_multistream.h +660 -0
  21. package/android/lc3Lib/src/main/cpp/google_opus_stuff/libopus/opus_projection.h +568 -0
  22. package/android/lc3Lib/src/main/cpp/google_opus_stuff/libopus/opus_types.h +166 -0
  23. package/android/lc3Lib/src/main/cpp/google_opus_stuff/ogg_opus_encoder.cc +268 -0
  24. package/android/lc3Lib/src/main/cpp/google_opus_stuff/ogg_opus_encoder.h +115 -0
  25. package/android/lc3Lib/src/main/cpp/google_opus_stuff/opus_tools/opus_header.h +59 -0
  26. package/android/lc3Lib/src/main/cpp/liblc3/CMakeLists.txt +38 -0
  27. package/android/lc3Lib/src/main/cpp/liblc3/include/lc3.h +309 -0
  28. package/android/lc3Lib/src/main/cpp/liblc3/include/lc3_private.h +162 -0
  29. package/android/lc3Lib/src/main/cpp/liblc3/include/rnnoise.h +114 -0
  30. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/CMakeLists.txt +19 -0
  31. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/attdet.c +92 -0
  32. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/attdet.h +44 -0
  33. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/bits.c +375 -0
  34. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/bits.h +315 -0
  35. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/bwdet.c +129 -0
  36. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/bwdet.h +69 -0
  37. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/common.h +148 -0
  38. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/energy.c +70 -0
  39. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/energy.h +43 -0
  40. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/fastmath.h +158 -0
  41. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/lc3.c +702 -0
  42. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/ltpf.c +893 -0
  43. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/ltpf.h +111 -0
  44. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/ltpf_arm.h +506 -0
  45. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/ltpf_neon.h +281 -0
  46. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/makefile.mk +35 -0
  47. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/mdct.c +452 -0
  48. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/mdct.h +57 -0
  49. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/mdct_neon.h +296 -0
  50. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/meson.build +46 -0
  51. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/plc.c +61 -0
  52. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/plc.h +57 -0
  53. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/sns.c +880 -0
  54. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/sns.h +103 -0
  55. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/spec.c +904 -0
  56. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/spec.h +119 -0
  57. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/tables.c +3457 -0
  58. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/tables.h +94 -0
  59. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/tns.c +457 -0
  60. package/android/lc3Lib/src/main/cpp/liblc3/liblc3/tns.h +99 -0
  61. package/android/lc3Lib/src/main/cpp/liblc3/liblc3.cpp +159 -0
  62. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/_kiss_fft_guts.h +182 -0
  63. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/arch.h +261 -0
  64. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/celt_lpc.c +279 -0
  65. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/celt_lpc.h +59 -0
  66. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/common.h +48 -0
  67. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/compile.sh +3 -0
  68. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/denoise.c +646 -0
  69. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/kiss_fft.c +601 -0
  70. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/kiss_fft.h +203 -0
  71. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/opus_types.h +159 -0
  72. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/pitch.c +526 -0
  73. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/pitch.h +149 -0
  74. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/rnn.c +178 -0
  75. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/rnn.h +69 -0
  76. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/rnn_data.c +11051 -0
  77. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/rnn_data.h +34 -0
  78. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/rnn_reader.c +168 -0
  79. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/rnn_train.py +66 -0
  80. package/android/lc3Lib/src/main/cpp/liblc3/rnnoise/tansig_table.h +45 -0
  81. package/android/lc3Lib/src/main/java/com/mentra/lc3Lib/Lc3Cpp.java +38 -0
  82. package/android/lc3Lib/third_party/CMakeLists.txt +23 -0
  83. package/android/lc3Lib/third_party/CMakeLists_libogg.txt +18 -0
  84. package/android/lc3Lib/third_party/CMakeLists_libopus.txt +18 -0
  85. package/android/lc3Lib/third_party/CMakeLists_opus-tools.txt +23 -0
  86. package/android/lc3Lib/third_party/opus_tools/src/AUTHORS +5 -0
  87. package/android/lc3Lib/third_party/opus_tools/src/CMakeLists.txt +4 -0
  88. package/android/lc3Lib/third_party/opus_tools/src/COPYING +371 -0
  89. package/android/lc3Lib/third_party/opus_tools/src/ChangeLog +3 -0
  90. package/android/lc3Lib/third_party/opus_tools/src/Makefile.am +42 -0
  91. package/android/lc3Lib/third_party/opus_tools/src/Makefile.unix +23 -0
  92. package/android/lc3Lib/third_party/opus_tools/src/NEWS +0 -0
  93. package/android/lc3Lib/third_party/opus_tools/src/README +0 -0
  94. package/android/lc3Lib/third_party/opus_tools/src/autogen.sh +115 -0
  95. package/android/lc3Lib/third_party/opus_tools/src/configure.ac +293 -0
  96. package/android/lc3Lib/third_party/opus_tools/src/src/arch.h +239 -0
  97. package/android/lc3Lib/third_party/opus_tools/src/src/audio-in.c +1046 -0
  98. package/android/lc3Lib/third_party/opus_tools/src/src/diag_range.c +245 -0
  99. package/android/lc3Lib/third_party/opus_tools/src/src/diag_range.h +28 -0
  100. package/android/lc3Lib/third_party/opus_tools/src/src/info_opus.c +320 -0
  101. package/android/lc3Lib/third_party/opus_tools/src/src/info_opus.h +51 -0
  102. package/android/lc3Lib/third_party/opus_tools/src/src/lpc.c +157 -0
  103. package/android/lc3Lib/third_party/opus_tools/src/src/lpc.h +27 -0
  104. package/android/lc3Lib/third_party/opus_tools/src/src/opus_header.c +286 -0
  105. package/android/lc3Lib/third_party/opus_tools/src/src/opus_header.h +59 -0
  106. package/android/lc3Lib/third_party/opus_tools/src/src/opusdec.c +884 -0
  107. package/android/lc3Lib/third_party/opus_tools/src/src/opusenc.c +1021 -0
  108. package/android/lc3Lib/third_party/opus_tools/src/src/opusenc.h +101 -0
  109. package/android/lc3Lib/third_party/opus_tools/src/src/opusinfo.c +639 -0
  110. package/android/lc3Lib/third_party/opus_tools/src/src/opusinfo.h +51 -0
  111. package/android/lc3Lib/third_party/opus_tools/src/src/os_support.h +167 -0
  112. package/android/lc3Lib/third_party/opus_tools/src/src/resample.c +1137 -0
  113. package/android/lc3Lib/third_party/opus_tools/src/src/speex_resampler.h +344 -0
  114. package/android/lc3Lib/third_party/opus_tools/src/src/stack_alloc.h +115 -0
  115. package/android/lc3Lib/third_party/opus_tools/src/src/wav_io.c +125 -0
  116. package/android/lc3Lib/third_party/opus_tools/src/src/wav_io.h +62 -0
  117. package/android/lc3Lib/third_party/opus_tools/src/src/wave_out.c +223 -0
  118. package/android/lc3Lib/third_party/opus_tools/src/src/wave_out.h +60 -0
  119. package/android/settings.gradle +1 -0
  120. package/android/src/main/AndroidManifest.xml +40 -0
  121. package/android/src/main/java/com/mentra/bluetoothsdk/BluetoothSdkModule.kt +528 -0
  122. package/android/src/main/java/com/mentra/bluetoothsdk/Bridge.kt +610 -0
  123. package/android/src/main/java/com/mentra/bluetoothsdk/DeviceManager.kt +1616 -0
  124. package/android/src/main/java/com/mentra/bluetoothsdk/DeviceStore.kt +314 -0
  125. package/android/src/main/java/com/mentra/bluetoothsdk/MentraBluetoothModels.kt +1710 -0
  126. package/android/src/main/java/com/mentra/bluetoothsdk/MentraBluetoothSdk.kt +554 -0
  127. package/android/src/main/java/com/mentra/bluetoothsdk/ObservableStore.kt +68 -0
  128. package/android/src/main/java/com/mentra/bluetoothsdk/controllers/ControllerManager.kt +158 -0
  129. package/android/src/main/java/com/mentra/bluetoothsdk/controllers/R1.kt +934 -0
  130. package/android/src/main/java/com/mentra/bluetoothsdk/services/Foreground.kt +175 -0
  131. package/android/src/main/java/com/mentra/bluetoothsdk/services/PhoneMic.kt +1109 -0
  132. package/android/src/main/java/com/mentra/bluetoothsdk/sgcs/G1.java +3974 -0
  133. package/android/src/main/java/com/mentra/bluetoothsdk/sgcs/G2.kt +3551 -0
  134. package/android/src/main/java/com/mentra/bluetoothsdk/sgcs/Mach1.java +1327 -0
  135. package/android/src/main/java/com/mentra/bluetoothsdk/sgcs/MentraLive.java +6959 -0
  136. package/android/src/main/java/com/mentra/bluetoothsdk/sgcs/MentraNex.kt +1655 -0
  137. package/android/src/main/java/com/mentra/bluetoothsdk/sgcs/MentraosBle.java +53675 -0
  138. package/android/src/main/java/com/mentra/bluetoothsdk/sgcs/SGCManager.kt +202 -0
  139. package/android/src/main/java/com/mentra/bluetoothsdk/sgcs/Simulated.kt +224 -0
  140. package/android/src/main/java/com/mentra/bluetoothsdk/stt/STTTools.kt +340 -0
  141. package/android/src/main/java/com/mentra/bluetoothsdk/stt/SherpaOnnxTranscriber.kt +465 -0
  142. package/android/src/main/java/com/mentra/bluetoothsdk/stt/VadGateSpeechPolicy.kt +221 -0
  143. package/android/src/main/java/com/mentra/bluetoothsdk/utils/AES.java +106 -0
  144. package/android/src/main/java/com/mentra/bluetoothsdk/utils/AudioSessionMonitor.kt +189 -0
  145. package/android/src/main/java/com/mentra/bluetoothsdk/utils/BitmapJavaUtils.java +169 -0
  146. package/android/src/main/java/com/mentra/bluetoothsdk/utils/BlePhotoUploadService.java +179 -0
  147. package/android/src/main/java/com/mentra/bluetoothsdk/utils/Constants.kt +44 -0
  148. package/android/src/main/java/com/mentra/bluetoothsdk/utils/G1Text.kt +436 -0
  149. package/android/src/main/java/com/mentra/bluetoothsdk/utils/IncidentLogBleRelayNaming.java +29 -0
  150. package/android/src/main/java/com/mentra/bluetoothsdk/utils/IncidentLogBleUploadService.java +76 -0
  151. package/android/src/main/java/com/mentra/bluetoothsdk/utils/K900ProtocolUtils.java +791 -0
  152. package/android/src/main/java/com/mentra/bluetoothsdk/utils/MessageChunker.java +186 -0
  153. package/android/src/main/java/com/mentra/bluetoothsdk/utils/NexSGCUtils.kt +589 -0
  154. package/android/src/main/java/com/mentra/bluetoothsdk/utils/PhoneAudioMonitor.kt +303 -0
  155. package/android/src/main/java/com/mentra/bluetoothsdk/utils/SmartGlassesConnectionState.java +9 -0
  156. package/android/src/main/java/com/mentra/bluetoothsdk/utils/audio/ByteUtilAudioPlayer.java +655 -0
  157. package/android/src/main/java/com/mentra/bluetoothsdk/utils/audio/Lc3Player.java +441 -0
  158. package/android/src/main/java/com/mentra/bluetoothsdk/utils/audio/PCMAudioPlayer.java +431 -0
  159. package/android/src/main/res/values/strings.xml +4 -0
  160. package/app.plugin.js +1 -0
  161. package/build/BluetoothSdk.types.d.ts +498 -0
  162. package/build/BluetoothSdk.types.d.ts.map +1 -0
  163. package/build/BluetoothSdk.types.js +23 -0
  164. package/build/BluetoothSdk.types.js.map +1 -0
  165. package/build/BluetoothSdkModule.d.ts +71 -0
  166. package/build/BluetoothSdkModule.d.ts.map +1 -0
  167. package/build/BluetoothSdkModule.js +106 -0
  168. package/build/BluetoothSdkModule.js.map +1 -0
  169. package/build/index.d.ts +3 -0
  170. package/build/index.d.ts.map +1 -0
  171. package/build/index.js +5 -0
  172. package/build/index.js.map +1 -0
  173. package/expo-module.config.json +9 -0
  174. package/ios/BluetoothSdkModule.swift +665 -0
  175. package/ios/MentraBluetoothSDK.podspec +77 -0
  176. package/ios/Packages/CoreObjC/CoreObjC.xcodeproj/project.pbxproj +213 -0
  177. package/ios/Packages/CoreObjC/PcmConverter.h +22 -0
  178. package/ios/Packages/CoreObjC/PcmConverter.m +266 -0
  179. package/ios/Packages/CoreObjC/attdet.c +92 -0
  180. package/ios/Packages/CoreObjC/attdet.h +44 -0
  181. package/ios/Packages/CoreObjC/bits.c +375 -0
  182. package/ios/Packages/CoreObjC/bits.h +315 -0
  183. package/ios/Packages/CoreObjC/bwdet.c +129 -0
  184. package/ios/Packages/CoreObjC/bwdet.h +69 -0
  185. package/ios/Packages/CoreObjC/common.h +151 -0
  186. package/ios/Packages/CoreObjC/energy.c +70 -0
  187. package/ios/Packages/CoreObjC/energy.h +43 -0
  188. package/ios/Packages/CoreObjC/fastmath.h +158 -0
  189. package/ios/Packages/CoreObjC/lc3.c +704 -0
  190. package/ios/Packages/CoreObjC/lc3.h +313 -0
  191. package/ios/Packages/CoreObjC/lc3_cpp.h +283 -0
  192. package/ios/Packages/CoreObjC/lc3_private.h +163 -0
  193. package/ios/Packages/CoreObjC/ltpf.c +905 -0
  194. package/ios/Packages/CoreObjC/ltpf.h +111 -0
  195. package/ios/Packages/CoreObjC/ltpf_arm.h +506 -0
  196. package/ios/Packages/CoreObjC/ltpf_neon.h +281 -0
  197. package/ios/Packages/CoreObjC/makefile.mk +35 -0
  198. package/ios/Packages/CoreObjC/mdct.c +469 -0
  199. package/ios/Packages/CoreObjC/mdct.h +57 -0
  200. package/ios/Packages/CoreObjC/mdct_neon.h +296 -0
  201. package/ios/Packages/CoreObjC/meson.build +61 -0
  202. package/ios/Packages/CoreObjC/plc.c +61 -0
  203. package/ios/Packages/CoreObjC/plc.h +57 -0
  204. package/ios/Packages/CoreObjC/rnnoise.h +114 -0
  205. package/ios/Packages/CoreObjC/sns.c +880 -0
  206. package/ios/Packages/CoreObjC/sns.h +103 -0
  207. package/ios/Packages/CoreObjC/spec.c +907 -0
  208. package/ios/Packages/CoreObjC/spec.h +119 -0
  209. package/ios/Packages/CoreObjC/tables.c +3457 -0
  210. package/ios/Packages/CoreObjC/tables.h +94 -0
  211. package/ios/Packages/CoreObjC/tns.c +457 -0
  212. package/ios/Packages/CoreObjC/tns.h +99 -0
  213. package/ios/Packages/SherpaOnnx/Model/joiner.onnx +0 -0
  214. package/ios/Packages/SherpaOnnx/Model/tokens.txt +502 -0
  215. package/ios/Packages/SherpaOnnx/SherpaOnnx.swift +1659 -0
  216. package/ios/Packages/SherpaOnnx/sherpa-onnx.xcframework/Headers/cargs.h +162 -0
  217. package/ios/Packages/SherpaOnnx/sherpa-onnx.xcframework/Headers/sherpa-onnx/c-api/c-api.h +1852 -0
  218. package/ios/Packages/SherpaOnnx/sherpa-onnx.xcframework/Headers/sherpa-onnx/c-api/cxx-api.h +674 -0
  219. package/ios/Packages/SherpaOnnx/sherpa-onnx.xcframework/Info.plist +44 -0
  220. package/ios/Packages/SherpaOnnx/sherpa-onnx.xcframework/ios-arm64/libsherpa-onnx.a +0 -0
  221. package/ios/Packages/SherpaOnnx/sherpa-onnx.xcframework/ios-arm64/sherpa-onnx.a +0 -0
  222. package/ios/Packages/SherpaOnnx/sherpa-onnx.xcframework/ios-arm64_x86_64-simulator/libsherpa-onnx.a +0 -0
  223. package/ios/Packages/SherpaOnnx/sherpa-onnx.xcframework/ios-arm64_x86_64-simulator/sherpa-onnx.a +0 -0
  224. package/ios/Packages/VAD/Common/VAD/VADQuality.swift +41 -0
  225. package/ios/Packages/VAD/Common/VAD/VADState.swift +26 -0
  226. package/ios/Packages/VAD/Common/VAD/VADStrategy.swift +29 -0
  227. package/ios/Packages/VAD/Common/VAD/VADType.swift +14 -0
  228. package/ios/Packages/VAD/Data/Configuration.swift +68 -0
  229. package/ios/Packages/VAD/Data/FrameSize.swift +39 -0
  230. package/ios/Packages/VAD/Data/Record.swift +13 -0
  231. package/ios/Packages/VAD/Data/Result.swift +22 -0
  232. package/ios/Packages/VAD/Data/SampleRate.swift +48 -0
  233. package/ios/Packages/VAD/Silero/Model/silero_vad.onnx +0 -0
  234. package/ios/Packages/VAD/Silero/SileroVAD.swift +284 -0
  235. package/ios/Packages/VAD/Silero/SileroVADStrategy.swift +64 -0
  236. package/ios/Packages/libbz2/module.modulemap +5 -0
  237. package/ios/Packages/libbz2/shim.h +1 -0
  238. package/ios/Source/Bridge.swift +353 -0
  239. package/ios/Source/Bridging-Header.h +16 -0
  240. package/ios/Source/DeviceManager.swift +1478 -0
  241. package/ios/Source/DeviceStore.swift +295 -0
  242. package/ios/Source/MentraBluetoothSDK.swift +2439 -0
  243. package/ios/Source/ObservableStore.swift +88 -0
  244. package/ios/Source/PrivacyInfo.xcprivacy +23 -0
  245. package/ios/Source/controllers/ControllerManager.swift +187 -0
  246. package/ios/Source/controllers/R1.swift +827 -0
  247. package/ios/Source/services/PhoneMic.swift +662 -0
  248. package/ios/Source/sgcs/Frame.swift +651 -0
  249. package/ios/Source/sgcs/G1.swift +2505 -0
  250. package/ios/Source/sgcs/G2.swift +3730 -0
  251. package/ios/Source/sgcs/Mach1.swift +543 -0
  252. package/ios/Source/sgcs/MentraLive.swift +4708 -0
  253. package/ios/Source/sgcs/MentraNex.swift +2479 -0
  254. package/ios/Source/sgcs/SGCManager.swift +243 -0
  255. package/ios/Source/sgcs/Simulated.swift +270 -0
  256. package/ios/Source/sgcs/mentraos_ble.pb.swift +3811 -0
  257. package/ios/Source/stt/STTTools.swift +154 -0
  258. package/ios/Source/stt/SherpaOnnxTranscriber.swift +401 -0
  259. package/ios/Source/utils/AudioSessionMonitor.swift +283 -0
  260. package/ios/Source/utils/Constants.swift +74 -0
  261. package/ios/Source/utils/Enums.swift +95 -0
  262. package/ios/Source/utils/G1Text.swift +2067 -0
  263. package/ios/Source/utils/JSCExperiment.swift +241 -0
  264. package/ios/Source/utils/MemoryMonitor.swift +44 -0
  265. package/ios/Source/utils/MessageChunker.swift +164 -0
  266. package/ios/Source/utils/Models.swift +135 -0
  267. package/ios/Source/utils/PhoneAudioMonitor.swift +226 -0
  268. package/ios/Source/utils/TarBz2Extractor.swift +206 -0
  269. package/package.json +78 -0
  270. package/plugin/build/index.d.ts +6 -0
  271. package/plugin/build/index.js +12 -0
  272. package/plugin/build/withAndroid.d.ts +4 -0
  273. package/plugin/build/withAndroid.js +80 -0
  274. package/plugin/build/withIos.d.ts +4 -0
  275. package/plugin/build/withIos.js +64 -0
  276. package/src/BluetoothSdk.types.ts +581 -0
  277. package/src/BluetoothSdkModule.ts +259 -0
  278. package/src/index.ts +4 -0
@@ -0,0 +1,96 @@
1
+ /*
2
+ * Copyright 2019 Google LLC
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ #include "ogg_opus_encoder.h"
18
+ #include <jni.h>
19
+ #include <cassert>
20
+ #include <cstdint>
21
+ #include "../ogg_opus_encoder.h"
22
+
23
+ namespace {
24
+
25
+ using audio_util::OggOpusEncoder;
26
+
27
+ OggOpusEncoder* GetInstanceOrDie(jlong ptr) {
28
+ assert(ptr);
29
+ return reinterpret_cast<OggOpusEncoder*>(ptr);
30
+ }
31
+
32
+ bool VerifyInitialized(const std::string& function_name, jlong instance_ptr) {
33
+ if (instance_ptr == 0) {
34
+ fprintf(stderr, "%s called prior to allocate() or after destroy()!\n",
35
+ function_name.c_str());
36
+ return false;
37
+ }
38
+ OggOpusEncoder* instance = GetInstanceOrDie(instance_ptr);
39
+ if (instance == nullptr) {
40
+ fprintf(stderr, "%s called prior to init()!\n", function_name.c_str());
41
+ return false;
42
+ }
43
+ return true;
44
+ }
45
+
46
+ JNIEXPORT jbyteArray convertToByteArray(const std::vector<unsigned char>& data,
47
+ JNIEnv* env) {
48
+ jbyteArray byteArray = env->NewByteArray(data.size());
49
+ env->SetByteArrayRegion(byteArray, 0, data.size(),
50
+ reinterpret_cast<const jbyte*>(data.data()));
51
+ return byteArray;
52
+ }
53
+
54
+ } // namespace
55
+
56
+ JNIEXPORT jlong JNICALL JNI_METHOD(init)(JNIEnv* env, jobject instance,
57
+ jint num_channels,
58
+ jint bitrate_bits_per_second,
59
+ jint sample_rate_hz,
60
+ jboolean use_vbr) {
61
+ constexpr bool low_latency_mode = true;
62
+ return reinterpret_cast<jlong>(new OggOpusEncoder(
63
+ num_channels, sample_rate_hz, bitrate_bits_per_second, use_vbr,
64
+ low_latency_mode));
65
+ }
66
+
67
+ JNIEXPORT jbyteArray JNICALL
68
+ JNI_METHOD(processAudioBytes)(JNIEnv* env, jobject instance, jlong instance_ptr,
69
+ jbyteArray samples, jint offset, jint length) {
70
+ if (!VerifyInitialized("processAudioBytes", instance_ptr)) {
71
+ return convertToByteArray(std::vector<unsigned char>(0), env);
72
+ }
73
+ jsize array_length_bytes = length;
74
+ if (!array_length_bytes) {
75
+ fprintf(stdout, "Found empty array\n");
76
+ }
77
+ assert(array_length_bytes % 2 == 0 && "int16 formatted stream missing bytes!");
78
+ std::vector<int16_t> pcm(array_length_bytes / 2);
79
+ env->GetByteArrayRegion(samples, offset, array_length_bytes,
80
+ reinterpret_cast<jbyte*>(pcm.data()));
81
+ if (env->ExceptionOccurred()) {
82
+ fprintf(stderr, "Exception occurred in java Environment object\n");
83
+ }
84
+
85
+ return convertToByteArray(GetInstanceOrDie(instance_ptr)->Process(pcm), env);
86
+ }
87
+
88
+ JNIEXPORT jbyteArray JNICALL JNI_METHOD(flush)(JNIEnv* env, jobject instance,
89
+ jlong instance_ptr) {
90
+ return convertToByteArray(GetInstanceOrDie(instance_ptr)->Flush(), env);
91
+ }
92
+
93
+ JNIEXPORT void JNICALL JNI_METHOD(free)(JNIEnv* env, jobject instance,
94
+ jlong instance_ptr) {
95
+ delete reinterpret_cast<OggOpusEncoder*>(instance_ptr);
96
+ }
@@ -0,0 +1,53 @@
1
+ /*
2
+ * Copyright 2019 Google LLC
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ #ifndef AUDIO_UTIL_JNI_OGG_OPUS_ENCODER_H_
18
+ #define AUDIO_UTIL_JNI_OGG_OPUS_ENCODER_H_
19
+
20
+ #include <jni.h>
21
+
22
+ // https://stackoverflow.com/questions/25363027/jni-getmethodid-not-working-for-constructor-of-inner-class
23
+ #define JNI_METHOD(fn) \
24
+ Java_com_augmentos_smartglassesmanager_speechrecognition_google_asr_asrhelpers_StreamingAudioEncoder_00024OggOpusEncoder_##fn // NOLINT
25
+
26
+ extern "C" {
27
+ // Create opus encoder instance. The pointer is returned in a
28
+ // jlong. Remember to call destroy with the returned value when you're done.
29
+ JNIEXPORT jlong JNICALL JNI_METHOD(init)(JNIEnv* env,
30
+ jobject instance,
31
+ jint num_channels,
32
+ jint bitrate_bits_per_second,
33
+ jint sample_rate_hz,
34
+ jboolean use_vbr);
35
+
36
+ // samples must be an even number of bytes, as it represents 16-bit audio data.
37
+ JNIEXPORT jbyteArray JNICALL JNI_METHOD(processAudioBytes)(JNIEnv* env,
38
+ jobject instance,
39
+ jlong instance_ptr,
40
+ jbyteArray samples,
41
+ jint offset,
42
+ jint length);
43
+
44
+ // Tell the encoder that there will be no more samples.
45
+ JNIEXPORT jbyteArray JNICALL JNI_METHOD(flush)(JNIEnv* env, jobject instance,
46
+ jlong instance_ptr);
47
+
48
+ // Releases all resources.
49
+ JNIEXPORT void JNICALL JNI_METHOD(free)(JNIEnv* env, jobject instance,
50
+ jlong instance_ptr);
51
+
52
+ } // extern "C"
53
+ #endif // AUDIO_UTIL_JNI_OGG_OPUS_ENCODER_H_
@@ -0,0 +1,6 @@
1
+ ## Process this file with automake to produce Makefile.in
2
+
3
+ oggincludedir = $(includedir)/ogg
4
+
5
+ ogginclude_HEADERS = ogg.h os_types.h
6
+ nodist_ogginclude_HEADERS = config_types.h
@@ -0,0 +1,26 @@
1
+ #ifndef __CONFIG_TYPES_H__
2
+ #define __CONFIG_TYPES_H__
3
+
4
+ /* these are filled in by configure or cmake*/
5
+ #define INCLUDE_INTTYPES_H 1
6
+ #define INCLUDE_STDINT_H 1
7
+ #define INCLUDE_SYS_TYPES_H 1
8
+
9
+ #if INCLUDE_INTTYPES_H
10
+ # include <inttypes.h>
11
+ #endif
12
+ #if INCLUDE_STDINT_H
13
+ # include <stdint.h>
14
+ #endif
15
+ #if INCLUDE_SYS_TYPES_H
16
+ # include <sys/types.h>
17
+ #endif
18
+
19
+ typedef int16_t ogg_int16_t;
20
+ typedef uint16_t ogg_uint16_t;
21
+ typedef int32_t ogg_int32_t;
22
+ typedef uint32_t ogg_uint32_t;
23
+ typedef int64_t ogg_int64_t;
24
+ typedef uint64_t ogg_uint64_t;
25
+
26
+ #endif
@@ -0,0 +1,26 @@
1
+ #ifndef __CONFIG_TYPES_H__
2
+ #define __CONFIG_TYPES_H__
3
+
4
+ /* these are filled in by configure or cmake*/
5
+ #define INCLUDE_INTTYPES_H @INCLUDE_INTTYPES_H@
6
+ #define INCLUDE_STDINT_H @INCLUDE_STDINT_H@
7
+ #define INCLUDE_SYS_TYPES_H @INCLUDE_SYS_TYPES_H@
8
+
9
+ #if INCLUDE_INTTYPES_H
10
+ # include <inttypes.h>
11
+ #endif
12
+ #if INCLUDE_STDINT_H
13
+ # include <stdint.h>
14
+ #endif
15
+ #if INCLUDE_SYS_TYPES_H
16
+ # include <sys/types.h>
17
+ #endif
18
+
19
+ typedef @SIZE16@ ogg_int16_t;
20
+ typedef @USIZE16@ ogg_uint16_t;
21
+ typedef @SIZE32@ ogg_int32_t;
22
+ typedef @USIZE32@ ogg_uint32_t;
23
+ typedef @SIZE64@ ogg_int64_t;
24
+ typedef @USIZE64@ ogg_uint64_t;
25
+
26
+ #endif
@@ -0,0 +1,209 @@
1
+ /********************************************************************
2
+ * *
3
+ * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
4
+ * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
5
+ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
6
+ * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
7
+ * *
8
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
9
+ * by the Xiph.Org Foundation http://www.xiph.org/ *
10
+ * *
11
+ ********************************************************************
12
+
13
+ function: toplevel libogg include
14
+
15
+ ********************************************************************/
16
+ #ifndef _OGG_H
17
+ #define _OGG_H
18
+
19
+ #ifdef __cplusplus
20
+ extern "C" {
21
+ #endif
22
+
23
+ #include <stddef.h>
24
+ #include "os_types.h"
25
+
26
+ typedef struct {
27
+ void *iov_base;
28
+ size_t iov_len;
29
+ } ogg_iovec_t;
30
+
31
+ typedef struct {
32
+ long endbyte;
33
+ int endbit;
34
+
35
+ unsigned char *buffer;
36
+ unsigned char *ptr;
37
+ long storage;
38
+ } oggpack_buffer;
39
+
40
+ /* ogg_page is used to encapsulate the data in one Ogg bitstream page *****/
41
+
42
+ typedef struct {
43
+ unsigned char *header;
44
+ long header_len;
45
+ unsigned char *body;
46
+ long body_len;
47
+ } ogg_page;
48
+
49
+ /* ogg_stream_state contains the current encode/decode state of a logical
50
+ Ogg bitstream **********************************************************/
51
+
52
+ typedef struct {
53
+ unsigned char *body_data; /* bytes from packet bodies */
54
+ long body_storage; /* storage elements allocated */
55
+ long body_fill; /* elements stored; fill mark */
56
+ long body_returned; /* elements of fill returned */
57
+
58
+
59
+ int *lacing_vals; /* The values that will go to the segment table */
60
+ ogg_int64_t *granule_vals; /* granulepos values for headers. Not compact
61
+ this way, but it is simple coupled to the
62
+ lacing fifo */
63
+ long lacing_storage;
64
+ long lacing_fill;
65
+ long lacing_packet;
66
+ long lacing_returned;
67
+
68
+ unsigned char header[282]; /* working space for header encode */
69
+ int header_fill;
70
+
71
+ int e_o_s; /* set when we have buffered the last packet in the
72
+ logical bitstream */
73
+ int b_o_s; /* set after we've written the initial page
74
+ of a logical bitstream */
75
+ long serialno;
76
+ long pageno;
77
+ ogg_int64_t packetno; /* sequence number for decode; the framing
78
+ knows where there's a hole in the data,
79
+ but we need coupling so that the codec
80
+ (which is in a separate abstraction
81
+ layer) also knows about the gap */
82
+ ogg_int64_t granulepos;
83
+
84
+ } ogg_stream_state;
85
+
86
+ /* ogg_packet is used to encapsulate the data and metadata belonging
87
+ to a single raw Ogg/Vorbis packet *************************************/
88
+
89
+ typedef struct {
90
+ unsigned char *packet;
91
+ long bytes;
92
+ long b_o_s;
93
+ long e_o_s;
94
+
95
+ ogg_int64_t granulepos;
96
+
97
+ ogg_int64_t packetno; /* sequence number for decode; the framing
98
+ knows where there's a hole in the data,
99
+ but we need coupling so that the codec
100
+ (which is in a separate abstraction
101
+ layer) also knows about the gap */
102
+ } ogg_packet;
103
+
104
+ typedef struct {
105
+ unsigned char *data;
106
+ int storage;
107
+ int fill;
108
+ int returned;
109
+
110
+ int unsynced;
111
+ int headerbytes;
112
+ int bodybytes;
113
+ } ogg_sync_state;
114
+
115
+ /* Ogg BITSTREAM PRIMITIVES: bitstream ************************/
116
+
117
+ extern void oggpack_writeinit(oggpack_buffer *b);
118
+ extern int oggpack_writecheck(oggpack_buffer *b);
119
+ extern void oggpack_writetrunc(oggpack_buffer *b,long bits);
120
+ extern void oggpack_writealign(oggpack_buffer *b);
121
+ extern void oggpack_writecopy(oggpack_buffer *b,void *source,long bits);
122
+ extern void oggpack_reset(oggpack_buffer *b);
123
+ extern void oggpack_writeclear(oggpack_buffer *b);
124
+ extern void oggpack_readinit(oggpack_buffer *b,unsigned char *buf,int bytes);
125
+ extern void oggpack_write(oggpack_buffer *b,unsigned long value,int bits);
126
+ extern long oggpack_look(oggpack_buffer *b,int bits);
127
+ extern long oggpack_look1(oggpack_buffer *b);
128
+ extern void oggpack_adv(oggpack_buffer *b,int bits);
129
+ extern void oggpack_adv1(oggpack_buffer *b);
130
+ extern long oggpack_read(oggpack_buffer *b,int bits);
131
+ extern long oggpack_read1(oggpack_buffer *b);
132
+ extern long oggpack_bytes(oggpack_buffer *b);
133
+ extern long oggpack_bits(oggpack_buffer *b);
134
+ extern unsigned char *oggpack_get_buffer(oggpack_buffer *b);
135
+
136
+ extern void oggpackB_writeinit(oggpack_buffer *b);
137
+ extern int oggpackB_writecheck(oggpack_buffer *b);
138
+ extern void oggpackB_writetrunc(oggpack_buffer *b,long bits);
139
+ extern void oggpackB_writealign(oggpack_buffer *b);
140
+ extern void oggpackB_writecopy(oggpack_buffer *b,void *source,long bits);
141
+ extern void oggpackB_reset(oggpack_buffer *b);
142
+ extern void oggpackB_writeclear(oggpack_buffer *b);
143
+ extern void oggpackB_readinit(oggpack_buffer *b,unsigned char *buf,int bytes);
144
+ extern void oggpackB_write(oggpack_buffer *b,unsigned long value,int bits);
145
+ extern long oggpackB_look(oggpack_buffer *b,int bits);
146
+ extern long oggpackB_look1(oggpack_buffer *b);
147
+ extern void oggpackB_adv(oggpack_buffer *b,int bits);
148
+ extern void oggpackB_adv1(oggpack_buffer *b);
149
+ extern long oggpackB_read(oggpack_buffer *b,int bits);
150
+ extern long oggpackB_read1(oggpack_buffer *b);
151
+ extern long oggpackB_bytes(oggpack_buffer *b);
152
+ extern long oggpackB_bits(oggpack_buffer *b);
153
+ extern unsigned char *oggpackB_get_buffer(oggpack_buffer *b);
154
+
155
+ /* Ogg BITSTREAM PRIMITIVES: encoding **************************/
156
+
157
+ extern int ogg_stream_packetin(ogg_stream_state *os, ogg_packet *op);
158
+ extern int ogg_stream_iovecin(ogg_stream_state *os, ogg_iovec_t *iov,
159
+ int count, long e_o_s, ogg_int64_t granulepos);
160
+ extern int ogg_stream_pageout(ogg_stream_state *os, ogg_page *og);
161
+ extern int ogg_stream_pageout_fill(ogg_stream_state *os, ogg_page *og, int nfill);
162
+ extern int ogg_stream_flush(ogg_stream_state *os, ogg_page *og);
163
+ extern int ogg_stream_flush_fill(ogg_stream_state *os, ogg_page *og, int nfill);
164
+
165
+ /* Ogg BITSTREAM PRIMITIVES: decoding **************************/
166
+
167
+ extern int ogg_sync_init(ogg_sync_state *oy);
168
+ extern int ogg_sync_clear(ogg_sync_state *oy);
169
+ extern int ogg_sync_reset(ogg_sync_state *oy);
170
+ extern int ogg_sync_destroy(ogg_sync_state *oy);
171
+ extern int ogg_sync_check(ogg_sync_state *oy);
172
+
173
+ extern char *ogg_sync_buffer(ogg_sync_state *oy, long size);
174
+ extern int ogg_sync_wrote(ogg_sync_state *oy, long bytes);
175
+ extern long ogg_sync_pageseek(ogg_sync_state *oy,ogg_page *og);
176
+ extern int ogg_sync_pageout(ogg_sync_state *oy, ogg_page *og);
177
+ extern int ogg_stream_pagein(ogg_stream_state *os, ogg_page *og);
178
+ extern int ogg_stream_packetout(ogg_stream_state *os,ogg_packet *op);
179
+ extern int ogg_stream_packetpeek(ogg_stream_state *os,ogg_packet *op);
180
+
181
+ /* Ogg BITSTREAM PRIMITIVES: general ***************************/
182
+
183
+ extern int ogg_stream_init(ogg_stream_state *os,int serialno);
184
+ extern int ogg_stream_clear(ogg_stream_state *os);
185
+ extern int ogg_stream_reset(ogg_stream_state *os);
186
+ extern int ogg_stream_reset_serialno(ogg_stream_state *os,int serialno);
187
+ extern int ogg_stream_destroy(ogg_stream_state *os);
188
+ extern int ogg_stream_check(ogg_stream_state *os);
189
+ extern int ogg_stream_eos(ogg_stream_state *os);
190
+
191
+ extern void ogg_page_checksum_set(ogg_page *og);
192
+
193
+ extern int ogg_page_version(const ogg_page *og);
194
+ extern int ogg_page_continued(const ogg_page *og);
195
+ extern int ogg_page_bos(const ogg_page *og);
196
+ extern int ogg_page_eos(const ogg_page *og);
197
+ extern ogg_int64_t ogg_page_granulepos(const ogg_page *og);
198
+ extern int ogg_page_serialno(const ogg_page *og);
199
+ extern long ogg_page_pageno(const ogg_page *og);
200
+ extern int ogg_page_packets(const ogg_page *og);
201
+
202
+ extern void ogg_packet_clear(ogg_packet *op);
203
+
204
+
205
+ #ifdef __cplusplus
206
+ }
207
+ #endif
208
+
209
+ #endif /* _OGG_H */
@@ -0,0 +1,158 @@
1
+ /********************************************************************
2
+ * *
3
+ * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
4
+ * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
5
+ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
6
+ * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
7
+ * *
8
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
9
+ * by the Xiph.Org Foundation http://www.xiph.org/ *
10
+ * *
11
+ ********************************************************************
12
+
13
+ function: Define a consistent set of types on each platform.
14
+
15
+ ********************************************************************/
16
+ #ifndef _OS_TYPES_H
17
+ #define _OS_TYPES_H
18
+
19
+ /* make it easy on the folks that want to compile the libs with a
20
+ different malloc than stdlib */
21
+ #define _ogg_malloc malloc
22
+ #define _ogg_calloc calloc
23
+ #define _ogg_realloc realloc
24
+ #define _ogg_free free
25
+
26
+ #if defined(_WIN32)
27
+
28
+ # if defined(__CYGWIN__)
29
+ # include <stdint.h>
30
+ typedef int16_t ogg_int16_t;
31
+ typedef uint16_t ogg_uint16_t;
32
+ typedef int32_t ogg_int32_t;
33
+ typedef uint32_t ogg_uint32_t;
34
+ typedef int64_t ogg_int64_t;
35
+ typedef uint64_t ogg_uint64_t;
36
+ # elif defined(__MINGW32__)
37
+ # include <sys/types.h>
38
+ typedef short ogg_int16_t;
39
+ typedef unsigned short ogg_uint16_t;
40
+ typedef int ogg_int32_t;
41
+ typedef unsigned int ogg_uint32_t;
42
+ typedef long long ogg_int64_t;
43
+ typedef unsigned long long ogg_uint64_t;
44
+ # elif defined(__MWERKS__)
45
+ typedef long long ogg_int64_t;
46
+ typedef unsigned long long ogg_uint64_t;
47
+ typedef int ogg_int32_t;
48
+ typedef unsigned int ogg_uint32_t;
49
+ typedef short ogg_int16_t;
50
+ typedef unsigned short ogg_uint16_t;
51
+ # else
52
+ # if defined(_MSC_VER) && (_MSC_VER >= 1800) /* MSVC 2013 and newer */
53
+ # include <stdint.h>
54
+ typedef int16_t ogg_int16_t;
55
+ typedef uint16_t ogg_uint16_t;
56
+ typedef int32_t ogg_int32_t;
57
+ typedef uint32_t ogg_uint32_t;
58
+ typedef int64_t ogg_int64_t;
59
+ typedef uint64_t ogg_uint64_t;
60
+ # else
61
+ /* MSVC/Borland */
62
+ typedef __int64 ogg_int64_t;
63
+ typedef __int32 ogg_int32_t;
64
+ typedef unsigned __int32 ogg_uint32_t;
65
+ typedef unsigned __int64 ogg_uint64_t;
66
+ typedef __int16 ogg_int16_t;
67
+ typedef unsigned __int16 ogg_uint16_t;
68
+ # endif
69
+ # endif
70
+
71
+ #elif (defined(__APPLE__) && defined(__MACH__)) /* MacOS X Framework build */
72
+
73
+ # include <inttypes.h>
74
+ typedef int16_t ogg_int16_t;
75
+ typedef uint16_t ogg_uint16_t;
76
+ typedef int32_t ogg_int32_t;
77
+ typedef uint32_t ogg_uint32_t;
78
+ typedef int64_t ogg_int64_t;
79
+ typedef uint64_t ogg_uint64_t;
80
+
81
+ #elif defined(__HAIKU__)
82
+
83
+ /* Haiku */
84
+ # include <sys/types.h>
85
+ typedef short ogg_int16_t;
86
+ typedef unsigned short ogg_uint16_t;
87
+ typedef int ogg_int32_t;
88
+ typedef unsigned int ogg_uint32_t;
89
+ typedef long long ogg_int64_t;
90
+ typedef unsigned long long ogg_uint64_t;
91
+
92
+ #elif defined(__BEOS__)
93
+
94
+ /* Be */
95
+ # include <inttypes.h>
96
+ typedef int16_t ogg_int16_t;
97
+ typedef uint16_t ogg_uint16_t;
98
+ typedef int32_t ogg_int32_t;
99
+ typedef uint32_t ogg_uint32_t;
100
+ typedef int64_t ogg_int64_t;
101
+ typedef uint64_t ogg_uint64_t;
102
+
103
+ #elif defined (__EMX__)
104
+
105
+ /* OS/2 GCC */
106
+ typedef short ogg_int16_t;
107
+ typedef unsigned short ogg_uint16_t;
108
+ typedef int ogg_int32_t;
109
+ typedef unsigned int ogg_uint32_t;
110
+ typedef long long ogg_int64_t;
111
+ typedef unsigned long long ogg_uint64_t;
112
+
113
+
114
+ #elif defined (DJGPP)
115
+
116
+ /* DJGPP */
117
+ typedef short ogg_int16_t;
118
+ typedef int ogg_int32_t;
119
+ typedef unsigned int ogg_uint32_t;
120
+ typedef long long ogg_int64_t;
121
+ typedef unsigned long long ogg_uint64_t;
122
+
123
+ #elif defined(R5900)
124
+
125
+ /* PS2 EE */
126
+ typedef long ogg_int64_t;
127
+ typedef unsigned long ogg_uint64_t;
128
+ typedef int ogg_int32_t;
129
+ typedef unsigned ogg_uint32_t;
130
+ typedef short ogg_int16_t;
131
+
132
+ #elif defined(__SYMBIAN32__)
133
+
134
+ /* Symbian GCC */
135
+ typedef signed short ogg_int16_t;
136
+ typedef unsigned short ogg_uint16_t;
137
+ typedef signed int ogg_int32_t;
138
+ typedef unsigned int ogg_uint32_t;
139
+ typedef long long int ogg_int64_t;
140
+ typedef unsigned long long int ogg_uint64_t;
141
+
142
+ #elif defined(__TMS320C6X__)
143
+
144
+ /* TI C64x compiler */
145
+ typedef signed short ogg_int16_t;
146
+ typedef unsigned short ogg_uint16_t;
147
+ typedef signed int ogg_int32_t;
148
+ typedef unsigned int ogg_uint32_t;
149
+ typedef long long int ogg_int64_t;
150
+ typedef unsigned long long int ogg_uint64_t;
151
+
152
+ #else
153
+
154
+ # include "config_types.h"
155
+
156
+ #endif
157
+
158
+ #endif /* _OS_TYPES_H */