@@ -50,7 +50,6 @@ import { ChatMessage } from '../../typings/interfaces';
5050import Tippy from '@tippyjs/react' ;
5151import useIsMounted from '../../hooks/useIsMounted' ;
5252import {
53- applyBgEffectToTrack ,
5453 initBgFilter ,
5554 applyBgFilterToTrack ,
5655} from '../../utils/bg_removal' ;
@@ -225,10 +224,12 @@ const Toolbar = ({
225224 if ( video ) {
226225 unpublishTrack ( video . track as LocalVideoTrack ) ;
227226 }
227+ let newTrack : LocalVideoTrack | MediaStreamTrack = track ;
228228 if ( bgRemovalEffect && bgFilter ) {
229- await applyBgFilterToTrack ( track , bgFilter ) ;
229+ await applyBgFilterToTrack ( track . mediaStreamTrack , bgFilter ) ;
230+ newTrack = await bgFilter . getOutputTrack ( ) ;
230231 }
231- room . localParticipant . publishTrack ( track ) ;
232+ room . localParticipant . publishTrack ( newTrack ) ;
232233 } )
233234 . catch ( ( err : Error ) => {
234235 console . log ( err ) ;
@@ -259,13 +260,12 @@ const Toolbar = ({
259260 } ) ;
260261 // console.log('init filter');
261262 } else if ( filter ) {
262-
263263 if ( bgRemovalEffect === 'none' ) {
264264 const filterDisabledStream = await filter . disable ( ) ;
265265 if ( filterDisabledStream ) {
266266 track = filterDisabledStream . getVideoTracks ( ) [ 0 ] ;
267267 if ( track ) {
268- console . log ( track ) ;
268+ // console.log(track);
269269 if ( video ) {
270270 unpublishTrack ( video . track as LocalVideoTrack ) ;
271271 }
@@ -276,12 +276,12 @@ const Toolbar = ({
276276 } else {
277277 if ( ! filterEnabled ) {
278278 const filterEnabledStream = await filter . enable ( ) ;
279- console . log ( 'filterEnabledStream' , filterEnabledStream ) ;
279+ // console.log('filterEnabledStream', filterEnabledStream);
280280 if ( filterEnabledStream ) {
281281 // track = filterEnabledStream.getVideoTracks()[0];
282282 track = await filter . getOutputTrack ( ) ;
283283 if ( track ) {
284- console . log ( track ) ;
284+ // console.log(track);
285285 if ( video ) {
286286 unpublishTrack ( video . track as LocalVideoTrack ) ;
287287 }
@@ -292,23 +292,16 @@ const Toolbar = ({
292292 }
293293 if ( bgRemovalEffect === 'blur' && filter . background !== 'blur' ) {
294294 await filter . changeBackground ( 'blur' ) ;
295- // await filter.changeBlurRadius(7);
296- } else if (
297- filter . background !==
298- 'https://demo.vectorly.io/virtual-backgrounds/1.jpg'
299- ) {
300- await filter . changeBackground (
301- 'https://demo.vectorly.io/virtual-backgrounds/1.jpg'
302- ) ;
303- // await filter.changeBlurRadius(0);
295+ } else if ( filter . background !== bgRemovalEffect ) {
296+ await filter . changeBackground ( bgRemovalEffect ) ;
304297 }
305298 }
306299 }
307300
308301 } ;
309302
310303 useEffect ( ( ) => {
311- console . log ( bgRemovalEffect ) ;
304+ // console.log(bgRemovalEffect);
312305 handleBgEffect ( ) ;
313306 } , [ bgRemovalEffect ] ) ;
314307
@@ -321,10 +314,12 @@ const Toolbar = ({
321314 if ( videoDevice ) options . deviceId = videoDevice ?. deviceId ;
322315 createLocalVideoTrack ( options )
323316 . then ( async ( track : LocalVideoTrack ) => {
317+ let newTrack : LocalVideoTrack | MediaStreamTrack = track ;
324318 if ( bgRemovalEffect && bgFilter ) {
325- await applyBgFilterToTrack ( track , bgFilter ) ;
319+ await applyBgFilterToTrack ( track . mediaStreamTrack , bgFilter ) ;
320+ newTrack = await bgFilter . getOutputTrack ( ) ;
326321 }
327- room . localParticipant . publishTrack ( track ) ;
322+ room . localParticipant . publishTrack ( newTrack ) ;
328323 } )
329324 . catch ( ( err : Error ) => {
330325 console . log ( err ) ;
@@ -395,8 +390,8 @@ const Toolbar = ({
395390 bgRemovalEffect = { bgRemovalEffect }
396391 setBgRemovalEffect = { setBgRemovalEffect }
397392 />
398- { /* Screen Share Button */ }
399- { /* TODO: screen share on mobile */}
393+ { /* Screen Share Button
394+ TODO: screen share on mobile */ }
400395 { ! isMobile && (
401396 < ToolbarButton
402397 type = "screenshare"
0 commit comments