refactor(player):initialize assistManager for live only
This commit is contained in:
parent
d2923a5cb8
commit
5cc74df0af
3 changed files with 20 additions and 34 deletions
|
|
@ -2,10 +2,12 @@ import SimpleStore from './common/SimpleStore'
|
|||
import type { Store } from './common/types'
|
||||
|
||||
import WebPlayer from './web/WebPlayer'
|
||||
import WebLivePlayer from './web/WebLivePlayer'
|
||||
|
||||
type WebState = typeof WebPlayer.INITIAL_STATE //?
|
||||
type WebPlayerStore = Store<WebState>
|
||||
export type IWebPlayer = WebPlayer
|
||||
export type IWebLivePlayer = WebLivePlayer
|
||||
export type IWebPlayerStore = WebPlayerStore
|
||||
|
||||
export function createWebPlayer(session: Record<string, any>, wrapStore?: (s:IWebPlayerStore) => IWebPlayerStore): [IWebPlayer, IWebPlayerStore] {
|
||||
|
|
@ -16,12 +18,12 @@ export function createWebPlayer(session: Record<string, any>, wrapStore?: (s:IWe
|
|||
store = wrapStore(store)
|
||||
}
|
||||
|
||||
const player = new WebPlayer(store, session, null, false)
|
||||
const player = new WebPlayer(store, session, false)
|
||||
return [player, store]
|
||||
}
|
||||
|
||||
|
||||
export function createLiveWebPlayer(session: Record<string, any>, config: RTCIceServer[], wrapStore?: (s:IWebPlayerStore) => IWebPlayerStore): [IWebPlayer, IWebPlayerStore] {
|
||||
export function createLiveWebPlayer(session: Record<string, any>, config: RTCIceServer[], wrapStore?: (s:IWebPlayerStore) => IWebPlayerStore): [IWebLivePlayer, IWebPlayerStore] {
|
||||
let store: WebPlayerStore = new SimpleStore<WebState>({
|
||||
...WebPlayer.INITIAL_STATE,
|
||||
})
|
||||
|
|
@ -29,6 +31,6 @@ export function createLiveWebPlayer(session: Record<string, any>, config: RTCIce
|
|||
store = wrapStore(store)
|
||||
}
|
||||
|
||||
const player = new WebPlayer(store, session, config, true)
|
||||
const player = new WebLivePlayer(store, session, config)
|
||||
return [player, store]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,23 +1,15 @@
|
|||
// import WebPlayer from './WebPlayer'
|
||||
// import AssistManager from './assist/AssistManager'
|
||||
import type { Store } from '../common/types'
|
||||
|
||||
import WebPlayer from './WebPlayer'
|
||||
import AssistManager from './assist/AssistManager'
|
||||
|
||||
|
||||
// export default class WebLivePlayer extends WebPlayer {
|
||||
// assistManager: AssistManager // public so far
|
||||
// constructor(private wpState: Store<MMState & PlayerState>, session, config: RTCIceServer[]) {
|
||||
// super(wpState)
|
||||
// this.assistManager = new AssistManager(session, this.messageManager, config, wpState)
|
||||
// const endTime = !live && session.duration.valueOf()
|
||||
// wpState.update({
|
||||
// //@ts-ignore
|
||||
// initialized: true,
|
||||
// //@ts-ignore
|
||||
// session,
|
||||
|
||||
// live: true,
|
||||
// livePlay: true,
|
||||
// })
|
||||
export default class WebLivePlayer extends WebPlayer {
|
||||
assistManager: AssistManager // public so far
|
||||
constructor(wpState: Store<typeof WebPlayer.INITIAL_STATE>, session:any, config: RTCIceServer[]) {
|
||||
super(wpState, session, true)
|
||||
|
||||
// this.assistManager.connect(session.agentToken)
|
||||
// }
|
||||
// }
|
||||
this.assistManager = new AssistManager(session, this.messageManager, this.screen, config, wpState)
|
||||
this.assistManager.connect(session.agentToken)
|
||||
}
|
||||
}
|
||||
|
|
@ -23,14 +23,13 @@ export default class WebPlayer extends Player {
|
|||
liveTimeTravel: false,
|
||||
}
|
||||
|
||||
private readonly screen: Screen
|
||||
private readonly inspectorController: InspectorController
|
||||
protected readonly screen: Screen
|
||||
protected readonly messageManager: MessageManager
|
||||
|
||||
assistManager: AssistManager // public so far
|
||||
private targetMarker: TargetMarker
|
||||
|
||||
constructor(private wpState: Store<typeof WebPlayer.INITIAL_STATE>, session, config: RTCIceServer[], live: boolean) {
|
||||
constructor(private wpState: Store<typeof WebPlayer.INITIAL_STATE>, session: any, live: boolean) {
|
||||
let initialLists = live ? {} : {
|
||||
event: session.events.toJSON(),
|
||||
stack: session.stackEvents.toJSON(),
|
||||
|
|
@ -55,10 +54,8 @@ export default class WebPlayer extends Player {
|
|||
this.inspectorController = new InspectorController(screen)
|
||||
|
||||
|
||||
const endTime = !live && session.duration.valueOf()
|
||||
const endTime = session.duration?.valueOf() || 0
|
||||
wpState.update({
|
||||
//@ts-ignore
|
||||
initialized: true,
|
||||
//@ts-ignore
|
||||
session,
|
||||
|
||||
|
|
@ -67,11 +64,6 @@ export default class WebPlayer extends Player {
|
|||
endTime, // : 0,
|
||||
})
|
||||
|
||||
// TODO: separate LiveWebPlayer
|
||||
this.assistManager = new AssistManager(session, this.messageManager, screen, config, wpState)
|
||||
if (live) {
|
||||
this.assistManager.connect(session.agentToken)
|
||||
}
|
||||
}
|
||||
|
||||
attach = (parent: HTMLElement) => {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue