Skip to content

0.23.0

Compare
Choose a tag to compare
@kompfner kompfner released this 15 Feb 22:28
· 150 commits to main since this release

Features

  • Beta: Replacing your video background with an image is now supported, using the updateInputSettings() method. You can specify any custom image, or select from one of 10 pre-canned images provided by Daily, or just rely on Daily’s default background image:
callObject.updateInputSettings({
  video: {
    processor: {
      type: 'background-image',
      config?: {
        source?: 'default' | <public url to jpg, jpeg, or png> |	<int: 1-10>		
      }
    }
  }
});
  • Pre-beta: startRemoteMediaPlayer() now allows you to specify simulcast encoding settings:
callObject.startRemoteMediaPlayer({
  url: 'http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4',
  settings: { 
    state: 'play', 
    simulcastEncodings: [
      { maxBitrate: 80000, maxFramerate: 10, scaleResolutionDownBy: 4 },
      { maxBitrate: 200000, maxFramerate: 15, scaleResolutionDownBy: 2 },
      { maxBitrate: 600000, maxFramerate: 30}]
    }
});
  • Pre-beta: You can now get a new errorType'remote-media-player-error'—in the 'nonfatal-error' event, when an error occurs in a remote media player (started with startRemoteMediaPlayer()).

Bugfixes

  • If you’ve specified a false input device either up-front (i.e. join({ url, audioSource: false })) or in the middle of a call (i.e. setInputDevicesAsync({ audioSource: false })), then the corresponding track state will now be reported as 'off' as if it were a normal user mute (i.e. setLocalAudio(false)):
callObject.participants().local.tracks.audio.state; // 'off'
callObject.participants().local.tracks.audio.off.byUser; // true

// ...and from another participant's point of view...
callObject.participants()['some-id'].tracks.audio.state; // 'off'
callObject.participants()['some-id'].tracks.audio.off.byUser; // true

Prior to this change, participants would see tracks with no backing input source reported as either permanently 'interrupted' (if it was their own track) or permanently 'loading' (if it was a remote track).

Other improvements

  • Pre-beta: room() info now returns whether your domain has the enable_advanced_chat feature flag set (which controls a Prebuilt-only pre-beta feature).