@100mslive/react-native-hms 1.9.0 → 1.9.1-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/android/local.properties +1 -8
  2. package/android/src/main/java/com/reactnativehmssdk/HMSAudioshareActivity.kt +1 -1
  3. package/android/src/main/java/com/reactnativehmssdk/HMSHLSPlayer.kt +4 -3
  4. package/android/src/main/java/com/reactnativehmssdk/HMSManager.kt +27 -22
  5. package/android/src/main/java/com/reactnativehmssdk/HMSRNSDK.kt +226 -249
  6. package/android/src/main/java/com/reactnativehmssdk/HMSView.kt +24 -4
  7. package/android/src/main/java/com/reactnativehmssdk/HmsScreenshareActivity.kt +1 -1
  8. package/ios/HMSHLSPlayerManager.swift +20 -11
  9. package/ios/HMSManager.m +40 -10
  10. package/ios/HMSManager.swift +20 -20
  11. package/ios/HMSRNSDK.swift +86 -85
  12. package/lib/commonjs/classes/HMSPIPConfig.js +4 -0
  13. package/lib/commonjs/classes/HMSPIPConfig.js.map +1 -0
  14. package/lib/commonjs/classes/HMSSDK.js +0 -2
  15. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  16. package/lib/commonjs/classes/HmsView.js +14 -1
  17. package/lib/commonjs/classes/HmsView.js.map +1 -1
  18. package/lib/commonjs/components/HMSHLSPlayer/HMSHLSPlayer.js +8 -5
  19. package/lib/commonjs/components/HMSHLSPlayer/HMSHLSPlayer.js.map +1 -1
  20. package/lib/commonjs/components/HMSHLSPlayer/hooks.js +6 -1
  21. package/lib/commonjs/components/HMSHLSPlayer/hooks.js.map +1 -1
  22. package/lib/commonjs/components/HMSHLSPlayer/index.js +8 -1
  23. package/lib/commonjs/components/HMSHLSPlayer/index.js.map +1 -1
  24. package/lib/commonjs/hooks/hmsviews.js +17 -0
  25. package/lib/commonjs/hooks/hmsviews.js.map +1 -0
  26. package/lib/commonjs/index.js +9 -1
  27. package/lib/commonjs/index.js.map +1 -1
  28. package/lib/commonjs/stores/hls-player-playback-slice.js +4 -0
  29. package/lib/commonjs/stores/hls-player-playback-slice.js.map +1 -1
  30. package/lib/commonjs/stores/hms-store.js +3 -1
  31. package/lib/commonjs/stores/hms-store.js.map +1 -1
  32. package/lib/commonjs/stores/hmsviews-slice.js +19 -0
  33. package/lib/commonjs/stores/hmsviews-slice.js.map +1 -0
  34. package/lib/commonjs/stores/types.js +9 -0
  35. package/lib/commonjs/stores/types.js.map +1 -1
  36. package/lib/commonjs/types.js +1 -1
  37. package/lib/commonjs/types.js.map +1 -1
  38. package/lib/module/classes/HMSPIPConfig.js +2 -0
  39. package/lib/module/classes/HMSPIPConfig.js.map +1 -0
  40. package/lib/module/classes/HMSSDK.js +0 -3
  41. package/lib/module/classes/HMSSDK.js.map +1 -1
  42. package/lib/module/classes/HmsView.js +14 -1
  43. package/lib/module/classes/HmsView.js.map +1 -1
  44. package/lib/module/components/HMSHLSPlayer/HMSHLSPlayer.js +9 -6
  45. package/lib/module/components/HMSHLSPlayer/HMSHLSPlayer.js.map +1 -1
  46. package/lib/module/components/HMSHLSPlayer/hooks.js +4 -0
  47. package/lib/module/components/HMSHLSPlayer/hooks.js.map +1 -1
  48. package/lib/module/components/HMSHLSPlayer/index.js +1 -1
  49. package/lib/module/components/HMSHLSPlayer/index.js.map +1 -1
  50. package/lib/module/hooks/hmsviews.js +12 -0
  51. package/lib/module/hooks/hmsviews.js.map +1 -0
  52. package/lib/module/index.js +1 -0
  53. package/lib/module/index.js.map +1 -1
  54. package/lib/module/stores/hls-player-playback-slice.js +4 -0
  55. package/lib/module/stores/hls-player-playback-slice.js.map +1 -1
  56. package/lib/module/stores/hms-store.js +3 -1
  57. package/lib/module/stores/hms-store.js.map +1 -1
  58. package/lib/module/stores/hmsviews-slice.js +12 -0
  59. package/lib/module/stores/hmsviews-slice.js.map +1 -0
  60. package/lib/module/stores/types.js +9 -0
  61. package/lib/module/stores/types.js.map +1 -1
  62. package/lib/module/types.js +1 -1
  63. package/lib/module/types.js.map +1 -1
  64. package/lib/typescript/classes/HMSPIPConfig.d.ts +7 -0
  65. package/lib/typescript/classes/HMSSDK.d.ts +3 -9
  66. package/lib/typescript/components/HMSHLSPlayer/hooks.d.ts +2 -0
  67. package/lib/typescript/components/HMSHLSPlayer/index.d.ts +1 -1
  68. package/lib/typescript/hooks/hmsviews.d.ts +3 -0
  69. package/lib/typescript/index.d.ts +2 -0
  70. package/lib/typescript/stores/hms-store.d.ts +4 -3
  71. package/lib/typescript/stores/hmsviews-slice.d.ts +5 -0
  72. package/lib/typescript/stores/types.d.ts +14 -2
  73. package/lib/typescript/types.d.ts +9 -5
  74. package/package.json +3 -1
  75. package/sdk-versions.json +1 -1
  76. package/src/classes/HMSPIPConfig.ts +7 -0
  77. package/src/classes/HMSSDK.tsx +3 -11
  78. package/src/classes/HmsView.tsx +16 -2
  79. package/src/components/HMSHLSPlayer/HMSHLSPlayer.tsx +11 -5
  80. package/src/components/HMSHLSPlayer/hooks.ts +7 -0
  81. package/src/components/HMSHLSPlayer/index.ts +1 -0
  82. package/src/hooks/hmsviews.ts +13 -0
  83. package/src/index.ts +2 -0
  84. package/src/stores/hls-player-playback-slice.ts +3 -0
  85. package/src/stores/hms-store.ts +2 -0
  86. package/src/stores/hmsviews-slice.ts +20 -0
  87. package/src/stores/types.ts +20 -1
  88. package/src/types.ts +13 -3
  89. package/ios/Hmssdk.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  90. package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  91. package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcuserdata/jatinnagar.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  92. package/ios/Hmssdk.xcodeproj/xcuserdata/jatinnagar.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
@@ -2,6 +2,7 @@ import React, { useState, useImperativeHandle, useRef } from 'react';
2
2
  import { findNodeHandle, requireNativeComponent, StyleSheet, UIManager, Platform } from 'react-native';
3
3
  import { HMSConstants } from './HMSConstants';
4
4
  import { HMSVideoViewMode } from './HMSVideoViewMode';
5
+ import { setHmsViewsResolutionsState } from '../hooks/hmsviews';
5
6
  const HmsView = requireNativeComponent('HMSView');
6
7
  let _nextRequestId = 1;
7
8
  let _requestMap = new Map();
