Skip to content

Latest commit

 

History

History
575 lines (393 loc) · 19.3 KB

CHANGELOG.md

File metadata and controls

575 lines (393 loc) · 19.3 KB

Changelog


[0.9.24] - 2023-03-07

  • [iOS] avaudiosession mode changed to AVAudioSessionModeVideoChat (#1285)
  • [macOS] fix memory leak for screen capture.

[0.9.23] - 2023-02-17

  • [Windows/Linux] Updated libwebrtc binary for windows/linux to fix two crashes.

[0.9.22] - 2023-02-14

  • [iOS] fix: Without any setActive for rtc session, libwebrtc manages the session counter by itself. (#1266)
  • [dart] fix: remove rtpsender.dispose.
  • [web] fix video renderer issue for safari.
  • [macOS] Fixed macOS desktop capture crash with simulcast enabled.
  • [macOS] Fix the crash when setting the fps of the virtual camera.

[0.9.21] - 2023-02-10

  • [Web] Fix: RTCRtpParameters.fromJsObject for Firefox.
  • [Web] Add bufferedamountlow.
  • [Android] Fixed frame capturer returning images with wrong colors (#1258).
  • [Windows] bug fix.

[0.9.20] - 2023-02-03

  • [Dawrin/Android/Windows] Add getCapabilities/setCodecPreferences methods
  • [Darwin] buffered amount
  • [Linux] Fixed audio device name buffer size
  • [Android] Start audioswitch and only activate it when needed
  • [Darwin] Fix typo which broke GcmCryptoSuites

[0.9.19] - 2023-01-10

  • [Dart] Fix getStats: change 'track' to 'trackId' (#1199)
  • [Android] keep the audio switch after stopping (#1202)
  • [Dart] Enhance RTC video view with placeholder builder property (#1206)
  • [Android] Use forked version of audio switch to avoid BLUETOOTH_CONNECT permission (#1218)

[0.9.18] - 2022-12-12

  • [Web] Bump dart_webrtc to 1.0.12, Convert iceconnectionstate to connectionstate for Firefox.
  • [Android] Start AudioSwitchManager only when audio track added (fix #1163) (#1196)
  • [iOS] Implement detachFromEngineForRegistrar (#1192)
  • [iOS] Handle Platform Exception on addCandidate (#1190)
  • [Native] Code format with clang-format.

[0.9.17] - 2022-11-28

  • [Android] Update android webrtc version to 104.5112.05
  • [iOS] Update WebRTC.xframework version to 104.5112.07

[0.9.16] - 2022-11-14

  • [Linux] Fixed compiler error for flutter 3.3.8.
  • [Linux] Remove 32-bit precompiled binaries.
  • [Linux] Supports linux-x64 and linux-arm64.

[0.9.15] - 2022-11-13

  • [Linux] Add Linux Support.

[0.9.14] - 2022-11-12

  • [iOS] Fix setSpeakerOn has no effect after change AVAudioSession mode to playback.

[0.9.13] - 2022-11-12

  • [Dart] Change MediaStream.clone to async.
  • [iOS] Fixed the bug that the mic indicator light was still on when mic recording was stopped.
  • [iOS/macOS/Android/Windows] Allow sdpMLineIndex to be null when addCandidate.
  • [macOS] Frame capture support for MacOS.
  • [Android] Add enableCpuOveruseDetection configuration (#1165).
  • [Android] Update comments (#1164).

[0.9.12] - 2022-11-02

  • [iOS] Fixed the problem that iOS earphones and speakers do not switch.
  • [Windows] fix bug for rtpSender->RemoveTrack/pc->getStats.
  • [iOS] Return groupId.
  • [Web] MediaRecorder.startWeb() should expose the timeslice parameter.
  • [iOS] Implement RTCPeerConnectionDelegate didRemoveIceCandidates method.
  • [iOS] fix disposing Broadcast Sharing stream.

[0.9.11] - 2022-10-16

  • [iOS] fix audio route/setSpeakerphoneOn issues.
  • [Windows] fix: Have same remote streams id then found wrong MediaStream.
  • [Dart] feat: RTCVideoRenderer supports specific trackId when setting MediaStream.

[0.9.9+hotfix.1] - 2022-10-12

  • [Darwin] Fix getStats for darwin when trackId is NSNull.

[0.9.9] - 2022-10-12

  • [Darwin/Android/Windows] Support getStats for RtpSender/RtpReceiver (Migrate from Legacy to Standard Stats for getStats).
  • [Android] Dispose streams and connections.
  • [Android] Support rtp transceiver direction type 4.
  • [Web] Update dart_webrtc dependendency.

[0.9.8] - 2022-09-30

  • [Android] fix: Make sure local stream/track dispose correctly.
  • [Android] Remove bluetooth permission on peerConnectionInit.
  • [iOS] Fix system sound interruption on iOS (#1099).
  • [Android] Fix: call mode on app start (#1097).
  • [Dart] Avoid renderer initialization multiple times (#1067).

[0.9.7] - 2022-09-13

  • [Windows] Support sendDtmf.
  • [Windows] Fixed getStats.

[0.9.6] - 2022-09-06

  • [Dart] The dc created by didOpenDataChannel needs to set state to open.
  • [Dart] Added callback onFirstFrameRendered.

[0.9.5] - 2022-08-30

  • [Android] fix: Fix crash when using multiple renderers.
  • [Android] fix bug with track dispose cannot close video
  • [Andorid/iOS/macOS/Windows] Fix bug of missing events in data-channel.

[0.9.4] - 2022-08-22

  • [Andorid/iOS/macOS/Windows] New audio input/output selection API, ondevicechange event is used to monitor audio device changes.

[0.9.3] - 2022-08-15

  • [Windows/macOS] Fix UI freeze when getting thumbnails.

[0.9.2] - 2022-08-09

  • [Android] update libwebrtc to com.github.webrtc-sdk:android:104.5112.01.
  • [iOS/macOS] update WebRTC-SDK to 104.5112.02.
  • [Windows] update libwebrtc.dll to 104.5112.02.

[0.9.1] - 2022-08-01

  • [iOS] fix : iOS app could not change camera resolutions cause by wrong datatype in the video Contraints.
  • [Darwin] bump version for .podspec.

[0.9.0] - 2022-07-27

  • [macOS] Added screen-sharing support for macOS
  • [Windows] Added screen-sharing support for Windows
  • [iOS/macOS] fix: Fix compile warning for Darwin
  • [Darwin/Android/Windows] fix: Fix typo peerConnectoinEvent -> peerConnectionEvent for EventChannel name (#1019)

[0.8.12] - 2022-07-15

  • [Darwin]: fix: camera release.

[0.8.11] - 2022-07-11

  • [Windows] Fix variant exception of findLongInt. (#990)
  • [Windows] fix unable to get username/credential when parsing iceServers containing urls
  • [iOS] Fix RTCAudioSession properties set with libwebrtc m97, Fixes #987.

[0.8.10] - 2022-06-28

  • [iOS] IPC Broadcast Upload Extension support for Screenshare

[0.8.9] - 2022-06-08

  • [Android] Fixes DataChannel issue described in #974
  • [iOS] Fixes DataChannel issue described in #974
  • [Dawrin/Android/Windows] Split data channel's webrtc id from our internal id (#961)
  • [Windows] Update to m97.
  • [Windows] Add PeerConnectionState
  • [Windows] Fix can't open mic alone when built-in AEC is enabled.

[0.8.8] - 2022-05-31

  • [Android] Added onBufferedAmountChange callback which will return currentBuffer and changedBuffer and implemented bufferedAmount.
  • [Android] Added onBufferedAmountLow callback which will return currentBuffer ans will be called if bufferedAmountLowThreshold is set a value.

[0.8.7] - 2022-05-18

  • [iOS/macOS] fix: Use RTCYUVHelper instead of external libyuv library (#954).
  • [iOS/macOS] Flutter 3.0 crash fixes, setStreamHandler on main thread (#953)
  • [Android] Use mavenCentral() instead of jcenter() (#952)
  • [Windows] Use uint8_t* instead of string in DataChannel::Send method, fix binary send bug.
  • [Android] fix: "Reply already submitted" error and setVolume() not working on remote streams.

[0.8.6] - 2022-05-08

  • [Web/Android/iOS/macOS] Support null tracks in replaceTrack/setTrack.
  • [macOS] Remove absolute path from resolved spec to make checksum stable.
  • [Android] Android 12 bluetooth permissions.
  • [Dart] fix wrong id type for data-channel.
  • [Android] Release i420 Buffer in FrameCapturer.

[0.8.5] - 2022-04-01

  • [Dart] Expose RTCDataChannel.id (#898)
  • [Android] Enable H264 high profile for SimulcastVideoEncoderFactoryWrapper (#890)

[0.8.4] - 2022-03-28

  • [Android] Fix simulcast factory not sending back EncoderInfo (#891)
  • [Android] fix: correct misspell in method screenRequestPermissions (#876)

[0.8.3] - 2022-03-01

  • [Android/iOS] Update android/ios webrtc native sdk versions.
  • [Windows] Feature of selecting i/o audio devices by passing sourceId and/or deviceId constraints (#851).

[0.8.2] - 2022-02-08

  • [Android/iOS/macOS/Web] Add restartIce.

[0.8.1] - 2021-12-29

  • [Android/iOS] Bump webrtc-sdk version to 93.4577.01.

[0.8.0] - 2021-12-05

  • [Dart] Refactor: Use webrtc interface. (#777)
  • [iOS] Fix crashes for FlutterRPScreenRecorder stop.
  • [Web] Don't stop tracks when disposing MediaStream (#760)
  • [Windows] Add the necessary parameters for onRemoveTrack (#763)
  • [Example] Properly start foreground service in example (#764)
  • [Android] Fix crash for Android, close #757 and #734.
  • [Dart] Fix typo in deprecated annotations.
  • [iOS] Fix IOS captureFrame and add support for remote stream captureFrame (#778)
  • [Windows] Fix parsing stun configuration (#789)
  • [Windows] Fix mute (#792)
  • [iOS/Android/Windows] New video constraints syntax (#790)

[0.7.1] - 2021-11-04

  • [iOS/macOS] Update framework.
  • [Android] Update framework.
  • [Windows] Implement mediaStreamTrackSetEnable (#756).
  • [iOS/macOS] Enable audio capture when acquiring track.
  • [Android] Call stopCaptureWithCompletionHandler instead (#748)
  • [Windows] Fix bug for windows.

[0.7.0+hotfix.2] - 2021-10-21

  • [iOS/macOS] Update .podspec for Darwin.

[0.7.0+hotfix.1] - 2021-10-21

  • [Android] Fix bug for createDataChannel.

[0.7.0] - 2021-10-20

  • [Android] Enable Android simulcast (#731)
  • [macOS] Use pre-compiled WebRTC for macOS. (#717)
  • [iOS/macOS] Fix the correct return value of createDataChannel under darwin.
  • [Windows] Fix using the wrong id to listen datachannel events.
  • [Dart] Fix(mediaStreamTrackSetEnable): remote track is unavaiable (#723).

[0.6.10+hotfix.1] - 2021-10-01

  • [Web] Fix compiler errors for web.

[0.6.10] - 2021-10-01

  • [iOS] Fix bug for RtpTransceiver.getCurrentDirection.
  • [Dart] Improve MethodChannel calling.

[0.6.9] - 2021-10-01

  • [iOS] Update WebRTC build (#707).
  • [Windows] Add Unified-Plan support for windows. (#688)
  • [iOS] Improve audio handling on iOS (#705)

[0.6.8] - 2021-09-27

  • [Android] Use ApplicationContext to verify permissions when activity is null.
  • [iOS] Add support for lightning microphone. (#693)
  • [Windows] Fix FlutterMediaStream::GetSources.
  • [Web] Fix Flutter 2.5.0 RTCVideoRendererWeb bug (#681)
  • [Web] Bug fix (#679)

[0.6.7] - 2021-09-08

  • [Android] upgrade webrtc sdk to m92.92.4515.
  • [Web] addTransceiver bug fix (#675)
  • [Web] Use low-level jsutil to call createOffer/createrAnswer to solve the issue on safari/firefox.
  • [Dart] Fix currentDirection/direction implementation confusion.

[0.6.6] - 2021.09.01

  • [Sponsorship] Thanks for LiveKit sponsorship.
  • [Web] Avoid removing all audio elements when stopping a single video renderer (#667)
  • [Web] Properly cleanup srcObject to avoid accidental dispose
  • [Dart] Removed warnings (#647)
  • [Web] Switch transferFromImageBitmap to be invoked using js.callMethod (#631)
  • [Web] Fix sending binary data over DataChannel in web implementation. (#634)
  • [Darwin] Nullable return for GetLocalDescription/GetRemoteDiscription
  • [Darwin] Fix incorrect argument name at RTCRtpSender (#600)

[0.6.5] - 2021.06.18

  • [Android] Falling back to the first available camera fix #580
  • [Android] Fix application exit null-pointer exception (#582)
  • [Dart] Add label getter to DataChannel Interface (#585)
  • [Dart] Fix exception raised at RTCPeerConnection.removeTrack and RTCRtpSender.setParameters (#588)
  • [Dart] Fix: null check (#595)
  • [Dart] Fix: null check for RTCRtpTransceiverNative.fromMap

[0.6.4] - 2021.05.02

  • [Android] Fix getting screen capture on Huawei only successful in the first time. (#523)
  • [Android] Add configuration "cryptoOptions" in parseRTCConfiguration().
  • [Dart] Change getLocalDescription,getRemoteDescription,RTCRtpSenderWeb.track returns to nullable.
  • [Dart] Fixed bug in RTCPeerConnectionWeb.removeTrack.
  • [Dart] Change MediaStreamTrack.captureFrame returns to ByteBuffer to compatible with web API.
  • [Dart] Do null safety check in onRemoveStream,onRemoveTrack and MediaStream.getTrackById.
  • [Android] Add reStartCamera method when the camera is preempted by other apps.
  • [Web] Refactored RTCVideoRendererWeb and RTCVideoViewWeb, using video and audio HTML tags to render audio and video streams separately.

[0.6.3] - 2021.04.03

  • [Dart] Change RTCRtpSender.track to nullable.
  • [Web] Fix RTCVideoView/Renderer pauses when changing child in IndexedStack.

[0.6.2] - 2021.04.02

  • [Dart] Use enumerateDevices instead of getSources.
  • [Android] Use flutter_background to fix screen capture example.

[0.6.1] - 2021.04.02

  • [Darwin] Fixed getting crash when call setLocalDescription multiple time.
  • [Dart] Get more pub scores.

[0.6.0] - 2021.04.01

  • [Sponsorship] Thanks for Stream sponsorship (#475)
  • [Android] Fixed a crash when switching cameras on Huawei devices.
  • [Windows] Correct signalingState & iceConnectionState event name on Windows. (#502)
  • [Dart] Clip behaviour. (#511)
  • [Dart] null-safety (@wer-mathurin Thanks for the hard work).
  • [Dart] Fix setMicrophoneMute (#466)
  • [Web] Fix pc.addTransceiver method, fix RTCRtpMediaType to string, fix (#437)
  • [Android] fix sdpSemantics issue (#478)

[0.6.0-nullsafety.0] - 2021.03.22

  • [Dart] null-safety (@wer-mathurin Thanks for the hard work).

[0.5.8] - 2021.01.26

  • [Web] Support selecting audio output.
  • [Web] Fix issue for getDisplayMedia with audio.
  • [Windows] Add Windows Support.
  • [macOS] Fix compile error for macos.
  • [Dart] Add FilterQuality to RTCVideoView.
  • [iOS/Android] Unified plan gettracks.
  • [iOS/Android] Bluetooth switching enabled when switching enableSpeakerphone value (if they are connected). #201 (#435)
  • [Android] Increase necessary Android min SDK version after add Unified-Plan API.

[0.5.7] - 2020.11.21

  • [Web] Fix events callback for peerconnection.

[0.5.6] - 2020.11.21

  • [Android/Darwin/Web] Add onResize event for RTCVideoRenderer.

[0.5.5] - 2020.11.21

  • [Android/Darwin] Fix Simulcast issue.

[0.5.4] - 2020.11.21

  • [Native/Web] Add videoWidth/videoHeight getter for RTCVideoRenderer.
  • [Web] Add optional parameter track to call getStats.

[0.5.3] - 2020.11.21

  • Fix bug.

[0.5.2] - 2020.11.19

  • Improve web code

[0.5.1] - 2020.11.19

  • Improve unfied-plan API for web.
  • Add getTransceivers,getSenders, getReceivers methods.

[0.5.0+1] - 2020.11.18

  • Remove dart-webrtc and reuse the code in dart:html because the code generated by package:js cannot be run in dart2js.

[0.5.0] - 2020.11.15

  • [Web] Add Unified-Plan for Flutter Web.
  • [Web] Add video frame mirror support for web.
  • [Web] Support Simulcast for web.
  • [Web] Use dart-webrtc as flutter web plugin.
  • [Android/Darwin] Fix crash when unset streamIds in RtpTransceiverInit.
  • [Dart]Change the constraints of createOffer/createAnswer as optional.
  • [iOS]Fix adding track to stream igal committed (#413)

[0.4.1] - 2020.11.11

  • Add transceiver to onTrack events.
  • Remove unnecessary log printing.
  • Fixed a crash caused by using GetTransceivers under non-unified-plan, close #389.
  • FIX - Invalid type inference (#392)
  • [Web]Add onEnded and onMuted for Web (#387)
  • [Darwin]Fix PeerConnectionState for darwin.
  • [Darwin] Fix compilation warning under darwin.
  • [Android] Fixed 'Sender is null' issue when removing track. (#401)
  • [iOS] fix removeTrack methodChannel response, onTrack's stream and track not being registered in native.
  • [Darwin/Android] RtpSender setParameters functionality.

[0.4.0] - 2020.10.14

  • Support Unified-Plan for Android/iOS/macOS.
  • Add PeerConnectionState and add RTCTrackEvent..
  • [Android] Upgrade GoogleWebRTC@android to 1.0.32006.
  • [iOS] Upgrade GoogleWebRTC@ios to 1.1.31999.
  • Api standardization across implementation (#364), thanks @wer-mathurin.

[0.3.3] - 2020.09.14

  • Add RTCDTMFSender for mobile, web and macOS.
  • Improve RenegotiationNeededCallback.
  • Refactor RTCVideoView for web and solve the resize problem.
  • Reduce code size.

[0.3.2] - 2020.09.11

  • Reorganize the directory structure.
  • Replace class name navigator to MediaDevices.
  • Downgrade pedantic version to 1.9.0.

[0.3.1] - 2020.09.11

  • [Dart] Apply pedantic linter and more rigorous analysis options.

[0.3.0+1] - 2020.09.06

  • [Dart] FIX - missing null check onIceGatheringState (web)

[0.3.0] - 2020.09.05

  • [Dart] Improve RTCVideoView.
  • [Android] Refactors Android plugin alongside the embedding V2 migration.
  • [Dart] Fix .ownerTag not defined for web.
  • [Dart] Added label as read only property.
  • [macOS] Updated WebRTC framework to work with AppStoreConnect.
  • [Dart] Make 'constraints' argument optional.
  • [Dart] Make createOffer constraints optional.
  • [iOS/Android/Web] Adding createLocalMediaStream method to PeerConnectionFactory.
  • [Web] Fixing multiple video renderers on the same HTML page for Flutter Web.
  • [iOS] Add peerConnectionId to data channel EventChannel.
  • [Android] Add library module ProGuard configuration file.
  • [iOS] Fix typo in render size change check condition
  • [README] Add missed Android usage hint.

[0.2.8] - 2020.04.22

  • [macOS/iOS] Fix typo in render size change check condition.
  • [macOS] Fix hot restart videoCapturer crash.
  • [Android] Fix Android crash when getUserVideo.

[0.2.7] - 2020.03.15

  • [macOS] Fix crash with H264 HW Encoder.
  • [Web] Add addTransceiver API.
  • [Android] Removed duplicate method that was causing compilation error.
  • [iOS] Use MrAlek Libyuv pod fixing incompatibility with FirebaseFirestore.
  • [iOS] Upgrade GoogleWebRTC dependency to 1.1.29400.

[0.2.6] - 2020.02.03

  • Fixed the interruption of the Bluetooth headset that was playing music after the plugin started.

[0.2.4] - 2020.02.03

  • Fixed bug.

[0.2.3] - 2020.02.03

  • Fixed bug for enableSpeakerphone (Android/iOS).
  • Fix RtcVideoView not rebuild when setState called and renderer is changed.
  • Fix Android frame orientation.

[0.2.2] - 2019.12.13

  • Removed the soft link of WebRTC.framework to fix compile errors of macos version when third-party flutter app depends on plugins

[0.2.1] - 2019.12.12

  • Code format.
  • Remove unused files.

[0.2.0] - 2019.12.12

  • Add support for macOS (channel dev).
  • Add support for Flutter Web (channel dev).
  • Add hasTorch support for Android (Camera2 API) and iOS.
  • Fix(PeerConnections) split dispose and close
  • Add microphone mute support for Android/iOS.
  • Add enable speakerphone support for Android/iOS.
  • Fix 'createIceServer' method Invalid value error (Android).
  • Store SignalingState/IceGatheringState/IceConnectionState in RTCPeerConnection.
  • Fixed rendering issues caused by remote MediaStream using the same msid/label when using multiple PeerConntions.

[0.1.7] - 2019.05.16

  • Add RTCDataChannelMessage for data channel and remove base64 type.
  • Add streaming API for datachannel messages and state changes.
  • Remove cloudwebrtc prefix in the plugin method/event channel name.
  • Other bug fixes.

[0.1.6] - 2019.03.31

  • Add getConfiguration/setConfiguration methods for Peerconnection.
  • Add object fit for RTCVideoView.

[0.1.5] - 2019.03.27

  • Remove unnecessary parameter for getLocalDescription method.

[0.1.4] - 2019.03.26

  • switchCamera method now returns future with isFrontCamera as result
  • Fix camera stuck in rare cases
  • Add getLocalDescription/getRemoteDescription methods

[0.1.3] - 2019.03.25

  • Add horizontal flip (mirror) function for RTCVideoView.
  • Fixed ScreenCapture preview aspect ratio for Android.

[0.1.2] - 2019.03.24

  • Fix compilation failure caused by invalid code.

[0.1.1] - 2019.03.24

  • Migrated to AndroidX using Refactoring from Andoid Studio
  • Fix mediaStreamTrackSetEnable not working.
  • Fix iOS can't render video when resolution changes.
  • Some code style changes.

[0.1.0] - 2019.01.21

  • Fix camera switch issues.
  • Support data channel, please use the latest demo to test.
  • Support screen sharing, but the work is not perfect, there is a problem with the local preview.

[0.0.3] - 2018.12.20

  • Update WebRTC to 1.0.25821.
  • Implemented MediaStreamTrack.setVolume().
  • Add public getter for texture id.
  • Fixed getUserMedia does not work for capturing audio only.

[0.0.2] - 2018.11.04

  • Add 'enabled' method for MediaStreamTrack.
  • Implement switch camera.
  • Add arm64-v8a and x86_64 architecture support for android.

[0.0.1] - 2018.05.30

  • Initial release.