compatibility with flutter 3.0

This commit is contained in:
Hiroshi Horie
2022-05-15 20:56:20 +09:00
parent 365c68c709
commit 566937f630
6 changed files with 16 additions and 5 deletions
+1
View File
@@ -29,3 +29,4 @@ export 'src/types/video_dimensions.dart';
export 'src/types/video_encoding.dart';
export 'src/types/video_parameters.dart';
export 'src/widget/video_track_renderer.dart';
export 'src/extensions.dart' show WidgetsBindingCompatible;
+6
View File
@@ -1,5 +1,6 @@
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:flutter_webrtc/flutter_webrtc.dart' as rtc;
import 'events.dart';
@@ -160,3 +161,8 @@ extension ParticipantTrackPermissionExt on ParticipantTrackPermission {
trackSids: allowedTrackSids,
);
}
extension WidgetsBindingCompatible on WidgetsBinding {
// always return optional type for compatibility with flutter v2 and v3
static WidgetsBinding? get instance => WidgetsBinding.instance;
}
+3 -2
View File
@@ -1,8 +1,8 @@
import 'package:flutter/material.dart';
import 'package:flutter_webrtc/flutter_webrtc.dart' as rtc;
import '../events.dart';
import '../extensions.dart';
import '../internal/events.dart';
import '../managers/event.dart';
import '../track/local/local.dart';
@@ -83,7 +83,8 @@ class _VideoTrackRendererState extends State<VideoTrackRenderer> {
key: _internalKey,
builder: (ctx) {
// let it render before notifying build
WidgetsBinding.instance?.addPostFrameCallback((timeStamp) {
WidgetsBindingCompatible.instance
?.addPostFrameCallback((timeStamp) {
widget.track.onVideoViewBuild?.call(_internalKey);
});
return rtc.RTCVideoView(