stream_video_flutter 0.5.5
stream_video_flutter: ^0.5.5 copied to clipboard
The Official UI package for Stream Video, a service for building video calls, audio rooms, and live-streaming applications.
0.5.5 #
π Fixed
- Migrated from
internet_connection_checkertointernet_connection_checker_plusdue to license issues. callAppBarBuilderinStreamCallContentcan now return null in order to hide the app bar.backgroundColorfield inStreamCallControlsis now correctly applied.
0.5.4 #
π Fixed
- Fixed an issue where active call foreground service was recreated after being stopped when ringing call was declined and in-app incoming screen was displayed.
π§ Breaking changes
-
The regular push notification handling has been removed from iOS, providing more control over the implementation. VoIP push notifications will continue to be handled as before. For more details, refer to the documentation.
-
Dependency updates
- Flutter SDK constraint updated to >=3.22.0 (Dart SDK to >=3.4.0 <4.0.0)
- internet_connection_checker updated from ^1.0.0+1 to ^2.0.0
- rxdart updated from ^0.27.7 to ^0.28.0
- web updated from ^0.5.1 to ^1.0.0
- web_socket_channel updated from ^2.4.0 to ^3.0.1
- firebase_core updated from ^2.15.1 to ^3.4.0
- firebase_messaging updated from ^14.5.0 to ^15.1.1
- share_plus updated from ^7.1.0 to ^10.0.2
- json_annotation updated from ^4.8.0 to ^4.9.0
0.5.3 #
π Fixed
- Improved video quality for a smoother experience.
- Resolved an issue where the participant's state showed an empty roles list.
- Fixed a bug that caused the CallKit ringing notification to continue after a call was accepted.
0.5.2 #
π Fixed
- Fixed CallKit integration on iOS when app is in a terminated state. It now correctly openes the app when the call is accepted.
- Fixed
onLeaveCallTapcallback inStreamCallContent. It's now correctly handled. - (Android) Prevented the app from crashing when microphone permission is not granted and actove call foreground services is started. The service will now not start if no permission is granted.
- (Android) Marked the active call notification channel's lockscreen visibility as public to ensure it shows when the Android device is locked.
π Changed
SortParamchanged toSortParamRequestinqueryMembers()method insideCallandStreamVideoclass
0.5.1 #
β Added
- Added
backstageparameter tocall.getOtCreate()method with backstage settings. For more information, refer to the documentation- Ability to join call in advance with
joinAheadTimeSecondsparameter (part ofStreamBackstageSettings)
- Ability to join call in advance with
- Added
startsAtparameter tocall.getOtCreate()method - Added
maxDurationandmaxParticipantsparameters tocall.getOtCreate()method - Added
videoparameter tocall.getOtCreate(),call.getCall()andcall.join()methods. This parameter is used to distinguish between audio-only and video calls for ringing purposes.- βImportantβ the
videoparameter isfalseby default. If you want your call to be treated as a video call while ringing set it totrue.
- βImportantβ the
- Added
streamVideoparamter toStreamLobbyViewandStreamLobbyVideowidgets provide a customStreamVideoinstance.
π Fixed
- Fixed reaction dismissal: Sent and received reactions are now correctly dismissed after a 5-second timeout (configurable in
CallPreferences). - Fixed the cancel button behavior in the screen-sharing notification on Android. It will now correctly stop the screen-sharing process.
- Fixed the issue with the cancel button in the call-in-progress notification was not stopping the call.
- Fixed the connection quality updates for other call participants.
- Fixed an issue where declining a ringing call when the app was in a terminated state did not stop the ringing on the caller's end.
0.5.0 #
β Added
- Picture in Picture (PiP) is now also supported on iOS. For more information, refer to the documentation
π Fixed
- Fixed an issue where the microphone was being muted when the app was running in the background on Android versions greater than 14.
π§ Breaking changes
- The implementation of
BroadcastSampleHandler, used forbroadcastscreen-sharing mode on iOS is now moved fromstream_video_flutterpackage to a separate stream_video_screen_sharing package. Migration steps:
- Add
stream_video_screen_sharingdependency to yourpubspec.yamlfile - Replace the import in
SampleHandler.swiftfile fromstream_video_fluttertostream_video_screen_sharing - Replace the dependancy added to the extension target in
Podfilefile fromstream_video_fluttertostream_video_screen_sharing
For complete screen-sharing guide please refer to the documentaiton
- Previously deprecated
Stringtypeparameters inmakeCall()andgetCallRingingState()methods are now removed. UseStreamCallTypecallTypeparameter now. - Previously deprecated
eventsandcoordinatorEventsstreams are now removed fromCallclass. UsecallEventsinstead.
0.4.4 #
β Added
- Added
watchparameter toStreamVideo.queryCalls()method, allowing you to subscribe to queried call events. For more information, refer to the documentation. - Introduced
listRecordings()toStreamVideoobject, enabling you to query call recordings using a provided call CID.
π Changed
- The default constructor for
StreamCallTypeis now deprecated. Instead, use theStreamCallType.defaultType()factory constuctor.
π Fixed
- Improved the quality of screen sharing. It now correctly respects the parameters set in
ScreenSharingConstraintsto adjust the quality. - The
FloatingViewAlignmentenum is now properly exported in thestream_video_flutterpackage.
0.4.3 #
π Fixed
- Fixed reconnection flow.
- Fixed compilation errors on web.
- Fixed screen-sharing not working on some versions of Android.
- Fixed accepting incoming call during another call (or outgoing call).
- Fixed CallKit incoming push label and Android accept call button icons for audio-only calls.
β Added
- Added support for missed calls. Push notifications and
CallMissedEventevent will be sent now when the user misses the call. - Added support for call transcription check transcription cookbook
- Added
startTranscription(),stopTranscription()andlistTranscriptions()methods toCallclass.
- Added
- Added option to take a screenshot during the call check screenshot documentation
- Added
takeScreenshot()method toCallclass.
- Added
- Added
recordingExternalStorageoptional param tocall.startRecording()method. - Added
requestScreenSharePermission()method toCallclass that ensures correct permissions are given for screen-sharing on Android.
π Changed
- Changed
rolemember toroles, to reflect the possibility of the user having multiple roles, inCallParticipantStateandCallMember. - Changed
SortParamRequesttoSortParam.
π Changed some of the signatures
listRecordings()method in PermissionsManager doesn't requiresessionIdparam now.setParticipantPinned()method inCallandCallSessionnow requiressessionId,userId, andpinnedparams instead ofSetParticipantPinnedaction.updateViewportVisibility()method inCallSessionnow requiresvisibilityChangeparam instead ofUpdateViewportVisibilityaction.setSubscriptions()andupdateSubscription()methods inCallSessionnow require a list ofsubscriptionChangesparam instead of a list ofSetSubscriptionactions.- Added optional
reasonparam toreject()method inCallclass.
Removed
- Removed
updateSubscriptionsmethod fromCall.
0.4.2 #
β Added
- Added
ClientDetailsto SFU'sjoinrequest.
π Fixed
- Tweaked SFU events handling to ensure there is no gap in handling them.
- Fixed camera and microphone toggling on incoming/outgoing screen.
- Fixed screen sharing not working when camera track was enabled.
- Fixed issues with video freezing sometimes.
0.4.1 #
π§ Build breaking changes
- Bumped
connectivity_plusdependency to6.0.3
Note, that this changes the plugin requirements:
- compileSDK 34 for Android part
- Java 17 for Android part
- Gradle 8.4 for Android part
π Fixed
- Added foreground service type to service declaration in AndroidManifest
0.4.0 #
π§ Breaking changes
-
Updated minimum supported dart SDK version to
3.3.0(which requires min Flutter SDK3.19.0) -
Updated
flutter_webrtcto 0.10.4
π Fixed
- Fixed an issue where subscriber offer events might be missed causing missing video/audio tracks for call participants.
- Fixed speakerphone/earpiece switching on iOS.
- User is now diconnected immedietaly when leaving the call.
0.3.9 #
- Reverted
flutter_webrtcdependency version back to0.9.47to fix the compilation issues for web in Flutter 3.19.
0.3.8 #
π Fixed
- Fixed application of initial call configuration (via
CallConnectOptions) and default settings from Stream Dashboard - Default camera facing is now applied from Dashboard settings (was ignored previously)
β Added
audioOutputDevice,audioInputDeviceandcameraFacingModeadded toCallConnectOptions- Optional
connectOptionsparameter added tocall.join()method as a preferred way of setting initial call configuration - check out our documentation for more info
0.3.7 #
- Updated minimum supported SDK version to Flutter 3.16
β Added
- Added
mirrorModeparameter toCameraConstraints, which determines whether the camera for the given track should be mirrored or not. When set asdefaultModethe mirroring is set as true, whenfacingModeis set touserand false when facingMode is set toenvironment.
π Fixed
- Fixed an issue that might break screen sharing functionality.
- Fixed an issue that caused output audio device not being set correctly.
- Fixed an issue that still caused constant notification sound being triggered during the call on Android.
- Fixed an issue that blocked volume adjastment during the call on Android.
0.3.6 #
β Added
- Added
callEventsstream toCallthat replaceseventsandcoordinatorEventsstreams (both are now deprecated). - Added
callBackgroundBuildertoStreamOutg/oingCallContent.
π§ Breaking changes
- Removed the
callCidparameter requirement fromsendCustomEvent()method inCallclass.
π Fixed
- Fixed an issue that caused an empty Call participants list in CallState during ringing.
- Fixed an issue that caused constant notification sound being triggered during the call on Android.
- Disabled camera mirroring when using back camera and when screensharing.
0.3.5 #
β Added
- Added
keepConnectionsAliveWhenInBackgroundtoStreamVideoOptionsto allow keeping websocket connections and event subscribtions open when app is in the background (false by default). - Added support for Picture in Picture feature to Android - check out our documentation for more info
- Added usage statictics reporting
π Fixed
- Fixed handling of default audio output device setting from Stream dashboard
- Fixed handling of default camera/microphone state setting from Stream dashboard
- Fixed an issue where call could sometimes loose participants state
- Fixed an issue in
LobbyViewwhere camera/microphone state selected would not be correctly applied into the call
0.3.4 #
- Fixed the size of the LeaveCall aciton button in
CallAppBar - Added
showLeaveCallActionproperty toCallAppBar
0.3.3 #
π§ UI changes to SDK components
CallParticipantsLabel- removed internal padding, it sticks to the corner of the video frame by default now- Extracted
StreamLobbyVideowidget fromStreamLobbyViewthat can be easly reused in custom layout CallAppBarLeaveCallOptionmoved from default call controls toCallAppBar- Participants button removed from
CallAppBartogether withonParticipantsInfoTapandparticipantsInfoBuilderproperties - Layout Mode button removed from
CallAppBartogether withonLayoutModeChangedproperty. You can use newToggleLayoutOptioninstead in custom layout anywhere
ToggleLayoutOptionadded- Components related to participants menu item from
CallAppBarare removed:CallParticipantsInfoItem,StreamCallParticipantsInfoMenuandCallParticipantsInfoOptions StreamCallParticipantsInfoMenuThemeis removed
Other changes:
- Added
StreamCallTypeclass that replaces depricated Stringtypeparameter - Exapanded
CallStatsclass with more structured WebRTC statistics asstatsfield - Changed
rawstatistics inCallStatsto be of a Map<Stirng, dynamic> type - Added
publisherStats,subsciberStatsandlatencyHistoryto theCallStatethat hold some of the processed statistcs
Bug fixes
- Fixes incoming call behavior when both CallKit and Stream incoming screen component is used
- Fixes the issue on Android that caused missed call notification when ringing with reused call id
0.3.2 #
π Fixed
- Various fixes to call ringing and push notifications.
- Fixes call ringing cancellation when app is terminated on iOS (requires additional setup - check Step 6 of the APNS integration) in our documentation.
- Fixes late push notification handling on Android, where already ended call was ringing if the device was offline and the push was delivered with a delay.
- Fixes call ringing cancellation when caller timed out while calling
- Fixed action tap callback on Android call notification.
- Fixed background image for incoming/outgoing call screens when
participant.imageis invalid. - Fixes possible crashes for Android SDKs versions <26.
- Fixed screen sharing on iOS when screen sharing mode was switched between
in-appandbroadcast. - Changed the version range of
intlpackage to >=0.18.1 <=0.19.0 because it was causing isses with other packages.
β Added
- Added
customfield toCallParticipantStatewith custom user data.
0.3.1 #
- Important: Fixes crash for CallKit on iOS.
- Added support for SFU migration to improve video resilience.
- Fixes for streaming flags in
CallState(backstage, broadcasting, recording).
0.3.0 #
π§ Breaking changes
- The functionality from
stream_video_flutter_backgroundis now merged intostream_video_flutter. You no longer have to use the background plugin. - Removed the
incomingCallerNameOverrideandincomingCallerHandlerOverridefromStreamVideoPushParamsin favor of the newcallerCustomizationCallbackinStreamVideoPushNotificationManager.
β Added
- Added
LivestreamPlayer- a in-built widget that allows you to easily view livestreams. - Added screen sharing functionality and related toggle option for both Android and iOS. Check our documentation for more details
- Exposed call coordinator events through the
coordinatorEventsstream in theCallclass. - Added
StreamCallContentThemeto video theme. callerCustomizationCallbacktoStreamVideoPushNotificationManagerthat allow dynamic customization of CallKit call screen.
Example usage:
pushNotificationManagerProvider: StreamVideoPushNotificationManager.create(
...
callerCustomizationCallback: ({required callCid, callerHandle, callerName}) =>
CallerCustomizationResponse(name: "Customized $callerName"),
),
- Added a
includeUserDetailsfield to determine if user details should be passed to backend when connecting user. - Added
team,notify, andcustomproperties togetOrCreate()forCall.
π Fixed
- Added Apple audio configuration to make audio work in silent mode.
- Fixed ringing call cancellation issues.
0.2.0 #
β Added
removeMembersandupdateCallMemberstoCallincomingCallerNameOverrideandincomingCallerHandlerOverridetoStreamVideoPushParamsto allow customization of CallKit call screenparticipantsAvatarBuilderandparticipantsDisplayNameBuildertoStreamOutgoingCallContentandStreamIncomingCallContentto allow customiztion of Incoming and Outgoing call screens
Example usage:
StreamCallContainer(
...
outgoingCallBuilder: (context, call, callState) =>
StreamOutgoingCallContent(
call: call,
callState: callState,
participantsDisplayNameBuilder:
(context, call, callState, participants) => your widget here,
),
)
π Changed
Breaking changes π§
- renamed
inviteUserstoaddMembersinCall - renamed parameter name in
getOrCreateCallfromparticipantIdstomemberIds
0.1.1 #
- Fixed call join bug
- Fixed CallKit call not ending bug
- Anonymous users can no longer connect to WS
- Users can no longer join a call twice
- Fixed landscape call control visibility
0.1.0 #
- Aligned SDK initialization with other SDKs
- Fixed callkit and push implementation for SDK
- Added parsing for CallPermissions
- Fix duplicate participants in call
- Hide debug stats in production
- Display call participants in lobby view
- General bug fixes and improvements
0.0.4 #
- Updated minimum supported
SDKversion to Flutter 3.10/Dart 3.0
0.0.3 #
- Fixed track subscription bug
0.0.2 #
- Updates for backend
- Support for reactions
0.0.1+1 #
- Fixed README
0.0.1 #
- Initial beta release of Stream Video π