@signageos/front-applet 7.2.0 → 8.0.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 (420) hide show
  1. package/dist/bundle.js +8 -4
  2. package/dist/bundle.js.map +1 -1
  3. package/docs/fpath/index.md +316 -0
  4. package/docs/index.md +18 -85
  5. package/docs/sos/browser.md +210 -0
  6. package/docs/sos/command.md +68 -0
  7. package/docs/sos/debug.md +25 -0
  8. package/docs/sos/deviceInfo.md +49 -0
  9. package/docs/sos/display.md +21 -0
  10. package/docs/sos/fileSystem.md +594 -0
  11. package/docs/sos/hardware/barcodeScanner.md +40 -0
  12. package/docs/sos/hardware/index.md +64 -0
  13. package/docs/sos/hardware/led.md +14 -0
  14. package/docs/sos/index.md +82 -0
  15. package/docs/sos/input.md +73 -0
  16. package/docs/sos/monitors.md +21 -0
  17. package/docs/sos/native/index.md +5 -0
  18. package/docs/sos/native/mdc.md +240 -0
  19. package/docs/sos/offline/cache.md +183 -0
  20. package/docs/sos/offline/index.md +188 -0
  21. package/docs/sos/osd.md +13 -0
  22. package/docs/sos/proofOfPlay.md +37 -0
  23. package/docs/sos/stream.md +960 -0
  24. package/docs/sos/sync.md +298 -0
  25. package/docs/sos/video.md +285 -0
  26. package/docs/sos_management/app.md +102 -0
  27. package/docs/sos_management/audio.md +29 -0
  28. package/docs/sos_management/debug.md +33 -0
  29. package/docs/sos_management/firmware.md +86 -0
  30. package/docs/sos_management/index.md +212 -0
  31. package/docs/sos_management/network.md +197 -0
  32. package/docs/sos_management/os.md +54 -0
  33. package/docs/sos_management/package.md +33 -0
  34. package/docs/sos_management/power.md +136 -0
  35. package/docs/sos_management/proxy.md +41 -0
  36. package/docs/sos_management/remoteControl.md +72 -0
  37. package/docs/sos_management/screen.md +198 -0
  38. package/docs/sos_management/security.md +47 -0
  39. package/docs/sos_management/time.md +101 -0
  40. package/docs/sos_management/wifi.md +366 -0
  41. package/es6/FrontApplet/Browser/Browser.d.ts +61 -8
  42. package/es6/FrontApplet/Browser/Browser.js +91 -39
  43. package/es6/FrontApplet/Browser/Browser.js.map +1 -1
  44. package/es6/FrontApplet/Browser/events.js +2 -2
  45. package/es6/FrontApplet/Browser/events.js.map +1 -1
  46. package/es6/FrontApplet/Command/Command.d.ts +37 -3
  47. package/es6/FrontApplet/Command/Command.js +49 -20
  48. package/es6/FrontApplet/Command/Command.js.map +1 -1
  49. package/es6/FrontApplet/Command/ICommandEvent.d.ts +6 -2
  50. package/es6/FrontApplet/Connect/Connect.d.ts +3 -0
  51. package/es6/FrontApplet/Connect/Connect.js +55 -7
  52. package/es6/FrontApplet/Connect/Connect.js.map +1 -1
  53. package/es6/FrontApplet/Connect/IConnectMessage.d.ts +1 -1
  54. package/es6/FrontApplet/Debug/Debug.d.ts +15 -1
  55. package/es6/FrontApplet/Debug/Debug.js +27 -17
  56. package/es6/FrontApplet/Debug/Debug.js.map +1 -1
  57. package/es6/FrontApplet/Debug/debugDecorator.d.ts +3 -3
  58. package/es6/FrontApplet/Debug/debugDecorator.js +13 -7
  59. package/es6/FrontApplet/Debug/debugDecorator.js.map +1 -1
  60. package/es6/FrontApplet/DeviceInfo/DeviceInfo.d.ts +23 -0
  61. package/es6/FrontApplet/DeviceInfo/DeviceInfo.js +36 -27
  62. package/es6/FrontApplet/DeviceInfo/DeviceInfo.js.map +1 -1
  63. package/es6/FrontApplet/Dimensions/coordinationsHelper.js +1 -2
  64. package/es6/FrontApplet/Dimensions/coordinationsHelper.js.map +1 -1
  65. package/es6/FrontApplet/Display/Display.d.ts +25 -3
  66. package/es6/FrontApplet/Display/Display.js +35 -19
  67. package/es6/FrontApplet/Display/Display.js.map +1 -1
  68. package/es6/FrontApplet/Display/IDisplay.d.ts +3 -1
  69. package/es6/FrontApplet/Error/AppletCommandError.js +12 -3
  70. package/es6/FrontApplet/Error/AppletCommandError.js.map +1 -1
  71. package/es6/FrontApplet/Error/AppletError.js +10 -2
  72. package/es6/FrontApplet/Error/AppletError.js.map +1 -1
  73. package/es6/FrontApplet/Error/AppletHardwareError.js +12 -3
  74. package/es6/FrontApplet/Error/AppletHardwareError.js.map +1 -1
  75. package/es6/FrontApplet/Error/AppletOfflineCacheError.js +10 -2
  76. package/es6/FrontApplet/Error/AppletOfflineCacheError.js.map +1 -1
  77. package/es6/FrontApplet/Error/AppletResourcesError.js +12 -3
  78. package/es6/FrontApplet/Error/AppletResourcesError.js.map +1 -1
  79. package/es6/FrontApplet/Error/AppletSecurityError.js +12 -3
  80. package/es6/FrontApplet/Error/AppletSecurityError.js.map +1 -1
  81. package/es6/FrontApplet/Error/AppletStreamError.js +10 -2
  82. package/es6/FrontApplet/Error/AppletStreamError.js.map +1 -1
  83. package/es6/FrontApplet/Error/AppletVideoError.js +12 -3
  84. package/es6/FrontApplet/Error/AppletVideoError.js.map +1 -1
  85. package/es6/FrontApplet/Error/ErrorCodesMessages.js +4 -1
  86. package/es6/FrontApplet/Error/ErrorCodesMessages.js.map +1 -1
  87. package/es6/FrontApplet/Error/ErrorSuggestions.js +1 -0
  88. package/es6/FrontApplet/Error/ErrorSuggestions.js.map +1 -1
  89. package/es6/FrontApplet/Error/FileNotFoundError.js +10 -2
  90. package/es6/FrontApplet/Error/FileNotFoundError.js.map +1 -1
  91. package/es6/FrontApplet/Error/SosError.js +4 -0
  92. package/es6/FrontApplet/Error/SosError.js.map +1 -1
  93. package/es6/FrontApplet/Error/errorHelper.js +5 -6
  94. package/es6/FrontApplet/Error/errorHelper.js.map +1 -1
  95. package/es6/FrontApplet/Exchange/Exchange.js +7 -14
  96. package/es6/FrontApplet/Exchange/Exchange.js.map +1 -1
  97. package/es6/FrontApplet/FileSystem/FileSystem.d.ts +156 -1
  98. package/es6/FrontApplet/FileSystem/FileSystem.js +316 -193
  99. package/es6/FrontApplet/FileSystem/FileSystem.js.map +1 -1
  100. package/es6/FrontApplet/FileSystem/HashAlgorithm.d.ts +2 -0
  101. package/es6/FrontApplet/{Stream/streamListeners.js → FileSystem/HashAlgorithm.js} +1 -1
  102. package/es6/FrontApplet/FileSystem/HashAlgorithm.js.map +1 -0
  103. package/es6/FrontApplet/Font/fontFaceGenerator.js.map +1 -1
  104. package/es6/FrontApplet/FrontApplet.d.ts +55 -4
  105. package/es6/FrontApplet/FrontApplet.js +124 -47
  106. package/es6/FrontApplet/FrontApplet.js.map +1 -1
  107. package/es6/FrontApplet/Hardware/BarcodeScanner/BarcodeScanner.d.ts +2 -0
  108. package/es6/FrontApplet/Hardware/BarcodeScanner/BarcodeScanner.js +35 -54
  109. package/es6/FrontApplet/Hardware/BarcodeScanner/BarcodeScanner.js.map +1 -1
  110. package/es6/FrontApplet/Hardware/Hardware.d.ts +16 -2
  111. package/es6/FrontApplet/Hardware/Hardware.js +31 -19
  112. package/es6/FrontApplet/Hardware/Hardware.js.map +1 -1
  113. package/es6/FrontApplet/Hardware/IHardware.d.ts +2 -2
  114. package/es6/FrontApplet/Hardware/ISerialPort.d.ts +16 -0
  115. package/es6/FrontApplet/Hardware/ISerialPortOptions.js +1 -1
  116. package/es6/FrontApplet/Hardware/ISerialPortOptions.js.map +1 -1
  117. package/es6/FrontApplet/Hardware/Led/Led.d.ts +8 -0
  118. package/es6/FrontApplet/Hardware/Led/Led.js +20 -18
  119. package/es6/FrontApplet/Hardware/Led/Led.js.map +1 -1
  120. package/es6/FrontApplet/Hardware/SerialPort.d.ts +1 -1
  121. package/es6/FrontApplet/Hardware/SerialPort.js +15 -23
  122. package/es6/FrontApplet/Hardware/SerialPort.js.map +1 -1
  123. package/es6/FrontApplet/Hash/generator.js +1 -2
  124. package/es6/FrontApplet/Hash/generator.js.map +1 -1
  125. package/es6/FrontApplet/Iframe/Iframe.d.ts +9 -8
  126. package/es6/FrontApplet/Iframe/Iframe.js +10 -0
  127. package/es6/FrontApplet/Iframe/Iframe.js.map +1 -1
  128. package/es6/FrontApplet/Input/IInput.d.ts +1 -2
  129. package/es6/FrontApplet/Input/IKeyUpEvent.d.ts +32 -2
  130. package/es6/FrontApplet/Input/IKeyUpEvent.js +32 -0
  131. package/es6/FrontApplet/Input/IKeyUpEvent.js.map +1 -1
  132. package/es6/FrontApplet/Input/Input.d.ts +19 -3
  133. package/es6/FrontApplet/Input/Input.js +43 -22
  134. package/es6/FrontApplet/Input/Input.js.map +1 -1
  135. package/es6/FrontApplet/Management/App/App.d.ts +48 -10
  136. package/es6/FrontApplet/Management/App/App.js +45 -30
  137. package/es6/FrontApplet/Management/App/App.js.map +1 -1
  138. package/es6/FrontApplet/Management/App/IApp.d.ts +3 -1
  139. package/es6/FrontApplet/Management/Audio/Audio.d.ts +16 -0
  140. package/es6/FrontApplet/Management/Audio/Audio.js +30 -22
  141. package/es6/FrontApplet/Management/Audio/Audio.js.map +1 -1
  142. package/es6/FrontApplet/Management/AutoRecovery/AutoRecovery.d.ts +4 -0
  143. package/es6/FrontApplet/Management/AutoRecovery/AutoRecovery.js +15 -22
  144. package/es6/FrontApplet/Management/AutoRecovery/AutoRecovery.js.map +1 -1
  145. package/es6/FrontApplet/Management/AutoRecovery/IAutoRecovery.js +4 -1
  146. package/es6/FrontApplet/Management/AutoRecovery/IAutoRecovery.js.map +1 -1
  147. package/es6/FrontApplet/Management/Debug/Debug.d.ts +19 -0
  148. package/es6/FrontApplet/Management/Debug/Debug.js +37 -30
  149. package/es6/FrontApplet/Management/Debug/Debug.js.map +1 -1
  150. package/es6/FrontApplet/Management/Firmware/Firmware.d.ts +37 -10
  151. package/es6/FrontApplet/Management/Firmware/Firmware.js +34 -30
  152. package/es6/FrontApplet/Management/Firmware/Firmware.js.map +1 -1
  153. package/es6/FrontApplet/Management/Firmware/IFirmware.d.ts +1 -2
  154. package/es6/FrontApplet/Management/IManagement.d.ts +3 -1
  155. package/es6/FrontApplet/Management/Management.d.ts +106 -15
  156. package/es6/FrontApplet/Management/Management.js +191 -113
  157. package/es6/FrontApplet/Management/Management.js.map +1 -1
  158. package/es6/FrontApplet/Management/Network/INetworkInfo.d.ts +1 -1
  159. package/es6/FrontApplet/Management/Network/Network.d.ts +56 -8
  160. package/es6/FrontApplet/Management/Network/Network.js +85 -67
  161. package/es6/FrontApplet/Management/Network/Network.js.map +1 -1
  162. package/es6/FrontApplet/Management/OS/OS.d.ts +20 -0
  163. package/es6/FrontApplet/Management/OS/OS.js +34 -27
  164. package/es6/FrontApplet/Management/OS/OS.js.map +1 -1
  165. package/es6/FrontApplet/Management/Package/Package.d.ts +20 -0
  166. package/es6/FrontApplet/Management/Package/Package.js +37 -22
  167. package/es6/FrontApplet/Management/Package/Package.js.map +1 -1
  168. package/es6/FrontApplet/Management/PeerRecovery/IPeerRecovery.js +4 -1
  169. package/es6/FrontApplet/Management/PeerRecovery/IPeerRecovery.js.map +1 -1
  170. package/es6/FrontApplet/Management/PeerRecovery/PeerRecovery.d.ts +4 -0
  171. package/es6/FrontApplet/Management/PeerRecovery/PeerRecovery.js +15 -22
  172. package/es6/FrontApplet/Management/PeerRecovery/PeerRecovery.js.map +1 -1
  173. package/es6/FrontApplet/Management/Power/Power.d.ts +64 -0
  174. package/es6/FrontApplet/Management/Power/Power.js +160 -115
  175. package/es6/FrontApplet/Management/Power/Power.js.map +1 -1
  176. package/es6/FrontApplet/Management/Proxy/Proxy.d.ts +21 -0
  177. package/es6/FrontApplet/Management/Proxy/Proxy.js +41 -35
  178. package/es6/FrontApplet/Management/Proxy/Proxy.js.map +1 -1
  179. package/es6/FrontApplet/Management/RemoteControl/RemoteControl.d.ts +43 -0
  180. package/es6/FrontApplet/Management/RemoteControl/RemoteControl.js +63 -39
  181. package/es6/FrontApplet/Management/RemoteControl/RemoteControl.js.map +1 -1
  182. package/es6/FrontApplet/Management/Screen/Screen.d.ts +127 -0
  183. package/es6/FrontApplet/Management/Screen/Screen.js +197 -89
  184. package/es6/FrontApplet/Management/Screen/Screen.js.map +1 -1
  185. package/es6/FrontApplet/Management/Security/Security.d.ts +20 -5
  186. package/es6/FrontApplet/Management/Security/Security.js +33 -31
  187. package/es6/FrontApplet/Management/Security/Security.js.map +1 -1
  188. package/es6/FrontApplet/Management/Time/Time.d.ts +31 -5
  189. package/es6/FrontApplet/Management/Time/Time.js +49 -40
  190. package/es6/FrontApplet/Management/Time/Time.js.map +1 -1
  191. package/es6/FrontApplet/Management/Wifi/IWifiEvent.d.ts +18 -0
  192. package/es6/FrontApplet/Management/Wifi/IWifiEvent.js +19 -1
  193. package/es6/FrontApplet/Management/Wifi/IWifiEvent.js.map +1 -1
  194. package/es6/FrontApplet/Management/Wifi/Wifi.d.ts +108 -7
  195. package/es6/FrontApplet/Management/Wifi/Wifi.js +162 -86
  196. package/es6/FrontApplet/Management/Wifi/Wifi.js.map +1 -1
  197. package/es6/FrontApplet/Management/helpers/DeviceHelper.js +2 -2
  198. package/es6/FrontApplet/Management/helpers/DeviceHelper.js.map +1 -1
  199. package/es6/FrontApplet/Management/helpers/SecurityHelper.js +8 -6
  200. package/es6/FrontApplet/Management/helpers/SecurityHelper.js.map +1 -1
  201. package/es6/FrontApplet/Management/helpers/TimerHelper.js +2 -2
  202. package/es6/FrontApplet/Management/helpers/TimerHelper.js.map +1 -1
  203. package/es6/FrontApplet/Management/helpers/UpgradeHelper.js +35 -3
  204. package/es6/FrontApplet/Management/helpers/UpgradeHelper.js.map +1 -1
  205. package/es6/FrontApplet/Management/helpers/VideoHelper.js +1 -1
  206. package/es6/FrontApplet/Management/helpers/VideoHelper.js.map +1 -1
  207. package/es6/FrontApplet/Monitors/Monitors.d.ts +9 -0
  208. package/es6/FrontApplet/Monitors/Monitors.js +16 -16
  209. package/es6/FrontApplet/Monitors/Monitors.js.map +1 -1
  210. package/es6/FrontApplet/NativeCommands/MDC/CodesMDC.js +1 -1
  211. package/es6/FrontApplet/NativeCommands/MDC/CodesMDC.js.map +1 -1
  212. package/es6/FrontApplet/NativeCommands/MDC/Mdc.d.ts +51 -2
  213. package/es6/FrontApplet/NativeCommands/MDC/Mdc.js +79 -38
  214. package/es6/FrontApplet/NativeCommands/MDC/Mdc.js.map +1 -1
  215. package/es6/FrontApplet/NativeCommands/NativeCommands.d.ts +4 -0
  216. package/es6/FrontApplet/NativeCommands/NativeCommands.js +12 -2
  217. package/es6/FrontApplet/NativeCommands/NativeCommands.js.map +1 -1
  218. package/es6/FrontApplet/OSD/OSD.d.ts +9 -0
  219. package/es6/FrontApplet/OSD/OSD.js +15 -15
  220. package/es6/FrontApplet/OSD/OSD.js.map +1 -1
  221. package/es6/FrontApplet/Offline/Cache/Cache.d.ts +91 -2
  222. package/es6/FrontApplet/Offline/Cache/Cache.js +192 -130
  223. package/es6/FrontApplet/Offline/Cache/Cache.js.map +1 -1
  224. package/es6/FrontApplet/Offline/Flags/AppendFlagController.d.ts +1 -1
  225. package/es6/FrontApplet/Offline/Flags/AppendFlagController.js +17 -25
  226. package/es6/FrontApplet/Offline/Flags/AppendFlagController.js.map +1 -1
  227. package/es6/FrontApplet/Offline/Flags/IFlags.d.ts +4 -4
  228. package/es6/FrontApplet/Offline/IAddFont.d.ts +3 -1
  229. package/es6/FrontApplet/Offline/IAddFont.js.map +1 -1
  230. package/es6/FrontApplet/Offline/ISaveFile.js +5 -2
  231. package/es6/FrontApplet/Offline/ISaveFile.js.map +1 -1
  232. package/es6/FrontApplet/Offline/LoadFile/CssLoadFileController.js +2 -1
  233. package/es6/FrontApplet/Offline/LoadFile/CssLoadFileController.js.map +1 -1
  234. package/es6/FrontApplet/Offline/LoadFile/JavascriptLoadFileController.js +2 -1
  235. package/es6/FrontApplet/Offline/LoadFile/JavascriptLoadFileController.js.map +1 -1
  236. package/es6/FrontApplet/Offline/Offline.d.ts +75 -4
  237. package/es6/FrontApplet/Offline/Offline.js +116 -56
  238. package/es6/FrontApplet/Offline/Offline.js.map +1 -1
  239. package/es6/FrontApplet/ProofOfPlay/ProofOfPlay.d.ts +19 -1
  240. package/es6/FrontApplet/ProofOfPlay/ProofOfPlay.js +41 -29
  241. package/es6/FrontApplet/ProofOfPlay/ProofOfPlay.js.map +1 -1
  242. package/es6/FrontApplet/Sensors/Proximity.d.ts +4 -3
  243. package/es6/FrontApplet/Sensors/Proximity.js +12 -4
  244. package/es6/FrontApplet/Sensors/Proximity.js.map +1 -1
  245. package/es6/FrontApplet/Sensors/Sensors.d.ts +2 -0
  246. package/es6/FrontApplet/Sensors/Sensors.js +9 -2
  247. package/es6/FrontApplet/Sensors/Sensors.js.map +1 -1
  248. package/es6/FrontApplet/Stream/IStream.d.ts +10 -10
  249. package/es6/FrontApplet/Stream/Stream.d.ts +130 -15
  250. package/es6/FrontApplet/Stream/Stream.js +229 -130
  251. package/es6/FrontApplet/Stream/Stream.js.map +1 -1
  252. package/es6/FrontApplet/Stream/StreamProtocol.js.map +1 -1
  253. package/es6/FrontApplet/Sync/Sync.d.ts +152 -6
  254. package/es6/FrontApplet/Sync/Sync.js +196 -112
  255. package/es6/FrontApplet/Sync/Sync.js.map +1 -1
  256. package/es6/FrontApplet/Sync/syncEvents.d.ts +3 -1
  257. package/es6/FrontApplet/Sync/syncMessages.js +1 -1
  258. package/es6/FrontApplet/Sync/syncMessages.js.map +1 -1
  259. package/es6/FrontApplet/Timing/Timing.d.ts +1 -0
  260. package/es6/FrontApplet/Timing/Timing.js +9 -2
  261. package/es6/FrontApplet/Timing/Timing.js.map +1 -1
  262. package/es6/FrontApplet/Timing/Triggers/ITimingTriggersMessage.d.ts +1 -1
  263. package/es6/FrontApplet/Timing/Triggers/Triggers.d.ts +9 -0
  264. package/es6/FrontApplet/Timing/Triggers/Triggers.js +16 -18
  265. package/es6/FrontApplet/Timing/Triggers/Triggers.js.map +1 -1
  266. package/es6/FrontApplet/Touch/Touch.d.ts +3 -0
  267. package/es6/FrontApplet/Touch/Touch.js +13 -3
  268. package/es6/FrontApplet/Touch/Touch.js.map +1 -1
  269. package/es6/FrontApplet/Validate/Validate.js +14 -11
  270. package/es6/FrontApplet/Validate/Validate.js.map +1 -1
  271. package/es6/FrontApplet/Validate/ValidateObjectInterface.js +7 -2
  272. package/es6/FrontApplet/Validate/ValidateObjectInterface.js.map +1 -1
  273. package/es6/FrontApplet/Video/IOptions.d.ts +8 -1
  274. package/es6/FrontApplet/Video/IVideo.d.ts +8 -8
  275. package/es6/FrontApplet/Video/IVideoEvent.js +3 -3
  276. package/es6/FrontApplet/Video/IVideoEvent.js.map +1 -1
  277. package/es6/FrontApplet/Video/Video.d.ts +84 -12
  278. package/es6/FrontApplet/Video/Video.js +161 -102
  279. package/es6/FrontApplet/Video/Video.js.map +1 -1
  280. package/es6/FrontApplet/createFrontApplet.js +5 -2
  281. package/es6/FrontApplet/createFrontApplet.js.map +1 -1
  282. package/es6/Monitoring/Display/handleDisplayRequests.d.ts +2 -2
  283. package/es6/Monitoring/Display/handleDisplayRequests.js +5 -15
  284. package/es6/Monitoring/Display/handleDisplayRequests.js.map +1 -1
  285. package/es6/Monitoring/FileSystem/fileSystemCommands.d.ts +10 -1
  286. package/es6/Monitoring/FileSystem/fileSystemCommands.js +3 -1
  287. package/es6/Monitoring/FileSystem/fileSystemCommands.js.map +1 -1
  288. package/es6/Monitoring/FileSystem/handleFileSystemRequests.d.ts +2 -2
  289. package/es6/Monitoring/FileSystem/handleFileSystemRequests.js +41 -45
  290. package/es6/Monitoring/FileSystem/handleFileSystemRequests.js.map +1 -1
  291. package/es6/Monitoring/Html/handleHtmlSnapshotTakingRequests.d.ts +2 -2
  292. package/es6/Monitoring/Html/handleHtmlSnapshotTakingRequests.js +4 -14
  293. package/es6/Monitoring/Html/handleHtmlSnapshotTakingRequests.js.map +1 -1
  294. package/es6/Monitoring/Management/App/handleApplicationRequests.d.ts +2 -2
  295. package/es6/Monitoring/Management/App/handleApplicationRequests.js +9 -19
  296. package/es6/Monitoring/Management/App/handleApplicationRequests.js.map +1 -1
  297. package/es6/Monitoring/Management/Audio/handleAudioRequests.d.ts +2 -2
  298. package/es6/Monitoring/Management/Audio/handleAudioRequests.js +7 -17
  299. package/es6/Monitoring/Management/Audio/handleAudioRequests.js.map +1 -1
  300. package/es6/Monitoring/Management/AutoRecovery/handleAutoRecoveryRequests.d.ts +2 -2
  301. package/es6/Monitoring/Management/AutoRecovery/handleAutoRecoveryRequests.js +7 -17
  302. package/es6/Monitoring/Management/AutoRecovery/handleAutoRecoveryRequests.js.map +1 -1
  303. package/es6/Monitoring/Management/Debug/handleDebugRequests.d.ts +2 -2
  304. package/es6/Monitoring/Management/Debug/handleDebugRequests.js +9 -19
  305. package/es6/Monitoring/Management/Debug/handleDebugRequests.js.map +1 -1
  306. package/es6/Monitoring/Management/Network/handleManagementNetworkRequests.d.ts +2 -2
  307. package/es6/Monitoring/Management/Network/handleManagementNetworkRequests.js +11 -21
  308. package/es6/Monitoring/Management/Network/handleManagementNetworkRequests.js.map +1 -1
  309. package/es6/Monitoring/Management/Os/managementOsRequests.d.ts +2 -2
  310. package/es6/Monitoring/Management/Os/managementOsRequests.js +9 -19
  311. package/es6/Monitoring/Management/Os/managementOsRequests.js.map +1 -1
  312. package/es6/Monitoring/Management/PeerRecovery/handlePeerRecoveryRequests.d.ts +2 -2
  313. package/es6/Monitoring/Management/PeerRecovery/handlePeerRecoveryRequests.js +7 -17
  314. package/es6/Monitoring/Management/PeerRecovery/handlePeerRecoveryRequests.js.map +1 -1
  315. package/es6/Monitoring/Management/Power/handlePowerRequests.d.ts +2 -2
  316. package/es6/Monitoring/Management/Power/handlePowerRequests.js +19 -29
  317. package/es6/Monitoring/Management/Power/handlePowerRequests.js.map +1 -1
  318. package/es6/Monitoring/Management/RemoteControl/handleRemoteControlRequests.d.ts +2 -2
  319. package/es6/Monitoring/Management/RemoteControl/handleRemoteControlRequests.js +15 -25
  320. package/es6/Monitoring/Management/RemoteControl/handleRemoteControlRequests.js.map +1 -1
  321. package/es6/Monitoring/Management/Screen/handleScreenRequests.d.ts +2 -2
  322. package/es6/Monitoring/Management/Screen/handleScreenRequests.js +19 -29
  323. package/es6/Monitoring/Management/Screen/handleScreenRequests.js.map +1 -1
  324. package/es6/Monitoring/Management/Security/handleSecurityCommands.d.ts +2 -2
  325. package/es6/Monitoring/Management/Security/handleSecurityCommands.js +9 -19
  326. package/es6/Monitoring/Management/Security/handleSecurityCommands.js.map +1 -1
  327. package/es6/Monitoring/Management/Time/handleTimeCommands.d.ts +2 -2
  328. package/es6/Monitoring/Management/Time/handleTimeCommands.js +9 -19
  329. package/es6/Monitoring/Management/Time/handleTimeCommands.js.map +1 -1
  330. package/es6/Monitoring/Management/handleManagementRequests.d.ts +2 -2
  331. package/es6/Monitoring/Management/handleManagementRequests.js +23 -33
  332. package/es6/Monitoring/Management/handleManagementRequests.js.map +1 -1
  333. package/es6/Monitoring/{Montoring.d.ts → Monitoring.d.ts} +1 -0
  334. package/es6/Monitoring/{Montoring.js → Monitoring.js} +12 -23
  335. package/es6/Monitoring/Monitoring.js.map +1 -0
  336. package/es6/Monitoring/NativeCommands/handleNativeCommands.d.ts +2 -2
  337. package/es6/Monitoring/NativeCommands/handleNativeCommands.js +5 -15
  338. package/es6/Monitoring/NativeCommands/handleNativeCommands.js.map +1 -1
  339. package/es6/Monitoring/OSD/handleOsdRequests.d.ts +2 -2
  340. package/es6/Monitoring/OSD/handleOsdRequests.js +5 -15
  341. package/es6/Monitoring/OSD/handleOsdRequests.js.map +1 -1
  342. package/es6/Monitoring/Offline/Cache/handleOfflineCacheRequests.d.ts +2 -2
  343. package/es6/Monitoring/Offline/Cache/handleOfflineCacheRequests.js +23 -33
  344. package/es6/Monitoring/Offline/Cache/handleOfflineCacheRequests.js.map +1 -1
  345. package/es6/Monitoring/Video/handleVideoRequests.d.ts +2 -2
  346. package/es6/Monitoring/Video/handleVideoRequests.js +36 -9
  347. package/es6/Monitoring/Video/handleVideoRequests.js.map +1 -1
  348. package/es6/Monitoring/handleMonitoringRequests.d.ts +2 -2
  349. package/es6/Monitoring/handleMonitoringRequests.js +6 -16
  350. package/es6/Monitoring/handleMonitoringRequests.js.map +1 -1
  351. package/es6/Sensors/IButton.js +1 -1
  352. package/es6/Sensors/IButton.js.map +1 -1
  353. package/es6/Sensors/IRfidAntenna.js +1 -1
  354. package/es6/Sensors/IRfidAntenna.js.map +1 -1
  355. package/es6/Util/Console/enhancer.js +1 -2
  356. package/es6/Util/Console/enhancer.js.map +1 -1
  357. package/es6/bundle.d.ts +1 -1
  358. package/es6/bundle.js +6 -3
  359. package/es6/bundle.js.map +1 -1
  360. package/es6/fpath.js +34 -1
  361. package/es6/fpath.js.map +1 -1
  362. package/es6/utils/types.d.ts +1 -0
  363. package/es6/{FrontApplet/Input/IKeyUpEventListener.js → utils/types.js} +1 -1
  364. package/es6/utils/types.js.map +1 -0
  365. package/package.json +27 -25
  366. package/CHANGELOG.md +0 -484
  367. package/docs/applet-basics.md +0 -272
  368. package/docs/content/js-applet-resources.md +0 -154
  369. package/docs/content/js-browser.md +0 -163
  370. package/docs/content/js-command.md +0 -154
  371. package/docs/content/js-debug.md +0 -36
  372. package/docs/content/js-device-info.md +0 -56
  373. package/docs/content/js-display.md +0 -56
  374. package/docs/content/js-file-system.md +0 -670
  375. package/docs/content/js-fonts.md +0 -115
  376. package/docs/content/js-hardware.md +0 -55
  377. package/docs/content/js-iframes.md +0 -66
  378. package/docs/content/js-input.md +0 -71
  379. package/docs/content/js-offline-cache-media-files.md +0 -257
  380. package/docs/content/js-offline-cache-simple-data.md +0 -129
  381. package/docs/content/js-osd.md +0 -32
  382. package/docs/content/js-proof-of-play.md +0 -60
  383. package/docs/content/js-sensors.md +0 -70
  384. package/docs/content/js-serial.md +0 -165
  385. package/docs/content/js-sync-playback.md +0 -384
  386. package/docs/content/js-video-inputs-internal-ports.md +0 -131
  387. package/docs/content/js-video-stream.md +0 -618
  388. package/docs/content/js-video.md +0 -232
  389. package/docs/management/js-management-application.md +0 -107
  390. package/docs/management/js-management-audio.md +0 -44
  391. package/docs/management/js-management-debug.md +0 -40
  392. package/docs/management/js-management-firmware.md +0 -93
  393. package/docs/management/js-management-management.md +0 -178
  394. package/docs/management/js-management-monitoring-commands.md +0 -107
  395. package/docs/management/js-management-monitors.md +0 -55
  396. package/docs/management/js-management-native-commands-mdc.md +0 -90
  397. package/docs/management/js-management-network.md +0 -223
  398. package/docs/management/js-management-os.md +0 -62
  399. package/docs/management/js-management-package.md +0 -48
  400. package/docs/management/js-management-power.md +0 -175
  401. package/docs/management/js-management-proxy.md +0 -81
  402. package/docs/management/js-management-remote-control.md +0 -58
  403. package/docs/management/js-management-screen.md +0 -225
  404. package/docs/management/js-management-security.md +0 -71
  405. package/docs/management/js-management-time.md +0 -161
  406. package/docs/management/js-management-wifi.md +0 -341
  407. package/es6/FrontApplet/Command/ICommandEventListener.d.ts +0 -6
  408. package/es6/FrontApplet/Command/ICommandEventListener.js +0 -3
  409. package/es6/FrontApplet/Command/ICommandEventListener.js.map +0 -1
  410. package/es6/FrontApplet/Input/IKeyUpEventListener.d.ts +0 -5
  411. package/es6/FrontApplet/Input/IKeyUpEventListener.js.map +0 -1
  412. package/es6/FrontApplet/Management/Firmware/FirmwareType.d.ts +0 -4
  413. package/es6/FrontApplet/Management/Firmware/FirmwareType.js +0 -9
  414. package/es6/FrontApplet/Management/Firmware/FirmwareType.js.map +0 -1
  415. package/es6/FrontApplet/Stream/streamListeners.d.ts +0 -10
  416. package/es6/FrontApplet/Stream/streamListeners.js.map +0 -1
  417. package/es6/FrontApplet/Video/IVideoEventListener.d.ts +0 -5
  418. package/es6/FrontApplet/Video/IVideoEventListener.js +0 -3
  419. package/es6/FrontApplet/Video/IVideoEventListener.js.map +0 -1
  420. package/es6/Monitoring/Montoring.js.map +0 -1
