MCPcopy Create free account
hub / github.com/cloudflare/meet / PullAudioTracks

Function PullAudioTracks

app/components/PullAudioTracks.tsx:12–41  ·  view source on GitHub ↗
({
	audioTracks,
	children,
})

Source from the content-addressed store, hash-verified

10const AudioTrackContext = createContext<Record<string, MediaStreamTrack>>({})
11
12export const PullAudioTracks: FC<PullAudioTracksProps> = ({
13 audioTracks,
14 children,
15}) => {
16 const [audioTrackMap, setAudioTrackMap] = useState<
17 Record<string, MediaStreamTrack>
18 >({})
19
20 return (
21 <AudioTrackContext.Provider value={audioTrackMap}>
22 <AudioStream
23 tracksToPull={audioTracks}
24 onTrackAdded={(id, track) =>
25 setAudioTrackMap((previous) => ({
26 ...previous,
27 [id]: track,
28 }))
29 }
30 onTrackRemoved={(id) => {
31 setAudioTrackMap((previous) => {
32 const update = { ...previous }
33 delete update[id]
34 return update
35 })
36 }}
37 />
38 {children}
39 </AudioTrackContext.Provider>
40 )
41}
42
43export function usePulledAudioTracks() {
44 return useContext(AudioTrackContext)

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected