@100mslive/react-native-hms 1.7.2 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/src/main/java/com/reactnativehmssdk/HMSAudioshareActivity.kt +1 -0
- package/android/src/main/java/com/reactnativehmssdk/HMSDecoder.kt +28 -10
- package/android/src/main/java/com/reactnativehmssdk/HMSHLSPlayer.kt +113 -68
- package/android/src/main/java/com/reactnativehmssdk/HMSHLSPlayerManager.kt +17 -4
- package/android/src/main/java/com/reactnativehmssdk/HMSHelper.kt +34 -18
- package/android/src/main/java/com/reactnativehmssdk/HMSManager.kt +363 -159
- package/android/src/main/java/com/reactnativehmssdk/HMSRNSDK.kt +367 -151
- package/android/src/main/java/com/reactnativehmssdk/HMSSDKViewManager.kt +26 -7
- package/android/src/main/java/com/reactnativehmssdk/HMSView.kt +32 -12
- package/android/src/main/java/com/reactnativehmssdk/HmsScreenshareActivity.kt +1 -0
- package/android/src/main/java/com/reactnativehmssdk/PipActionReceiver.kt +10 -6
- package/android/src/main/res/layout/player_view.xml +3 -2
- package/ios/HMSDecoder.swift +2 -2
- package/ios/HMSHLSPlayerManager.swift +18 -2
- package/ios/HMSManager.m +227 -70
- package/ios/HMSManager.swift +2 -2
- package/ios/HMSRNSDK.swift +67 -126
- package/ios/HMSView.swift +17 -3
- package/lib/commonjs/classes/HMSEncoder.js +6 -0
- package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
- package/lib/commonjs/classes/HMSSDK.js +40 -26
- package/lib/commonjs/classes/HMSSDK.js.map +1 -1
- package/lib/commonjs/components/HMSHLSPlayer/HMSHLSPlayer.js +10 -5
- package/lib/commonjs/components/HMSHLSPlayer/HMSHLSPlayer.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/types.js +1 -0
- package/lib/commonjs/types.js.map +1 -1
- package/lib/module/classes/HMSEncoder.js +6 -0
- package/lib/module/classes/HMSEncoder.js.map +1 -1
- package/lib/module/classes/HMSSDK.js +40 -26
- package/lib/module/classes/HMSSDK.js.map +1 -1
- package/lib/module/components/HMSHLSPlayer/HMSHLSPlayer.js +11 -6
- package/lib/module/components/HMSHLSPlayer/HMSHLSPlayer.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/types.js +1 -0
- package/lib/module/types.js.map +1 -1
- package/lib/typescript/classes/HMSEncoder.d.ts +1 -0
- package/lib/typescript/classes/HMSSDK.d.ts +23 -12
- package/lib/typescript/index.d.ts +1 -1
- package/lib/typescript/types.d.ts +3 -1
- package/package.json +1 -1
- package/sdk-versions.json +2 -2
- package/src/classes/HMSEncoder.ts +9 -0
- package/src/classes/HMSSDK.tsx +48 -24
- package/src/components/HMSHLSPlayer/HMSHLSPlayer.tsx +15 -13
- package/src/index.ts +4 -1
- package/src/types.ts +2 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useImperativeHandle, useRef } from 'react';
|
|
1
|
+
import React, { useImperativeHandle, useRef, useState } from 'react';
|
|
2
2
|
import { View, StyleSheet, UIManager, findNodeHandle } from 'react-native';
|
|
3
3
|
import { setHMSHLSPlayerCue, setHMSHLSPlayerPlaybackError, setHMSHLSPlayerPlaybackState, setHMSHLSPlayerStats, setHMSHLSPlayerStatsError } from './hooks';
|
|
4
4
|
import { RCTHMSHLSPlayer, RCTHMSHLSPlayerViewManagerConfig } from './RCTHMSHLSPlayer';
|
|
@@ -9,11 +9,11 @@ const _HMSHLSPlayer = (_ref, ref) => {
|
|
|
9
9
|
url = '',
|
|
10
10
|
style,
|
|
11
11
|
containerStyle,
|
|
12
|
-
aspectRatio = 9 / 16,
|
|
13
12
|
enableStats,
|
|
14
13
|
enableControls = false
|
|
15
14
|
} = _ref;
|
|
16
15
|
const hmsHlsPlayerRef = useRef(null);
|
|
16
|
+
const [aspectRatio, setAspectRatio] = useState(16 / 9);
|
|
17
17
|
useImperativeHandle(ref, () => ({
|
|
18
18
|
play: url => {
|
|
19
19
|
if (hmsHlsPlayerRef.current && RCTHMSHLSPlayerViewManagerConfig.Commands.play) {
|
|
@@ -82,6 +82,11 @@ const _HMSHLSPlayer = (_ref, ref) => {
|
|
|
82
82
|
setHMSHLSPlayerPlaybackError(data.error);
|
|
83
83
|
} else {
|
|
84
84
|
setHMSHLSPlayerPlaybackState(data.state);
|
|
85
|
+
if (data.state === 'onVideoSizeChanged') {
|
|
86
|
+
if (typeof data.aspectRatio === 'number') {
|
|
87
|
+
setAspectRatio(data.aspectRatio);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
85
90
|
}
|
|
86
91
|
};
|
|
87
92
|
|
|
@@ -108,7 +113,8 @@ const _HMSHLSPlayer = (_ref, ref) => {
|
|
|
108
113
|
ref: hmsHlsPlayerRef,
|
|
109
114
|
url: url,
|
|
110
115
|
style: [styles.player, {
|
|
111
|
-
aspectRatio
|
|
116
|
+
aspectRatio: aspectRatio,
|
|
117
|
+
flex: aspectRatio < 1 ? 1 : undefined
|
|
112
118
|
}],
|
|
113
119
|
enableStats: enableStats,
|
|
114
120
|
enableControls: enableControls,
|
|
@@ -130,9 +136,8 @@ const styles = StyleSheet.create({
|
|
|
130
136
|
},
|
|
131
137
|
player: {
|
|
132
138
|
width: '100%',
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
aspectRatio: 9 / 16
|
|
139
|
+
aspectRatio: 16 / 9,
|
|
140
|
+
flex: 1
|
|
136
141
|
}
|
|
137
142
|
});
|
|
138
143
|
//# sourceMappingURL=HMSHLSPlayer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useImperativeHandle","useRef","View","StyleSheet","UIManager","findNodeHandle","setHMSHLSPlayerCue","setHMSHLSPlayerPlaybackError","setHMSHLSPlayerPlaybackState","setHMSHLSPlayerStats","setHMSHLSPlayerStatsError","RCTHMSHLSPlayer","RCTHMSHLSPlayerViewManagerConfig","HMSHLSPlayerPlaybackEventTypes","HMSHLSPlayerStatsEventTypes","HMSEncoder","_HMSHLSPlayer","_ref","ref","url","style","containerStyle","aspectRatio","enableStats","enableControls","hmsHlsPlayerRef","play","current","Commands","dispatchViewManagerCommand","stop","undefined","pause","resume","seekForward","seconds","Error","seekBackward","seekToLivePosition","setVolume","level","handleHLSPlaybackEvent","_ref2","nativeEvent","event","data","ON_PLAYBACK_CUE_EVENT","transformedData","transformHMSHLSCueEventData","ON_PLAYBACK_FAILURE_EVENT","error","state","handleHLSStatsEvent","_ref3","ON_STATS_EVENT_ERROR","createElement","styles","container","playerWrapper","player","onHmsHlsPlaybackEvent","onHmsHlsStatsEvent","HMSHLSPlayer","forwardRef","create","flex","alignItems","justifyContent","backgroundColor","width","maxHeight","maxWidth"],"sources":["HMSHLSPlayer.tsx"],"sourcesContent":["import React, { useImperativeHandle, useRef } 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 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 {\n url = '',\n style,\n containerStyle,\n aspectRatio = 9 / 16,\n enableStats,\n enableControls = false,\n },\n ref\n) => {\n const hmsHlsPlayerRef = useRef<RCTHMSHLSPlayerRef | null>(null);\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 {\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={[styles.player, { aspectRatio }]}\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 maxHeight: '100%',\n maxWidth: '100%',\n aspectRatio: 9 / 16,\n },\n});\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,mBAAmB,EAAEC,MAAM,QAAQ,OAAO;AAC1D,SAASC,IAAI,EAAEC,UAAU,EAAEC,SAAS,EAAEC,cAAc,QAAQ,cAAc;AAG1E,SACEC,kBAAkB,EAClBC,4BAA4B,EAC5BC,4BAA4B,EAC5BC,oBAAoB,EACpBC,yBAAyB,QACpB,SAAS;AAChB,SACEC,eAAe,EACfC,gCAAgC,QAC3B,mBAAmB;AAM1B,SACEC,8BAA8B,EAC9BC,2BAA2B,QACtB,aAAa;AAEpB,SAASC,UAAU,QAAQ,0BAA0B;AAuBrD,MAAMC,aAGL,GAAGA,CAAAC,IAAA,EASFC,GAAG,KACA;EAAA,IATH;IACEC,GAAG,GAAG,EAAE;IACRC,KAAK;IACLC,cAAc;IACdC,WAAW,GAAG,CAAC,GAAG,EAAE;IACpBC,WAAW;IACXC,cAAc,GAAG;EACnB,CAAC,GAAAP,IAAA;EAGD,MAAMQ,eAAe,GAAGxB,MAAM,CAA4B,IAAI,CAAC;EAE/DD,mBAAmB,CACjBkB,GAAG,EACH,OAAO;IACLQ,IAAI,EAAGP,GAAY,IAAK;MACtB,IACEM,eAAe,CAACE,OAAO,IACvBf,gCAAgC,CAACgB,QAAQ,CAACF,IAAI,EAC9C;QACAtB,SAAS,CAACyB,0BAA0B,CAClCxB,cAAc,CAACoB,eAAe,CAACE,OAAO,CAAC,EACvCf,gCAAgC,CAACgB,QAAQ,CAACF,IAAI,EAC9CP,GAAG,GAAG,CAACA,GAAG,CAAC,GAAG,CAAC,EAAE,CACnB,CAAC;MACH;IACF,CAAC;IACDW,IAAI,EAAEA,CAAA,KAAM;MACV,IACEL,eAAe,CAACE,OAAO,IACvBf,gCAAgC,CAACgB,QAAQ,CAACE,IAAI,EAC9C;QACA1B,SAAS,CAACyB,0BAA0B,CAClCxB,cAAc,CAACoB,eAAe,CAACE,OAAO,CAAC,EACvCf,gCAAgC,CAACgB,QAAQ,CAACE,IAAI,EAC9CC,SACF,CAAC;MACH;IACF,CAAC;IACDC,KAAK,EAAEA,CAAA,KAAM;MACX,IACEP,eAAe,CAACE,OAAO,IACvBf,gCAAgC,CAACgB,QAAQ,CAACI,KAAK,EAC/C;QACA5B,SAAS,CAACyB,0BAA0B,CAClCxB,cAAc,CAACoB,eAAe,CAACE,OAAO,CAAC,EACvCf,gCAAgC,CAACgB,QAAQ,CAACI,KAAK,EAC/CD,SACF,CAAC;MACH;IACF,CAAC;IACDE,MAAM,EAAEA,CAAA,KAAM;MACZ,IACER,eAAe,CAACE,OAAO,IACvBf,gCAAgC,CAACgB,QAAQ,CAACK,MAAM,EAChD;QACA7B,SAAS,CAACyB,0BAA0B,CAClCxB,cAAc,CAACoB,eAAe,CAACE,OAAO,CAAC,EACvCf,gCAAgC,CAACgB,QAAQ,CAACK,MAAM,EAChDF,SACF,CAAC;MACH;IACF,CAAC;IACDG,WAAW,EAAGC,OAAe,IAAK;MAChC,IAAI,OAAOA,OAAO,KAAK,QAAQ,EAAE;QAC/B,MAAM,IAAIC,KAAK,CACbD,OAAO,GACH,iCAAiC,GACjC,0BACN,CAAC;MACH;MAEA,IACEV,eAAe,CAACE,OAAO,IACvBf,gCAAgC,CAACgB,QAAQ,CAACM,WAAW,EACrD;QACA9B,SAAS,CAACyB,0BAA0B,CAClCxB,cAAc,CAACoB,eAAe,CAACE,OAAO,CAAC,EACvCf,gCAAgC,CAACgB,QAAQ,CAACM,WAAW,EACrD,CAACC,OAAO,CACV,CAAC;MACH;IACF,CAAC;IACDE,YAAY,EAAGF,OAAe,IAAK;MACjC,IAAI,OAAOA,OAAO,KAAK,QAAQ,EAAE;QAC/B,MAAM,IAAIC,KAAK,CACbD,OAAO,GACH,iCAAiC,GACjC,0BACN,CAAC;MACH;MAEA,IACEV,eAAe,CAACE,OAAO,IACvBf,gCAAgC,CAACgB,QAAQ,CAACS,YAAY,EACtD;QACAjC,SAAS,CAACyB,0BAA0B,CAClCxB,cAAc,CAACoB,eAAe,CAACE,OAAO,CAAC,EACvCf,gCAAgC,CAACgB,QAAQ,CAACS,YAAY,EACtD,CAACF,OAAO,CACV,CAAC;MACH;IACF,CAAC;IACDG,kBAAkB,EAAEA,CAAA,KAAM;MACxB,IACEb,eAAe,CAACE,OAAO,IACvBf,gCAAgC,CAACgB,QAAQ,CAACU,kBAAkB,EAC5D;QACAlC,SAAS,CAACyB,0BAA0B,CAClCxB,cAAc,CAACoB,eAAe,CAACE,OAAO,CAAC,EACvCf,gCAAgC,CAACgB,QAAQ,CAACU,kBAAkB,EAC5DP,SACF,CAAC;MACH;IACF,CAAC;IACDQ,SAAS,EAAGC,KAAa,IAAK;MAC5B,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;QAC7B,MAAM,IAAIJ,KAAK,CACbI,KAAK,GAAG,+BAA+B,GAAG,wBAC5C,CAAC;MACH;MAEA,IACEf,eAAe,CAACE,OAAO,IACvBf,gCAAgC,CAACgB,QAAQ,CAACW,SAAS,EACnD;QACAnC,SAAS,CAACyB,0BAA0B,CAClCxB,cAAc,CAACoB,eAAe,CAACE,OAAO,CAAC,EACvCf,gCAAgC,CAACgB,QAAQ,CAACW,SAAS,EACnD,CAACC,KAAK,CACR,CAAC;MACH;IACF;EACF,CAAC,CAAC,EACF,EACF,CAAC;;EAED;EACA,MAAMC,sBAAkD,GAAGC,KAAA,IAErD;IAAA,IAFsD;MAC1DC;IACF,CAAC,GAAAD,KAAA;IACC,MAAM;MAAEE,KAAK;MAAEC;IAAK,CAAC,GAAGF,WAAW;IAEnC,IAAIC,KAAK,KAAK/B,8BAA8B,CAACiC,qBAAqB,EAAE;MAClE,MAAMC,eAAe,GAAGhC,UAAU,CAACiC,2BAA2B,CAG5DH,IAAI,CAAC;MACPvC,kBAAkB,CAACyC,eAAe,CAAC;IACrC,CAAC,MAAM,IACLH,KAAK,KAAK/B,8BAA8B,CAACoC,yBAAyB,EAClE;MACA1C,4BAA4B,CAACsC,IAAI,CAACK,KAAK,CAAC;IAC1C,CAAC,MAAM;MACL1C,4BAA4B,CAACqC,IAAI,CAACM,KAAK,CAAC;IAC1C;EACF,CAAC;;EAED;EACA,MAAMC,mBAA4C,GAAGC,KAAA,IAAqB;IAAA,IAApB;MAAEV;IAAY,CAAC,GAAAU,KAAA;IACnE,MAAM;MAAET,KAAK;MAAEC;IAAK,CAAC,GAAGF,WAAW;IAEnC,IAAIC,KAAK,KAAK9B,2BAA2B,CAACwC,oBAAoB,EAAE;MAC9D5C,yBAAyB,CAACmC,IAAI,CAAC;IACjC,CAAC,MAAM;MACLpC,oBAAoB,CAACoC,IAAI,CAAC;IAC5B;EACF,CAAC;EAED,oBACE9C,KAAA,CAAAwD,aAAA,CAACrD,IAAI;IAACkB,KAAK,EAAE,CAACoC,MAAM,CAACC,SAAS,EAAEpC,cAAc;EAAE,gBAC9CtB,KAAA,CAAAwD,aAAA,CAACrD,IAAI;IAACkB,KAAK,EAAE,CAACoC,MAAM,CAACE,aAAa,EAAEtC,KAAK;EAAE,gBACzCrB,KAAA,CAAAwD,aAAA,CAAC5C,eAAe;IACdO,GAAG,EAAEO,eAAgB;IACrBN,GAAG,EAAEA,GAAI;IACTC,KAAK,EAAE,CAACoC,MAAM,CAACG,MAAM,EAAE;MAAErC;IAAY,CAAC,CAAE;IACxCC,WAAW,EAAEA,WAAY;IACzBC,cAAc,EAAEA,cAAe;IAC/BoC,qBAAqB,EAAEnB,sBAAuB;IAC9CoB,kBAAkB,EAAET;EAAoB,CACzC,CACG,CACF,CAAC;AAEX,CAAC;AAED,OAAO,MAAMU,YAAY,gBAAG/D,KAAK,CAACgE,UAAU,CAG1C/C,aAAa,CAAC;AAEhB,MAAMwC,MAAM,GAAGrD,UAAU,CAAC6D,MAAM,CAAC;EAC/BP,SAAS,EAAE;IACTQ,IAAI,EAAE,CAAC;IACPC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDT,aAAa,EAAE;IACbU,eAAe,EAAE,SAAS;IAC1BF,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDR,MAAM,EAAE;IACNU,KAAK,EAAE,MAAM;IACbC,SAAS,EAAE,MAAM;IACjBC,QAAQ,EAAE,MAAM;IAChBjD,WAAW,EAAE,CAAC,GAAG;EACnB;AACF,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"names":["React","useImperativeHandle","useRef","useState","View","StyleSheet","UIManager","findNodeHandle","setHMSHLSPlayerCue","setHMSHLSPlayerPlaybackError","setHMSHLSPlayerPlaybackState","setHMSHLSPlayerStats","setHMSHLSPlayerStatsError","RCTHMSHLSPlayer","RCTHMSHLSPlayerViewManagerConfig","HMSHLSPlayerPlaybackEventTypes","HMSHLSPlayerStatsEventTypes","HMSEncoder","_HMSHLSPlayer","_ref","ref","url","style","containerStyle","enableStats","enableControls","hmsHlsPlayerRef","aspectRatio","setAspectRatio","play","current","Commands","dispatchViewManagerCommand","stop","undefined","pause","resume","seekForward","seconds","Error","seekBackward","seekToLivePosition","setVolume","level","handleHLSPlaybackEvent","_ref2","nativeEvent","event","data","ON_PLAYBACK_CUE_EVENT","transformedData","transformHMSHLSCueEventData","ON_PLAYBACK_FAILURE_EVENT","error","state","handleHLSStatsEvent","_ref3","ON_STATS_EVENT_ERROR","createElement","styles","container","playerWrapper","player","flex","onHmsHlsPlaybackEvent","onHmsHlsStatsEvent","HMSHLSPlayer","forwardRef","create","alignItems","justifyContent","backgroundColor","width"],"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 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 {\n setHMSHLSPlayerPlaybackState(data.state);\n if (data.state === 'onVideoSizeChanged') {\n if (typeof data.aspectRatio === 'number') {\n setAspectRatio(data.aspectRatio);\n }\n }\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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"}
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["HMSSDK","HmsManager","default","HMSManagerModule"],"sources":["index.ts"],"sourcesContent":["export * from './classes/HMSConfig';\nexport * from './classes/HMSUpdateListenerActions';\nexport * from './classes/HMSMessage';\nexport * from './classes/HMSVideoTrackSettings';\nexport * from './classes/HMSVideoTrack';\nexport * from './classes/HMSVideoSettings';\nexport * from './classes/HMSVideoCodec';\nexport * from './classes/HMSTrackSettings';\nexport * from './classes/HMSTrack';\nexport * from './classes/HMSTrackType';\nexport * from './classes/HMSTrackSource';\nexport * from './classes/HMSSubscribeSettings';\nexport * from './classes/HMSSimulcastSettings';\nexport * from './classes/HMSSimulcastLayerSettings';\nexport * from './classes/HMSSDK';\nexport * from './classes/HMSRoom';\nexport * from './classes/HMSRoleChangeRequest';\nexport * from './classes/HMSRole';\nexport * from './classes/HMSRemoteVideoTrack';\nexport * from './classes/HMSRemotePeer';\nexport * from './classes/HMSRemoteAudioTrack';\nexport * from './classes/HMSPublishSettings';\nexport * from './classes/HMSPermissions';\nexport * from './classes/HMSPeer';\nexport * from './classes/HMSLocalVideoTrack';\nexport * from './classes/HMSLocalPeer';\nexport * from './classes/HMSLocalAudioTrack';\nexport * from './classes/HMSHelper';\nexport * from './classes/HMSEncoder';\nexport * from './classes/HMSAudioTrackSettings';\nexport * from './classes/HMSAudioTrack';\nexport * from './classes/HMSAudioSettings';\nexport * from './classes/HMSAudioCodec';\nexport * from './classes/HMSPeerUpdate';\nexport * from './classes/HMSRoomUpdate';\nexport * from './classes/HMSTrackUpdate';\nexport * from './classes/HMSLogger';\nexport * from './classes/HMSLogLevel';\nexport * from './classes/HMSVideoViewMode';\nexport * from './classes/HMSChangeTrackStateRequest';\nexport * from './classes/HMSSpeaker';\nexport * from './classes/HMSCameraFacing';\nexport * from './classes/HMSException';\nexport * from './classes/HMSRtmpStreamingState';\nexport * from './classes/HMSServerRecordingState';\nexport * from './classes/HMSBrowserRecordingState';\nexport * from './classes/HMSRTMPConfig';\nexport * from './classes/HMSHLSConfig';\nexport * from './classes/HMSHLSMeetingURLVariant';\nexport * from './classes/HMSHLSVariant';\nexport * from './classes/HMSHLSStreamingState';\nexport * from './classes/HMSVideoResolution';\nexport * from './classes/HMSLocalAudioStats';\nexport * from './classes/HMSLocalVideoStats';\nexport * from './classes/HMSRTCStats';\nexport * from './classes/HMSRTCStatsReport';\nexport * from './classes/HMSRemoteAudioStats';\nexport * from './classes/HMSRemoteVideoStats';\nexport * from './classes/HMSHLSRecordingConfig';\nexport * from './classes/HMSHLSRecordingState';\nexport * from './classes/HMSMessageRecipient';\nexport * from './classes/HMSMessageRecipientType';\nexport * from './classes/HMSNetworkQuality';\nexport * from './classes/HMSRtmpVideoResolution';\nexport * from './classes/HMSAudioDevice';\nexport * from './classes/HMSAudioMode';\nexport * from './classes/HMSAudioMixingMode';\nexport * from './classes/HMSAudioNode';\nexport * from './classes/HMSMicNode';\nexport * from './classes/HMSScreenBroadcastAudioReceiverNode';\nexport * from './classes/HMSAudioFilePlayerNode';\nexport * from './classes/HMSAudioMixerSource';\nexport * from './classes/HMSTrackSettingsInitState';\nexport * from './classes/HMSLogSettings';\nexport * from './classes/HMSLogAlarmManager';\nexport * from './classes/HMSPIPListenerActions';\nexport * from './classes/HMSLayer';\nexport * from './classes/HMSSimulcastLayerDefinition';\nexport * from './classes/HMSQualityLimitationReasons';\nexport * from './classes/HMSQualityLimitationReason';\nexport * from './classes/HMSCameraControl';\nexport * from './classes/HMSIOSAudioMode';\nexport type {\n HMSSessionStore,\n HMSSessionStoreValue,\n} from './classes/HMSSessionStore';\nexport type {
|
|
1
|
+
{"version":3,"names":["HMSSDK","HmsManager","default","HMSManagerModule"],"sources":["index.ts"],"sourcesContent":["export * from './classes/HMSConfig';\nexport * from './classes/HMSUpdateListenerActions';\nexport * from './classes/HMSMessage';\nexport * from './classes/HMSVideoTrackSettings';\nexport * from './classes/HMSVideoTrack';\nexport * from './classes/HMSVideoSettings';\nexport * from './classes/HMSVideoCodec';\nexport * from './classes/HMSTrackSettings';\nexport * from './classes/HMSTrack';\nexport * from './classes/HMSTrackType';\nexport * from './classes/HMSTrackSource';\nexport * from './classes/HMSSubscribeSettings';\nexport * from './classes/HMSSimulcastSettings';\nexport * from './classes/HMSSimulcastLayerSettings';\nexport * from './classes/HMSSDK';\nexport * from './classes/HMSRoom';\nexport * from './classes/HMSRoleChangeRequest';\nexport * from './classes/HMSRole';\nexport * from './classes/HMSRemoteVideoTrack';\nexport * from './classes/HMSRemotePeer';\nexport * from './classes/HMSRemoteAudioTrack';\nexport * from './classes/HMSPublishSettings';\nexport * from './classes/HMSPermissions';\nexport * from './classes/HMSPeer';\nexport * from './classes/HMSLocalVideoTrack';\nexport * from './classes/HMSLocalPeer';\nexport * from './classes/HMSLocalAudioTrack';\nexport * from './classes/HMSHelper';\nexport * from './classes/HMSEncoder';\nexport * from './classes/HMSAudioTrackSettings';\nexport * from './classes/HMSAudioTrack';\nexport * from './classes/HMSAudioSettings';\nexport * from './classes/HMSAudioCodec';\nexport * from './classes/HMSPeerUpdate';\nexport * from './classes/HMSRoomUpdate';\nexport * from './classes/HMSTrackUpdate';\nexport * from './classes/HMSLogger';\nexport * from './classes/HMSLogLevel';\nexport * from './classes/HMSVideoViewMode';\nexport * from './classes/HMSChangeTrackStateRequest';\nexport * from './classes/HMSSpeaker';\nexport * from './classes/HMSCameraFacing';\nexport * from './classes/HMSException';\nexport * from './classes/HMSRtmpStreamingState';\nexport * from './classes/HMSServerRecordingState';\nexport * from './classes/HMSBrowserRecordingState';\nexport * from './classes/HMSRTMPConfig';\nexport * from './classes/HMSHLSConfig';\nexport * from './classes/HMSHLSMeetingURLVariant';\nexport * from './classes/HMSHLSVariant';\nexport * from './classes/HMSHLSStreamingState';\nexport * from './classes/HMSVideoResolution';\nexport * from './classes/HMSLocalAudioStats';\nexport * from './classes/HMSLocalVideoStats';\nexport * from './classes/HMSRTCStats';\nexport * from './classes/HMSRTCStatsReport';\nexport * from './classes/HMSRemoteAudioStats';\nexport * from './classes/HMSRemoteVideoStats';\nexport * from './classes/HMSHLSRecordingConfig';\nexport * from './classes/HMSHLSRecordingState';\nexport * from './classes/HMSMessageRecipient';\nexport * from './classes/HMSMessageRecipientType';\nexport * from './classes/HMSNetworkQuality';\nexport * from './classes/HMSRtmpVideoResolution';\nexport * from './classes/HMSAudioDevice';\nexport * from './classes/HMSAudioMode';\nexport * from './classes/HMSAudioMixingMode';\nexport * from './classes/HMSAudioNode';\nexport * from './classes/HMSMicNode';\nexport * from './classes/HMSScreenBroadcastAudioReceiverNode';\nexport * from './classes/HMSAudioFilePlayerNode';\nexport * from './classes/HMSAudioMixerSource';\nexport * from './classes/HMSTrackSettingsInitState';\nexport * from './classes/HMSLogSettings';\nexport * from './classes/HMSLogAlarmManager';\nexport * from './classes/HMSPIPListenerActions';\nexport * from './classes/HMSLayer';\nexport * from './classes/HMSSimulcastLayerDefinition';\nexport * from './classes/HMSQualityLimitationReasons';\nexport * from './classes/HMSQualityLimitationReason';\nexport * from './classes/HMSCameraControl';\nexport * from './classes/HMSIOSAudioMode';\nexport type {\n HMSSessionStore,\n HMSSessionStoreValue,\n} from './classes/HMSSessionStore';\nexport type {\n HmsViewComponent as HMSView,\n HmsComponentProps as HMSViewProps,\n} from './classes/HmsView';\n\nimport { HMSSDK as HmsManager } from './classes/HMSSDK';\n\n// 100ms React Native Native Module\nexport { default as HMSManagerModule } from './classes/HMSManagerModule';\n\n// 100ms Components\nexport * from './components/HMSHLSPlayer';\n\n// 100ms Hooks\nexport * from './hooks/useHMSPeerUpdates';\n\n// 100ms types\nexport * from './types';\nexport * from './stores/types';\n\nexport default HmsManager;\n"],"mappings":"AAAA,cAAc,qBAAqB;AACnC,cAAc,oCAAoC;AAClD,cAAc,sBAAsB;AACpC,cAAc,iCAAiC;AAC/C,cAAc,yBAAyB;AACvC,cAAc,4BAA4B;AAC1C,cAAc,yBAAyB;AACvC,cAAc,4BAA4B;AAC1C,cAAc,oBAAoB;AAClC,cAAc,wBAAwB;AACtC,cAAc,0BAA0B;AACxC,cAAc,gCAAgC;AAC9C,cAAc,gCAAgC;AAC9C,cAAc,qCAAqC;AACnD,cAAc,kBAAkB;AAChC,cAAc,mBAAmB;AACjC,cAAc,gCAAgC;AAC9C,cAAc,mBAAmB;AACjC,cAAc,+BAA+B;AAC7C,cAAc,yBAAyB;AACvC,cAAc,+BAA+B;AAC7C,cAAc,8BAA8B;AAC5C,cAAc,0BAA0B;AACxC,cAAc,mBAAmB;AACjC,cAAc,8BAA8B;AAC5C,cAAc,wBAAwB;AACtC,cAAc,8BAA8B;AAC5C,cAAc,qBAAqB;AACnC,cAAc,sBAAsB;AACpC,cAAc,iCAAiC;AAC/C,cAAc,yBAAyB;AACvC,cAAc,4BAA4B;AAC1C,cAAc,yBAAyB;AACvC,cAAc,yBAAyB;AACvC,cAAc,yBAAyB;AACvC,cAAc,0BAA0B;AACxC,cAAc,qBAAqB;AACnC,cAAc,uBAAuB;AACrC,cAAc,4BAA4B;AAC1C,cAAc,sCAAsC;AACpD,cAAc,sBAAsB;AACpC,cAAc,2BAA2B;AACzC,cAAc,wBAAwB;AACtC,cAAc,iCAAiC;AAC/C,cAAc,mCAAmC;AACjD,cAAc,oCAAoC;AAClD,cAAc,yBAAyB;AACvC,cAAc,wBAAwB;AACtC,cAAc,mCAAmC;AACjD,cAAc,yBAAyB;AACvC,cAAc,gCAAgC;AAC9C,cAAc,8BAA8B;AAC5C,cAAc,8BAA8B;AAC5C,cAAc,8BAA8B;AAC5C,cAAc,uBAAuB;AACrC,cAAc,6BAA6B;AAC3C,cAAc,+BAA+B;AAC7C,cAAc,+BAA+B;AAC7C,cAAc,iCAAiC;AAC/C,cAAc,gCAAgC;AAC9C,cAAc,+BAA+B;AAC7C,cAAc,mCAAmC;AACjD,cAAc,6BAA6B;AAC3C,cAAc,kCAAkC;AAChD,cAAc,0BAA0B;AACxC,cAAc,wBAAwB;AACtC,cAAc,8BAA8B;AAC5C,cAAc,wBAAwB;AACtC,cAAc,sBAAsB;AACpC,cAAc,+CAA+C;AAC7D,cAAc,kCAAkC;AAChD,cAAc,+BAA+B;AAC7C,cAAc,qCAAqC;AACnD,cAAc,0BAA0B;AACxC,cAAc,8BAA8B;AAC5C,cAAc,iCAAiC;AAC/C,cAAc,oBAAoB;AAClC,cAAc,uCAAuC;AACrD,cAAc,uCAAuC;AACrD,cAAc,sCAAsC;AACpD,cAAc,4BAA4B;AAC1C,cAAc,2BAA2B;AAUzC,SAASA,MAAM,IAAIC,UAAU,QAAQ,kBAAkB;;AAEvD;AACA,SAASC,OAAO,IAAIC,gBAAgB,QAAQ,4BAA4B;;AAExE;AACA,cAAc,2BAA2B;;AAEzC;AACA,cAAc,2BAA2B;;AAEzC;AACA,cAAc,SAAS;AACvB,cAAc,gBAAgB;AAE9B,eAAeF,UAAU"}
|
package/lib/module/types.js
CHANGED
|
@@ -15,6 +15,7 @@ export let HMSHLSPlayerPlaybackState = /*#__PURE__*/function (HMSHLSPlayerPlayba
|
|
|
15
15
|
HMSHLSPlayerPlaybackState["PLAYING"] = "playing";
|
|
16
16
|
HMSHLSPlayerPlaybackState["STOPPED"] = "stopped";
|
|
17
17
|
HMSHLSPlayerPlaybackState["UNKNOWN"] = "unknown";
|
|
18
|
+
HMSHLSPlayerPlaybackState["onVideoSizeChanged"] = "onVideoSizeChanged";
|
|
18
19
|
return HMSHLSPlayerPlaybackState;
|
|
19
20
|
}({});
|
|
20
21
|
// #endregion HMS HLSPlayer Playback Events
|
package/lib/module/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["HMSHLSPlayerPlaybackEventTypes","HMSHLSPlayerPlaybackState","HMSHLSPlayerStatsEventTypes"],"sources":["types.ts"],"sourcesContent":["// Base HMSHLSPlayer Event\ntype HMSHLSPlayerEvent<T extends string, U> = {\n event: T;\n data: U;\n};\n\n// #region HMSHLSPlayer Playback Events\n\nexport enum HMSHLSPlayerPlaybackEventTypes {\n ON_PLAYBACK_CUE_EVENT = 'ON_PLAYBACK_CUE_EVENT',\n ON_PLAYBACK_FAILURE_EVENT = 'ON_PLAYBACK_FAILURE_EVENT',\n ON_PLAYBACK_STATE_CHANGE_EVENT = 'ON_PLAYBACK_STATE_CHANGE_EVENT',\n}\n\nexport type HMSHLSPlayerPlaybackCueEventData = {\n id?: string;\n endDate?: string;\n payloadval?: string;\n startDate: string;\n};\n\nexport type HMSHLSPlayerPlaybackFailureEventData = {\n error: {\n errorCode: number;\n errorCodeName: string;\n message?: string;\n };\n};\n\nexport enum HMSHLSPlayerPlaybackState {\n BUFFERING = 'buffering',\n FAILED = 'failed',\n PAUSED = 'paused',\n PLAYING = 'playing',\n STOPPED = 'stopped',\n UNKNOWN = 'unknown',\n}\n\nexport type HMSHLSPlayerPlaybackStateChangeEventData = {\n state: HMSHLSPlayerPlaybackState;\n};\n\ntype HMSHLSPlayerPlaybackCueEvent = HMSHLSPlayerEvent<\n HMSHLSPlayerPlaybackEventTypes.ON_PLAYBACK_CUE_EVENT,\n HMSHLSPlayerPlaybackCueEventData\n>;\n\ntype HMSHLSPlayerPlaybackFailureEvent = HMSHLSPlayerEvent<\n HMSHLSPlayerPlaybackEventTypes.ON_PLAYBACK_FAILURE_EVENT,\n HMSHLSPlayerPlaybackFailureEventData\n>;\n\ntype HMSHLSPlayerPlaybackStateChangeEvent = HMSHLSPlayerEvent<\n HMSHLSPlayerPlaybackEventTypes.ON_PLAYBACK_STATE_CHANGE_EVENT,\n HMSHLSPlayerPlaybackStateChangeEventData\n>;\n\nexport type HMSHLSPlayerPlaybackEvent =\n | HMSHLSPlayerPlaybackCueEvent\n | HMSHLSPlayerPlaybackFailureEvent\n | HMSHLSPlayerPlaybackStateChangeEvent;\n\n// #endregion HMS HLSPlayer Playback Events\n\n// #region HMS HLSPlayer Stats Events\n\nexport enum HMSHLSPlayerStatsEventTypes {\n ON_STATS_EVENT_ERROR = 'ON_STATS_EVENT_ERROR',\n ON_STATS_EVENT_UPDATE = 'ON_STATS_EVENT_UPDATE',\n}\n\nexport type HMSHLSPlayerStatsErrorEventData = {\n action: string;\n code: number;\n description: string;\n isTerminal: boolean;\n message: string;\n name: string;\n};\n\nexport type HMSHLSPlayerStatsUpdateEventData = {\n // bandwidth\n bandWidthEstimate: number;\n totalBytesLoaded: number;\n\n // bufferedDuration\n bufferedDuration: number;\n\n // distanceFromLive\n distanceFromLive: number;\n\n // frameInfo\n droppedFrameCount: number;\n\n // videoInfo\n averageBitrate: number;\n\n videoHeight: number;\n videoWidth: number;\n};\n\ntype HMSHLSPlayerStatsErrorEvent = HMSHLSPlayerEvent<\n HMSHLSPlayerStatsEventTypes.ON_STATS_EVENT_ERROR,\n HMSHLSPlayerStatsErrorEventData\n>;\n\ntype HMSHLSPlayerStatsUpdateEvent = HMSHLSPlayerEvent<\n HMSHLSPlayerStatsEventTypes.ON_STATS_EVENT_UPDATE,\n HMSHLSPlayerStatsUpdateEventData\n>;\n\nexport type HMSHLSPlayerStatsEvent =\n | HMSHLSPlayerStatsErrorEvent\n | HMSHLSPlayerStatsUpdateEvent;\n\n// #endregion HMS HLSPlayer Stats Events\n\n// #region Utility types\n// #endregion Utility types\n"],"mappings":"AAAA;;AAMA;;AAEA,WAAYA,8BAA8B,0BAA9BA,8BAA8B;EAA9BA,8BAA8B;EAA9BA,8BAA8B;EAA9BA,8BAA8B;EAAA,OAA9BA,8BAA8B;AAAA;AAqB1C,WAAYC,yBAAyB,0BAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAA,OAAzBA,yBAAyB;AAAA;
|
|
1
|
+
{"version":3,"names":["HMSHLSPlayerPlaybackEventTypes","HMSHLSPlayerPlaybackState","HMSHLSPlayerStatsEventTypes"],"sources":["types.ts"],"sourcesContent":["// Base HMSHLSPlayer Event\ntype HMSHLSPlayerEvent<T extends string, U> = {\n event: T;\n data: U;\n};\n\n// #region HMSHLSPlayer Playback Events\n\nexport enum HMSHLSPlayerPlaybackEventTypes {\n ON_PLAYBACK_CUE_EVENT = 'ON_PLAYBACK_CUE_EVENT',\n ON_PLAYBACK_FAILURE_EVENT = 'ON_PLAYBACK_FAILURE_EVENT',\n ON_PLAYBACK_STATE_CHANGE_EVENT = 'ON_PLAYBACK_STATE_CHANGE_EVENT',\n}\n\nexport type HMSHLSPlayerPlaybackCueEventData = {\n id?: string;\n endDate?: string;\n payloadval?: string;\n startDate: string;\n};\n\nexport type HMSHLSPlayerPlaybackFailureEventData = {\n error: {\n errorCode: number;\n errorCodeName: string;\n message?: string;\n };\n};\n\nexport enum HMSHLSPlayerPlaybackState {\n BUFFERING = 'buffering',\n FAILED = 'failed',\n PAUSED = 'paused',\n PLAYING = 'playing',\n STOPPED = 'stopped',\n UNKNOWN = 'unknown',\n onVideoSizeChanged = 'onVideoSizeChanged',\n}\n\nexport type HMSHLSPlayerPlaybackStateChangeEventData = {\n state: HMSHLSPlayerPlaybackState;\n aspectRatio: number | undefined;\n};\n\ntype HMSHLSPlayerPlaybackCueEvent = HMSHLSPlayerEvent<\n HMSHLSPlayerPlaybackEventTypes.ON_PLAYBACK_CUE_EVENT,\n HMSHLSPlayerPlaybackCueEventData\n>;\n\ntype HMSHLSPlayerPlaybackFailureEvent = HMSHLSPlayerEvent<\n HMSHLSPlayerPlaybackEventTypes.ON_PLAYBACK_FAILURE_EVENT,\n HMSHLSPlayerPlaybackFailureEventData\n>;\n\ntype HMSHLSPlayerPlaybackStateChangeEvent = HMSHLSPlayerEvent<\n HMSHLSPlayerPlaybackEventTypes.ON_PLAYBACK_STATE_CHANGE_EVENT,\n HMSHLSPlayerPlaybackStateChangeEventData\n>;\n\nexport type HMSHLSPlayerPlaybackEvent =\n | HMSHLSPlayerPlaybackCueEvent\n | HMSHLSPlayerPlaybackFailureEvent\n | HMSHLSPlayerPlaybackStateChangeEvent;\n\n// #endregion HMS HLSPlayer Playback Events\n\n// #region HMS HLSPlayer Stats Events\n\nexport enum HMSHLSPlayerStatsEventTypes {\n ON_STATS_EVENT_ERROR = 'ON_STATS_EVENT_ERROR',\n ON_STATS_EVENT_UPDATE = 'ON_STATS_EVENT_UPDATE',\n}\n\nexport type HMSHLSPlayerStatsErrorEventData = {\n action: string;\n code: number;\n description: string;\n isTerminal: boolean;\n message: string;\n name: string;\n};\n\nexport type HMSHLSPlayerStatsUpdateEventData = {\n // bandwidth\n bandWidthEstimate: number;\n totalBytesLoaded: number;\n\n // bufferedDuration\n bufferedDuration: number;\n\n // distanceFromLive\n distanceFromLive: number;\n\n // frameInfo\n droppedFrameCount: number;\n\n // videoInfo\n averageBitrate: number;\n\n videoHeight: number;\n videoWidth: number;\n};\n\ntype HMSHLSPlayerStatsErrorEvent = HMSHLSPlayerEvent<\n HMSHLSPlayerStatsEventTypes.ON_STATS_EVENT_ERROR,\n HMSHLSPlayerStatsErrorEventData\n>;\n\ntype HMSHLSPlayerStatsUpdateEvent = HMSHLSPlayerEvent<\n HMSHLSPlayerStatsEventTypes.ON_STATS_EVENT_UPDATE,\n HMSHLSPlayerStatsUpdateEventData\n>;\n\nexport type HMSHLSPlayerStatsEvent =\n | HMSHLSPlayerStatsErrorEvent\n | HMSHLSPlayerStatsUpdateEvent;\n\n// #endregion HMS HLSPlayer Stats Events\n\n// #region Utility types\n// #endregion Utility types\n"],"mappings":"AAAA;;AAMA;;AAEA,WAAYA,8BAA8B,0BAA9BA,8BAA8B;EAA9BA,8BAA8B;EAA9BA,8BAA8B;EAA9BA,8BAA8B;EAAA,OAA9BA,8BAA8B;AAAA;AAqB1C,WAAYC,yBAAyB,0BAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAA,OAAzBA,yBAAyB;AAAA;AAmCrC;AAEA;AAEA,WAAYC,2BAA2B,0BAA3BA,2BAA2B;EAA3BA,2BAA2B;EAA3BA,2BAA2B;EAAA,OAA3BA,2BAA2B;AAAA;;AAiDvC;;AAEA;AACA"}
|
|
@@ -56,6 +56,7 @@ export declare class HMSEncoder {
|
|
|
56
56
|
static encodeHmsRemoteAudioTrack(track: any, id: string): HMSRemoteAudioTrack;
|
|
57
57
|
static encodeHmsRemoteVideoTrack(track: any, id: string): HMSRemoteVideoTrack;
|
|
58
58
|
static encodeHmsPreviewTracks(previewTracks: any[], id: string): HMSTrack[];
|
|
59
|
+
static encodeHmsPreviewForRoleTracks(previewTracks: any[], id: string): (HMSLocalAudioTrack | HMSLocalVideoTrack)[];
|
|
59
60
|
static encodeHmsRoles(roles: any[]): HMSRole[];
|
|
60
61
|
static encodeHmsRole(role: any): HMSRole;
|
|
61
62
|
static encodeHmsRoleChangeRequest(data: any): HMSRoleChangeRequest;
|
|
@@ -110,18 +110,6 @@ export declare class HMSSDK {
|
|
|
110
110
|
* @memberof HMSSDK
|
|
111
111
|
*/
|
|
112
112
|
preview: (config: HMSConfig) => void;
|
|
113
|
-
/**
|
|
114
|
-
* - previewForRole can be used when there is role change request for current localPeer and we want
|
|
115
|
-
* to show the localPeer how the tracks look before publishing them to room.
|
|
116
|
-
*
|
|
117
|
-
* - It requires a role of type [HMSRole]{@link HMSRole} for which we want to preview the tracks.
|
|
118
|
-
*
|
|
119
|
-
* checkout {@link https://www.100ms.live/docs/react-native} for more info
|
|
120
|
-
*
|
|
121
|
-
* @param {HMSRole}
|
|
122
|
-
* @memberof HMSSDK
|
|
123
|
-
*/
|
|
124
|
-
previewForRole: (role: HMSRole) => Promise<any>;
|
|
125
113
|
/**
|
|
126
114
|
* - HmsView is react component that takes trackId and starts showing that track on a tile.
|
|
127
115
|
* - The appearance of tile is completely customizable with style prop.
|
|
@@ -321,6 +309,29 @@ export declare class HMSSDK {
|
|
|
321
309
|
* @memberof HMSSDK
|
|
322
310
|
*/
|
|
323
311
|
changeName: (name: string) => Promise<any>;
|
|
312
|
+
/**
|
|
313
|
+
* -Preview for a specific Role before changing it.
|
|
314
|
+
*
|
|
315
|
+
* By previewing before doing a Role Change, users can see their expected Audio & Video tracks which will be visible to other Peers in Room post changing the Role.
|
|
316
|
+
*
|
|
317
|
+
* checkout {@link https://www.100ms.live/docs/react-native/v2/how-to-guides/interact-with-room/peer/change-role} for more info
|
|
318
|
+
*
|
|
319
|
+
* @param {role: string}
|
|
320
|
+
* @memberof HMSSDK
|
|
321
|
+
*/
|
|
322
|
+
previewForRole: (role: string) => Promise<(import("./HMSLocalAudioTrack").HMSLocalAudioTrack | import("./HMSLocalVideoTrack").HMSLocalVideoTrack)[]>;
|
|
323
|
+
/**
|
|
324
|
+
* Cancel the Previewing for Role invocation.
|
|
325
|
+
*
|
|
326
|
+
* If a [previewForRole] call was performed previously then calling this method clears the tracks created anticipating a Change of Role
|
|
327
|
+
*
|
|
328
|
+
* checkout {@link https://www.100ms.live/docs/react-native/v2/how-to-guides/interact-with-room/peer/change-role} for more info
|
|
329
|
+
*
|
|
330
|
+
* @memberof HMSSDK
|
|
331
|
+
*/
|
|
332
|
+
cancelPreview: () => Promise<{
|
|
333
|
+
data: string;
|
|
334
|
+
}>;
|
|
324
335
|
/**
|
|
325
336
|
* - Calling this function will accept the most recent roleChange request made by anyone in the room
|
|
326
337
|
*
|
|
@@ -81,7 +81,7 @@ export * from './classes/HMSQualityLimitationReason';
|
|
|
81
81
|
export * from './classes/HMSCameraControl';
|
|
82
82
|
export * from './classes/HMSIOSAudioMode';
|
|
83
83
|
export type { HMSSessionStore, HMSSessionStoreValue, } from './classes/HMSSessionStore';
|
|
84
|
-
export type { HmsViewComponent as HMSView } from './classes/HmsView';
|
|
84
|
+
export type { HmsViewComponent as HMSView, HmsComponentProps as HMSViewProps, } from './classes/HmsView';
|
|
85
85
|
import { HMSSDK as HmsManager } from './classes/HMSSDK';
|
|
86
86
|
export { default as HMSManagerModule } from './classes/HMSManagerModule';
|
|
87
87
|
export * from './components/HMSHLSPlayer';
|
|
@@ -26,10 +26,12 @@ export declare enum HMSHLSPlayerPlaybackState {
|
|
|
26
26
|
PAUSED = "paused",
|
|
27
27
|
PLAYING = "playing",
|
|
28
28
|
STOPPED = "stopped",
|
|
29
|
-
UNKNOWN = "unknown"
|
|
29
|
+
UNKNOWN = "unknown",
|
|
30
|
+
onVideoSizeChanged = "onVideoSizeChanged"
|
|
30
31
|
}
|
|
31
32
|
export type HMSHLSPlayerPlaybackStateChangeEventData = {
|
|
32
33
|
state: HMSHLSPlayerPlaybackState;
|
|
34
|
+
aspectRatio: number | undefined;
|
|
33
35
|
};
|
|
34
36
|
type HMSHLSPlayerPlaybackCueEvent = HMSHLSPlayerEvent<HMSHLSPlayerPlaybackEventTypes.ON_PLAYBACK_CUE_EVENT, HMSHLSPlayerPlaybackCueEventData>;
|
|
35
37
|
type HMSHLSPlayerPlaybackFailureEvent = HMSHLSPlayerEvent<HMSHLSPlayerPlaybackEventTypes.ON_PLAYBACK_FAILURE_EVENT, HMSHLSPlayerPlaybackFailureEventData>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@100mslive/react-native-hms",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.0",
|
|
4
4
|
"description": "Integrate Real Time Audio and Video conferencing, Interactive Live Streaming, and Chat in your apps with 100ms React Native SDK. With support for HLS and RTMP Live Streaming and Recording, Picture-in-Picture (PiP), one-to-one Video Call Modes, Audio Rooms, Video Player and much more, add immersive real-time communications to your apps.",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
package/sdk-versions.json
CHANGED
|
@@ -39,6 +39,7 @@ import { HMSRemoteVideoStats } from './HMSRemoteVideoStats';
|
|
|
39
39
|
import { HMSLayer } from './HMSLayer';
|
|
40
40
|
import { HMSSimulcastLayerDefinition } from './HMSSimulcastLayerDefinition';
|
|
41
41
|
import { HMSQualityLimitationReasons } from './HMSQualityLimitationReasons';
|
|
42
|
+
import { HMSTrackType } from './HMSTrackType';
|
|
42
43
|
|
|
43
44
|
interface InitialData {
|
|
44
45
|
roles: Record<string, HMSRole>;
|
|
@@ -326,6 +327,14 @@ export class HMSEncoder {
|
|
|
326
327
|
});
|
|
327
328
|
}
|
|
328
329
|
|
|
330
|
+
static encodeHmsPreviewForRoleTracks(previewTracks: any[], id: string) {
|
|
331
|
+
return previewTracks?.map((track) => {
|
|
332
|
+
return track.type === HMSTrackType.VIDEO
|
|
333
|
+
? this.encodeHmsLocalVideoTrack(track, id)
|
|
334
|
+
: this.encodeHmsLocalAudioTrack(track, id);
|
|
335
|
+
});
|
|
336
|
+
}
|
|
337
|
+
|
|
329
338
|
static encodeHmsRoles(roles: any[]) {
|
|
330
339
|
const encodedRoles: HMSRole[] = [];
|
|
331
340
|
|
package/src/classes/HMSSDK.tsx
CHANGED
|
@@ -207,30 +207,6 @@ export class HMSSDK {
|
|
|
207
207
|
HMSManager.preview({ ...config, id: this.id });
|
|
208
208
|
};
|
|
209
209
|
|
|
210
|
-
/**
|
|
211
|
-
* - previewForRole can be used when there is role change request for current localPeer and we want
|
|
212
|
-
* to show the localPeer how the tracks look before publishing them to room.
|
|
213
|
-
*
|
|
214
|
-
* - It requires a role of type [HMSRole]{@link HMSRole} for which we want to preview the tracks.
|
|
215
|
-
*
|
|
216
|
-
* checkout {@link https://www.100ms.live/docs/react-native} for more info
|
|
217
|
-
*
|
|
218
|
-
* @param {HMSRole}
|
|
219
|
-
* @memberof HMSSDK
|
|
220
|
-
*/
|
|
221
|
-
previewForRole = async (role: HMSRole) => {
|
|
222
|
-
logger?.verbose('#Function previewForRole', {
|
|
223
|
-
role,
|
|
224
|
-
id: this.id,
|
|
225
|
-
});
|
|
226
|
-
if (Platform.OS === 'ios') {
|
|
227
|
-
return await HMSManager.previewForRole({ role: role?.name, id: this.id });
|
|
228
|
-
} else {
|
|
229
|
-
console.log('API currently not available for android');
|
|
230
|
-
return 'API currently not available for android';
|
|
231
|
-
}
|
|
232
|
-
};
|
|
233
|
-
|
|
234
210
|
/**
|
|
235
211
|
* - HmsView is react component that takes trackId and starts showing that track on a tile.
|
|
236
212
|
* - The appearance of tile is completely customizable with style prop.
|
|
@@ -656,6 +632,54 @@ export class HMSSDK {
|
|
|
656
632
|
return await HMSManager.changeName(data);
|
|
657
633
|
};
|
|
658
634
|
|
|
635
|
+
/**
|
|
636
|
+
* -Preview for a specific Role before changing it.
|
|
637
|
+
*
|
|
638
|
+
* By previewing before doing a Role Change, users can see their expected Audio & Video tracks which will be visible to other Peers in Room post changing the Role.
|
|
639
|
+
*
|
|
640
|
+
* checkout {@link https://www.100ms.live/docs/react-native/v2/how-to-guides/interact-with-room/peer/change-role} for more info
|
|
641
|
+
*
|
|
642
|
+
* @param {role: string}
|
|
643
|
+
* @memberof HMSSDK
|
|
644
|
+
*/
|
|
645
|
+
previewForRole = async (role: string) => {
|
|
646
|
+
logger?.verbose('#Function previewForRole', {
|
|
647
|
+
role,
|
|
648
|
+
id: this.id,
|
|
649
|
+
});
|
|
650
|
+
const data = await HMSManager.previewForRole({
|
|
651
|
+
role,
|
|
652
|
+
id: this.id,
|
|
653
|
+
});
|
|
654
|
+
|
|
655
|
+
const previewTracks = HMSEncoder.encodeHmsPreviewForRoleTracks(
|
|
656
|
+
data.tracks,
|
|
657
|
+
this.id
|
|
658
|
+
);
|
|
659
|
+
|
|
660
|
+
return previewTracks;
|
|
661
|
+
};
|
|
662
|
+
|
|
663
|
+
/**
|
|
664
|
+
* Cancel the Previewing for Role invocation.
|
|
665
|
+
*
|
|
666
|
+
* If a [previewForRole] call was performed previously then calling this method clears the tracks created anticipating a Change of Role
|
|
667
|
+
*
|
|
668
|
+
* checkout {@link https://www.100ms.live/docs/react-native/v2/how-to-guides/interact-with-room/peer/change-role} for more info
|
|
669
|
+
*
|
|
670
|
+
* @memberof HMSSDK
|
|
671
|
+
*/
|
|
672
|
+
cancelPreview = async () => {
|
|
673
|
+
logger?.verbose('#Function cancelPreview', {
|
|
674
|
+
id: this.id,
|
|
675
|
+
});
|
|
676
|
+
const data: { data: string } = await HMSManager.cancelPreview({
|
|
677
|
+
id: this.id,
|
|
678
|
+
});
|
|
679
|
+
|
|
680
|
+
return data;
|
|
681
|
+
};
|
|
682
|
+
|
|
659
683
|
/**
|
|
660
684
|
* - Calling this function will accept the most recent roleChange request made by anyone in the room
|
|
661
685
|
*
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useImperativeHandle, useRef } from 'react';
|
|
1
|
+
import React, { useImperativeHandle, useRef, useState } from 'react';
|
|
2
2
|
import { View, StyleSheet, UIManager, findNodeHandle } from 'react-native';
|
|
3
3
|
import type { StyleProp, ViewStyle } from 'react-native';
|
|
4
4
|
|
|
@@ -50,18 +50,13 @@ const _HMSHLSPlayer: React.ForwardRefRenderFunction<
|
|
|
50
50
|
HMSHLSPlayerRefProperties,
|
|
51
51
|
HMSHLSPlayerProps
|
|
52
52
|
> = (
|
|
53
|
-
{
|
|
54
|
-
url = '',
|
|
55
|
-
style,
|
|
56
|
-
containerStyle,
|
|
57
|
-
aspectRatio = 9 / 16,
|
|
58
|
-
enableStats,
|
|
59
|
-
enableControls = false,
|
|
60
|
-
},
|
|
53
|
+
{ url = '', style, containerStyle, enableStats, enableControls = false },
|
|
61
54
|
ref
|
|
62
55
|
) => {
|
|
63
56
|
const hmsHlsPlayerRef = useRef<RCTHMSHLSPlayerRef | null>(null);
|
|
64
57
|
|
|
58
|
+
const [aspectRatio, setAspectRatio] = useState(16 / 9);
|
|
59
|
+
|
|
65
60
|
useImperativeHandle(
|
|
66
61
|
ref,
|
|
67
62
|
() => ({
|
|
@@ -205,6 +200,11 @@ const _HMSHLSPlayer: React.ForwardRefRenderFunction<
|
|
|
205
200
|
setHMSHLSPlayerPlaybackError(data.error);
|
|
206
201
|
} else {
|
|
207
202
|
setHMSHLSPlayerPlaybackState(data.state);
|
|
203
|
+
if (data.state === 'onVideoSizeChanged') {
|
|
204
|
+
if (typeof data.aspectRatio === 'number') {
|
|
205
|
+
setAspectRatio(data.aspectRatio);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
208
|
}
|
|
209
209
|
};
|
|
210
210
|
|
|
@@ -225,7 +225,10 @@ const _HMSHLSPlayer: React.ForwardRefRenderFunction<
|
|
|
225
225
|
<RCTHMSHLSPlayer
|
|
226
226
|
ref={hmsHlsPlayerRef}
|
|
227
227
|
url={url}
|
|
228
|
-
style={[
|
|
228
|
+
style={[
|
|
229
|
+
styles.player,
|
|
230
|
+
{ aspectRatio: aspectRatio, flex: aspectRatio < 1 ? 1 : undefined },
|
|
231
|
+
]}
|
|
229
232
|
enableStats={enableStats}
|
|
230
233
|
enableControls={enableControls}
|
|
231
234
|
onHmsHlsPlaybackEvent={handleHLSPlaybackEvent}
|
|
@@ -254,8 +257,7 @@ const styles = StyleSheet.create({
|
|
|
254
257
|
},
|
|
255
258
|
player: {
|
|
256
259
|
width: '100%',
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
aspectRatio: 9 / 16,
|
|
260
|
+
aspectRatio: 16 / 9,
|
|
261
|
+
flex: 1,
|
|
260
262
|
},
|
|
261
263
|
});
|
package/src/index.ts
CHANGED
|
@@ -84,7 +84,10 @@ export type {
|
|
|
84
84
|
HMSSessionStore,
|
|
85
85
|
HMSSessionStoreValue,
|
|
86
86
|
} from './classes/HMSSessionStore';
|
|
87
|
-
export type {
|
|
87
|
+
export type {
|
|
88
|
+
HmsViewComponent as HMSView,
|
|
89
|
+
HmsComponentProps as HMSViewProps,
|
|
90
|
+
} from './classes/HmsView';
|
|
88
91
|
|
|
89
92
|
import { HMSSDK as HmsManager } from './classes/HMSSDK';
|
|
90
93
|
|
package/src/types.ts
CHANGED
|
@@ -34,10 +34,12 @@ export enum HMSHLSPlayerPlaybackState {
|
|
|
34
34
|
PLAYING = 'playing',
|
|
35
35
|
STOPPED = 'stopped',
|
|
36
36
|
UNKNOWN = 'unknown',
|
|
37
|
+
onVideoSizeChanged = 'onVideoSizeChanged',
|
|
37
38
|
}
|
|
38
39
|
|
|
39
40
|
export type HMSHLSPlayerPlaybackStateChangeEventData = {
|
|
40
41
|
state: HMSHLSPlayerPlaybackState;
|
|
42
|
+
aspectRatio: number | undefined;
|
|
41
43
|
};
|
|
42
44
|
|
|
43
45
|
type HMSHLSPlayerPlaybackCueEvent = HMSHLSPlayerEvent<
|