@@ -1,618 +0,0 @@
1
- ---
2
- title: Video Streams
3
- author: Miroslav Behina
4
- date: 22.11.2018
5
- type: js-api
6
- tags:
7
- - applet
8
- - applet_api
9
- - api
10
- - js_api
11
- description: '[Content JS API] Methods to play or stop video streams.'
12
- ---
13
-
14
- # Video streams
15
-
16
- Methods to play or stop video streams.
17
-
18
- ## All methods
19
-
20
- | Methods | Description | Supported since |
21
- | ------------------- | ---------------------------------------------------------------- | --------------- |
22
- | `prepare()` | Prepare video stream in the background | 4.7.0 |
23
- | `play()` | Start playing video stream | 1.0.18 |
24
- | `stop()` | Stop video stream | 1.0.18 |
25
- | `pause()` | Pause video stream | 6.4.0 |
26
- | `resume()` | Resume video stream | 6.4.0 |
27
- | `getTracks()` | Get all tracks of the stream | 6.1.0 |
28
- | `selectTrack()` | Select track of the stream | 6.1.0 |
29
- | `resetTrack()` | Reset track of the stream | 6.1.0 |
30
- | `onConnected()` | Calls a listener callback when stream connects | 1.0.20 |
31
- | `onDisconnected()` | Calls a listener callback when stream disconnects | 1.0.20 |
32
- | `onError()` | Calls a listener callback when an unexpected stream error occurs | 1.0.20 |
33
- | `onPlay()` | Calls a listener callback when stream starts playing | 5.12.0 |
34
- | `onStop()` | Calls a listener callback when stream stops | 5.12.0 |
35
- | `onPrepare()` | Calls a listener callback when stream prepares | 5.12.0 |
36
- | `onTracksChanged()` | Calls a listener callback when stream tracks change | 6.1.0 |
37
-
38
- :::warning
39
-
40
- Are you using **Samsung Tizen** to play streams?
41
- [Read more about limitation and Tizen-specific details](https://docs.signageos.io/hc/en-us/articles/4405387373458).
42
-
43
- :::
44
-
45
- :::danger
46
-
47
- Be aware version of JS API (v6.0.0+) changed how stream functions `play()` and `prepare()` work. For using an options object you need to our
48
- latest core app versions. If you are using older core app versions, you need to use deprecated format.
49
-
50
- :::
51
-
52
- ## prepare()
53
-
54
- Calls the internal player and prepares a video stream in memory, so it can later start playing instantaneously.
55
-
56
- :::info
57
-
58
- If you want to play a video stream in full screen mode, use x = y = 0 and width = document.documentElement.clientWidth and height =
59
- document.documentElement.clientHeight as setup parameters.
60
-
61
- :::
62
-
63
- ### Parameters
64
-
65
- | Param | Type | Required | Description |
66
- | --------- | ------ | :------------------------: | --------------------------------------------- |
67
- | `uri` | String | <div class="red">Yes</div> | Network address where the stream is available |
68
- | `x` | Number | <div class="red">Yes</div> | Stream x-position on the screen |
69
- | `y` | Number | <div class="red">Yes</div> | Stream y-position on the screen |
70
- | `width` | Number | <div class="red">Yes</div> | Stream width on the screen |
71
- | `height` | Number | <div class="red">Yes</div> | Stream height on the screen |
72
- | `options` | Object | <div class="red">Yes</div> | Additional options for the stream |
73
-
74
- ### Options object
75
-
76
- | Key | Type | Required | Description |
77
- | ---------------- | ------- | :--------------------------: | --------------------------------------------------- |
78
- | `protocol` | String | <div class="red">Yes</div> | Protocol that the stream is using |
79
- | ^^ | ^^ | ^^ | Types: `HLS`, `RTP`, `HTTP`, `UDP`, `RTMP`, `RTSP`. |
80
- | `background` | Boolean | <div class="yellow">No</div> | Prepare stream in the background |
81
- | `trackSelection` | Object | <div class="yellow">No</div> | Track selection options |
82
- | `drm` | Object | <div class="yellow">No</div> | DRM options |
83
-
84
- ### Track selection object
85
-
86
- | Key | Type | Required | Description |
87
- | ------------------------- | ---------------- | :--------------------------: | ------------------------------------------- |
88
- | `maxAudioChannelCount` | Number | <div class="yellow">No</div> | Maximum number of audio channels to play |
89
- | `minVideoSize` | Object | <div class="yellow">No</div> | Minimum video size to play |
90
- | ^^ | ^^ | ^^ | Object with `width` and `height` properties |
91
- | `maxVideoSize` | Object | <div class="yellow">No</div> | Maximum video size to play |
92
- | ^^ | ^^ | ^^ | Object with `width` and `height` properties |
93
- | `preferredAudioLanguages` | Array of strings | <div class="yellow">No</div> | Preferred audio languages to play |
94
- | `preferredTextLanguages` | Array of strings | <div class="yellow">No</div> | Preferred text languages to play |
95
-
96
- ### DRM object
97
-
98
- | Key | Type | Required | Description |
99
- | ----------------------- | ------ | :--------------------------: | --------------------------------------------------------------------- |
100
- | `scheme` | String | <div class="red">Yes</div> | DRM scheme |
101
- | ^^ | ^^ | ^^ | Types: `CommonPSSH`, `ClearKey`, `Widevine`, `PlayReady` or own value |
102
- | `licenseUri` | String | <div class="red">Yes</div> | DRM license URI |
103
- | `licenseRequestHeaders` | Object | <div class="yellow">No</div> | DRM license request headers |
104
-
105
- ### Javascript syntax
106
-
107
- ```javascript
108
- // Example with specific protocol type
109
- await sos.stream.prepare(uri, x, y, width, height, { protocol: 'HTTP' });
110
-
111
- // Example with options - prepare stream in the background
112
- await sos.stream.prepare(uri, x, y, width, height, { protocol: 'HTTP', background: true });
113
-
114
- // Deprecated format
115
- await sos.stream.prepare(uri, x, y, width, height, 'HTTP');
116
- ```
117
-
118
- :::note[GitHub Example]
119
-
120
- [Stream video Applet example](https://github.com/signageos/applet-examples/blob/master/examples/content-js-api/stream)
121
-
122
- :::
123
-
124
- ## play()
125
-
126
- Calls the internal player and starts a video stream in correct position.
127
-
128
- :::info
129
-
130
- If you want to play a video stream in full screen mode, use x = y = 0 and width = document.documentElement.clientWidth and height =
131
- document.documentElement.clientHeight as setup parameters.
132
-
133
- :::
134
-
135
- ### Parameters
136
-
137
- | Param | Type | Required | Description |
138
- | --------- | ------ | :------------------------: | --------------------------------------------- |
139
- | `uri` | String | <div class="red">Yes</div> | Network address where the stream is available |
140
- | `x` | Number | <div class="red">Yes</div> | Stream x-position on the screen |
141
- | `y` | Number | <div class="red">Yes</div> | Stream y-position on the screen |
142
- | `width` | Number | <div class="red">Yes</div> | Stream width on the screen |
143
- | `height` | Number | <div class="red">Yes</div> | Stream height on the screen |
144
- | `options` | Object | <div class="red">Yes</div> | Additional options for the stream |
145
-
146
- ### Options object
147
-
148
- | Key | Type | Required | Description |
149
- | ----------------------- | ------- | :--------------------------: | --------------------------------------------------- |
150
- | `protocol` | String | <div class="red">Yes</div> | Protocol that the stream is using |
151
- | ^^ | ^^ | ^^ | Types: `HLS`, `RTP`, `HTTP`, `UDP`, `RTMP`, `RTSP`. |
152
- | `autoReconnect` | Boolean | <div class="yellow">No</div> | Automatically reconnect stream when it disconnects |
153
- | ^^ | ^^ | ^^ | Default value: false |
154
- | `autoReconnectInterval` | Number | <div class="yellow">No</div> | Interval in miliseconds between reconnect attempts |
155
- | ^^ | ^^ | ^^ | Default value: 30000 ms |
156
- | `volume` | Number | <div class="yellow">No</div> | Volume of the stream |
157
-
158
- ### Javascript syntax
159
-
160
- ```javascript
161
- // Example with specific protocol type
162
- await sos.stream.play(uri, x, y, width, height, { protocol: 'HTTP' });
163
-
164
- // Example with other options - enable auto reconnect
165
- await sos.stream.play(uri, x, y, width, height, { protocol: 'HTTP', autoReconnect: true });
166
-
167
- // Example with other options - reconnect every 10 seconds
168
- await sos.stream.play(uri, x, y, width, height, { protocol: 'HTTP', autoReconnect: true, autoReconnectInterval: 10000 });
169
-
170
- // Deprecated format
171
- await sos.stream.play(uri, x, y, width, height, 'HTTP');
172
- ```
173
-
174
- :::note[GitHub Example]
175
-
176
- [Stream video Applet example](https://github.com/signageos/applet-examples/blob/master/examples/content-js-api/stream)
177
-
178
- :::
179
-
180
- ## stop()
181
-
182
- Stops the video stream playback.
183
-
184
- ### Javascript syntax
185
-
186
- ```javascript
187
- await sos.stream.stop(uri, x, y, width, height);
188
- ```
189
-
190
- ### Parameters:
191
-
192
- | Param | Type | Required | Description |
193
- | -------- | ------ | :------------------------: | --------------------------------------------- |
194
- | `uri` | String | <div class="red">Yes</div> | Network address where the stream is available |
195
- | `x` | Number | <div class="red">Yes</div> | Stream x-position on the screen |
196
- | `y` | Number | <div class="red">Yes</div> | Stream y-position on the screen |
197
- | `width` | Number | <div class="red">Yes</div> | Stream width on the screen |
198
- | `height` | Number | <div class="red">Yes</div> | Stream height on the screen |
199
-
200
- ## pause()
201
-
202
- Pauses the video stream playback.
203
-
204
- ### Javascript syntax
205
-
206
- ```javascript
207
- await sos.stream.pause(uri, x, y, width, height);
208
- ```
209
-
210
- ### Parameters:
211
-
212
- | Param | Type | Required | Description |
213
- | -------- | ------ | :------------------------: | --------------------------------------------- |
214
- | `uri` | String | <div class="red">Yes</div> | Network address where the stream is available |
215
- | `x` | Number | <div class="red">Yes</div> | Stream x-position on the screen |
216
- | `y` | Number | <div class="red">Yes</div> | Stream y-position on the screen |
217
- | `width` | Number | <div class="red">Yes</div> | Stream width on the screen |
218
- | `height` | Number | <div class="red">Yes</div> | Stream height on the screen |
219
-
220
- ## resume()
221
-
222
- Resumes the video stream playback.
223
-
224
- ### Javascript syntax
225
-
226
- ```javascript
227
- await sos.stream.resume(uri, x, y, width, height);
228
- ```
229
-
230
- ### Parameters:
231
-
232
- | Param | Type | Required | Description |
233
- | -------- | ------ | :------------------------: | --------------------------------------------- |
234
- | `uri` | String | <div class="red">Yes</div> | Network address where the stream is available |
235
- | `x` | Number | <div class="red">Yes</div> | Stream x-position on the screen |
236
- | `y` | Number | <div class="red">Yes</div> | Stream y-position on the screen |
237
- | `width` | Number | <div class="red">Yes</div> | Stream width on the screen |
238
- | `height` | Number | <div class="red">Yes</div> | Stream height on the screen |
239
-
240
- ## getTracks()
241
-
242
- Get all tracks of the selected stream.
243
-
244
- ### Javascript syntax
245
-
246
- ```javascript
247
- const videoId = {
248
- uri: 'http://example.com/stream.m3u8',
249
- x: 0,
250
- y: 0,
251
- width: 1920,
252
- height: 1080,
253
- };
254
-
255
- const tracks = await sos.stream.getTracks(videoId); // Promise<ITrackInfo[]>
256
- ```
257
-
258
- ### Parameters:
259
-
260
- | Param | Type | Required | Description |
261
- | --------- | ------ | :------------------------: | ---------------------------------- |
262
- | `videoId` | Object | <div class="red">Yes</div> | Video ID object of selected stream |
263
-
264
- ### Example of returned value
265
-
266
- ```javascript
267
- [
268
- {
269
- trackType: 'VIDEO', // string - AUDIO, VIDEO, TEXT
270
- mimeType: 'video/mp4', // string
271
- videoSize: {
272
- // object
273
- width: 1920, // number
274
- height: 1080, // number
275
- },
276
- groupId: '1', // string
277
- trackIndex: 1, // number
278
- selected: true, // boolean
279
- language: 'en', // string
280
- supported: true, // boolean
281
- },
282
- ];
283
- ```
284
-
285
- ## selectTrack()
286
-
287
- Select track of the selected stream.
288
-
289
- ### Javascript syntax
290
-
291
- ```javascript
292
- await sos.stream.selectTrack(videoId, trackType, groupId, trackIndex); // Promise<void>
293
- ```
294
-
295
- ### Parameters:
296
-
297
- | Param | Type | Required | Description |
298
- | ------------ | ------ | :------------------------: | ------------------------------------- |
299
- | `videoId` | Object | <div class="red">Yes</div> | Video ID object of selected stream |
300
- | `trackType` | String | <div class="red">Yes</div> | Track type - `AUDIO`, `VIDEO`, `TEXT` |
301
- | `groupId` | String | <div class="red">Yes</div> | Group ID of selected track |
302
- | `trackIndex` | Number | <div class="red">Yes</div> | Index of selected track |
303
-
304
- ## resetTrack()
305
-
306
- Reset track of the selected stream.
307
-
308
- ### Javascript syntax
309
-
310
- ```javascript
311
- await sos.stream.resetTrack(videoId, trackType); // Promise<void>
312
- await sos.stream.resetTrack(videoId, trackType, groupId); // Promise<void>
313
- ```
314
-
315
- ### Parameters:
316
-
317
- | Param | Type | Required | Description |
318
- | ----------- | ------ | :--------------------------: | ------------------------------------- |
319
- | `videoId` | Object | <div class="red">Yes</div> | Video ID object of selected stream |
320
- | `trackType` | String | <div class="red">Yes</div> | Track type - `AUDIO`, `VIDEO`, `TEXT` |
321
- | `groupId` | String | <div class="yellow">No</div> | Group ID of selected track |
322
-
323
- ## Event onConnected()
324
-
325
- Calls a listener callback everytime `connected` event is emitted.
326
-
327
- ### Javascript syntax
328
-
329
- ```javascript
330
- sos.stream.onConnected((event) => {
331
- // do something
332
- });
333
- ```
334
-
335
- ## Event onDisconnected()
336
-
337
- Calls a listener callback everytime `disconnected` event is emitted.
338
-
339
- ### Javascript syntax
340
-
341
- ```javascript
342
- sos.stream.onDisconnected((event) => {
343
- // do something
344
- });
345
- ```
346
-
347
- ## Event onError()
348
-
349
- Calls a listener callback everytime `error` event is emitted.
350
-
351
- ### Javascript syntax
352
-
353
- ```javascript
354
- sos.stream.onError((event) => {
355
- // do something
356
- });
357
- ```
358
-
359
- ## Event onPlay()
360
-
361
- Calls a listener callback everytime `play` event is emitted.
362
-
363
- ### Javascript syntax
364
-
365
- ```javascript
366
- sos.stream.onPlay((event) => {
367
- // do something
368
- });
369
- ```
370
-
371
- ## Event onStop()
372
-
373
- Calls a listener callback everytime `stop` event is emitted.
374
-
375
- ### Javascript syntax
376
-
377
- ```javascript
378
- sos.stream.onStop((event) => {
379
- // do something
380
- });
381
- ```
382
-
383
- ## Event onPrepare()
384
-
385
- Calls a listener callback everytime `prepare` event is emitted.
386
-
387
- ### Javascript syntax
388
-
389
- ```javascript
390
- sos.stream.onPrepare((event) => {
391
- // do something
392
- });
393
- ```
394
-
395
- ## Event onTracksChanged()
396
-
397
- Calls a listener callback everytime `tracks_changed` event is emitted.
398
-
399
- ### Javascript syntax
400
-
401
- ```javascript
402
- sos.stream.onTracksChanged((event) => {
403
- // do something
404
- });
405
- ```
406
-
407
- ## Stream events
408
-
409
- All stream events have the same format.
410
-
411
- `type` property contains string with the event type. Type can be `connected`, `disconnected`, `error` or `tracks_changed`.
412
-
413
- `srcArguments` property contains parameters of the source stream, that emitted the event. That way, if multiple streams are playing at once,
414
- you can associate the events with each stream instance.
415
-
416
- Example of **connected**, **disconnected** event:
417
-
418
- ```json
419
- {
420
- "type": "<type>",
421
- "srcArguments": {
422
- "uri": "<uri>",
423
- "x": 0,
424
- "y": 0,
425
- "width": 1920,
426
- "height": 1080,
427
- "protocol": "HTTP"
428
- }
429
- }
430
- ```
431
-
432
- Example of **tracks_changed** event:
433
-
434
- ```json
435
- {
436
- "type": "tracks_changed",
437
- "srcArguments": {
438
- "uri": "<uri>",
439
- "x": 0,
440
- "y": 0,
441
- "width": 1920,
442
- "height": 1080,
443
- "tracks": [] // Array of ITrackInfo
444
- }
445
- }
446
- ```
447
-
448
- Example of **error** event:
449
-
450
- ```json
451
- {
452
- "type": "error",
453
- "srcArguments": {
454
- "uri": "<uri>",
455
- "x": 0,
456
- "y": 0,
457
- "width": 1920,
458
- "height": 1080,
459
- "protocol": "HTTP"
460
- },
461
- "errorMessage": "Some error message"
462
- }
463
- ```
464
-
465
- ## Usage with Typescript
466
-
467
- You can also use all these methods with
468
- [signageOS TypeScript](https://docs.signageos.io/hc/en-us/articles/4405069154962#signageos-typescript).
469
-
470
- ```typescript
471
- type StreamProtocol = 'HLS' | 'RTP' | 'HTTP' | 'UDP' | 'RTMP' | 'RTSP';
472
- type DrmScheme = "CommonPSSH" | "ClearKey" | "Widevine" | "PlayReady" | string;
473
- interface StreamEvent {
474
- type: 'connected' | 'disconnected' | 'error' | 'stop' | 'prepare' | 'play',
475
- srcArguments: {
476
- uri: string;
477
- x: number;
478
- y: number;
479
- width: number;
480
- height: number;
481
- protocol?: StreamProtocol;
482
- },
483
- }
484
- interface IVideoProperties {
485
- uri: string;
486
- x: number;
487
- y: number;
488
- width: number;
489
- height: number;
490
- }
491
- type TrackType = 'AUDIO' | 'VIDEO' | 'TEXT';
492
- type ITrackInfo = IVideoTrack | IAudioTrack | ITextTrack;
493
- interface ITrack<T extends TrackType> {
494
- trackType: T;
495
- mimeType: string;
496
- groupId: string;
497
- trackIndex: number;
498
- selected: boolean;
499
- language: string | null;
500
- supported: boolean;
501
- }
502
- interface IVideoTrack extends ITrack<'VIDEO'> {
503
- videoSize: { width: number; height: number };
504
- }
505
- interface IAudioTrack extends ITrack<'AUDIO'> {
506
- channelCount: number;
507
- }
508
- interface ITextTrack extends ITrack<'TEXT'> {
509
- selection: 'default' | 'forced' | 'autoselect';
510
- }
511
- prepare(
512
- uri: string;
513
- x: number;
514
- y: number;
515
- width: number;
516
- height: number;
517
- options: {
518
- protocol: StreamProtocol;
519
- background?: boolean;
520
- autoReconnect?: boolean;
521
- autoReconnectInterval?: number;
522
- trackSelection?: {
523
- maxAudioChannelCount?: number;
524
- minVideoSize?: { width: number; height: number };
525
- maxVideoSize?: { width: number; height: number };
526
- preferredAudioLanguages?: string[];
527
- preferredTextLanguages?: string[];
528
- };
529
- drm?: {
530
- scheme: DrmScheme;
531
- licenseUri: string;
532
- licenseRequestHeaders: { [key: string]: string };
533
- };
534
- }
535
- ): Promise<void>;
536
- play(
537
- uri: string;
538
- x: number;
539
- y: number;
540
- width: number;
541
- height: number;
542
- options: {
543
- protocol: StreamProtocol;
544
- background?: boolean;
545
- autoReconnect?: boolean;
546
- autoReconnectInterval?: number;
547
- }
548
- ): Promise<void>;
549
- stop(
550
- uri: string,
551
- x: number,
552
- y: number,
553
- width: number,
554
- height: number
555
- ): Promise<void>;
556
- getTracks(videoId: IVideoProperties): Promise<ITrackInfo[]>;
557
- selectTrack(videoId: IVideoProperties, trackType: TrackType, groupId: string, trackIndex: number): Promise<void>;
558
- resetTrack(videoId: IVideoProperties, trackType: TrackType, groupId?: string): Promise<void>;
559
- onConnected(listener: (event: StreamEvent) => void): void;
560
- onDisconnected(listener: (event: StreamEvent) => void): void;
561
- onError(listener: (event: StreamErrorEvent) => void): void;
562
- onPlay(listener: (event: StreamEvent) => void): void;
563
- onStop(listener: (event: StreamEvent) => void): void;
564
- onPrepare(listener: (event: StreamEvent) => void): void;
565
- onTracksChanged(listener: (event: StreamTracksChangedEvent) => void): void;
566
- ```
567
-
568
- ## Errors
569
-
570
- Although we are doing our best, following errors may occur when working with the video stream.
571
-
572
- | Code | Type | Message |
573
- | ----- | ------------------- | ---------------------------------------------------- |
574
- | 41401 | AppletStreamError | Invalid stream protocol type: `protocol` |
575
- | 51301 | InternalStreamError | Couldn't stop the stream before playing the new one. |
576
- | 51301 | InternalStreamError | Couldn't stop the stream. |
577
- | 51302 | InternalStreamError | Couldn't prepare the stream. |
578
- | 51303 | InternalStreamError | Couldn't get stream tracks. |
579
- | 51304 | InternalStreamError | Couldn't select stream track. |
580
- | 51305 | InternalStreamError | Couldn't reset stream track. |
581
-
582
- ## Platform-specific notes
583
-
584
- ### BrightSign
585
-
586
- BrightSign allows the configuration of [buffering](https://support.brightsign.biz/hc/en-us/articles/218067097-Customizing-the-size-of-the-streaming-buffer), [latency and jitter](https://support.brightsign.biz/hc/en-us/articles/218067127-Modifying-the-latency-and-jitter-of-audio-video-streams) by adding additional query parameters to stream `uri`.
587
-
588
- #### Buffering
589
-
590
- You can modify the default buffer size by appending optional parameters to the end of a streaming URL in a BrightAuthor Video Stream or Audio Stream state (this method also applies to custom scripts). The URL parameters must be formatted as follows:
591
-
592
- ```
593
- <streaming_url>?buffersize=<number>&vcdbsize=<number>&acdbsize=<number>
594
- ```
595
-
596
- Example: `http://www.example.com/stream1?buffersize=10000000&vcdbsize=10000000&acdbsize=256000`
597
-
598
- Note that all buffer sizes are specified in bytes.
599
-
600
- buffersize: The size of the main buffer. Once streaming data comes into the main buffer, it is immediately split into the audio and video buffers. The default size of the main buffer is 1.5MB for HD models, 3MB for XD models, and 6MB for 4K models.
601
- vcdbsize: The size of the video-coded data buffer. The default size of this buffer is 3MB for HD models, 3MB for XD models, and 6MB for 4K models.
602
- acdbsize: The size of the audio-coded data buffer. The default size of this buffer is 256KB for all models.
603
-
604
- #### Latency and Jitter
605
-
606
- You can modify the amount of time it takes for audio/video streams to begin playback by formatting the stream URL as follows:
607
-
608
- ```
609
- <streaming_url>?latency=<value_in_ms>&jitter=<value_in_ms>
610
- ```
611
-
612
- Example: `http://www.example.com/stream1?latency=-450&jitter=50`
613
-
614
- ### Samsung
615
-
616
- UDP and RTP streams are only available if you use specific version of signageOS Tizen CoreApp.
617
-
618
- Details are documented in Docs: [[Tizen] Stream playback issues & limitation](https://docs.signageos.io/hc/en-us/articles/4405387373458--Tizen-Stream-playback-issues-limitation)