medea_flutter_webrtc 0.10.0-dev+rev.b348da36900ad9ee40e3649e78575d2ecce45fa6 medea_flutter_webrtc: ^0.10.0-dev+rev.b348da36900ad9ee40e3649e78575d2ecce45fa6 copied to clipboard
Flutter WebRTC plugin for Android/iOS/macOS/Linux/Windows/Web, based on GoogleWebRTC, designed for and used in Medea Jason WebRTC client.
medea_flutter_webrtc
changelog #
All user visible changes to this project will be documented in this file. This project uses Semantic Versioning 2.0.0.
0.10.0 · 2024-??-?? (unreleased) #
Added #
PeerConnection.videoDecoders()
andPeerConnection.videoEncoders()
methods enumerating available video codecs and their capability of hardware acceleration. (#144)- Support for multiple input audio devices usage at one time on desktop platforms. (#145)
MediaStreamTrack.isAudioLevelAvailable
function andMediaStreamTrack.onAudioLevelChanged
callback for detecting input audio level changes of localMediaStreamTrack
. (#149)RtpSender.getCapabilities()
andRtpTransceiver.setCodecPreferences()
operating byRtpCapabilities
,RtpHeaderExtensionCapability
andRtpCodecCapability
. (#137)AudioConstraints.autoGainControl
field. (#156)
Changed #
- Upgraded libwebrtc to 126.0.6478.182-r2 version. (#155, #162)
- Disable H264 software encoders and decoders. (#153)
- Migrated from
dart:html
topackage:web
. (#164)
Fixed #
- Double free when macOS video renderer is reused for different tracks. (#139)
- Swift exceptions not being propagated to Dart side on iOS. (#142)
- Segfault when switching to external camera on macOS. (#142)
- Unexpected audio category on
setOutputAudioId
call on iOS. (#146) - Race condition bug on
setOutputAudioId
call on Android. (#146) - Race condition bug on input/output device switch on desktop platforms. (#151)
RtpReceiver
use after free on Android. (#165)
0.9.0 · 2023-12-07 #
Added #
RtpTransceiverInit.sendEncodings
field withSendEncodingParameters
. (#125)MediaStreamTrack.height()
andMediaStreamTrack.width()
methods. (#129)RtpParameters
class,RtpSender.getParameters()
andRtpSender.setParameters()
methods. (#135)VideoRenderer.onCanPlay
callback. (#134)
Changed #
- Refactor Audio Device Module to use OpenAL library for playout and recording. (#117, #136)
- Fire
onDeviceChange
callback whenever an output audio device is changed in system settings on desktop platforms. (#119, #120) - Upgraded libwebrtc to 118.0.5993.88 version. (#134)
VideoRenderer.width
andVideoRenderer.height
now take rotation into account. (#124)
Fixed #
- Video renderer stretching a picture after rotation. (#124, #134)
- Screen sharing leaking memory on macOS. (#133)
0.8.2 · 2023-06-09 #
Changed #
- Upgraded libwebrtc to 112.0.5615.165 version. (#113)
0.8.1 · 2023-05-29 #
Fixed #
- FFI bridge initialization on desktop platforms. (#116)
0.8.0 · 2023-05-19 #
Added #
MediaStreamTrack.facingMode
getter. (#109)MediaStreamTrack.state
getter. (#69)MediaStreamTrack.onEnded
callback on Windows platform. (#10, #35, #37)MediaStreamTrack.setEnabled
method. (#28)- Flutter-side video rotation for all native platforms. (#103)
onDeviceChange
callback. (#26, #42, #54, #101)- Linux platform implementation. (#10, #18, #19, #34, #50, #86)
getDisplayMedia
method. (#10, #20)enumerateDisplays
method. (#85)setOutputAudioId
method. (#39, #98)microphoneVolumeIsAvailable
,microphoneVolume
,setMicrophoneVolume
methods. (#57)AudioRenderer
object. (#45)getStats
method. (#88, #91)enableFakeMedia
method. (#65, #71, #82)- Atomic
RtpTransceiver.setRecv
andRtpTransceiver.setSend
methods. (#73) - Way to disable context menu over
RTCVideoView
on Web platform. (#9)
Fixed #
WebVideoRenderer
not applyingmirror
andenableContextMenu
values. (#62)- Unsynchronized renderers after Java
VideoTrack
update. (#76) WebAudioRenderer
not removing its audio element. (#46)- Mirroring issues with
RTCVideoRendererWeb
. (#15, #14) - Initial video rendering glitch on macOS platform. (#102)
- Bluetooth headset detection on Android platform. (#78)
Changed #
- Fully rewrote Android platform implementation. (#6, #31, #48, #75, #77, #80)
- Fully rewrote iOS platform implementation. (#89, #92, #93, #94, #100)