@signageos/front-applet 7.2.0 → 8.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (421) hide show
  1. 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 +19 -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/README.md +0 -5
  368. package/docs/applet-basics.md +0 -272
  369. package/docs/content/js-applet-resources.md +0 -154
  370. package/docs/content/js-browser.md +0 -163
  371. package/docs/content/js-command.md +0 -154
  372. package/docs/content/js-debug.md +0 -36
  373. package/docs/content/js-device-info.md +0 -56
  374. package/docs/content/js-display.md +0 -56
  375. package/docs/content/js-file-system.md +0 -670
  376. package/docs/content/js-fonts.md +0 -115
  377. package/docs/content/js-hardware.md +0 -55
  378. package/docs/content/js-iframes.md +0 -66
  379. package/docs/content/js-input.md +0 -71
  380. package/docs/content/js-offline-cache-media-files.md +0 -257
  381. package/docs/content/js-offline-cache-simple-data.md +0 -129
  382. package/docs/content/js-osd.md +0 -32
  383. package/docs/content/js-proof-of-play.md +0 -60
  384. package/docs/content/js-sensors.md +0 -70
  385. package/docs/content/js-serial.md +0 -165
  386. package/docs/content/js-sync-playback.md +0 -384
  387. package/docs/content/js-video-inputs-internal-ports.md +0 -131
  388. package/docs/content/js-video-stream.md +0 -618
  389. package/docs/content/js-video.md +0 -232
  390. package/docs/management/js-management-application.md +0 -107
  391. package/docs/management/js-management-audio.md +0 -44
  392. package/docs/management/js-management-debug.md +0 -40
  393. package/docs/management/js-management-firmware.md +0 -93
  394. package/docs/management/js-management-management.md +0 -178
  395. package/docs/management/js-management-monitoring-commands.md +0 -107
  396. package/docs/management/js-management-monitors.md +0 -55
  397. package/docs/management/js-management-native-commands-mdc.md +0 -90
  398. package/docs/management/js-management-network.md +0 -223
  399. package/docs/management/js-management-os.md +0 -62
  400. package/docs/management/js-management-package.md +0 -48
  401. package/docs/management/js-management-power.md +0 -175
  402. package/docs/management/js-management-proxy.md +0 -81
  403. package/docs/management/js-management-remote-control.md +0 -58
  404. package/docs/management/js-management-screen.md +0 -225
  405. package/docs/management/js-management-security.md +0 -71
  406. package/docs/management/js-management-time.md +0 -161
  407. package/docs/management/js-management-wifi.md +0 -341
  408. package/es6/FrontApplet/Command/ICommandEventListener.d.ts +0 -6
  409. package/es6/FrontApplet/Command/ICommandEventListener.js +0 -3
  410. package/es6/FrontApplet/Command/ICommandEventListener.js.map +0 -1
  411. package/es6/FrontApplet/Input/IKeyUpEventListener.d.ts +0 -5
  412. package/es6/FrontApplet/Input/IKeyUpEventListener.js.map +0 -1
  413. package/es6/FrontApplet/Management/Firmware/FirmwareType.d.ts +0 -4
  414. package/es6/FrontApplet/Management/Firmware/FirmwareType.js +0 -9
  415. package/es6/FrontApplet/Management/Firmware/FirmwareType.js.map +0 -1
  416. package/es6/FrontApplet/Stream/streamListeners.d.ts +0 -10
  417. package/es6/FrontApplet/Stream/streamListeners.js.map +0 -1
  418. package/es6/FrontApplet/Video/IVideoEventListener.d.ts +0 -5
  419. package/es6/FrontApplet/Video/IVideoEventListener.js +0 -3
  420. package/es6/FrontApplet/Video/IVideoEventListener.js.map +0 -1
  421. package/es6/Monitoring/Montoring.js.map +0 -1