@@ -28,7 +29,19 @@ export const HmsViewComponent = /*#__PURE__*/React.forwardRef((props, ref) => {
28
29
  * This method is passed to `onChange` prop of `HmsView` Native Component.
29
30
  * It is invoked when `HmsView` emits 'topChange' event.
30
31
  */
31
- const onChange = () => setApplyStyles_ANDROID(true);
32
+ const onChange = _ref => {
33
+ let {
34
+ nativeEvent
35
+ } = _ref;
36
+ const {
37
+ event,
38
+ data
39
+ } = nativeEvent;
40
+ setApplyStyles_ANDROID(true);
41
+ if (event === 'ON_RESOLUTION_CHANGE_EVENT') {
42
+ setHmsViewsResolutionsState(trackId, data);
43
+ }
44
+ };
32
45
 
33
46
  /**
34
47
  * This method is passed to `onDataReturned` prop of `HmsView` Native Component.
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","useImperativeHandle","useRef","findNodeHandle","requireNativeComponent","StyleSheet","UIManager","Platform","HMSConstants","HMSVideoViewMode","HmsView","_nextRequestId","_requestMap","Map","HmsViewComponent","forwardRef","props","ref","trackId","style","styles","hmsView","id","DEFAULT_SDK_ID","mirror","setZOrderMediaOverlay","autoSimulcast","scaleType","ASPECT_FILL","hmsViewRef","applyStyles_ANDROID","setApplyStyles_ANDROID","data","onChange","_onDataReturned","event","requestId","result","error","nativeEvent","promise","get","resolve","reject","delete","capture","viewManagerConfig","getViewManagerConfig","requestMap","Promise","set","dispatchViewManagerCommand","current","Commands","createElement","OS","onDataReturned","create","flex"],"sources":["HmsView.tsx"],"sourcesContent":["import React, { useState, useImperativeHandle, useRef } from 'react';\nimport {\n findNodeHandle,\n requireNativeComponent,\n StyleSheet,\n UIManager,\n Platform,\n} from 'react-native';\nimport type { ViewStyle } from 'react-native';\nimport { HMSConstants } from './HMSConstants';\nimport { HMSVideoViewMode } from './HMSVideoViewMode';\n\ninterface HmsViewProps {\n data: {\n trackId: string;\n id: string;\n mirror: boolean;\n scaleType: HMSVideoViewMode;\n };\n autoSimulcast: boolean;\n setZOrderMediaOverlay: boolean;\n scaleType: HMSVideoViewMode;\n style: ViewStyle;\n onChange: Function;\n onDataReturned: Function;\n}\n\nconst HmsView = requireNativeComponent<HmsViewProps>('HMSView');\nlet _nextRequestId = 1;\nlet _requestMap = new Map();\n\nexport interface HmsComponentProps {\n trackId: string;\n style?: ViewStyle;\n mirror?: boolean;\n autoSimulcast?: boolean;\n scaleType?: HMSVideoViewMode;\n setZOrderMediaOverlay?: boolean;\n id: string;\n}\n\nexport const HmsViewComponent = React.forwardRef<any, HmsComponentProps>(\n (props, ref) => {\n const {\n trackId,\n style = styles.hmsView,\n id = HMSConstants.DEFAULT_SDK_ID,\n mirror = false,\n setZOrderMediaOverlay = false,\n autoSimulcast = true,\n scaleType = HMSVideoViewMode.ASPECT_FILL,\n } = props;\n\n const hmsViewRef: any = useRef();\n const [applyStyles_ANDROID, setApplyStyles_ANDROID] = useState(false);\n const data = {\n trackId,\n id,\n mirror,\n scaleType,\n };\n\n /**\n * This method is passed to `onChange` prop of `HmsView` Native Component.\n * It is invoked when `HmsView` emits 'topChange' event.\n */\n const onChange = () => setApplyStyles_ANDROID(true);\n\n /**\n * This method is passed to `onDataReturned` prop of `HmsView` Native Component.\n * It is invoked when `HmsView` emits 'captureFrame' event.\n */\n const _onDataReturned = (event: {\n nativeEvent: { requestId: any; result: any; error: any };\n }) => {\n // We grab the relevant data out of our event.\n let { requestId, result, error } = event.nativeEvent;\n // Then we get the promise we saved earlier for the given request ID.\n let promise = _requestMap.get(requestId);\n if (result) {\n // If it was successful, we resolve the promise.\n promise.resolve(result);\n } else {\n // Otherwise, we reject it.\n promise.reject(error);\n }\n // Finally, we clean up our request map.\n _requestMap.delete(requestId);\n };\n\n const capture = async () => {\n const viewManagerConfig = UIManager.getViewManagerConfig('HMSView');\n\n let requestId = _nextRequestId++;\n let requestMap = _requestMap;\n\n // We create a promise here that will be resolved once `_onRequestDone` is\n // called.\n let promise = new Promise(function (resolve, reject) {\n requestMap.set(requestId, { resolve, reject });\n });\n\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsViewRef.current),\n viewManagerConfig.Commands.capture,\n [requestId]\n );\n return promise;\n };\n\n useImperativeHandle(ref, () => {\n return {\n capture,\n };\n });\n\n return (\n <HmsView\n ref={hmsViewRef}\n onChange={onChange}\n data={data}\n style={\n Platform.OS === 'android' ? (applyStyles_ANDROID ? style : {}) : style\n }\n autoSimulcast={autoSimulcast}\n scaleType={scaleType}\n setZOrderMediaOverlay={setZOrderMediaOverlay}\n onDataReturned={_onDataReturned}\n />\n );\n }\n);\n\nconst styles = StyleSheet.create({\n hmsView: {\n flex: 1,\n },\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","useState","useImperativeHandle","useRef","findNodeHandle","requireNativeComponent","StyleSheet","UIManager","Platform","HMSConstants","HMSVideoViewMode","setHmsViewsResolutionsState","HmsView","_nextRequestId","_requestMap","Map","HmsViewComponent","forwardRef","props","ref","trackId","style","styles","hmsView","id","DEFAULT_SDK_ID","mirror","setZOrderMediaOverlay","autoSimulcast","scaleType","ASPECT_FILL","hmsViewRef","applyStyles_ANDROID","setApplyStyles_ANDROID","data","onChange","_ref","nativeEvent","event","_onDataReturned","requestId","result","error","promise","get","resolve","reject","delete","capture","viewManagerConfig","getViewManagerConfig","requestMap","Promise","set","dispatchViewManagerCommand","current","Commands","createElement","OS","onDataReturned","create","flex"],"sources":["HmsView.tsx"],"sourcesContent":["import React, { useState, useImperativeHandle, useRef } from 'react';\nimport {\n findNodeHandle,\n requireNativeComponent,\n StyleSheet,\n UIManager,\n Platform,\n} from 'react-native';\nimport type { NativeSyntheticEvent, ViewStyle } from 'react-native';\nimport { HMSConstants } from './HMSConstants';\nimport { HMSVideoViewMode } from './HMSVideoViewMode';\nimport { setHmsViewsResolutionsState } from '../hooks/hmsviews';\n\ninterface HmsViewProps {\n data: {\n trackId: string;\n id: string;\n mirror: boolean;\n scaleType: HMSVideoViewMode;\n };\n autoSimulcast: boolean;\n setZOrderMediaOverlay: boolean;\n scaleType: HMSVideoViewMode;\n style: ViewStyle;\n onChange: Function;\n onDataReturned: Function;\n}\n\nconst HmsView = requireNativeComponent<HmsViewProps>('HMSView');\nlet _nextRequestId = 1;\nlet _requestMap = new Map();\n\nexport interface HmsComponentProps {\n trackId: string;\n style?: ViewStyle;\n mirror?: boolean;\n autoSimulcast?: boolean;\n scaleType?: HMSVideoViewMode;\n setZOrderMediaOverlay?: boolean;\n id: string;\n}\n\nexport const HmsViewComponent = React.forwardRef<any, HmsComponentProps>(\n (props, ref) => {\n const {\n trackId,\n style = styles.hmsView,\n id = HMSConstants.DEFAULT_SDK_ID,\n mirror = false,\n setZOrderMediaOverlay = false,\n autoSimulcast = true,\n scaleType = HMSVideoViewMode.ASPECT_FILL,\n } = props;\n\n const hmsViewRef: any = useRef();\n const [applyStyles_ANDROID, setApplyStyles_ANDROID] = useState(false);\n const data = {\n trackId,\n id,\n mirror,\n scaleType,\n };\n\n /**\n * This method is passed to `onChange` prop of `HmsView` Native Component.\n * It is invoked when `HmsView` emits 'topChange' event.\n */\n const onChange = ({\n nativeEvent,\n }: NativeSyntheticEvent<{\n data: { height: number; width: number };\n event: 'ON_RESOLUTION_CHANGE_EVENT';\n }>) => {\n const { event, data } = nativeEvent;\n\n setApplyStyles_ANDROID(true);\n\n if (event === 'ON_RESOLUTION_CHANGE_EVENT') {\n setHmsViewsResolutionsState(trackId, data);\n }\n };\n\n /**\n * This method is passed to `onDataReturned` prop of `HmsView` Native Component.\n * It is invoked when `HmsView` emits 'captureFrame' event.\n */\n const _onDataReturned = (event: {\n nativeEvent: { requestId: any; result: any; error: any };\n }) => {\n // We grab the relevant data out of our event.\n let { requestId, result, error } = event.nativeEvent;\n // Then we get the promise we saved earlier for the given request ID.\n let promise = _requestMap.get(requestId);\n if (result) {\n // If it was successful, we resolve the promise.\n promise.resolve(result);\n } else {\n // Otherwise, we reject it.\n promise.reject(error);\n }\n // Finally, we clean up our request map.\n _requestMap.delete(requestId);\n };\n\n const capture = async () => {\n const viewManagerConfig = UIManager.getViewManagerConfig('HMSView');\n\n let requestId = _nextRequestId++;\n let requestMap = _requestMap;\n\n // We create a promise here that will be resolved once `_onRequestDone` is\n // called.\n let promise = new Promise(function (resolve, reject) {\n requestMap.set(requestId, { resolve, reject });\n });\n\n UIManager.dispatchViewManagerCommand(\n findNodeHandle(hmsViewRef.current),\n viewManagerConfig.Commands.capture,\n [requestId]\n );\n return promise;\n };\n\n useImperativeHandle(ref, () => {\n return {\n capture,\n };\n });\n\n return (\n <HmsView\n ref={hmsViewRef}\n onChange={onChange}\n data={data}\n style={\n Platform.OS === 'android' ? (applyStyles_ANDROID ? style : {}) : style\n }\n autoSimulcast={autoSimulcast}\n scaleType={scaleType}\n setZOrderMediaOverlay={setZOrderMediaOverlay}\n onDataReturned={_onDataReturned}\n />\n );\n }\n);\n\nconst styles = StyleSheet.create({\n hmsView: {\n flex: 1,\n },\n});\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import React, { useImperativeHandle, useRef, useState } from 'react';
2
2
  import { View, StyleSheet, UIManager, findNodeHandle } from 'react-native';
3
- import { setHMSHLSPlayerCue, setHMSHLSPlayerPlaybackError, setHMSHLSPlayerPlaybackState, setHMSHLSPlayerStats, setHMSHLSPlayerStatsError } from './hooks';
3
+ import { setHMSHLSPlayerCue, setHMSHLSPlayerPlaybackError, setHMSHLSPlayerPlaybackState, setHMSHLSPlayerResolution, setHMSHLSPlayerStats, setHMSHLSPlayerStatsError } from './hooks';
4
4
  import { RCTHMSHLSPlayer, RCTHMSHLSPlayerViewManagerConfig } from './RCTHMSHLSPlayer';
5
5
  import { HMSHLSPlayerPlaybackEventTypes, HMSHLSPlayerStatsEventTypes } from '../../types';
6
6
  import { HMSEncoder } from '../../classes/HMSEncoder';
@@ -80,13 +80,16 @@ const _HMSHLSPlayer = (_ref, ref) => {
80
80
  setHMSHLSPlayerCue(transformedData);
81
81
  } else if (event === HMSHLSPlayerPlaybackEventTypes.ON_PLAYBACK_FAILURE_EVENT) {
82
82
  setHMSHLSPlayerPlaybackError(data.error);
83
+ } else if (event === HMSHLSPlayerPlaybackEventTypes.ON_PLAYBACK_RESOLUTION_CHANGE_EVENT) {
84
+ setHMSHLSPlayerResolution({
85
+ ...data
86
+ });
87
+ const aspectRatio = data.width / data.height;
88
+ if (typeof aspectRatio === 'number' && !isNaN(aspectRatio)) {
89
+ setAspectRatio(aspectRatio);
90
+ }
83
91
  } else {
84
92
  setHMSHLSPlayerPlaybackState(data.state);
85
- if (data.state === 'onVideoSizeChanged') {
86
- if (typeof data.aspectRatio === 'number') {
87
- setAspectRatio(data.aspectRatio);
88
- }
89
- }
90
93
  }
91
94
  };
92
95
 
@@ -1 +1 @@
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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"}
1
+ {"version":3,"names":["React","useImperativeHandle","useRef","useState","View","StyleSheet","UIManager","findNodeHandle","setHMSHLSPlayerCue","setHMSHLSPlayerPlaybackError","setHMSHLSPlayerPlaybackState","setHMSHLSPlayerResolution","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","ON_PLAYBACK_RESOLUTION_CHANGE_EVENT","width","height","isNaN","state","handleHLSStatsEvent","_ref3","ON_STATS_EVENT_ERROR","createElement","styles","container","playerWrapper","player","flex","onHmsHlsPlaybackEvent","onHmsHlsStatsEvent","HMSHLSPlayer","forwardRef","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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"}
@@ -7,6 +7,9 @@ import { useHMSStore } from '../../stores/hms-store';
7
7
  export const useHMSHLSPlayerPlaybackState = () => {
8
8
  return useHMSStore(state => state.playbackState);
9
9
  };
10
+ export const useHMSHLSPlayerResolution = () => {
11
+ return useHMSStore(state => state.resolution);
12
+ };
10
13
  export const useHMSHLSPlayerStats = () => {
11
14
  return useHMSHLSPlayerStatsStore(state => ({
12
15
  stats: state.stats,
@@ -49,6 +52,7 @@ export const useHMSHLSPlayerCue = (callback, deps) => {
49
52
  // state setters
50
53
 
51
54
  export const setHMSHLSPlayerPlaybackState = useHMSStore.getState().setPlaybackState;
55
+ export const setHMSHLSPlayerResolution = useHMSStore.getState().setResolution;
52
56
  export const setHMSHLSPlayerCue = useHMSStore.getState().setCue;
53
57
  export const setHMSHLSPlayerPlaybackError = useHMSStore.getState().setPlaybackError;
54
58
  export const setHMSHLSPlayerStats = useHMSHLSPlayerStatsStore.getState().changeStats;
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","shallow","useHMSHLSPlayerStatsStore","useHMSStore","useHMSHLSPlayerPlaybackState","state","playbackState","useHMSHLSPlayerStats","stats","error","useHMSHLSPlayerStat","stat","useHMSHLSPlayerStatsError","callback","deps","subscribe","data","useHMSHLSPlayerPlaybackError","useHMSHLSPlayerCue","cue","setHMSHLSPlayerPlaybackState","getState","setPlaybackState","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 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 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":"AAAA,SAASA,SAAS,QAAQ,OAAO;AAEjC,SAASC,OAAO,QAAQ,iBAAiB;AAEzC,SAASC,yBAAyB,QAAQ,qCAAqC;AAC/E,SAASC,WAAW,QAAQ,wBAAwB;AAQpD;;AAEA,OAAO,MAAMC,4BAA4B,GAAGA,CAAA,KAAM;EAChD,OAAOD,WAAW,CAAEE,KAAK,IAAKA,KAAK,CAACC,aAAa,CAAC;AACpD,CAAC;AAED,OAAO,MAAMC,oBAAoB,GAAGA,CAAA,KAAM;EACxC,OAAOL,yBAAyB,CAC7BG,KAAK,KAAM;IACVG,KAAK,EAAEH,KAAK,CAACG,KAAK;IAClBC,KAAK,EAAEJ,KAAK,CAACI;EACf,CAAC,CAAC,EACFR,OACF,CAAC;AACH,CAAC;AAED,OAAO,MAAMS,mBAAmB,GAG9BC,IAAO,IACJ;EACH,OAAOT,yBAAyB,CAAEG,KAAK,IAAKA,KAAK,CAACG,KAAK,CAACG,IAAI,CAAC,CAAC;AAChE,CAAC;;AAED;AACA;AACA;AACA;;AAEA;;AAEA,OAAO,MAAMC,yBAAyB,GAAGA,CACvCC,QAA8D,EAC9DC,IAAoB,KACjB;EACHd,SAAS,CAAC,MAAM;IACd,OAAOE,yBAAyB,CAACa,SAAS,CACvCV,KAAK,IAAKA,KAAK,CAACI,KAAK,EACrBO,IAAI,IAAK;MACR,IAAIA,IAAI,EAAEH,QAAQ,CAACG,IAAI,CAAC;IAC1B,CACF,CAAC;EACH,CAAC,EAAEF,IAAI,CAAC;AACV,CAAC;AAED,OAAO,MAAMG,4BAA4B,GAAGA,CAC1CJ,QAAiE,EACjEC,IAAoB,KACjB;EACHd,SAAS,CAAC,MAAM;IACd,OAAOG,WAAW,CAACY,SAAS,CACzBV,KAAK,IAAKA,KAAK,CAACI,KAAK,EACrBO,IAAI,IAAK;MACR,IAAIA,IAAI,EAAEH,QAAQ,CAACG,IAAI,CAAC;IAC1B,CACF,CAAC;EACH,CAAC,EAAEF,IAAI,CAAC;AACV,CAAC;AAED,OAAO,MAAMI,kBAAkB,GAAGA,CAChCL,QAAuD,EACvDC,IAAoB,KACjB;EACHd,SAAS,CAAC,MAAM;IACd,OAAOG,WAAW,CAACY,SAAS,CACzBV,KAAK,IAAKA,KAAK,CAACc,GAAG,EACnBH,IAAI,IAAK;MACR,IAAIA,IAAI,EAAEH,QAAQ,CAACG,IAAI,CAAC;IAC1B,CACF,CAAC;EACH,CAAC,EAAEF,IAAI,CAAC;AACV,CAAC;;AAED;;AAEA,OAAO,MAAMM,4BAA4B,GACvCjB,WAAW,CAACkB,QAAQ,CAAC,CAAC,CAACC,gBAAgB;AAEzC,OAAO,MAAMC,kBAAkB,GAAGpB,WAAW,CAACkB,QAAQ,CAAC,CAAC,CAACG,MAAM;AAE/D,OAAO,MAAMC,4BAA4B,GACvCtB,WAAW,CAACkB,QAAQ,CAAC,CAAC,CAACK,gBAAgB;AAEzC,OAAO,MAAMC,oBAAoB,GAC/BzB,yBAAyB,CAACmB,QAAQ,CAAC,CAAC,CAACO,WAAW;AAElD,OAAO,MAAMC,yBAAyB,GACpC3B,yBAAyB,CAACmB,QAAQ,CAAC,CAAC,CAACS,QAAQ"}
1
+ {"version":3,"names":["useEffect","shallow","useHMSHLSPlayerStatsStore","useHMSStore","useHMSHLSPlayerPlaybackState","state","playbackState","useHMSHLSPlayerResolution","resolution","useHMSHLSPlayerStats","stats","error","useHMSHLSPlayerStat","stat","useHMSHLSPlayerStatsError","callback","deps","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 =\n 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":"AAAA,SAASA,SAAS,QAAQ,OAAO;AAEjC,SAASC,OAAO,QAAQ,iBAAiB;AAEzC,SAASC,yBAAyB,QAAQ,qCAAqC;AAC/E,SAASC,WAAW,QAAQ,wBAAwB;AAQpD;;AAEA,OAAO,MAAMC,4BAA4B,GAAGA,CAAA,KAAM;EAChD,OAAOD,WAAW,CAAEE,KAAK,IAAKA,KAAK,CAACC,aAAa,CAAC;AACpD,CAAC;AAED,OAAO,MAAMC,yBAAyB,GAAGA,CAAA,KAAM;EAC7C,OAAOJ,WAAW,CAAEE,KAAK,IAAKA,KAAK,CAACG,UAAU,CAAC;AACjD,CAAC;AAED,OAAO,MAAMC,oBAAoB,GAAGA,CAAA,KAAM;EACxC,OAAOP,yBAAyB,CAC7BG,KAAK,KAAM;IACVK,KAAK,EAAEL,KAAK,CAACK,KAAK;IAClBC,KAAK,EAAEN,KAAK,CAACM;EACf,CAAC,CAAC,EACFV,OACF,CAAC;AACH,CAAC;AAED,OAAO,MAAMW,mBAAmB,GAG9BC,IAAO,IACJ;EACH,OAAOX,yBAAyB,CAAEG,KAAK,IAAKA,KAAK,CAACK,KAAK,CAACG,IAAI,CAAC,CAAC;AAChE,CAAC;;AAED;AACA;AACA;AACA;;AAEA;;AAEA,OAAO,MAAMC,yBAAyB,GAAGA,CACvCC,QAA8D,EAC9DC,IAAoB,KACjB;EACHhB,SAAS,CAAC,MAAM;IACd,OAAOE,yBAAyB,CAACe,SAAS,CACvCZ,KAAK,IAAKA,KAAK,CAACM,KAAK,EACrBO,IAAI,IAAK;MACR,IAAIA,IAAI,EAAEH,QAAQ,CAACG,IAAI,CAAC;IAC1B,CACF,CAAC;EACH,CAAC,EAAEF,IAAI,CAAC;AACV,CAAC;AAED,OAAO,MAAMG,4BAA4B,GAAGA,CAC1CJ,QAAiE,EACjEC,IAAoB,KACjB;EACHhB,SAAS,CAAC,MAAM;IACd,OAAOG,WAAW,CAACc,SAAS,CACzBZ,KAAK,IAAKA,KAAK,CAACM,KAAK,EACrBO,IAAI,IAAK;MACR,IAAIA,IAAI,EAAEH,QAAQ,CAACG,IAAI,CAAC;IAC1B,CACF,CAAC;EACH,CAAC,EAAEF,IAAI,CAAC;AACV,CAAC;AAED,OAAO,MAAMI,kBAAkB,GAAGA,CAChCL,QAAuD,EACvDC,IAAoB,KACjB;EACHhB,SAAS,CAAC,MAAM;IACd,OAAOG,WAAW,CAACc,SAAS,CACzBZ,KAAK,IAAKA,KAAK,CAACgB,GAAG,EACnBH,IAAI,IAAK;MACR,IAAIA,IAAI,EAAEH,QAAQ,CAACG,IAAI,CAAC;IAC1B,CACF,CAAC;EACH,CAAC,EAAEF,IAAI,CAAC;AACV,CAAC;;AAED;;AAEA,OAAO,MAAMM,4BAA4B,GACvCnB,WAAW,CAACoB,QAAQ,CAAC,CAAC,CAACC,gBAAgB;AAEzC,OAAO,MAAMC,yBAAyB,GACpCtB,WAAW,CAACoB,QAAQ,CAAC,CAAC,CAACG,aAAa;AAEtC,OAAO,MAAMC,kBAAkB,GAAGxB,WAAW,CAACoB,QAAQ,CAAC,CAAC,CAACK,MAAM;AAE/D,OAAO,MAAMC,4BAA4B,GACvC1B,WAAW,CAACoB,QAAQ,CAAC,CAAC,CAACO,gBAAgB;AAEzC,OAAO,MAAMC,oBAAoB,GAC/B7B,yBAAyB,CAACqB,QAAQ,CAAC,CAAC,CAACS,WAAW;AAElD,OAAO,MAAMC,yBAAyB,GACpC/B,yBAAyB,CAACqB,QAAQ,CAAC,CAAC,CAACW,QAAQ"}
@@ -1,3 +1,3 @@
1
1
  export * from './HMSHLSPlayer';
2
- export { useHMSHLSPlayerPlaybackState, useHMSHLSPlayerCue, useHMSHLSPlayerPlaybackError, useHMSHLSPlayerStats, useHMSHLSPlayerStat, useHMSHLSPlayerStatsError } from './hooks';
2
+ export { useHMSHLSPlayerPlaybackState, useHMSHLSPlayerCue, useHMSHLSPlayerPlaybackError, useHMSHLSPlayerStats, useHMSHLSPlayerStat, useHMSHLSPlayerStatsError, useHMSHLSPlayerResolution } from './hooks';
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useHMSHLSPlayerPlaybackState","useHMSHLSPlayerCue","useHMSHLSPlayerPlaybackError","useHMSHLSPlayerStats","useHMSHLSPlayerStat","useHMSHLSPlayerStatsError"],"sources":["index.ts"],"sourcesContent":["export * from './HMSHLSPlayer';\nexport {\n useHMSHLSPlayerPlaybackState,\n useHMSHLSPlayerCue,\n useHMSHLSPlayerPlaybackError,\n useHMSHLSPlayerStats,\n useHMSHLSPlayerStat,\n useHMSHLSPlayerStatsError,\n} from './hooks';\n"],"mappings":"AAAA,cAAc,gBAAgB;AAC9B,SACEA,4BAA4B,EAC5BC,kBAAkB,EAClBC,4BAA4B,EAC5BC,oBAAoB,EACpBC,mBAAmB,EACnBC,yBAAyB,QACpB,SAAS"}
1
+ {"version":3,"names":["useHMSHLSPlayerPlaybackState","useHMSHLSPlayerCue","useHMSHLSPlayerPlaybackError","useHMSHLSPlayerStats","useHMSHLSPlayerStat","useHMSHLSPlayerStatsError","useHMSHLSPlayerResolution"],"sources":["index.ts"],"sourcesContent":["export * from './HMSHLSPlayer';\nexport {\n useHMSHLSPlayerPlaybackState,\n useHMSHLSPlayerCue,\n useHMSHLSPlayerPlaybackError,\n useHMSHLSPlayerStats,\n useHMSHLSPlayerStat,\n useHMSHLSPlayerStatsError,\n useHMSHLSPlayerResolution,\n} from './hooks';\n"],"mappings":"AAAA,cAAc,gBAAgB;AAC9B,SACEA,4BAA4B,EAC5BC,kBAAkB,EAClBC,4BAA4B,EAC5BC,oBAAoB,EACpBC,mBAAmB,EACnBC,yBAAyB,EACzBC,yBAAyB,QACpB,SAAS"}
@@ -0,0 +1,12 @@
1
+ import { useHMSStore } from '../stores/hms-store';
2
+
3
+ // use latest state (with component rerender)
4
+
5
+ export const useHmsViewsResolutionsState = trackId => {
6
+ return useHMSStore(state => trackId ? state.hmsviewsResolutions[trackId] : undefined);
7
+ };
8
+
9
+ // state setters
10
+
11
+ export const setHmsViewsResolutionsState = useHMSStore.getState().setHmsviewsResolutions;
12
+ //# sourceMappingURL=hmsviews.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useHMSStore","useHmsViewsResolutionsState","trackId","state","hmsviewsResolutions","undefined","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) => trackId ? state.hmsviewsResolutions[trackId] : undefined);\n};\n\n// state setters\n\nexport const setHmsViewsResolutionsState =\n useHMSStore.getState().setHmsviewsResolutions;\n"],"mappings":"AACA,SAASA,WAAW,QAAQ,qBAAqB;;AAEjD;;AAEA,OAAO,MAAMC,2BAA2B,GAAIC,OAAiB,IAAK;EAChE,OAAOF,WAAW,CAAEG,KAAK,IAAKD,OAAO,GAAGC,KAAK,CAACC,mBAAmB,CAACF,OAAO,CAAC,GAAGG,SAAS,CAAC;AACzF,CAAC;;AAED;;AAEA,OAAO,MAAMC,2BAA2B,GACtCN,WAAW,CAACO,QAAQ,CAAC,CAAC,CAACC,sBAAsB"}
@@ -90,6 +90,7 @@ export * from './components/HMSHLSPlayer';
90
90
 
91
91
  // 100ms Hooks
92
92
  export * from './hooks/useHMSPeerUpdates';
93
+ export { useHmsViewsResolutionsState } from './hooks/hmsviews';
93
94
 
94
95
  // 100ms types
95
96
  export * from './types';
@@ -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 {\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"}
1
+ {"version":3,"names":["HMSSDK","HmsManager","default","HMSManagerModule","useHmsViewsResolutionsState"],"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';\nexport type { HMSPIPConfig } from './classes/HMSPIPConfig';\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';\nexport { useHmsViewsResolutionsState } from './hooks/hmsviews';\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;AAWzC,SAASA,MAAM,IAAIC,UAAU,QAAQ,kBAAkB;;AAEvD;AACA,SAASC,OAAO,IAAIC,gBAAgB,QAAQ,4BAA4B;;AAExE;AACA,cAAc,2BAA2B;;AAEzC;AACA,cAAc,2BAA2B;AACzC,SAASC,2BAA2B,QAAQ,kBAAkB;;AAE9D;AACA,cAAc,SAAS;AACvB,cAAc,gBAAgB;AAE9B,eAAeH,UAAU"}
@@ -11,6 +11,10 @@ export const createHMSHLSPlayerPlaybackSlice = set => ({
11
11
  error: undefined,
12
12
  setPlaybackError: error => set({
13
13
  error
14
+ }),
15
+ resolution: undefined,
16
+ setResolution: resolution => set({
17
+ resolution
14
18
  })
15
19
  });
16
20
  //# sourceMappingURL=hls-player-playback-slice.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["HMSHLSPlayerPlaybackState","createHMSHLSPlayerPlaybackSlice","set","cue","undefined","setCue","playbackState","UNKNOWN","setPlaybackState","error","setPlaybackError"],"sources":["hls-player-playback-slice.ts"],"sourcesContent":["import type { StateCreator } from 'zustand';\nimport { HMSHLSPlayerPlaybackState } from '../types';\nimport type {\n HMSHLSPlayerPlaybackCue,\n HMSHLSPlayerPlaybackError,\n HMSHLSPlayerPlaybackSlice,\n HMSStore,\n} from './types';\n\nexport const createHMSHLSPlayerPlaybackSlice: StateCreator<\n HMSStore,\n [],\n [],\n HMSHLSPlayerPlaybackSlice\n> = (set) => ({\n cue: undefined,\n setCue: (cue: HMSHLSPlayerPlaybackCue) => set({ cue }),\n\n playbackState: HMSHLSPlayerPlaybackState.UNKNOWN,\n setPlaybackState: (playbackState: HMSHLSPlayerPlaybackState) =>\n set({ playbackState }),\n\n error: undefined,\n setPlaybackError: (error: HMSHLSPlayerPlaybackError) => set({ error }),\n});\n"],"mappings":"AACA,SAASA,yBAAyB,QAAQ,UAAU;AAQpD,OAAO,MAAMC,+BAKZ,GAAIC,GAAG,KAAM;EACZC,GAAG,EAAEC,SAAS;EACdC,MAAM,EAAGF,GAA4B,IAAKD,GAAG,CAAC;IAAEC;EAAI,CAAC,CAAC;EAEtDG,aAAa,EAAEN,yBAAyB,CAACO,OAAO;EAChDC,gBAAgB,EAAGF,aAAwC,IACzDJ,GAAG,CAAC;IAAEI;EAAc,CAAC,CAAC;EAExBG,KAAK,EAAEL,SAAS;EAChBM,gBAAgB,EAAGD,KAAgC,IAAKP,GAAG,CAAC;IAAEO;EAAM,CAAC;AACvE,CAAC,CAAC"}
1
+ {"version":3,"names":["HMSHLSPlayerPlaybackState","createHMSHLSPlayerPlaybackSlice","set","cue","undefined","setCue","playbackState","UNKNOWN","setPlaybackState","error","setPlaybackError","resolution","setResolution"],"sources":["hls-player-playback-slice.ts"],"sourcesContent":["import type { StateCreator } from 'zustand';\nimport { HMSHLSPlayerPlaybackState } from '../types';\nimport type {\n HMSHLSPlayerPlaybackCue,\n HMSHLSPlayerPlaybackError,\n HMSHLSPlayerPlaybackSlice,\n HMSStore,\n} from './types';\n\nexport const createHMSHLSPlayerPlaybackSlice: StateCreator<\n HMSStore,\n [],\n [],\n HMSHLSPlayerPlaybackSlice\n> = (set) => ({\n cue: undefined,\n setCue: (cue: HMSHLSPlayerPlaybackCue) => set({ cue }),\n\n playbackState: HMSHLSPlayerPlaybackState.UNKNOWN,\n setPlaybackState: (playbackState: HMSHLSPlayerPlaybackState) =>\n set({ playbackState }),\n\n error: undefined,\n setPlaybackError: (error: HMSHLSPlayerPlaybackError) => set({ error }),\n\n resolution: undefined,\n setResolution: (resolution) => set({ resolution }),\n});\n"],"mappings":"AACA,SAASA,yBAAyB,QAAQ,UAAU;AAQpD,OAAO,MAAMC,+BAKZ,GAAIC,GAAG,KAAM;EACZC,GAAG,EAAEC,SAAS;EACdC,MAAM,EAAGF,GAA4B,IAAKD,GAAG,CAAC;IAAEC;EAAI,CAAC,CAAC;EAEtDG,aAAa,EAAEN,yBAAyB,CAACO,OAAO;EAChDC,gBAAgB,EAAGF,aAAwC,IACzDJ,GAAG,CAAC;IAAEI;EAAc,CAAC,CAAC;EAExBG,KAAK,EAAEL,SAAS;EAChBM,gBAAgB,EAAGD,KAAgC,IAAKP,GAAG,CAAC;IAAEO;EAAM,CAAC,CAAC;EAEtEE,UAAU,EAAEP,SAAS;EACrBQ,aAAa,EAAGD,UAAU,IAAKT,GAAG,CAAC;IAAES;EAAW,CAAC;AACnD,CAAC,CAAC"}
@@ -1,9 +1,11 @@
1
1
  import { create } from 'zustand';
2
2
  import { subscribeWithSelector } from 'zustand/middleware';
3
3
  import { createHMSHLSPlayerPlaybackSlice } from './hls-player-playback-slice';
4
+ import { createHMSViewsSlice } from './hmsviews-slice';
4
5
  export const useHMSStore = create()(subscribeWithSelector(function () {
5
6
  return {
6
- ...createHMSHLSPlayerPlaybackSlice(...arguments)
7
+ ...createHMSHLSPlayerPlaybackSlice(...arguments),
8
+ ...createHMSViewsSlice(...arguments)
7
9
  };
8
10
  }));
9
11
  //# sourceMappingURL=hms-store.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["create","subscribeWithSelector","createHMSHLSPlayerPlaybackSlice","useHMSStore","arguments"],"sources":["hms-store.ts"],"sourcesContent":["import { create } from 'zustand';\nimport { subscribeWithSelector } from 'zustand/middleware';\n\nimport { createHMSHLSPlayerPlaybackSlice } from './hls-player-playback-slice';\nimport type { HMSStore } from './types';\n\nexport const useHMSStore = create<HMSStore>()(\n subscribeWithSelector((...a) => ({\n ...createHMSHLSPlayerPlaybackSlice(...a),\n }))\n);\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,SAAS;AAChC,SAASC,qBAAqB,QAAQ,oBAAoB;AAE1D,SAASC,+BAA+B,QAAQ,6BAA6B;AAG7E,OAAO,MAAMC,WAAW,GAAGH,MAAM,CAAW,CAAC,CAC3CC,qBAAqB,CAAC;EAAA,OAAW;IAC/B,GAAGC,+BAA+B,CAAC,GAAAE,SAAI;EACzC,CAAC;AAAA,CAAC,CACJ,CAAC"}
1
+ {"version":3,"names":["create","subscribeWithSelector","createHMSHLSPlayerPlaybackSlice","createHMSViewsSlice","useHMSStore","arguments"],"sources":["hms-store.ts"],"sourcesContent":["import { create } from 'zustand';\nimport { subscribeWithSelector } from 'zustand/middleware';\n\nimport { createHMSHLSPlayerPlaybackSlice } from './hls-player-playback-slice';\nimport { createHMSViewsSlice } from './hmsviews-slice';\nimport type { HMSStore } from './types';\n\nexport const useHMSStore = create<HMSStore>()(\n subscribeWithSelector((...a) => ({\n ...createHMSHLSPlayerPlaybackSlice(...a),\n ...createHMSViewsSlice(...a)\n }))\n);\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,SAAS;AAChC,SAASC,qBAAqB,QAAQ,oBAAoB;AAE1D,SAASC,+BAA+B,QAAQ,6BAA6B;AAC7E,SAASC,mBAAmB,QAAQ,kBAAkB;AAGtD,OAAO,MAAMC,WAAW,GAAGJ,MAAM,CAAW,CAAC,CAC3CC,qBAAqB,CAAC;EAAA,OAAW;IAC/B,GAAGC,+BAA+B,CAAC,GAAAG,SAAI,CAAC;IACxC,GAAGF,mBAAmB,CAAC,GAAAE,SAAI;EAC7B,CAAC;AAAA,CAAC,CACJ,CAAC"}
@@ -0,0 +1,12 @@
1
+ export const createHMSViewsSlice = set => ({
2
+ hmsviewsResolutions: {},
3
+ setHmsviewsResolutions: (trackId, resolution) => {
4
+ set(state => ({
5
+ hmsviewsResolutions: {
6
+ ...state.hmsviewsResolutions,
7
+ [trackId]: resolution
8
+ }
9
+ }));
10
+ }
11
+ });
12
+ //# sourceMappingURL=hmsviews-slice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createHMSViewsSlice","set","hmsviewsResolutions","setHmsviewsResolutions","trackId","resolution","state"],"sources":["hmsviews-slice.ts"],"sourcesContent":["import type { StateCreator } from 'zustand';\n\nimport type { HMSViewsSlice, HMSStore } from './types';\n\nexport const createHMSViewsSlice: StateCreator<\n HMSStore,\n [],\n [],\n HMSViewsSlice\n> = (set) => ({\n hmsviewsResolutions: {},\n setHmsviewsResolutions: (trackId, resolution) => {\n set((state) => ({\n hmsviewsResolutions: {\n ...state.hmsviewsResolutions,\n [trackId]: resolution,\n },\n }));\n },\n});\n"],"mappings":"AAIA,OAAO,MAAMA,mBAKZ,GAAIC,GAAG,KAAM;EACZC,mBAAmB,EAAE,CAAC,CAAC;EACvBC,sBAAsB,EAAEA,CAACC,OAAO,EAAEC,UAAU,KAAK;IAC/CJ,GAAG,CAAEK,KAAK,KAAM;MACdJ,mBAAmB,EAAE;QACnB,GAAGI,KAAK,CAACJ,mBAAmB;QAC5B,CAACE,OAAO,GAAGC;MACb;IACF,CAAC,CAAC,CAAC;EACL;AACF,CAAC,CAAC"}
@@ -1,2 +1,11 @@
1
+ // Stores
2
+
3
+ // HMSViews Slice
4
+
5
+ ;
6
+
7
+ // HLS Player Playback Slice
8
+
9
+ // HLS Player Stats Slice
1
10
  export {};
2
11
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["// Stores\n\nimport type {\n HMSHLSPlayerPlaybackState,\n HMSHLSPlayerPlaybackCueEventData,\n HMSHLSPlayerPlaybackFailureEventData,\n HMSHLSPlayerStatsErrorEventData,\n HMSHLSPlayerStatsUpdateEventData,\n} from '../types';\n\nexport type HMSStore = HMSHLSPlayerPlaybackSlice;\nexport type HMSHLSPlayerStatsStore = HMSHLSPlayerStatsSlice;\n\n// HLS Player Playback Slice\n\nexport interface HMSHLSPlayerPlaybackCue\n extends Omit<HMSHLSPlayerPlaybackCueEventData, 'endDate' | 'startDate'> {\n endDate?: Date;\n startDate: Date;\n}\n\nexport type HMSHLSPlayerCue = HMSHLSPlayerPlaybackCue | undefined;\n\nexport type HMSHLSPlayerPlaybackError =\n | HMSHLSPlayerPlaybackFailureEventData['error']\n | undefined;\n\nexport interface HMSHLSPlayerPlaybackSlice {\n cue: HMSHLSPlayerCue;\n playbackState: HMSHLSPlayerPlaybackState;\n error: HMSHLSPlayerPlaybackError;\n setCue(cue: HMSHLSPlayerPlaybackCue): void;\n setPlaybackState(playbackState: HMSHLSPlayerPlaybackState): void;\n setPlaybackError(error: HMSHLSPlayerPlaybackError): void;\n}\n\n// HLS Player Stats Slice\n\nexport type HMSHLSPlayerStats = HMSHLSPlayerStatsUpdateEventData;\nexport type HMSHLSPlayerStatsError =\n | HMSHLSPlayerStatsErrorEventData\n | undefined;\n\nexport interface HMSHLSPlayerStatsSlice {\n stats: HMSHLSPlayerStats;\n error: HMSHLSPlayerStatsError | undefined;\n changeStats(stats: HMSHLSPlayerStats): void;\n setError(error: HMSHLSPlayerStatsError): void;\n}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["// Stores\n\nimport type {\n HMSHLSPlayerPlaybackState,\n HMSHLSPlayerPlaybackCueEventData,\n HMSHLSPlayerPlaybackFailureEventData,\n HMSHLSPlayerPlaybackResolutionChangeEventData,\n HMSHLSPlayerStatsErrorEventData,\n HMSHLSPlayerStatsUpdateEventData,\n} from '../types';\n\nexport type HMSStore = HMSHLSPlayerPlaybackSlice & HMSViewsSlice;\nexport type HMSHLSPlayerStatsStore = HMSHLSPlayerStatsSlice;\n\n// HMSViews Slice\n\nexport type TrackId = string;\n\nexport type Resolution = {\n width: number;\n height: number;\n};\n\nexport interface HMSViewsSlice {\n hmsviewsResolutions: Record<TrackId, Resolution | undefined>;\n setHmsviewsResolutions(trackId: TrackId, resolution: Resolution): void;\n};\n\n// HLS Player Playback Slice\n\nexport interface HMSHLSPlayerPlaybackCue\n extends Omit<HMSHLSPlayerPlaybackCueEventData, 'endDate' | 'startDate'> {\n endDate?: Date;\n startDate: Date;\n}\n\nexport type HMSHLSPlayerCue = HMSHLSPlayerPlaybackCue | undefined;\n\nexport type HMSHLSPlayerPlaybackError =\n | HMSHLSPlayerPlaybackFailureEventData['error']\n | undefined;\n\nexport type HMSHLSPlayerResolution = HMSHLSPlayerPlaybackResolutionChangeEventData | undefined;\n\nexport interface HMSHLSPlayerPlaybackSlice {\n cue: HMSHLSPlayerCue;\n playbackState: HMSHLSPlayerPlaybackState;\n resolution: HMSHLSPlayerResolution;\n error: HMSHLSPlayerPlaybackError;\n setCue(cue: HMSHLSPlayerPlaybackCue): void;\n setPlaybackState(playbackState: HMSHLSPlayerPlaybackState): void;\n setResolution(resolution: HMSHLSPlayerResolution): void;\n setPlaybackError(error: HMSHLSPlayerPlaybackError): void;\n}\n\n// HLS Player Stats Slice\n\nexport type HMSHLSPlayerStats = HMSHLSPlayerStatsUpdateEventData;\nexport type HMSHLSPlayerStatsError =\n | HMSHLSPlayerStatsErrorEventData\n | undefined;\n\nexport interface HMSHLSPlayerStatsSlice {\n stats: HMSHLSPlayerStats;\n error: HMSHLSPlayerStatsError | undefined;\n changeStats(stats: HMSHLSPlayerStats): void;\n setError(error: HMSHLSPlayerStatsError): void;\n}\n"],"mappings":"AAAA;;AAcA;;AAYC;;AAED;;AA2BA;AAAA"}
@@ -6,6 +6,7 @@ export let HMSHLSPlayerPlaybackEventTypes = /*#__PURE__*/function (HMSHLSPlayerP
6
6
  HMSHLSPlayerPlaybackEventTypes["ON_PLAYBACK_CUE_EVENT"] = "ON_PLAYBACK_CUE_EVENT";
7
7
  HMSHLSPlayerPlaybackEventTypes["ON_PLAYBACK_FAILURE_EVENT"] = "ON_PLAYBACK_FAILURE_EVENT";
8
8
  HMSHLSPlayerPlaybackEventTypes["ON_PLAYBACK_STATE_CHANGE_EVENT"] = "ON_PLAYBACK_STATE_CHANGE_EVENT";
9
+ HMSHLSPlayerPlaybackEventTypes["ON_PLAYBACK_RESOLUTION_CHANGE_EVENT"] = "ON_PLAYBACK_RESOLUTION_CHANGE_EVENT";
9
10
  return HMSHLSPlayerPlaybackEventTypes;
10
11
  }({});
11
12
  export let HMSHLSPlayerPlaybackState = /*#__PURE__*/function (HMSHLSPlayerPlaybackState) {
@@ -15,7 +16,6 @@ export let HMSHLSPlayerPlaybackState = /*#__PURE__*/function (HMSHLSPlayerPlayba
15
16
  HMSHLSPlayerPlaybackState["PLAYING"] = "playing";
16
17
  HMSHLSPlayerPlaybackState["STOPPED"] = "stopped";
17
18
  HMSHLSPlayerPlaybackState["UNKNOWN"] = "unknown";
18
- HMSHLSPlayerPlaybackState["onVideoSizeChanged"] = "onVideoSizeChanged";
19
19
  return HMSHLSPlayerPlaybackState;
20
20
  }({});
21
21
  // #endregion HMS HLSPlayer Playback Events
@@ -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 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"}
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 ON_PLAYBACK_RESOLUTION_CHANGE_EVENT = 'ON_PLAYBACK_RESOLUTION_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\nexport type HMSHLSPlayerPlaybackResolutionChangeEventData = {\n width: number;\n height: number;\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\ntype HMSHLSPLayerPlaybackResolutionChangeEvent = HMSHLSPlayerEvent<\n HMSHLSPlayerPlaybackEventTypes.ON_PLAYBACK_RESOLUTION_CHANGE_EVENT,\n HMSHLSPlayerPlaybackResolutionChangeEventData\n>;\n\nexport type HMSHLSPlayerPlaybackEvent =\n | HMSHLSPlayerPlaybackCueEvent\n | HMSHLSPlayerPlaybackFailureEvent\n | HMSHLSPlayerPlaybackStateChangeEvent\n | HMSHLSPLayerPlaybackResolutionChangeEvent;\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;EAA9BA,8BAA8B;EAAA,OAA9BA,8BAA8B;AAAA;AAsB1C,WAAYC,yBAAyB,0BAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAA,OAAzBA,yBAAyB;AAAA;AA4CrC;AAEA;AAEA,WAAYC,2BAA2B,0BAA3BA,2BAA2B;EAA3BA,2BAA2B;EAA3BA,2BAA2B;EAAA,OAA3BA,2BAA2B;AAAA;;AAiDvC;;AAEA;AACA"}
@@ -0,0 +1,7 @@
1
+ export interface HMSPIPConfig {
2
+ autoEnterPipMode?: boolean;
3
+ aspectRatio?: [number, number];
4
+ endButton?: boolean;
5
+ audioButton?: boolean;
6
+ videoButton?: boolean;
7
+ }
@@ -20,14 +20,8 @@ import type { HMSLogSettings } from './HMSLogSettings';
20
20
  import { HMSPIPListenerActions } from './HMSPIPListenerActions';
21
21
  import type { HMSPeerListIteratorOptions } from './HMSPeerListIteratorOptions';
22
22
  import { HMSPeerListIterator } from './HMSPeerListIterator';
23
+ import type { HMSPIPConfig } from './HMSPIPConfig';
23
24
  type HmsViewProps = Omit<HmsComponentProps, 'id'>;
24
- interface PIPConfig {
25
- autoEnterPipMode?: boolean;
26
- aspectRatio?: [number, number];
27
- endButton?: boolean;
28
- audioButton?: boolean;
29
- videoButton?: boolean;
30
- }
31
25
  export declare class HMSSDK {
32
26
  id: string;
33
27
  private muteStatus;
@@ -636,8 +630,8 @@ export declare class HMSSDK {
636
630
  isInPictureInPictureMode: boolean;
637
631
  }) => void;
638
632
  isPipModeSupported(): Promise<undefined | boolean>;
639
- enterPipMode(data?: PIPConfig): Promise<undefined | boolean>;
640
- setPipParams(data?: PIPConfig): Promise<undefined | boolean>;
633
+ enterPipMode(data?: HMSPIPConfig): Promise<undefined | boolean>;
634
+ setPipParams(data?: HMSPIPConfig): Promise<undefined | boolean>;
641
635
  /**
642
636
  * - Returns the instance of logger which can be used to manipulate log levels.
643
637
  * @returns @instance HMSLogger
@@ -2,6 +2,7 @@ import type { DependencyList } from 'react';
2
2
  import type { HMSHLSPlayerStatsUpdateEventData } from '../../types';
3
3
  import type { HMSHLSPlayerCue, HMSHLSPlayerPlaybackError, HMSHLSPlayerStatsError } from '../../stores/types';
4
4
  export declare const useHMSHLSPlayerPlaybackState: () => import("../../types").HMSHLSPlayerPlaybackState;
5
+ export declare const useHMSHLSPlayerResolution: () => import("../../stores/types").HMSHLSPlayerResolution;
5
6
  export declare const useHMSHLSPlayerStats: () => {
6
7
  stats: HMSHLSPlayerStatsUpdateEventData;
7
8
  error: HMSHLSPlayerStatsError;
@@ -11,6 +12,7 @@ export declare const useHMSHLSPlayerStatsError: (callback: (error: NonNullable<H
11
12
  export declare const useHMSHLSPlayerPlaybackError: (callback: (error: NonNullable<HMSHLSPlayerPlaybackError>) => void, deps: DependencyList) => void;
12
13
  export declare const useHMSHLSPlayerCue: (callback: (error: NonNullable<HMSHLSPlayerCue>) => void, deps: DependencyList) => void;
13
14
  export declare const setHMSHLSPlayerPlaybackState: (playbackState: import("../../types").HMSHLSPlayerPlaybackState) => void;
15
+ export declare const setHMSHLSPlayerResolution: (resolution: import("../../stores/types").HMSHLSPlayerResolution) => void;
14
16
  export declare const setHMSHLSPlayerCue: (cue: import("../../stores/types").HMSHLSPlayerPlaybackCue) => void;
15
17
  export declare const setHMSHLSPlayerPlaybackError: (error: HMSHLSPlayerPlaybackError) => void;
16
18
  export declare const setHMSHLSPlayerStats: (stats: HMSHLSPlayerStatsUpdateEventData) => void;
@@ -1,2 +1,2 @@
1
1
  export * from './HMSHLSPlayer';
2
- export { useHMSHLSPlayerPlaybackState, useHMSHLSPlayerCue, useHMSHLSPlayerPlaybackError, useHMSHLSPlayerStats, useHMSHLSPlayerStat, useHMSHLSPlayerStatsError, } from './hooks';
2
+ export { useHMSHLSPlayerPlaybackState, useHMSHLSPlayerCue, useHMSHLSPlayerPlaybackError, useHMSHLSPlayerStats, useHMSHLSPlayerStat, useHMSHLSPlayerStatsError, useHMSHLSPlayerResolution, } from './hooks';
@@ -0,0 +1,3 @@
1
+ import type { TrackId } from '../stores/types';
2
+ export declare const useHmsViewsResolutionsState: (trackId?: TrackId) => import("../stores/types").Resolution | undefined;
3
+ export declare const setHmsViewsResolutionsState: (trackId: string, resolution: import("../stores/types").Resolution) => void;
@@ -82,10 +82,12 @@ export * from './classes/HMSCameraControl';
82
82
  export * from './classes/HMSIOSAudioMode';
83
83
  export type { HMSSessionStore, HMSSessionStoreValue, } from './classes/HMSSessionStore';
84
84
  export type { HmsViewComponent as HMSView, HmsComponentProps as HMSViewProps, } from './classes/HmsView';
85
+ export type { HMSPIPConfig } from './classes/HMSPIPConfig';
85
86
  import { HMSSDK as HmsManager } from './classes/HMSSDK';
86
87
  export { default as HMSManagerModule } from './classes/HMSManagerModule';
87
88
  export * from './components/HMSHLSPlayer';
88
89
  export * from './hooks/useHMSPeerUpdates';
90
+ export { useHmsViewsResolutionsState } from './hooks/hmsviews';
89
91
  export * from './types';
90
92
  export * from './stores/types';
91
93
  export default HmsManager;
@@ -1,7 +1,8 @@
1
- export declare const useHMSStore: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<import("./types").HMSHLSPlayerPlaybackSlice>, "subscribe"> & {
1
+ import type { HMSStore } from './types';
2
+ export declare const useHMSStore: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<HMSStore>, "subscribe"> & {
2
3
  subscribe: {
3
- (listener: (selectedState: import("./types").HMSHLSPlayerPlaybackSlice, previousSelectedState: import("./types").HMSHLSPlayerPlaybackSlice) => void): () => void;
4
- <U>(selector: (state: import("./types").HMSHLSPlayerPlaybackSlice) => U, listener: (selectedState: U, previousSelectedState: U) => void, options?: {
4
+ (listener: (selectedState: HMSStore, previousSelectedState: HMSStore) => void): () => void;
5
+ <U>(selector: (state: HMSStore) => U, listener: (selectedState: U, previousSelectedState: U) => void, options?: {
5
6
  equalityFn?: ((a: U, b: U) => boolean) | undefined;
6
7
  fireImmediately?: boolean | undefined;
7
8
  } | undefined): () => void;
@@ -0,0 +1,5 @@
1
+ import type { StateCreator } from 'zustand';
2
+ import type { HMSViewsSlice, HMSStore } from './types';
3
+ export declare const createHMSViewsSlice: StateCreator<HMSStore, [
4
+ ], [
5
+ ], HMSViewsSlice>;
@@ -1,18 +1,30 @@
1
- import type { HMSHLSPlayerPlaybackState, HMSHLSPlayerPlaybackCueEventData, HMSHLSPlayerPlaybackFailureEventData, HMSHLSPlayerStatsErrorEventData, HMSHLSPlayerStatsUpdateEventData } from '../types';
2
- export type HMSStore = HMSHLSPlayerPlaybackSlice;
1
+ import type { HMSHLSPlayerPlaybackState, HMSHLSPlayerPlaybackCueEventData, HMSHLSPlayerPlaybackFailureEventData, HMSHLSPlayerPlaybackResolutionChangeEventData, HMSHLSPlayerStatsErrorEventData, HMSHLSPlayerStatsUpdateEventData } from '../types';
2
+ export type HMSStore = HMSHLSPlayerPlaybackSlice & HMSViewsSlice;
3
3
  export type HMSHLSPlayerStatsStore = HMSHLSPlayerStatsSlice;
4
+ export type TrackId = string;
5
+ export type Resolution = {
6
+ width: number;
7
+ height: number;
8
+ };
9
+ export interface HMSViewsSlice {
10
+ hmsviewsResolutions: Record<TrackId, Resolution | undefined>;
11
+ setHmsviewsResolutions(trackId: TrackId, resolution: Resolution): void;
12
+ }
4
13
  export interface HMSHLSPlayerPlaybackCue extends Omit<HMSHLSPlayerPlaybackCueEventData, 'endDate' | 'startDate'> {
5
14
  endDate?: Date;
6
15
  startDate: Date;
7
16
  }
8
17
  export type HMSHLSPlayerCue = HMSHLSPlayerPlaybackCue | undefined;
9
18
  export type HMSHLSPlayerPlaybackError = HMSHLSPlayerPlaybackFailureEventData['error'] | undefined;
19
+ export type HMSHLSPlayerResolution = HMSHLSPlayerPlaybackResolutionChangeEventData | undefined;
10
20
  export interface HMSHLSPlayerPlaybackSlice {
11
21
  cue: HMSHLSPlayerCue;
12
22
  playbackState: HMSHLSPlayerPlaybackState;
23
+ resolution: HMSHLSPlayerResolution;
13
24
  error: HMSHLSPlayerPlaybackError;
14
25
  setCue(cue: HMSHLSPlayerPlaybackCue): void;
15
26
  setPlaybackState(playbackState: HMSHLSPlayerPlaybackState): void;
27
+ setResolution(resolution: HMSHLSPlayerResolution): void;
16
28
  setPlaybackError(error: HMSHLSPlayerPlaybackError): void;
17
29
  }
18
30
  export type HMSHLSPlayerStats = HMSHLSPlayerStatsUpdateEventData;