8000 refactor: Use webrtc interface. (#777) · flutter-robert/flutter-webrtc@e44812b · GitHub
[go: up one dir, main page]

Skip to content

Commit e44812b

Browse files
authored
refactor: Use webrtc interface. (flutter-webrtc#777)
* refactor: Use external interface. * fix analyze error. * Remove unnecessary files. * refactor: Reduce the code and use dart_webrtc instead of web implementation. * fix: import sort.
1 parent 60bde85 commit e44812b

File tree

63 files changed

+110
-2835
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+110
-2835
lines changed

example/lib/src/get_display_media_sample.dart

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import 'dart:async';
22
import 'dart:core';
33

4+
import 'package:flutter/foundation.dart';
45
import 'package:flutter/material.dart';
56
import 'package:flutter_webrtc/flutter_webrtc.dart';
67

@@ -16,7 +17,7 @@ class GetDisplayMediaSample extends StatefulWidget {
1617

1718
class _GetDisplayMediaSampleState extends State<GetDisplayMediaSample> {
1819
MediaStream? _localStream;
19-
final _localRenderer = RTCVideoRenderer();
20+
final RTCVideoRenderer _localRenderer = RTCVideoRenderer();
2021
bool _inCalling = false;
2122
Timer? _timer;
2223
var _counter = 0;
@@ -75,6 +76,9 @@ class _GetDisplayMediaSampleState extends State<GetDisplayMediaSample> {
7576

7677
Future<void> _stop() async {
7778
try {
79+
if (kIsWeb) {
80+
_localStream?.getTracks().forEach((track) => track.stop());
81+
}
7882
await _localStream?.dispose();
7983
_localStream = null;
8084
_localRenderer.srcObject = null;

example/lib/src/get_user_media_sample.dart

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import 'dart:core';
22
import 'dart:io';
33

4+
import 'package:flutter/foundation.dart';
45
import 'package:flutter/material.dart';
56
import 'package:flutter_webrtc/flutter_webrtc.dart';
67
import 'package:path_provider/path_provider.dart';
@@ -77,6 +78,9 @@ class _GetUserMediaSampleState extends State<GetUserMediaSample> {
7778

7879
void _hangUp() async {
7980
try {
81+
if (kIsWeb) {
82+
_localStream?.getTracks().forEach((track) => track.stop());
83+
}
8084
await _localStream?.dispose();
8185
_localRenderer.srcObject = null;
8286
setState(() {
@@ -228,6 +232,6 @@ class _GetUserMediaSampleState extends State<GetUserMediaSample> {
228232
}
229233

230234
void _selectAudioOutput(String deviceId) {
231-
_localRenderer.audioOutput = deviceId;
235+
_localRenderer.audioOutput(deviceId);
232236
}
233237
}

example/lib/src/get_user_media_sample_web.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import 'dart:core';
33
import 'dart:html' as html;
44

5+
import 'package:flutter/foundation.dart';
56
import 'package:flutter/material.dart';
67
import 'package:flutter_webrtc/flutter_webrtc.dart';
78

@@ -82,6 +83,9 @@ class _GetUserMediaSampleState extends State<GetUserMediaSample> {
8283

8384
Future<void> _stop() async {
8485
try {
86+
if (kIsWeb) {
87+
_localStream?.getTracks().forEach((track) => track.stop());
88+
}
8589
await _localStream?.dispose();
8690
_localStream = null;
8791
_localRenderer.srcObject = null;

lib/flutter_webrtc.dart

Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,15 @@
11
library flutter_webrtc;
22

3+
export 'package:webrtc_interface/webrtc_interface.dart'
4+
hide MediaDevices, MediaRecorder, Navigator;
5+
36
export 'src/helper.dart';
4-
export 'src/interface/enums.dart';
5-
export 'src/interface/media_stream.dart';
6-
export 'src/interface/media_stream_track.dart';
7-
export 'src/interface/mediadevices.dart' hide MediaDevices;
8-
export 'src/interface/rtc_data_channel.dart';
9-
export 'src/interface/rtc_dtmf_sender.dart';
10-
export 'src/interface/rtc_ice_candidate.dart';
11-
export 'src/interface/rtc_peerconnection.dart';
12-
export 'src/interface/rtc_rtcp_parameters.dart';
13-
export 'src/interface/rtc_rtp_parameters.dart';
14-
export 'src/interface/rtc_rtp_receiver.dart';
15-
export 'src/interface/rtc_rtp_sender.dart';
16-
export 'src/interface/rtc_rtp_transceiver.dart';
17-
export 'src/interface/rtc_session_description.dart';
18-
export 'src/interface/rtc_stats_report.dart';
19-
export 'src/interface/rtc_track_event.dart';
207
export 'src/media_devices.dart';
218
export 'src/media_recorder.dart';
22-
export 'src/native/rtc_peerconnection_factory.dart'
23-
if (dart.library.html) 'src/web/rtc_peerconnection_factory.dart';
9+
export 'src/native/factory_impl.dart'
10+
if (dart.library.html) 'src/web/factory_impl.dart';
11+
export 'src/native/rtc_video_renderer_impl.dart'
12+
if (dart.library.html) 'src/web/rtc_video_renderer_impl.dart';
2413
export 'src/native/rtc_video_view_impl.dart'
2514
if (dart.library.html) 'src/web/rtc_video_view_impl.dart';
2615
export 'src/native/utils.dart' if (dart.library.html) 'src/web/utils.dart';
27-
export 'src/rtc_video_renderer.dart';

lib/src/helper.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import 'package:flutter/foundation.dart';
22
import 'package:flutter/services.dart';
33

4+
import 'package:webrtc_interface/webrtc_interface.dart';
5+
46
import '../flutter_webrtc.dart';
5-
import 'interface/media_stream.dart';
6-
import 'interface/mediadevices.dart';
77

88
class Helper {
99
static Future<List<MediaDeviceInfo>> enumerateDevices(String type) async {

lib/src/interface/enums.dart

Lines changed: 0 additions & 174 deletions
This file was deleted.

lib/src/interface/factory.dart

Lines changed: 0 additions & 19 deletions
This file was deleted.

lib/src/interface/media_recorder.dart

Lines changed: 0 additions & 22 deletions
This file was deleted.

lib/src/interface/media_stream.dart

Lines changed: 0 additions & 63 deletions
This file was deleted.

0 commit comments

Comments
 (0)
0