@100mslive/react-native-hms 1.9.6 → 1.9.7
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.
- package/android/src/main/java/com/reactnativehmssdk/HMSDecoder.kt +57 -0
- package/android/src/main/java/com/reactnativehmssdk/HMSManager.kt +1 -0
- package/android/src/main/java/com/reactnativehmssdk/HMSRNSDK.kt +33 -7
- package/ios/HMSDecoder.swift +2 -0
- package/ios/HMSHelper.swift +4 -2
- package/ios/HMSRNSDK.swift +38 -19
- package/lib/commonjs/classes/HMSPIPConfig.js +0 -2
- package/lib/commonjs/classes/HMSPIPConfig.js.map +1 -1
- package/lib/commonjs/classes/HMSRoom.js +7 -0
- package/lib/commonjs/classes/HMSRoom.js.map +1 -1
- package/lib/commonjs/classes/HMSSessionStore.js +1 -1
- package/lib/commonjs/classes/HMSSessionStore.js.map +1 -1
- package/lib/commonjs/components/HMSHLSPlayer/HMSHLSPlayer.js.map +1 -1
- package/lib/commonjs/components/HMSHLSPlayer/hooks.js.map +1 -1
- package/lib/commonjs/hooks/hmsviews.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/stores/hms-store.js.map +1 -1
- package/lib/commonjs/stores/types.js +0 -9
- package/lib/commonjs/stores/types.js.map +1 -1
- package/lib/module/classes/HMSPIPConfig.js +1 -1
- package/lib/module/classes/HMSPIPConfig.js.map +1 -1
- package/lib/module/classes/HMSRoom.js +7 -0
- package/lib/module/classes/HMSRoom.js.map +1 -1
- package/lib/module/classes/HMSSessionStore.js +1 -1
- package/lib/module/classes/HMSSessionStore.js.map +1 -1
- package/lib/module/components/HMSHLSPlayer/HMSHLSPlayer.js.map +1 -1
- package/lib/module/components/HMSHLSPlayer/hooks.js.map +1 -1
- package/lib/module/hooks/hmsviews.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/stores/hms-store.js.map +1 -1
- package/lib/module/stores/types.js +0 -9
- package/lib/module/stores/types.js.map +1 -1
- package/lib/typescript/classes/HMSRoom.d.ts +1 -0
- package/lib/typescript/classes/HMSSessionStore.d.ts +10 -8
- package/lib/typescript/index.d.ts +1 -1
- package/package.json +1 -1
- package/sdk-versions.json +2 -2
- package/src/classes/HMSPIPConfig.ts +1 -1
- package/src/classes/HMSRoom.ts +13 -0
- package/src/classes/HMSSessionStore.ts +19 -18
- package/src/components/HMSHLSPlayer/HMSHLSPlayer.tsx +3 -2
- package/src/components/HMSHLSPlayer/hooks.ts +1 -2
- package/src/hooks/hmsviews.ts +3 -1
- package/src/index.ts +4 -1
- package/src/stores/hms-store.ts +1 -1
- package/src/stores/types.ts +4 -2
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
package com.reactnativehmssdk
|
|
2
2
|
|
|
3
3
|
import com.facebook.react.bridge.*
|
|
4
|
+
import com.google.gson.JsonArray
|
|
5
|
+
import com.google.gson.JsonObject
|
|
4
6
|
import live.hms.video.connection.degredation.QualityLimitationReasons
|
|
5
7
|
import live.hms.video.connection.stats.*
|
|
6
8
|
import live.hms.video.connection.stats.quality.HMSNetworkQuality
|
|
@@ -144,6 +146,8 @@ object HMSDecoder {
|
|
|
144
146
|
room.putInt("peerCount", it)
|
|
145
147
|
}
|
|
146
148
|
}
|
|
149
|
+
|
|
150
|
+
room.putBoolean("isLargeRoom", hmsRoom.isLargeRoom)
|
|
147
151
|
}
|
|
148
152
|
return room
|
|
149
153
|
}
|
|
@@ -975,4 +979,57 @@ object HMSDecoder {
|
|
|
975
979
|
hmsSimulcastLayerDefinitions.forEach { simulcastLayerDefinitions.pushMap(getSimulcastLayerDefinition(it)) }
|
|
976
980
|
return simulcastLayerDefinitions
|
|
977
981
|
}
|
|
982
|
+
|
|
983
|
+
fun getReadableArrayFromJsonArray(jsonArray: JsonArray): WritableArray {
|
|
984
|
+
val writableArray: WritableArray = Arguments.createArray()
|
|
985
|
+
|
|
986
|
+
jsonArray.forEach { ele ->
|
|
987
|
+
if (ele.isJsonPrimitive) {
|
|
988
|
+
val primitiveEle = ele.asJsonPrimitive
|
|
989
|
+
if (primitiveEle.isNumber) {
|
|
990
|
+
writableArray.pushDouble(primitiveEle.asDouble)
|
|
991
|
+
} else if (primitiveEle.isBoolean) {
|
|
992
|
+
writableArray.pushBoolean(primitiveEle.asBoolean)
|
|
993
|
+
} else {
|
|
994
|
+
writableArray.pushString(primitiveEle.asString)
|
|
995
|
+
}
|
|
996
|
+
} else if (ele.isJsonArray) {
|
|
997
|
+
writableArray.pushArray(getReadableArrayFromJsonArray(ele.asJsonArray))
|
|
998
|
+
} else if (ele.isJsonObject) {
|
|
999
|
+
writableArray.pushMap(getReadableMapFromJsonObject(ele.asJsonObject))
|
|
1000
|
+
} else {
|
|
1001
|
+
writableArray.pushNull()
|
|
1002
|
+
}
|
|
1003
|
+
}
|
|
1004
|
+
|
|
1005
|
+
return writableArray
|
|
1006
|
+
}
|
|
1007
|
+
|
|
1008
|
+
fun getReadableMapFromJsonObject(jsonObject: JsonObject): WritableMap {
|
|
1009
|
+
val writableMap: WritableMap = Arguments.createMap()
|
|
1010
|
+
|
|
1011
|
+
jsonObject.keySet().forEach { key ->
|
|
1012
|
+
val jsonEle = jsonObject.get(key)
|
|
1013
|
+
|
|
1014
|
+
if (jsonEle.isJsonObject) {
|
|
1015
|
+
writableMap.putMap(key, getReadableMapFromJsonObject(jsonEle.asJsonObject))
|
|
1016
|
+
} else if (jsonEle.isJsonArray) {
|
|
1017
|
+
writableMap.putArray(key, getReadableArrayFromJsonArray(jsonEle.asJsonArray))
|
|
1018
|
+
} else if (jsonEle.isJsonPrimitive) {
|
|
1019
|
+
val primitiveEle = jsonEle.asJsonPrimitive
|
|
1020
|
+
|
|
1021
|
+
if (primitiveEle.isBoolean) {
|
|
1022
|
+
writableMap.putBoolean(key, primitiveEle.asBoolean)
|
|
1023
|
+
} else if (primitiveEle.isNumber) {
|
|
1024
|
+
writableMap.putDouble(key, primitiveEle.asDouble)
|
|
1025
|
+
} else {
|
|
1026
|
+
writableMap.putString(key, primitiveEle.asString)
|
|
1027
|
+
}
|
|
1028
|
+
} else {
|
|
1029
|
+
writableMap.putNull(key)
|
|
1030
|
+
}
|
|
1031
|
+
}
|
|
1032
|
+
|
|
1033
|
+
return writableMap
|
|
1034
|
+
}
|
|
978
1035
|
}
|
|
@@ -1900,6 +1900,9 @@ class HMSRNSDK(
|
|
|
1900
1900
|
"hlsRecordingState" -> {
|
|
1901
1901
|
data.putMap("hlsRecordingState", HMSDecoder.getHMSHlsRecordingState(hmsRoom.hlsRecordingState))
|
|
1902
1902
|
}
|
|
1903
|
+
"isLargeRoom" -> {
|
|
1904
|
+
data.putBoolean("isLargeRoom", hmsRoom.isLargeRoom)
|
|
1905
|
+
}
|
|
1903
1906
|
}
|
|
1904
1907
|
|
|
1905
1908
|
return data
|
|
@@ -2170,7 +2173,6 @@ class HMSRNSDK(
|
|
|
2170
2173
|
val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("key", "String")))
|
|
2171
2174
|
if (requiredKeys === null) {
|
|
2172
2175
|
val key = data.getString("key")!!
|
|
2173
|
-
val value = data.getString("value")
|
|
2174
2176
|
|
|
2175
2177
|
sessionStore.let {
|
|
2176
2178
|
if (it === null) {
|
|
@@ -2179,18 +2181,27 @@ class HMSRNSDK(
|
|
|
2179
2181
|
return
|
|
2180
2182
|
}
|
|
2181
2183
|
|
|
2184
|
+
val value: Any? =
|
|
2185
|
+
when (data.getType("value")) {
|
|
2186
|
+
ReadableType.Boolean -> data.getBoolean("value")
|
|
2187
|
+
ReadableType.Map -> data.getMap("value")?.toHashMap()
|
|
2188
|
+
ReadableType.String -> data.getString("value")
|
|
2189
|
+
ReadableType.Array -> data.getArray("value")?.toArrayList()
|
|
2190
|
+
ReadableType.Number -> data.getDouble("value")
|
|
2191
|
+
ReadableType.Null -> null
|
|
2192
|
+
}
|
|
2193
|
+
|
|
2182
2194
|
it.set(
|
|
2183
2195
|
value, // data/value
|
|
2184
2196
|
key, // key
|
|
2185
2197
|
object : HMSActionResultListener {
|
|
2186
2198
|
override fun onError(error: HMSException) {
|
|
2187
|
-
promise?.reject(error.code.toString(), error.
|
|
2199
|
+
promise?.reject(error.code.toString(), error.description)
|
|
2188
2200
|
}
|
|
2189
2201
|
|
|
2190
2202
|
override fun onSuccess() {
|
|
2191
2203
|
val result: WritableMap = Arguments.createMap()
|
|
2192
2204
|
result.putBoolean("success", true)
|
|
2193
|
-
result.putString("finalValue", value)
|
|
2194
2205
|
promise?.resolve(result)
|
|
2195
2206
|
}
|
|
2196
2207
|
},
|
|
@@ -2230,9 +2241,13 @@ class HMSRNSDK(
|
|
|
2230
2241
|
promise?.resolve(null)
|
|
2231
2242
|
} else {
|
|
2232
2243
|
if (sm.isJsonPrimitive) {
|
|
2233
|
-
promise?.resolve(sm
|
|
2244
|
+
promise?.resolve(sm)
|
|
2234
2245
|
} else if (sm.isJsonNull) {
|
|
2235
2246
|
promise?.resolve(null)
|
|
2247
|
+
} else if (sm.isJsonArray) {
|
|
2248
|
+
promise?.resolve(HMSDecoder.getReadableArrayFromJsonArray(sm.asJsonArray))
|
|
2249
|
+
} else if (sm.isJsonObject) {
|
|
2250
|
+
promise?.resolve(HMSDecoder.getReadableMapFromJsonObject(sm.asJsonObject))
|
|
2236
2251
|
} else {
|
|
2237
2252
|
promise?.resolve(sm.toString())
|
|
2238
2253
|
}
|
|
@@ -2276,12 +2291,23 @@ class HMSRNSDK(
|
|
|
2276
2291
|
|
|
2277
2292
|
value.let { sm ->
|
|
2278
2293
|
if (sm == null) {
|
|
2279
|
-
map.
|
|
2294
|
+
map.putNull("value")
|
|
2280
2295
|
} else {
|
|
2281
2296
|
if (sm.isJsonPrimitive) {
|
|
2282
|
-
|
|
2297
|
+
val primitive = sm.asJsonPrimitive
|
|
2298
|
+
if (primitive.isBoolean) {
|
|
2299
|
+
map.putBoolean("value", primitive.asBoolean)
|
|
2300
|
+
} else if (primitive.isNumber) {
|
|
2301
|
+
map.putDouble("value", primitive.asDouble)
|
|
2302
|
+
} else {
|
|
2303
|
+
map.putString("value", sm.asString)
|
|
2304
|
+
}
|
|
2283
2305
|
} else if (sm.isJsonNull) {
|
|
2284
|
-
map.
|
|
2306
|
+
map.putNull("value")
|
|
2307
|
+
} else if (sm.isJsonArray) {
|
|
2308
|
+
map.putArray("value", HMSDecoder.getReadableArrayFromJsonArray(sm.asJsonArray))
|
|
2309
|
+
} else if (sm.isJsonObject) {
|
|
2310
|
+
map.putMap("value", HMSDecoder.getReadableMapFromJsonObject(sm.asJsonObject))
|
|
2285
2311
|
} else {
|
|
2286
2312
|
map.putString("value", sm.toString())
|
|
2287
2313
|
}
|
package/ios/HMSDecoder.swift
CHANGED
package/ios/HMSHelper.swift
CHANGED
|
@@ -3,6 +3,7 @@ import Foundation
|
|
|
3
3
|
|
|
4
4
|
class HMSHelper: NSObject {
|
|
5
5
|
static var audioMixerSourceHashMap: [String: HMSAudioNode]?
|
|
6
|
+
static var iterator: HMSPeerListIterator?
|
|
6
7
|
|
|
7
8
|
static func getUnavailableRequiredKey(_ data: NSDictionary, _ requiredKeys: [String]) -> String {
|
|
8
9
|
for (key) in requiredKeys {
|
|
@@ -37,8 +38,9 @@ class HMSHelper: NSObject {
|
|
|
37
38
|
return
|
|
38
39
|
}
|
|
39
40
|
|
|
40
|
-
|
|
41
|
-
|
|
41
|
+
iterator = hms.getPeerListIterator(options: HMSPeerListIteratorOptions(filterByPeerIds: [peerID], limit: 1))
|
|
42
|
+
iterator?.next { peers, error in
|
|
43
|
+
|
|
42
44
|
guard let nonnilPeers = peers, let firstPeer = nonnilPeers.first else {
|
|
43
45
|
completion(nil)
|
|
44
46
|
return
|
package/ios/HMSRNSDK.swift
CHANGED
|
@@ -1281,6 +1281,9 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
1281
1281
|
case "hlsRecordingState":
|
|
1282
1282
|
return ["hlsRecordingState": HMSDecoder.getHlsRecordingState(hmsRoom.hlsRecordingState)]
|
|
1283
1283
|
|
|
1284
|
+
case "isLargeRoom":
|
|
1285
|
+
return ["isLargeRoom": hmsRoom.isLarge]
|
|
1286
|
+
|
|
1284
1287
|
default:
|
|
1285
1288
|
return nil
|
|
1286
1289
|
}
|
|
@@ -1742,15 +1745,22 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
1742
1745
|
return
|
|
1743
1746
|
}
|
|
1744
1747
|
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
resolve?(stringValue)
|
|
1748
|
-
} else {
|
|
1749
|
-
let errorMessage = "\(#function) Session Store value for the key: \(key) is not of String Type. Value: \(value)"
|
|
1750
|
-
reject?("6004", errorMessage, nil)
|
|
1751
|
-
}
|
|
1752
|
-
} else {
|
|
1748
|
+
switch value {
|
|
1749
|
+
case .none:
|
|
1753
1750
|
resolve?(nil)
|
|
1751
|
+
case let boolValue as Bool:
|
|
1752
|
+
resolve?(boolValue)
|
|
1753
|
+
case let doubleValue as Double:
|
|
1754
|
+
resolve?(doubleValue)
|
|
1755
|
+
case let dictValue as [AnyHashable: Any]:
|
|
1756
|
+
resolve?(dictValue)
|
|
1757
|
+
case let arrayValue as [Any]:
|
|
1758
|
+
resolve?(arrayValue)
|
|
1759
|
+
case let stringValue as String:
|
|
1760
|
+
resolve?(stringValue)
|
|
1761
|
+
default:
|
|
1762
|
+
let errorMessage = "\(#function) Session Store value for the key: \(key) is not of valid type. Value: \(String(describing: value))"
|
|
1763
|
+
reject?("6004", errorMessage, nil)
|
|
1754
1764
|
}
|
|
1755
1765
|
}
|
|
1756
1766
|
}
|
|
@@ -1777,14 +1787,13 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
1777
1787
|
|
|
1778
1788
|
let valueToBeSet = data["value"] as Any
|
|
1779
1789
|
|
|
1780
|
-
store.set(valueToBeSet, forKey: key) {
|
|
1790
|
+
store.set(valueToBeSet, forKey: key) { _, error in
|
|
1781
1791
|
|
|
1782
1792
|
if let error = error {
|
|
1783
|
-
|
|
1784
|
-
reject?("6004", errorMessage, nil)
|
|
1793
|
+
reject?("6004", error.localizedDescription, nil)
|
|
1785
1794
|
return
|
|
1786
1795
|
}
|
|
1787
|
-
resolve?(["success": true
|
|
1796
|
+
resolve?(["success": true])
|
|
1788
1797
|
}
|
|
1789
1798
|
}
|
|
1790
1799
|
}
|
|
@@ -1829,13 +1838,23 @@ class HMSRNSDK: HMSUpdateListener, HMSPreviewListener {
|
|
|
1829
1838
|
|
|
1830
1839
|
data["key"] = key
|
|
1831
1840
|
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1841
|
+
switch value {
|
|
1842
|
+
case .none:
|
|
1843
|
+
data["value"] = nil
|
|
1844
|
+
case let boolValue as Bool:
|
|
1845
|
+
data["value"] = boolValue
|
|
1846
|
+
case let doubleValue as Double:
|
|
1847
|
+
data["value"] = doubleValue
|
|
1848
|
+
case let dictValue as [AnyHashable: Any]:
|
|
1849
|
+
data["value"] = dictValue
|
|
1850
|
+
case let arrayValue as [Any]:
|
|
1851
|
+
data["value"] = arrayValue
|
|
1852
|
+
case let stringValue as String:
|
|
1853
|
+
data["value"] = stringValue
|
|
1854
|
+
default:
|
|
1855
|
+
let message = "\(#function) Session Store value for the key: \(key) is not of valid type. Value: \(String(describing: value))"
|
|
1856
|
+
print(message)
|
|
1857
|
+
data["value"] = nil
|
|
1839
1858
|
}
|
|
1840
1859
|
self?.delegate?.emitEvent(HMSConstants.ON_SESSION_STORE_CHANGED, data)
|
|
1841
1860
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["HMSPIPConfig.ts"],"sourcesContent":["export interface HMSPIPConfig {\n autoEnterPipMode?: boolean;\n aspectRatio?: [number, number];\n endButton?: boolean;\n audioButton?: boolean;\n videoButton?: boolean;\n}
|
|
1
|
+
{"version":3,"names":[],"sources":["HMSPIPConfig.ts"],"sourcesContent":["export interface HMSPIPConfig {\n autoEnterPipMode?: boolean;\n aspectRatio?: [number, number];\n endButton?: boolean;\n audioButton?: boolean;\n videoButton?: boolean;\n}\n"],"mappings":""}
|
|
@@ -94,6 +94,13 @@ class HMSRoom {
|
|
|
94
94
|
}
|
|
95
95
|
return (0, _HMSRoomCache.getHMSRoomPropertyFromNative)(_HMSConstants.HMSConstants.DEFAULT_SDK_ID, 'localPeer');
|
|
96
96
|
}
|
|
97
|
+
get isLargeRoom() {
|
|
98
|
+
const hmsRoomCache = (0, _HMSRoomCache.getHmsRoomCache)();
|
|
99
|
+
if (hmsRoomCache) {
|
|
100
|
+
return hmsRoomCache.getProperty('isLargeRoom');
|
|
101
|
+
}
|
|
102
|
+
return (0, _HMSRoomCache.getHMSRoomPropertyFromNative)(_HMSConstants.HMSConstants.DEFAULT_SDK_ID, 'isLargeRoom');
|
|
103
|
+
}
|
|
97
104
|
}
|
|
98
105
|
exports.HMSRoom = HMSRoom;
|
|
99
106
|
//# sourceMappingURL=HMSRoom.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_HMSRoomCache","require","_HMSConstants","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","HMSRoom","constructor","params","id","sessionId","hmsRoomCache","getHmsRoomCache","getProperty","getHMSRoomPropertyFromNative","HMSConstants","DEFAULT_SDK_ID","name","metaData","peers","browserRecordingState","rtmpHMSRtmpStreamingState","serverRecordingState","hlsStreamingState","hlsRecordingState","peerCount","localPeer","exports"],"sources":["HMSRoom.ts"],"sourcesContent":["import type { HMSPeer } from './HMSPeer';\nimport type { HMSRtmpStreamingState } from './HMSRtmpStreamingState';\nimport type { HMSServerRecordingState } from './HMSServerRecordingState';\nimport type { HMSBrowserRecordingState } from './HMSBrowserRecordingState';\nimport type { HMSHLSStreamingState } from './HMSHLSStreamingState';\nimport type { HMSHLSRecordingState } from './HMSHLSRecordingState';\nimport type { HMSLocalPeer } from './HMSLocalPeer';\nimport { getHmsRoomCache, getHMSRoomPropertyFromNative } from './HMSRoomCache';\nimport { HMSConstants } from './HMSConstants';\n\nexport class HMSRoom {\n id: string;\n // startedAt?: Date;\n\n constructor(params: { id: string }) {\n this.id = params.id;\n // this.startedAt = params.startedAt;\n }\n\n get sessionId(): string {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('sessionId');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'sessionId'\n );\n }\n\n get name(): string {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('name');\n }\n\n return getHMSRoomPropertyFromNative(HMSConstants.DEFAULT_SDK_ID, 'name');\n }\n\n get metaData(): string | undefined {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('metaData');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'metaData'\n );\n }\n\n get peers(): HMSPeer[] {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('peers');\n }\n\n return getHMSRoomPropertyFromNative(HMSConstants.DEFAULT_SDK_ID, 'peers');\n }\n\n get browserRecordingState(): HMSBrowserRecordingState {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('browserRecordingState');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'browserRecordingState'\n );\n }\n\n get rtmpHMSRtmpStreamingState(): HMSRtmpStreamingState {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('rtmpHMSRtmpStreamingState');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'rtmpHMSRtmpStreamingState'\n );\n }\n\n get serverRecordingState(): HMSServerRecordingState {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('serverRecordingState');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'serverRecordingState'\n );\n }\n\n get hlsStreamingState(): HMSHLSStreamingState {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('hlsStreamingState');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'hlsStreamingState'\n );\n }\n\n get hlsRecordingState(): HMSHLSRecordingState | undefined {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('hlsRecordingState');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'hlsRecordingState'\n );\n }\n\n get peerCount(): number | null {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('peerCount');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'peerCount'\n );\n }\n\n get localPeer(): HMSLocalPeer {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('localPeer');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'localPeer'\n );\n }\n}\n"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["_HMSRoomCache","require","_HMSConstants","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","HMSRoom","constructor","params","id","sessionId","hmsRoomCache","getHmsRoomCache","getProperty","getHMSRoomPropertyFromNative","HMSConstants","DEFAULT_SDK_ID","name","metaData","peers","browserRecordingState","rtmpHMSRtmpStreamingState","serverRecordingState","hlsStreamingState","hlsRecordingState","peerCount","localPeer","isLargeRoom","exports"],"sources":["HMSRoom.ts"],"sourcesContent":["import type { HMSPeer } from './HMSPeer';\nimport type { HMSRtmpStreamingState } from './HMSRtmpStreamingState';\nimport type { HMSServerRecordingState } from './HMSServerRecordingState';\nimport type { HMSBrowserRecordingState } from './HMSBrowserRecordingState';\nimport type { HMSHLSStreamingState } from './HMSHLSStreamingState';\nimport type { HMSHLSRecordingState } from './HMSHLSRecordingState';\nimport type { HMSLocalPeer } from './HMSLocalPeer';\nimport { getHmsRoomCache, getHMSRoomPropertyFromNative } from './HMSRoomCache';\nimport { HMSConstants } from './HMSConstants';\n\nexport class HMSRoom {\n id: string;\n // startedAt?: Date;\n\n constructor(params: { id: string }) {\n this.id = params.id;\n // this.startedAt = params.startedAt;\n }\n\n get sessionId(): string {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('sessionId');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'sessionId'\n );\n }\n\n get name(): string {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('name');\n }\n\n return getHMSRoomPropertyFromNative(HMSConstants.DEFAULT_SDK_ID, 'name');\n }\n\n get metaData(): string | undefined {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('metaData');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'metaData'\n );\n }\n\n get peers(): HMSPeer[] {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('peers');\n }\n\n return getHMSRoomPropertyFromNative(HMSConstants.DEFAULT_SDK_ID, 'peers');\n }\n\n get browserRecordingState(): HMSBrowserRecordingState {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('browserRecordingState');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'browserRecordingState'\n );\n }\n\n get rtmpHMSRtmpStreamingState(): HMSRtmpStreamingState {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('rtmpHMSRtmpStreamingState');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'rtmpHMSRtmpStreamingState'\n );\n }\n\n get serverRecordingState(): HMSServerRecordingState {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('serverRecordingState');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'serverRecordingState'\n );\n }\n\n get hlsStreamingState(): HMSHLSStreamingState {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('hlsStreamingState');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'hlsStreamingState'\n );\n }\n\n get hlsRecordingState(): HMSHLSRecordingState | undefined {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('hlsRecordingState');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'hlsRecordingState'\n );\n }\n\n get peerCount(): number | null {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('peerCount');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'peerCount'\n );\n }\n\n get localPeer(): HMSLocalPeer {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('localPeer');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'localPeer'\n );\n }\n\n get isLargeRoom(): boolean {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('isLargeRoom');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'isLargeRoom'\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -40,7 +40,7 @@ class HMSSessionStore {
|
|
|
40
40
|
* Once a value is assigned, it will be available for other peers in the room
|
|
41
41
|
* who are listening for changes in value for that specific key.
|
|
42
42
|
*
|
|
43
|
-
* @param {
|
|
43
|
+
* @param {JsonValue} value
|
|
44
44
|
* @param {string} key
|
|
45
45
|
* @returns {Promise}
|
|
46
46
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_HMSManagerModule","_interopRequireDefault","_HMSConstants","_HMSLogger","_HMSUpdateListenerActions","_utils","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","HMSSessionStore","constructor","set","data","HMSManager","setSessionMetadataForKey","id","HMSConstants","DEFAULT_SDK_ID","get","getSessionMetadataForKey","addKeyChangeListener","forKeys","callback","_deviceEventEmitterSubscription","DeviceEventEmitter","addListener","HMSUpdateListenerActions","ON_SESSION_STORE_CHANGED","_deviceEventEmitterListener","bind","_eventEmitter","EventEmitter","uniqueId","join","Date","now","toString","eventEmitter","subscriptions","map","cleanupHandler","_cleanup","keys","catch","err","_addedKeyChangeListenerCount","remove","subscriptionsToRemove","length","context","forEach","subscription","removeKeyChangeListener","error","logger","getLogger","verbose","getOwnPropertyNames","includes","removeListener","undefined","_getLogger","_this$_eventEmitter","emit","exports"],"sources":["HMSSessionStore.ts"],"sourcesContent":["import { DeviceEventEmitter } from 'react-native';\nimport type { EmitterSubscription as RNEmitterSubscription } from 'react-native';\n\nimport HMSManager from '../modules/HMSManagerModule';\n\nimport { HMSConstants } from './HMSConstants';\nimport { getLogger } from './HMSLogger';\nimport { HMSUpdateListenerActions } from './HMSUpdateListenerActions';\nimport { EventEmitter } from '../utils';\nimport type { EmitterSubscription } from '../utils';\n\ntype Nullable<T> = T | null | undefined;\n\nexport type HMSSessionStoreValue = Nullable<string>;\n\n/**\n * Session store is a shared realtime key-value store that is accessible by everyone in the room.\n * It can be utilized to implement features such as pinned text, spotlight (which brings a particular\n * peer to the center stage for everyone in the room) and more.\n *\n * To get an instance of `HMSSessionStore` class, You can add an event listener for `ON_SESSION_STORE_AVAILABLE`\n * event on the `HMSSDK` instance\n *\n * For example:\n * ```\n * hmsInstance.addEventListener(HMSUpdateListenerActions.ON_SESSION_STORE_AVAILABLE, <your callback function>);\n * ```\n *\n * Checkout Session Store docs fore more details ${@link https://www.100ms.live/docs/react-native/v2/how-to-guides/interact-with-room/room/session-store}\n */\nexport class HMSSessionStore {\n private _deviceEventEmitterSubscription?: RNEmitterSubscription;\n private _eventEmitter?: EventEmitter;\n private _addedKeyChangeListenerCount = 0;\n\n /**\n * This method sets a value for a specific key on session store.\n * Once a value is assigned, it will be available for other peers in the room\n * who are listening for changes in value for that specific key.\n *\n * @param {HMSSessionStoreValue} value\n * @param {string} key\n * @returns {Promise}\n */\n async set(value: HMSSessionStoreValue, key: string) {\n const data: { success: true; finalValue: HMSSessionStoreValue } =\n await HMSManager.setSessionMetadataForKey({\n id: HMSConstants.DEFAULT_SDK_ID,\n key,\n value,\n });\n return data;\n }\n\n /**\n * This method returns the value of any specified key on session store.\n * Note that you will not get updates for any change in value of the specified key,\n * It returns the latest value at the time it was called.\n *\n * To listen to value change updates use `addKeyChangeListener` method instead.\n *\n * @param {string} key\n * @returns {Promise}\n */\n async get(key: string) {\n const data: HMSSessionStoreValue =\n await HMSManager.getSessionMetadataForKey({\n id: HMSConstants.DEFAULT_SDK_ID,\n key,\n });\n return data;\n }\n\n /**\n * This method registers a callback function for listening to value changes of a particular key.\n * Registered Callback function will be called initially with latest value and whenever the value updates\n *\n * @param {string[]} forKeys\n * @param {Function} callback\n * @returns {Object} subscription object\n */\n addKeyChangeListener<T extends string[]>(\n forKeys: T,\n callback: (\n error: string | null,\n data: { key: T[number]; value: HMSSessionStoreValue } | null\n ) => void\n ) {\n // Add Native Device Event Emitter if it is not already added\n if (!this._deviceEventEmitterSubscription) {\n this._deviceEventEmitterSubscription = DeviceEventEmitter.addListener(\n HMSUpdateListenerActions.ON_SESSION_STORE_CHANGED,\n this._deviceEventEmitterListener.bind(this)\n );\n }\n\n // Create JS side EventEmitter\n if (!this._eventEmitter) {\n this._eventEmitter = new EventEmitter();\n }\n\n // Unique Identifier for adding native event listener\n const uniqueId = forKeys.join('') + '_' + Date.now().toString();\n\n const eventEmitter = this._eventEmitter;\n\n // Add listeners on eventEmitter for each key\n const subscriptions = forKeys.map((key) =>\n eventEmitter.addListener(key, callback, { uniqueId })\n );\n\n //\n let cleanupHandler: (() => void) | null = () => {\n this._cleanup(subscriptions);\n };\n\n // Adding 'KeyChangeListener' on native side\n HMSManager.addKeyChangeListener({\n id: HMSConstants.DEFAULT_SDK_ID,\n keys: forKeys,\n uniqueId,\n })\n // Adding 'KeyChangeListener' fails on native side\n .catch((err: any) => {\n if (typeof cleanupHandler === 'function') {\n callback(err, null);\n cleanupHandler();\n cleanupHandler = null;\n }\n });\n\n this._addedKeyChangeListenerCount += 1;\n\n return {\n remove: () => {\n if (typeof cleanupHandler === 'function') {\n cleanupHandler();\n cleanupHandler = null;\n }\n },\n };\n }\n\n private _cleanup(subscriptionsToRemove: EmitterSubscription[]) {\n // Extracting `uniqueId` from first subscription (all subscriptions have same uniqueId)\n // this `uniqueId` will be used to remove 'KeyChangeListener' from native side\n const uniqueId =\n subscriptionsToRemove.length > 0\n ? (subscriptionsToRemove[0]!.context as { uniqueId: string }).uniqueId\n : null;\n\n // Removing required subscriptions from 'eventEmitter'\n subscriptionsToRemove.forEach((subscription) => subscription.remove());\n\n // Removing 'KeyChangeListener' from native side\n HMSManager.removeKeyChangeListener({\n id: HMSConstants.DEFAULT_SDK_ID,\n uniqueId,\n }).catch((error: any) => {\n const logger = getLogger();\n logger?.verbose(\n \"Error while removing key change listener, Listener didn't get registerred at first place or was already removed\",\n error\n );\n });\n\n this._addedKeyChangeListenerCount -= 1;\n\n if (this._addedKeyChangeListenerCount <= 0) {\n this._addedKeyChangeListenerCount = 0;\n if (\n this._deviceEventEmitterSubscription &&\n Object.getOwnPropertyNames(\n this._deviceEventEmitterSubscription\n ).includes('remove') &&\n typeof this._deviceEventEmitterSubscription.remove === 'function'\n ) {\n this._deviceEventEmitterSubscription.remove();\n } else {\n DeviceEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_SESSION_STORE_CHANGED,\n this._deviceEventEmitterListener\n );\n }\n\n this._deviceEventEmitterSubscription = undefined;\n\n this._eventEmitter = undefined;\n }\n }\n\n private _deviceEventEmitterListener(data: {\n id: string;\n key: string;\n value: HMSSessionStoreValue;\n }) {\n // if id is different from default sdk_id, return early\n if (data.id !== HMSConstants.DEFAULT_SDK_ID) {\n return;\n }\n\n // emit event for the key\n getLogger()?.verbose('#Listener ON_SESSION_STORE_CHANGED event: ', data);\n\n this._eventEmitter?.emit(data.key, null, data);\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_HMSManagerModule","_interopRequireDefault","_HMSConstants","_HMSLogger","_HMSUpdateListenerActions","_utils","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","HMSSessionStore","constructor","set","data","HMSManager","setSessionMetadataForKey","id","HMSConstants","DEFAULT_SDK_ID","get","getSessionMetadataForKey","addKeyChangeListener","forKeys","callback","_deviceEventEmitterSubscription","DeviceEventEmitter","addListener","HMSUpdateListenerActions","ON_SESSION_STORE_CHANGED","_deviceEventEmitterListener","bind","_eventEmitter","EventEmitter","uniqueId","join","Date","now","toString","eventEmitter","subscriptions","map","cleanupHandler","_cleanup","keys","catch","err","_addedKeyChangeListenerCount","remove","subscriptionsToRemove","length","context","forEach","subscription","removeKeyChangeListener","error","logger","getLogger","verbose","getOwnPropertyNames","includes","removeListener","undefined","_getLogger","_this$_eventEmitter","emit","exports"],"sources":["HMSSessionStore.ts"],"sourcesContent":["import { DeviceEventEmitter } from 'react-native';\nimport type { EmitterSubscription as RNEmitterSubscription } from 'react-native';\n\nimport HMSManager from '../modules/HMSManagerModule';\n\nimport { HMSConstants } from './HMSConstants';\nimport { getLogger } from './HMSLogger';\nimport { HMSUpdateListenerActions } from './HMSUpdateListenerActions';\nimport { EventEmitter } from '../utils';\nimport type { EmitterSubscription } from '../utils';\n\nexport type JsonPrimitive = string | number | boolean | null;\nexport type JsonMap = {\n [key: string]: JsonPrimitive | JsonMap | JsonArray;\n};\nexport type JsonArray = Array<JsonPrimitive | JsonMap | JsonArray>;\nexport type JsonValue = JsonPrimitive | JsonMap | JsonArray;\n\n/**\n * Session store is a shared realtime key-value store that is accessible by everyone in the room.\n * It can be utilized to implement features such as pinned text, spotlight (which brings a particular\n * peer to the center stage for everyone in the room) and more.\n *\n * To get an instance of `HMSSessionStore` class, You can add an event listener for `ON_SESSION_STORE_AVAILABLE`\n * event on the `HMSSDK` instance\n *\n * For example:\n * ```\n * hmsInstance.addEventListener(HMSUpdateListenerActions.ON_SESSION_STORE_AVAILABLE, <your callback function>);\n * ```\n *\n * Checkout Session Store docs fore more details ${@link https://www.100ms.live/docs/react-native/v2/how-to-guides/interact-with-room/room/session-store}\n */\nexport class HMSSessionStore {\n private _deviceEventEmitterSubscription?: RNEmitterSubscription;\n private _eventEmitter?: EventEmitter;\n private _addedKeyChangeListenerCount = 0;\n\n /**\n * This method sets a value for a specific key on session store.\n * Once a value is assigned, it will be available for other peers in the room\n * who are listening for changes in value for that specific key.\n *\n * @param {JsonValue} value\n * @param {string} key\n * @returns {Promise}\n */\n async set(value: JsonValue, key: string) {\n const data: { success: true } = await HMSManager.setSessionMetadataForKey({\n id: HMSConstants.DEFAULT_SDK_ID,\n key,\n value,\n });\n return data;\n }\n\n /**\n * This method returns the value of any specified key on session store.\n * Note that you will not get updates for any change in value of the specified key,\n * It returns the latest value at the time it was called.\n *\n * To listen to value change updates use `addKeyChangeListener` method instead.\n *\n * @param {string} key\n * @returns {Promise}\n */\n async get(key: string) {\n const data: JsonValue = await HMSManager.getSessionMetadataForKey({\n id: HMSConstants.DEFAULT_SDK_ID,\n key,\n });\n return data;\n }\n\n /**\n * This method registers a callback function for listening to value changes of a particular key.\n * Registered Callback function will be called initially with latest value and whenever the value updates\n *\n * @param {string[]} forKeys\n * @param {Function} callback\n * @returns {Object} subscription object\n */\n addKeyChangeListener<T extends string[]>(\n forKeys: T,\n callback: (\n error: string | null,\n data: { key: T[number]; value: JsonValue } | null\n ) => void\n ) {\n // Add Native Device Event Emitter if it is not already added\n if (!this._deviceEventEmitterSubscription) {\n this._deviceEventEmitterSubscription = DeviceEventEmitter.addListener(\n HMSUpdateListenerActions.ON_SESSION_STORE_CHANGED,\n this._deviceEventEmitterListener.bind(this)\n );\n }\n\n // Create JS side EventEmitter\n if (!this._eventEmitter) {\n this._eventEmitter = new EventEmitter();\n }\n\n // Unique Identifier for adding native event listener\n const uniqueId = forKeys.join('') + '_' + Date.now().toString();\n\n const eventEmitter = this._eventEmitter;\n\n // Add listeners on eventEmitter for each key\n const subscriptions = forKeys.map((key) =>\n eventEmitter.addListener(key, callback, { uniqueId })\n );\n\n //\n let cleanupHandler: (() => void) | null = () => {\n this._cleanup(subscriptions);\n };\n\n // Adding 'KeyChangeListener' on native side\n HMSManager.addKeyChangeListener({\n id: HMSConstants.DEFAULT_SDK_ID,\n keys: forKeys,\n uniqueId,\n })\n // Adding 'KeyChangeListener' fails on native side\n .catch((err: any) => {\n if (typeof cleanupHandler === 'function') {\n callback(err, null);\n cleanupHandler();\n cleanupHandler = null;\n }\n });\n\n this._addedKeyChangeListenerCount += 1;\n\n return {\n remove: () => {\n if (typeof cleanupHandler === 'function') {\n cleanupHandler();\n cleanupHandler = null;\n }\n },\n };\n }\n\n private _cleanup(subscriptionsToRemove: EmitterSubscription[]) {\n // Extracting `uniqueId` from first subscription (all subscriptions have same uniqueId)\n // this `uniqueId` will be used to remove 'KeyChangeListener' from native side\n const uniqueId =\n subscriptionsToRemove.length > 0\n ? (subscriptionsToRemove[0]!.context as { uniqueId: string }).uniqueId\n : null;\n\n // Removing required subscriptions from 'eventEmitter'\n subscriptionsToRemove.forEach((subscription) => subscription.remove());\n\n // Removing 'KeyChangeListener' from native side\n HMSManager.removeKeyChangeListener({\n id: HMSConstants.DEFAULT_SDK_ID,\n uniqueId,\n }).catch((error: any) => {\n const logger = getLogger();\n logger?.verbose(\n \"Error while removing key change listener, Listener didn't get registerred at first place or was already removed\",\n error\n );\n });\n\n this._addedKeyChangeListenerCount -= 1;\n\n if (this._addedKeyChangeListenerCount <= 0) {\n this._addedKeyChangeListenerCount = 0;\n if (\n this._deviceEventEmitterSubscription &&\n Object.getOwnPropertyNames(\n this._deviceEventEmitterSubscription\n ).includes('remove') &&\n typeof this._deviceEventEmitterSubscription.remove === 'function'\n ) {\n this._deviceEventEmitterSubscription.remove();\n } else {\n DeviceEventEmitter.removeListener(\n HMSUpdateListenerActions.ON_SESSION_STORE_CHANGED,\n this._deviceEventEmitterListener\n );\n }\n\n this._deviceEventEmitterSubscription = undefined;\n\n this._eventEmitter = undefined;\n }\n }\n\n private _deviceEventEmitterListener(data: {\n id: string;\n key: string;\n value: JsonValue;\n }) {\n // if id is different from default sdk_id, return early\n if (data.id !== HMSConstants.DEFAULT_SDK_ID) {\n return;\n }\n\n // emit event for the key\n getLogger()?.verbose('#Listener ON_SESSION_STORE_CHANGED event: ', data);\n\n this._eventEmitter?.emit(data.key, null, data);\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_hooks","_RCTHMSHLSPlayer","_types","_HMSEncoder","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_HMSHLSPlayer","url","style","containerStyle","enableStats","enableControls","ref","hmsHlsPlayerRef","useRef","aspectRatio","setAspectRatio","useState","useImperativeHandle","play","current","RCTHMSHLSPlayerViewManagerConfig","Commands","UIManager","dispatchViewManagerCommand","findNodeHandle","stop","undefined","pause","resume","seekForward","seconds","Error","seekBackward","seekToLivePosition","setVolume","level","handleHLSPlaybackEvent","nativeEvent","event","data","HMSHLSPlayerPlaybackEventTypes","ON_PLAYBACK_CUE_EVENT","transformedData","HMSEncoder","transformHMSHLSCueEventData","setHMSHLSPlayerCue","ON_PLAYBACK_FAILURE_EVENT","setHMSHLSPlayerPlaybackError","error","ON_PLAYBACK_RESOLUTION_CHANGE_EVENT","setHMSHLSPlayerResolution","width","height","isNaN","setHMSHLSPlayerPlaybackState","state","handleHLSStatsEvent","HMSHLSPlayerStatsEventTypes","ON_STATS_EVENT_ERROR","setHMSHLSPlayerStatsError","setHMSHLSPlayerStats","createElement","View","styles","container","playerWrapper","RCTHMSHLSPlayer","player","flex","onHmsHlsPlaybackEvent","onHmsHlsStatsEvent","HMSHLSPlayer","exports","React","forwardRef","StyleSheet","create","alignItems","justifyContent","backgroundColor"],"sources":["HMSHLSPlayer.tsx"],"sourcesContent":["import React, { useImperativeHandle, useRef, useState } from 'react';\nimport { View, StyleSheet, UIManager, findNodeHandle } from 'react-native';\nimport type { StyleProp, ViewStyle } from 'react-native';\n\nimport {\n setHMSHLSPlayerCue,\n setHMSHLSPlayerPlaybackError,\n setHMSHLSPlayerPlaybackState,\n setHMSHLSPlayerResolution,\n setHMSHLSPlayerStats,\n setHMSHLSPlayerStatsError,\n} from './hooks';\nimport {\n RCTHMSHLSPlayer,\n RCTHMSHLSPlayerViewManagerConfig,\n} from './RCTHMSHLSPlayer';\nimport type {\n HmsHlsPlaybackEventHandler,\n HmsHlsStatsEventHandler,\n RCTHMSHLSPlayerRef,\n} from './RCTHMSHLSPlayer';\nimport {\n HMSHLSPlayerPlaybackEventTypes,\n HMSHLSPlayerStatsEventTypes,\n} from '../../types';\nimport type { HMSHLSPlayerPlaybackCueEventData } from '../../types';\nimport { HMSEncoder } from '../../classes/HMSEncoder';\nimport type { HMSHLSPlayerPlaybackCue } from '../../stores/types';\n\nexport interface HMSHLSPlayerProps {\n url?: string;\n style?: StyleProp<ViewStyle>;\n containerStyle?: StyleProp<ViewStyle>;\n aspectRatio?: number;\n enableStats?: boolean;\n enableControls?: boolean;\n}\n\nexport interface HMSHLSPlayerRefProperties {\n play: (url?: string) => void;\n stop: () => void;\n pause: () => void;\n resume: () => void;\n seekForward: (seconds: number) => void;\n seekBackward: (seconds: number) => void;\n seekToLivePosition: () => void;\n setVolume: (level: number) => void;\n}\n\nconst _HMSHLSPlayer: React.ForwardRefRenderFunction<\n HMSHLSPlayerRefProperties,\n HMSHLSPlayerProps\n> = (\n { url = '', style, containerStyle, enableStats, enableControls = false },\n ref\n) => {\n const hmsHlsPlayerRef = useRef<RCTHMSHLSPlayerRef | null>(null);\n\n const [aspectRatio, setAspectRatio] = useState(16 / 9);\n\n useImperativeHandle(\n ref,\n () => ({\n play: (url?: string) => {\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.play\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.play,\n url ? [url] : ['']\n );\n }\n },\n stop: () => {\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.stop\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.stop,\n undefined\n );\n }\n },\n pause: () => {\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.pause\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.pause,\n undefined\n );\n }\n },\n resume: () => {\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.resume\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.resume,\n undefined\n );\n }\n },\n seekForward: (seconds: number) => {\n if (typeof seconds !== 'number') {\n throw new Error(\n seconds\n ? 'seconds must be a `number` type'\n : 'seconds was not provided'\n );\n }\n\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.seekForward\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.seekForward,\n [seconds]\n );\n }\n },\n seekBackward: (seconds: number) => {\n if (typeof seconds !== 'number') {\n throw new Error(\n seconds\n ? 'seconds must be a `number` type'\n : 'seconds was not provided'\n );\n }\n\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.seekBackward\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.seekBackward,\n [seconds]\n );\n }\n },\n seekToLivePosition: () => {\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.seekToLivePosition\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.seekToLivePosition,\n undefined\n );\n }\n },\n setVolume: (level: number) => {\n if (typeof level !== 'number') {\n throw new Error(\n level ? 'level must be a `number` type' : 'level was not provided'\n );\n }\n\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.setVolume\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.setVolume,\n [level]\n );\n }\n },\n }),\n []\n );\n\n // Handle HLS Playback events\n const handleHLSPlaybackEvent: HmsHlsPlaybackEventHandler = ({\n nativeEvent,\n }) => {\n const { event, data } = nativeEvent;\n\n if (event === HMSHLSPlayerPlaybackEventTypes.ON_PLAYBACK_CUE_EVENT) {\n const transformedData = HMSEncoder.transformHMSHLSCueEventData<\n HMSHLSPlayerPlaybackCueEventData,\n HMSHLSPlayerPlaybackCue\n >(data);\n setHMSHLSPlayerCue(transformedData);\n } else if (\n event === HMSHLSPlayerPlaybackEventTypes.ON_PLAYBACK_FAILURE_EVENT\n ) {\n setHMSHLSPlayerPlaybackError(data.error);\n } else if (\n event === HMSHLSPlayerPlaybackEventTypes.ON_PLAYBACK_RESOLUTION_CHANGE_EVENT\n ) {\n setHMSHLSPlayerResolution({...data});\n\n const aspectRatio = data.width / data.height;\n\n if (typeof aspectRatio === 'number' && !isNaN(aspectRatio)) {\n setAspectRatio(aspectRatio);\n }\n } else {\n setHMSHLSPlayerPlaybackState(data.state);\n }\n };\n\n // Handle HLS Stats events\n const handleHLSStatsEvent: HmsHlsStatsEventHandler = ({ nativeEvent }) => {\n const { event, data } = nativeEvent;\n\n if (event === HMSHLSPlayerStatsEventTypes.ON_STATS_EVENT_ERROR) {\n setHMSHLSPlayerStatsError(data);\n } else {\n setHMSHLSPlayerStats(data);\n }\n };\n\n return (\n <View style={[styles.container, containerStyle]}>\n <View style={[styles.playerWrapper, style]}>\n <RCTHMSHLSPlayer\n ref={hmsHlsPlayerRef}\n url={url}\n style={[\n styles.player,\n { aspectRatio: aspectRatio, flex: aspectRatio < 1 ? 1 : undefined },\n ]}\n enableStats={enableStats}\n enableControls={enableControls}\n onHmsHlsPlaybackEvent={handleHLSPlaybackEvent}\n onHmsHlsStatsEvent={handleHLSStatsEvent}\n />\n </View>\n </View>\n );\n};\n\nexport const HMSHLSPlayer = React.forwardRef<\n HMSHLSPlayerRefProperties,\n HMSHLSPlayerProps\n>(_HMSHLSPlayer);\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center',\n },\n playerWrapper: {\n backgroundColor: '#000000',\n alignItems: 'center',\n justifyContent: 'center',\n },\n player: {\n width: '100%',\n aspectRatio: 16 / 9,\n flex: 1,\n },\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_hooks","_RCTHMSHLSPlayer","_types","_HMSEncoder","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_HMSHLSPlayer","url","style","containerStyle","enableStats","enableControls","ref","hmsHlsPlayerRef","useRef","aspectRatio","setAspectRatio","useState","useImperativeHandle","play","current","RCTHMSHLSPlayerViewManagerConfig","Commands","UIManager","dispatchViewManagerCommand","findNodeHandle","stop","undefined","pause","resume","seekForward","seconds","Error","seekBackward","seekToLivePosition","setVolume","level","handleHLSPlaybackEvent","nativeEvent","event","data","HMSHLSPlayerPlaybackEventTypes","ON_PLAYBACK_CUE_EVENT","transformedData","HMSEncoder","transformHMSHLSCueEventData","setHMSHLSPlayerCue","ON_PLAYBACK_FAILURE_EVENT","setHMSHLSPlayerPlaybackError","error","ON_PLAYBACK_RESOLUTION_CHANGE_EVENT","setHMSHLSPlayerResolution","width","height","isNaN","setHMSHLSPlayerPlaybackState","state","handleHLSStatsEvent","HMSHLSPlayerStatsEventTypes","ON_STATS_EVENT_ERROR","setHMSHLSPlayerStatsError","setHMSHLSPlayerStats","createElement","View","styles","container","playerWrapper","RCTHMSHLSPlayer","player","flex","onHmsHlsPlaybackEvent","onHmsHlsStatsEvent","HMSHLSPlayer","exports","React","forwardRef","StyleSheet","create","alignItems","justifyContent","backgroundColor"],"sources":["HMSHLSPlayer.tsx"],"sourcesContent":["import React, { useImperativeHandle, useRef, useState } from 'react';\nimport { View, StyleSheet, UIManager, findNodeHandle } from 'react-native';\nimport type { StyleProp, ViewStyle } from 'react-native';\n\nimport {\n setHMSHLSPlayerCue,\n setHMSHLSPlayerPlaybackError,\n setHMSHLSPlayerPlaybackState,\n setHMSHLSPlayerResolution,\n setHMSHLSPlayerStats,\n setHMSHLSPlayerStatsError,\n} from './hooks';\nimport {\n RCTHMSHLSPlayer,\n RCTHMSHLSPlayerViewManagerConfig,\n} from './RCTHMSHLSPlayer';\nimport type {\n HmsHlsPlaybackEventHandler,\n HmsHlsStatsEventHandler,\n RCTHMSHLSPlayerRef,\n} from './RCTHMSHLSPlayer';\nimport {\n HMSHLSPlayerPlaybackEventTypes,\n HMSHLSPlayerStatsEventTypes,\n} from '../../types';\nimport type { HMSHLSPlayerPlaybackCueEventData } from '../../types';\nimport { HMSEncoder } from '../../classes/HMSEncoder';\nimport type { HMSHLSPlayerPlaybackCue } from '../../stores/types';\n\nexport interface HMSHLSPlayerProps {\n url?: string;\n style?: StyleProp<ViewStyle>;\n containerStyle?: StyleProp<ViewStyle>;\n aspectRatio?: number;\n enableStats?: boolean;\n enableControls?: boolean;\n}\n\nexport interface HMSHLSPlayerRefProperties {\n play: (url?: string) => void;\n stop: () => void;\n pause: () => void;\n resume: () => void;\n seekForward: (seconds: number) => void;\n seekBackward: (seconds: number) => void;\n seekToLivePosition: () => void;\n setVolume: (level: number) => void;\n}\n\nconst _HMSHLSPlayer: React.ForwardRefRenderFunction<\n HMSHLSPlayerRefProperties,\n HMSHLSPlayerProps\n> = (\n { url = '', style, containerStyle, enableStats, enableControls = false },\n ref\n) => {\n const hmsHlsPlayerRef = useRef<RCTHMSHLSPlayerRef | null>(null);\n\n const [aspectRatio, setAspectRatio] = useState(16 / 9);\n\n useImperativeHandle(\n ref,\n () => ({\n play: (url?: string) => {\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.play\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.play,\n url ? [url] : ['']\n );\n }\n },\n stop: () => {\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.stop\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.stop,\n undefined\n );\n }\n },\n pause: () => {\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.pause\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.pause,\n undefined\n );\n }\n },\n resume: () => {\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.resume\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.resume,\n undefined\n );\n }\n },\n seekForward: (seconds: number) => {\n if (typeof seconds !== 'number') {\n throw new Error(\n seconds\n ? 'seconds must be a `number` type'\n : 'seconds was not provided'\n );\n }\n\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.seekForward\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.seekForward,\n [seconds]\n );\n }\n },\n seekBackward: (seconds: number) => {\n if (typeof seconds !== 'number') {\n throw new Error(\n seconds\n ? 'seconds must be a `number` type'\n : 'seconds was not provided'\n );\n }\n\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.seekBackward\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.seekBackward,\n [seconds]\n );\n }\n },\n seekToLivePosition: () => {\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.seekToLivePosition\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.seekToLivePosition,\n undefined\n );\n }\n },\n setVolume: (level: number) => {\n if (typeof level !== 'number') {\n throw new Error(\n level ? 'level must be a `number` type' : 'level was not provided'\n );\n }\n\n if (\n hmsHlsPlayerRef.current &&\n RCTHMSHLSPlayerViewManagerConfig.Commands.setVolume\n ) {\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsHlsPlayerRef.current),\n RCTHMSHLSPlayerViewManagerConfig.Commands.setVolume,\n [level]\n );\n }\n },\n }),\n []\n );\n\n // Handle HLS Playback events\n const handleHLSPlaybackEvent: HmsHlsPlaybackEventHandler = ({\n nativeEvent,\n }) => {\n const { event, data } = nativeEvent;\n\n if (event === HMSHLSPlayerPlaybackEventTypes.ON_PLAYBACK_CUE_EVENT) {\n const transformedData = HMSEncoder.transformHMSHLSCueEventData<\n HMSHLSPlayerPlaybackCueEventData,\n HMSHLSPlayerPlaybackCue\n >(data);\n setHMSHLSPlayerCue(transformedData);\n } else if (\n event === HMSHLSPlayerPlaybackEventTypes.ON_PLAYBACK_FAILURE_EVENT\n ) {\n setHMSHLSPlayerPlaybackError(data.error);\n } else if (\n event ===\n HMSHLSPlayerPlaybackEventTypes.ON_PLAYBACK_RESOLUTION_CHANGE_EVENT\n ) {\n setHMSHLSPlayerResolution({ ...data });\n\n const aspectRatio = data.width / data.height;\n\n if (typeof aspectRatio === 'number' && !isNaN(aspectRatio)) {\n setAspectRatio(aspectRatio);\n }\n } else {\n setHMSHLSPlayerPlaybackState(data.state);\n }\n };\n\n // Handle HLS Stats events\n const handleHLSStatsEvent: HmsHlsStatsEventHandler = ({ nativeEvent }) => {\n const { event, data } = nativeEvent;\n\n if (event === HMSHLSPlayerStatsEventTypes.ON_STATS_EVENT_ERROR) {\n setHMSHLSPlayerStatsError(data);\n } else {\n setHMSHLSPlayerStats(data);\n }\n };\n\n return (\n <View style={[styles.container, containerStyle]}>\n <View style={[styles.playerWrapper, style]}>\n <RCTHMSHLSPlayer\n ref={hmsHlsPlayerRef}\n url={url}\n style={[\n styles.player,\n { aspectRatio: aspectRatio, flex: aspectRatio < 1 ? 1 : undefined },\n ]}\n enableStats={enableStats}\n enableControls={enableControls}\n onHmsHlsPlaybackEvent={handleHLSPlaybackEvent}\n onHmsHlsStatsEvent={handleHLSStatsEvent}\n />\n </View>\n </View>\n );\n};\n\nexport const HMSHLSPlayer = React.forwardRef<\n HMSHLSPlayerRefProperties,\n HMSHLSPlayerProps\n>(_HMSHLSPlayer);\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center',\n },\n playerWrapper: {\n backgroundColor: '#000000',\n alignItems: 'center',\n justifyContent: 'center',\n },\n player: {\n width: '100%',\n aspectRatio: 16 / 9,\n flex: 1,\n },\n});\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_shallow","_hlsPlayerStatsStore","_hmsStore","useHMSHLSPlayerPlaybackState","useHMSStore","state","playbackState","exports","useHMSHLSPlayerResolution","resolution","useHMSHLSPlayerStats","useHMSHLSPlayerStatsStore","stats","error","shallow","useHMSHLSPlayerStat","stat","useHMSHLSPlayerStatsError","callback","deps","useEffect","subscribe","data","useHMSHLSPlayerPlaybackError","useHMSHLSPlayerCue","cue","setHMSHLSPlayerPlaybackState","getState","setPlaybackState","setHMSHLSPlayerResolution","setResolution","setHMSHLSPlayerCue","setCue","setHMSHLSPlayerPlaybackError","setPlaybackError","setHMSHLSPlayerStats","changeStats","setHMSHLSPlayerStatsError","setError"],"sources":["hooks.ts"],"sourcesContent":["import { useEffect } from 'react';\nimport type { DependencyList } from 'react';\nimport { shallow } from 'zustand/shallow';\n\nimport { useHMSHLSPlayerStatsStore } from '../../stores/hls-player-stats-store';\nimport { useHMSStore } from '../../stores/hms-store';\nimport type { HMSHLSPlayerStatsUpdateEventData } from '../../types';\nimport type {\n HMSHLSPlayerCue,\n HMSHLSPlayerPlaybackError,\n HMSHLSPlayerStatsError,\n} from '../../stores/types';\n\n// use latest state (with component rerender)\n\nexport const useHMSHLSPlayerPlaybackState = () => {\n return useHMSStore((state) => state.playbackState);\n};\n\nexport const useHMSHLSPlayerResolution = () => {\n return useHMSStore((state) => state.resolution);\n};\n\nexport const useHMSHLSPlayerStats = () => {\n return useHMSHLSPlayerStatsStore(\n (state) => ({\n stats: state.stats,\n error: state.error,\n }),\n shallow\n );\n};\n\nexport const useHMSHLSPlayerStat = <\n T extends keyof HMSHLSPlayerStatsUpdateEventData,\n>(\n stat: T\n) => {\n return useHMSHLSPlayerStatsStore((state) => state.stats[stat]);\n};\n\n// // The distance of current playback position from the live edge of HLS stream\n// export const useIsHLSStreamLive = (liveOffsetMillis: number = 1000) => {\n// return useHMSHLSPlayerStatsStore((state) => state.stats.distanceFromLive < liveOffsetMillis);\n// }\n\n// get latest state (without component rerender)\n\nexport const useHMSHLSPlayerStatsError = (\n callback: (error: NonNullable<HMSHLSPlayerStatsError>) => void,\n deps: DependencyList\n) => {\n useEffect(() => {\n return useHMSHLSPlayerStatsStore.subscribe(\n (state) => state.error,\n (data) => {\n if (data) callback(data);\n }\n );\n }, deps);\n};\n\nexport const useHMSHLSPlayerPlaybackError = (\n callback: (error: NonNullable<HMSHLSPlayerPlaybackError>) => void,\n deps: DependencyList\n) => {\n useEffect(() => {\n return useHMSStore.subscribe(\n (state) => state.error,\n (data) => {\n if (data) callback(data);\n }\n );\n }, deps);\n};\n\nexport const useHMSHLSPlayerCue = (\n callback: (error: NonNullable<HMSHLSPlayerCue>) => void,\n deps: DependencyList\n) => {\n useEffect(() => {\n return useHMSStore.subscribe(\n (state) => state.cue,\n (data) => {\n if (data) callback(data);\n }\n );\n }, deps);\n};\n\n// state setters\n\nexport const setHMSHLSPlayerPlaybackState =\n useHMSStore.getState().setPlaybackState;\n\nexport const setHMSHLSPlayerResolution
|
|
1
|
+
{"version":3,"names":["_react","require","_shallow","_hlsPlayerStatsStore","_hmsStore","useHMSHLSPlayerPlaybackState","useHMSStore","state","playbackState","exports","useHMSHLSPlayerResolution","resolution","useHMSHLSPlayerStats","useHMSHLSPlayerStatsStore","stats","error","shallow","useHMSHLSPlayerStat","stat","useHMSHLSPlayerStatsError","callback","deps","useEffect","subscribe","data","useHMSHLSPlayerPlaybackError","useHMSHLSPlayerCue","cue","setHMSHLSPlayerPlaybackState","getState","setPlaybackState","setHMSHLSPlayerResolution","setResolution","setHMSHLSPlayerCue","setCue","setHMSHLSPlayerPlaybackError","setPlaybackError","setHMSHLSPlayerStats","changeStats","setHMSHLSPlayerStatsError","setError"],"sources":["hooks.ts"],"sourcesContent":["import { useEffect } from 'react';\nimport type { DependencyList } from 'react';\nimport { shallow } from 'zustand/shallow';\n\nimport { useHMSHLSPlayerStatsStore } from '../../stores/hls-player-stats-store';\nimport { useHMSStore } from '../../stores/hms-store';\nimport type { HMSHLSPlayerStatsUpdateEventData } from '../../types';\nimport type {\n HMSHLSPlayerCue,\n HMSHLSPlayerPlaybackError,\n HMSHLSPlayerStatsError,\n} from '../../stores/types';\n\n// use latest state (with component rerender)\n\nexport const useHMSHLSPlayerPlaybackState = () => {\n return useHMSStore((state) => state.playbackState);\n};\n\nexport const useHMSHLSPlayerResolution = () => {\n return useHMSStore((state) => state.resolution);\n};\n\nexport const useHMSHLSPlayerStats = () => {\n return useHMSHLSPlayerStatsStore(\n (state) => ({\n stats: state.stats,\n error: state.error,\n }),\n shallow\n );\n};\n\nexport const useHMSHLSPlayerStat = <\n T extends keyof HMSHLSPlayerStatsUpdateEventData,\n>(\n stat: T\n) => {\n return useHMSHLSPlayerStatsStore((state) => state.stats[stat]);\n};\n\n// // The distance of current playback position from the live edge of HLS stream\n// export const useIsHLSStreamLive = (liveOffsetMillis: number = 1000) => {\n// return useHMSHLSPlayerStatsStore((state) => state.stats.distanceFromLive < liveOffsetMillis);\n// }\n\n// get latest state (without component rerender)\n\nexport const useHMSHLSPlayerStatsError = (\n callback: (error: NonNullable<HMSHLSPlayerStatsError>) => void,\n deps: DependencyList\n) => {\n useEffect(() => {\n return useHMSHLSPlayerStatsStore.subscribe(\n (state) => state.error,\n (data) => {\n if (data) callback(data);\n }\n );\n }, deps);\n};\n\nexport const useHMSHLSPlayerPlaybackError = (\n callback: (error: NonNullable<HMSHLSPlayerPlaybackError>) => void,\n deps: DependencyList\n) => {\n useEffect(() => {\n return useHMSStore.subscribe(\n (state) => state.error,\n (data) => {\n if (data) callback(data);\n }\n );\n }, deps);\n};\n\nexport const useHMSHLSPlayerCue = (\n callback: (error: NonNullable<HMSHLSPlayerCue>) => void,\n deps: DependencyList\n) => {\n useEffect(() => {\n return useHMSStore.subscribe(\n (state) => state.cue,\n (data) => {\n if (data) callback(data);\n }\n );\n }, deps);\n};\n\n// state setters\n\nexport const setHMSHLSPlayerPlaybackState =\n useHMSStore.getState().setPlaybackState;\n\nexport const setHMSHLSPlayerResolution = useHMSStore.getState().setResolution;\n\nexport const setHMSHLSPlayerCue = useHMSStore.getState().setCue;\n\nexport const setHMSHLSPlayerPlaybackError =\n useHMSStore.getState().setPlaybackError;\n\nexport const setHMSHLSPlayerStats =\n useHMSHLSPlayerStatsStore.getState().changeStats;\n\nexport const setHMSHLSPlayerStatsError =\n useHMSHLSPlayerStatsStore.getState().setError;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_hmsStore","require","useHmsViewsResolutionsState","trackId","useHMSStore","state","hmsviewsResolutions","undefined","exports","setHmsViewsResolutionsState","getState","setHmsviewsResolutions"],"sources":["hmsviews.ts"],"sourcesContent":["import type { TrackId } from '../stores/types';\nimport { useHMSStore } from '../stores/hms-store';\n\n// use latest state (with component rerender)\n\nexport const useHmsViewsResolutionsState = (trackId?: TrackId) => {\n return useHMSStore((state)
|
|
1
|
+
{"version":3,"names":["_hmsStore","require","useHmsViewsResolutionsState","trackId","useHMSStore","state","hmsviewsResolutions","undefined","exports","setHmsViewsResolutionsState","getState","setHmsviewsResolutions"],"sources":["hmsviews.ts"],"sourcesContent":["import type { TrackId } from '../stores/types';\nimport { useHMSStore } from '../stores/hms-store';\n\n// use latest state (with component rerender)\n\nexport const useHmsViewsResolutionsState = (trackId?: TrackId) => {\n return useHMSStore((state) =>\n trackId ? state.hmsviewsResolutions[trackId] : undefined\n );\n};\n\n// state setters\n\nexport const setHmsViewsResolutionsState =\n useHMSStore.getState().setHmsviewsResolutions;\n"],"mappings":";;;;;;AACA,IAAAA,SAAA,GAAAC,OAAA;AAEA;;AAEO,MAAMC,2BAA2B,GAAIC,OAAiB,IAAK;EAChE,OAAO,IAAAC,qBAAW,EAAEC,KAAK,IACvBF,OAAO,GAAGE,KAAK,CAACC,mBAAmB,CAACH,OAAO,CAAC,GAAGI,SACjD,CAAC;AACH,CAAC;;AAED;AAAAC,OAAA,CAAAN,2BAAA,GAAAA,2BAAA;AAEO,MAAMO,2BAA2B,GAAAD,OAAA,CAAAC,2BAAA,GACtCL,qBAAW,CAACM,QAAQ,CAAC,CAAC,CAACC,sBAAsB"}
|