tinode / webapp

Tinode web chat using React
Apache License 2.0
323 stars 197 forks source link

Mute/unmute video properly. #109

Closed aforge closed 1 year ago

aforge commented 1 year ago

Now muting turns the camera off instead of sending blank frames.

or-else commented 1 year ago

Start a call, press unmute-mute video button a few times, get a crash:

call-panel.jsx:360 Error opening your camera and/or microphone: Cannot read properties of undefined (reading 'getSenders')

  handleGetUserMediaError @ call-panel.jsx:360
  Promise.catch (async)    
  unmuteVideo @ call-panel.jsx:464
  handleToggleCameraClick @ call-panel.jsx:473
or-else commented 1 year ago

Muting video freezes the picture then the screen start flipping between two states:

Screenshot 2023-01-09 at 17 43 02 Screenshot 2023-01-09 at 17 38 17

I'm calling between FF and Chrome.

Audio must be enabled, otherwise it stays in the freeze-frame state.

aforge commented 1 year ago

Start a call, press unmute-mute video button a few times, get a crash:

call-panel.jsx:360 Error opening your camera and/or microphone: Cannot read properties of undefined (reading 'getSenders')

  handleGetUserMediaError @ call-panel.jsx:360   Promise.catch (async)       unmuteVideo @ call-panel.jsx:464   handleToggleCameraClick @ call-panel.jsx:473

Fixed.

aforge commented 1 year ago

Does the video freeze on FF? Or on both Chrome and FF?

Video freezes in both, only Chrome flashes between frozen video or correct screen.

or-else commented 1 year ago

Start a call, press unmute-mute video button a few times, get a crash:

Fixed

Now crashes in a different place (tested in FF):

Error opening your camera and/or microphone: pc is undefined call-panel.jsx:361:16 handleGetUserMediaError call-panel.jsx:361 unmuteVideo call-panel.jsx:466 handleToggleCameraClick call-panel.jsx:480 React 23

index.js:46 index.dev.js:21663 index.dev.js:21665
aforge commented 1 year ago

Are you seeing any errors in either's console?

or-else commented 1 year ago

Are you seeing any errors in either's console?

Nothing in the console, just flashes once every 3-5 seconds on Chrome. Stays frozen-frame on FF. Sound works.

or-else commented 1 year ago

Start a call, press unmute-mute video button a few times, get a crash:

Fixed

Chrome still crashes with

Error opening your camera and/or microphone: Cannot set properties of null (setting 'srcObject')

or-else commented 1 year ago

Are you seeing any errors in either's console?

You are probably changing state (this.setState()) in response to some WebRTC event.

or-else commented 1 year ago

I just sent you a video of flashing through GPhotos

or-else commented 1 year ago

still crashing when i press video button on the caller's end in chrome:

call-panel.jsx:362 Error opening your camera and/or microphone: Cannot read properties of undefined (reading 'getSenders')

or-else commented 1 year ago
  handleGetUserMediaError @ call-panel.jsx:362
  Promise.catch (async)    
  unmuteVideo @ call-panel.jsx:467
  handleToggleCameraClick @ call-panel.jsx:481