@@ -1,384 +0,0 @@
1
- ---
2
- title: Synchronized playback
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] Sync API enables multiple devices to communicate and coordinate their behavior with each other. The communication is facilitated by the server. At any given moment, one of the devices is chosen by the server to be the master and all other devices become slaves."
12
- ---
13
-
14
- # Sync playback across multiple devices
15
-
16
- Sync API enables multiple devices to communicate and coordinate their behavior with each other. The communication is facilitated by the server. At any given moment, one of the devices is chosen by the server to be the master and all other devices become slaves.
17
-
18
- **Uses:**
19
- * **Play content** in sync on multiple devices
20
- * **Videowall** - gapless video playback still available
21
-
22
- ## All methods
23
-
24
- | Methods/Events | Description | Supported since |
25
- | ------------------ | ----------- | :---------------: |
26
- | `connect()` | Connect to the sync server. | 1.0.32 |
27
- | `close()` | Closes the connection to the sync server. | 1.0.32 |
28
- | `init()` | Join sync group (**DEPRECATED**) | 1.0.32 |
29
- | `joinGroup()` | Join sync group | 5.7.0 |
30
- | `wait()` | Wait for other devices in the network for proper sync | 1.0.32 |
31
- | `cancelWait()` | Cancel pending waits | 5.12.0 |
32
- | `setValue()` | Broadcast values for all master devices (**DEPRECATED**) | 2.0.0 |
33
- | `broadcastValue()` | Used for broadcast values for all master devices | 5.7.0 |
34
- | `isMaster()` | Determine if device is master of the sync group | 6.7.0 |
35
- | `onValue()` | Event called when device receives value broadcasted by another device in the network | 2.0.0 |
36
- | `onStatus()` | Peridocally emits event with information about sync group - connected devices and master status | 2.1.0 |
37
- | `onClosed()` | Event called when synchronizer is closed | 5.12.0 |
38
-
39
- :::note[GitHub Example]
40
- - [Synchronized video through applets](https://github.com/signageos/applet-examples/blob/master/examples/content-js-api/sync-video)
41
- - [Synchronization mixed content](https://github.com/signageos/applet-examples/blob/master/examples/content-js-api/sync-mixed-content)
42
- :::
43
-
44
- ## connect()
45
- Connect to the sync server. This initializes the connection and is mandatory to call, since synchronization is an optional feature and doesn’t get initialized by default to save resources and bandwidth. You can optionally specify a custom sync server URI in case you are running the sync server in a custom location.
46
-
47
- ### Parameters
48
-
49
- | Param | Type | Required | Description |
50
- | -------- | ------ | :--------------------------: | ----------------------------- |
51
- | `engine` | String | <div class="yellow">No</div> | Synchronization engine to use |
52
- | `uri` | String | <div class="yellow">No</div> | Address of sync server. Only relevant for `sync-server`. If omitted, the default server will be used.
53
-
54
- ### Engine
55
-
56
-
57
- | Engine | Description |
58
- | ------------- | ---------------------------------------------------------------------------------------- |
59
- | `sync-server` | (**Default**) Use external sync server. Device will connect to the server via websocket. |
60
- | `p2p-local` | Synchronize directly with other devices in the local network via UDP and TCP. |
61
- | `udp` | (**Deprecated - use p2p-local**) Synchronize directly with other devices in the local network via UDP.
62
-
63
- :::info
64
- All devices, that should be synchronized together, must select the same engine.
65
- Otherwise they won't be able to communicate with each other.
66
- :::
67
-
68
- ### Javascript example
69
- ```javascript
70
- // use default engine
71
- await sos.sync.connect().then(() => {
72
- // do other things once connected
73
- });
74
-
75
- // use sync-server engine and default server
76
- await sos.sync.connect({ engine: 'sync-server' }).then(() => {
77
- // do other things once connected
78
- });
79
-
80
- // use sync-server engine and custom server
81
- await sos.sync.connect({
82
- engine: 'sync-server',
83
- uri: syncServerUri,
84
- }).then(() => {
85
- // do other things once connected
86
- });
87
-
88
- // use sync-server engine and custom server
89
- await sos.sync.connect({
90
- engine: 'sync-server',
91
- uri: syncServerUri,
92
- }).then(() => {
93
- // do other things once connected
94
- });
95
-
96
- // use p2p-local engine
97
- await sos.sync.connect({ engine: 'p2p-local' }).then(() => {
98
- // do other things once connected
99
- });
100
-
101
- // call with syncServerUri as direct argument, now deprecated
102
- // this way it will automatically pick sync-server engine
103
- await sos.sync.connect(syncServerUri).then(() => {
104
- // do other things once connected
105
- });
106
- ```
107
-
108
- ## close()
109
- Closes the connection to the sync server. Recommended to call this method after the synchronization is not required any longer.
110
-
111
- ### Javascript example
112
- ```javascript
113
- await sos.sync.close().then(() => {
114
- // do other things once closed
115
- })
116
- ```
117
-
118
- ## init()
119
- :::warning
120
- This method is deprecated and will be removed in the future. Use `joinGroup()` instead. These two methods function identically.
121
- :::
122
-
123
- Once the user is connected to the server, the initialization of the sync group is required. Before any communication takes place, all participating devices have to be connected and recognize one another. Recommended to call this method early.
124
-
125
- ### Parameters
126
-
127
- | Param | Type | Required | Description |
128
- | -------------- | ------- | :-----: | ---------------------------- |
129
- | `groupName` | String | <div class="yellow">No</div> | By default, all devices will be synced together. To create Groups of devices, independent from each other, specify group name |
130
- | `deviceIdentification` | String | <div class="yellow">No</div> | Is identification of device connected to groupName.
131
-
132
- ### Javascript example
133
- ```javascript
134
- await sos.sync.init('someRandomNameGroup', 'device1');
135
- ```
136
-
137
- ## joinGroup()
138
- Once we're connected, we have to join a sync group. Before any communication takes place, all participating devices have to be connected and recognize one another. Recommended to call this method early.
139
-
140
- ### Parameters
141
-
142
- | Param | Type | Required | Description |
143
- | -------------- | ------- | :-----: | ---------------------------- |
144
- | `groupName` | String | <div class="yellow">No</div> | By default, all devices will be synced together. To create Groups of devices, independent from each other, specify group name |
145
- | `deviceIdentification` | String | <div class="yellow">No</div> | Is identification of device connected to groupName.
146
-
147
- ### Javascript example
148
- ```javascript
149
- await sos.sync.joinGroup({
150
- groupName: 'someRandomNameGroup',
151
- deviceIdentification: 'device1',
152
- });
153
- ```
154
-
155
- ## wait()
156
- One way to synchronize devices is to make them wait for each other at a certain moment. This would be most commonly used before the device hits “play” on a video, to make it wait for other devices so they all start playing the video at the same time.
157
-
158
- This method returns a promise that resolves once all the devices meet and are ready to continue together. Any action that results in visible synchronized behavior should be triggered immediately after and any related background preparations should be called before to prevent delays.
159
-
160
- Sometimes devices might go out of sync due to unpredictable conditions like loss of internet connection. To ensure re-sync of an out of sync device, you can pass some data as the first argument. This can be any data that informs the whole group about what content is about to play next. Once all devices are ready, data from the master device is passed to everyone and the rest of the data is ignored. Therefore, when implementing your applet you should rely on the result data and not the data that is passed to the wait method as an argument.
161
-
162
- ### Parameters
163
-
164
- | Param | Type | Required | Description |
165
- | -------------- | ------- | :-----: | ------- |
166
- | `data` | Any | <div class="yellow">No</div> | Information about what content is about to play so all the devices display the same content. |
167
- | `groupName` | String | <div class="yellow">No</div> | If `joinGroup` is called with custom group name, the same group name as the second argument has to be passed. |
168
- | `timeout` | Number | <div class="yellow">No</div> | Wait timeout on other devices
169
-
170
- ### Returns
171
- Promise that resolves to data picked from the first argument of the master device
172
-
173
- ## cancelWait()
174
- Sometimes it's necessary to cancel a pending wait.
175
- One such situation would be when the group has to make a sudden change in content or another behavior but
176
- there's a risk that part of the group already called `wait()` and is waiting for the rest but the rest will never call it at this point.
177
- In order to gracefully cleanup any pending activity, use this method.
178
-
179
- Any pending wait will be canceled and the promise will be rejected with an error.
180
-
181
- ### Parameters
182
-
183
- | Param | Type | Required | Description |
184
- | ----------- | ------- | :--------------------------: | ------------ |
185
- | `groupName` | String | <div class="yellow">No</div> | If `joinGroup` is called with custom group name, the same group name as the second argument has to be passed.
186
-
187
- ### Javascript example
188
- ```javascript
189
- sos.sync.wait('someData', 'someRandomNameGroup').catch((err) => {
190
- // this will happend once cancelWait is called
191
- console.error('wait failed', err);
192
- });
193
-
194
- // this will cause above wait promise to reject
195
- await sos.sync.cancelWait('someRandomNameGroup');
196
- ```
197
-
198
- ## Option Broadcast values:
199
- Another way to synchronize devices is to broadcast some values within the group so, in turn, all devices can react to it. Unlike option wait, this is more useful in use cases when the synchronization is based around the content itself, rather than timing.
200
-
201
- ### All Methods
202
-
203
- | Method | Type | Description | Supported since |
204
- | ------ | ------ | -------- | ------------- |
205
- | `setValue()` | method | Used for broadcast values for all master devices | 2.0.0 |
206
- | `onValue()` | event | Event called when device receive any value | 2.0.0 |
207
- | `onStatus()` | event | Event called when device is connected and periodic every 30s from sync server - report connected devices | 2.1.0
208
-
209
- ## setValue()
210
- :::warning
211
- This method is deprecated and will be removed in the future. Use `broadcastValue()` instead. These two methods function identically.
212
- :::
213
-
214
- This method can be called by any device to broadcast a value to the whole group.
215
-
216
- ### Parameters
217
-
218
- | Param |Type | Required | Description |
219
- | -------------- | --------- | :------: | ------------------- |
220
- | `key` | String | <div class="red">Yes</div> | Values are recognized based their key so different types of values can be broadcasted independently within the group |
221
- | `value` | Any | <div class="red">Yes</div> | The value to be broadcasted |
222
- | `groupName` | String | <div class="yellow">No</div> | If `joinGroup` is called with custom group name, the same group name has to be passed as the third argument
223
-
224
- ### Javascript example
225
- ```javascript
226
- await sos.sync.setValue('some-key', 'some-value', 'some-group');
227
- ```
228
-
229
- ## broadcastValue()
230
- This method can be called by any device to broadcast a value to the whole group.
231
-
232
- ### Parameters
233
-
234
- | Param |Type | Required | Description |
235
- | -------------- | --------- | :------: | ------------------- |
236
- | `key` | String | <div class="red">Yes</div> | Values are recognized based their key so different types of values can be broadcasted independently within the group |
237
- | `value` | Any | <div class="red">Yes</div> | The value to be broadcasted |
238
- | `groupName` | String | <div class="yellow">No</div> | If `joinGroup` is called with custom group name, the same group name has to be passed as the third argument
239
-
240
- ### Javascript example
241
- ```javascript
242
- await sos.sync.broadcastValue({
243
- key: 'some-key',
244
- value: 'some-value',
245
- groupName: 'some-group'
246
- });
247
- ```
248
-
249
- ## Event onValue()
250
- Every device should register a listener to receive and process broadcasted values.
251
-
252
- ### Javascript example
253
- ```javascript
254
- await sos.sync.onValue((key, value, groupName) => {
255
- // do something with the new value
256
- });
257
- ```
258
-
259
- <br/>
260
-
261
- ## isMaster()
262
- Returns true, if device is master of the sync group.
263
-
264
- ### Parameters
265
-
266
- | Param |Type | Required | Description |
267
- | -------------- | --------- | :------: | ------------------- |
268
- | `groupName` | String | <div class="yellow">No</div> | If `joinGroup` is called with custom group name, the same group name has to be passed as the third argument |
269
-
270
- ### Javascript example
271
- ```javascript
272
- const isMaster = await sos.sync.isMaster('some-group');
273
- ```
274
-
275
- :::info
276
- Different devices can become masters at different times. Also the same device may be master in one group but slave in another.
277
- :::
278
-
279
- ## Event onValue()
280
- Every device should register a listener to receive and process broadcasted values.
281
-
282
- ### Javascript example
283
- ```javascript
284
- sos.sync.onValue((key, value, groupName) => {
285
- // do something with the new value
286
- });
287
- ```
288
-
289
- <br/>
290
-
291
- ## Event onStatus()
292
- Used for receiving information about the sync groups that the device is a member of. Emits periodically or whenever there is a change (i.e. new device connects/disconnects to/from the group).
293
-
294
- Status contains the following properties:
295
- - `status.groupName` - name of the group
296
- - `status.connectedPeers` - array of device identifications connected to the group
297
- - `status.isMaster` - boolean, true if device is currently master of the group (this may change over time)
298
-
299
- ### Javascript example
300
- ```javascript
301
- sos.sync.onStatus((status) => {
302
- // do something with the new value
303
- const connectedPeers = status.connectedPeers;
304
- const groupName = status.groupName;
305
- const isMaster = status.isMaster;
306
- });
307
- ```
308
-
309
- ## Event onClosed()
310
- Emitted when synchronizer is closed for whatever reason.
311
-
312
- If it closed because `close()` was called, it will emit without any arguments.
313
- if it closed because of an error, it will emit with an error object as the first argument.
314
-
315
- ### Javascript example
316
- ```javascript
317
- sos.sync.onClosed((error) => {
318
- if (error) {
319
- console.error('Synchronizer closed with an error', error);
320
- } else {
321
- console.info('Synchronizer closed');
322
- }
323
- });
324
- ```
325
-
326
- ## Usage with Typescript
327
- You can also use all these methods with [signageOS TypeScript](https://docs.signageos.io/hc/en-us/articles/4405069154962#signageos-typescript).
328
-
329
- ```typescript
330
- connect(syncServerUri?: string): Promise<void>;
331
-
332
- close(): Promise<void>;
333
-
334
- /** @deprecated use joinGroup */
335
- init(groupName?: string, deviceIdentification?: string): Promise<void>;
336
-
337
- joinGroup(args: {
338
- groupName?: string;
339
- deviceIdentification?: string;
340
- }): Promise<void>;
341
-
342
- wait(data?: any, groupName?: string): Promise<any>;
343
-
344
- cancelWait(groupName?: string): Promise<void>;
345
-
346
- /** @deprecated use broadcastValue */
347
- setValue(key: string, value: any, groupName?: string): Promise<void>;
348
-
349
- broadcastValue(args: {
350
- groupName?: string;
351
- key: string;
352
- value: any;
353
- }): Promise<void>;
354
-
355
- isMaster(groupName?: string): Promise<boolean>;
356
-
357
- onValue(listener: (
358
- key: string,
359
- value: any,
360
- groupName?: string
361
- ) => void): void;
362
-
363
- onStatus(listener: (status: {
364
- groupName: string;
365
- connectedPeers: string[];
366
- isMaster: boolean;
367
- }) => void): void;
368
-
369
- onClosed(listener: (
370
- error?: Error;
371
- ) => void): void;
372
- ```
373
-
374
- ## Errors
375
- Although we are doing our best, following errors may occur when working with the synchronizer.
376
-
377
-
378
- | Code | Type | Message |
379
- | ---- | ---- | ------- |
380
- | 51101 | InternalSynchronizerError | Synchronizer couldn't connect to the server. |
381
- | 51102 | InternalSynchronizerError | The connection wasn't closed correctly. |
382
- | 51103 | InternalSynchronizerError | The group initialization failed. |
383
- | 51104 | InternalSynchronizerError | Wait failed for unexpected reason. |
384
- | 51105 | InternalSynchronizerError | Synchronizer couldn't set the value.
@@ -1,131 +0,0 @@
1
- ---
2
- title: Video Inputs (PiP)
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] Display content from another device over HDMI, Display Port, or other port. PIP (Picture in Picture) functionality allows you to display content from the internal port while keeping signageOS on."
12
- ---
13
-
14
- # Video Inputs and Internal Ports
15
- Display content from another device over HDMI, Display Port, or other port. PIP (Picture in Picture) functionality allows you to display content from the internal port while keeping signageOS on.
16
-
17
- ## All methods
18
-
19
- | Methods | Description | Supported since |
20
- | ----------------- | ----------- | :---------------: |
21
- | `play()` | Method for starting stream | 1.0.18 |
22
- | `stop()` | Method stops using the internal port. | 1.0.18 |
23
-
24
- ## play()
25
- Method uses the same API as [video streams](js-video-stream). Instead of URL (for stream), **specify an URI of the port** to display.
26
-
27
- ### Parameters
28
-
29
- | Param | Type | Required |Description |
30
- | -------------- | -------------------| :----------: | ---------------------------- |
31
- | `uri` | String | <div class="red">Yes</div> | Internal port URI |
32
- | `x` | Number | <div class="red">Yes</div> | x-position for video on screen |
33
- | `y` | Number | <div class="red">Yes</div> | y-position for video on screen |
34
- | `width` | Number | <div class="red">Yes</div> | Video width on screen |
35
- | `height` | Number | <div class="red">Yes</div> | Video height on screen
36
-
37
- ### Javascript example
38
- ```javascript
39
- await sos.stream.play(uri, x, y, width, height);
40
- ```
41
-
42
- :::note[GitHub Example]
43
- [Stream HDMI port Applet example](https://github.com/signageos/applet-examples/blob/master/examples/content-js-api/stream-hdmi-port)
44
- :::
45
-
46
- ## Valid URI values
47
-
48
-
49
- | Value | Description |
50
- | ----------------------- | ------------------------------- |
51
- | `internal://hdmi<number>` | HDMI |
52
- | `internal://dp` | DisplayPort |
53
- | `internal://dvi` | DVI |
54
- | `internal://pc` | PC or VGA
55
-
56
- :::warning
57
- `<number>` has to be a value between 1 - 4, depending on which of the available HDMI ports you want to use.
58
- :::
59
-
60
- ## stop()
61
- Method stops using the internal port.
62
-
63
- ### Parameters:
64
-
65
- | Param | Type | Required |Description |
66
- | -------------- | -----------------| :------------: | ---------------------------- |
67
- | `uri` | String | <div class="red">Yes</div> | Internal port URI |
68
- | `x` | Number | <div class="red">Yes</div> | x-position for video on screen |
69
- | `y` | Number | <div class="red">Yes</div> | y-position for video on screen |
70
- | `width` | Number | <div class="red">Yes</div> | Video width on screen |
71
- | `height` | Number | <div class="red">Yes</div> | Video height on screen
72
-
73
- ### Javascript example
74
- ```javascript
75
- await sos.stream.stop(uri, x, y, width, height);
76
- ```
77
-
78
- ## Internal port events
79
- API reacts to events related to changes in internal port status. Events are only emitted for a currently playing internal port.
80
-
81
-
82
- | Event | Description |
83
- | ----------------------------- | ----------------------------------------------------------------------------------------------- |
84
- | `disconnected()` | Emmited when the port is disconnected or does not receive any signal |
85
- | `connected()` | Emmited when the port is re-connected or starts receiving signal again after being disconnected |
86
- | `error()` | Emmited when an error occurs, is emmited only once
87
-
88
- ## Usage with Typescript
89
- You can also use all these methods with [signageOS TypeScript](https://docs.signageos.io/hc/en-us/articles/4405069154962#signageos-typescript).
90
- ```typescript
91
- onDisconnected(listener: (event: {
92
- type: 'disconnected';
93
- srcArguments: {
94
- uri: string;
95
- x: number;
96
- y: number;
97
- width: number;
98
- height: number;
99
- };
100
- }) => void): void;
101
- onConnected(listener: (event: {
102
- type: 'connected';
103
- srcArguments: {
104
- uri: string;
105
- x: number;
106
- y: number;
107
- width: number;
108
- height: number;
109
- };
110
- }) => void): void;
111
- onError(listener: (event: {
112
- type: 'error';
113
- srcArguments: {
114
- uri: string;
115
- x: number;
116
- y: number;
117
- width: number;
118
- height: number;
119
- };
120
- errorMessage: string;
121
- }) => void): void;
122
- ```
123
-
124
- ## Errors
125
- Although we are doing our best, following errors may occur when playing content from the internal ports.
126
-
127
-
128
- | Code | Type | Message |
129
- | ---- | ---- | ------- |
130
- | 51501 | InternalVideoError | Couldn't play the video. |
131
- | 51503 | InternalVideoError | Couldn't stop the video.