8000 Add support for windows. (#290) · next-coder/flutter-webrtc@10ae7e9 · GitHub
[go: up one dir, main page]

Skip to content

Commit 10ae7e9

Browse files
authored
Add support for windows. (flutter-webrtc#290)
* Add support for windows. * Add .clang-format. * Fix compile error for windows. * Fix video renderer and data channel for windows. * Update README.md
1 parent e9829ff commit 10ae7e9

Some content is hidden

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

61 files changed

+5099
-11
lines changed

.clang-format

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Defines the Chromium style for automatic reformatting.
2+
# http://clang.llvm.org/docs/ClangFormatStyleOptions.html
3+
BasedOnStyle: Chromium
4+
# This defaults to 'Auto'. Explicitly set it for a while, so that
5+
# 'vector<vector<int> >' in existing files gets formatted to
6+
# 'vector<vector<int>>'. ('Auto' means that clang-format will only use
7+
# 'int>>' if the file already contains at least one such instance.)
8+
Standard: Cpp11
9+
SortIncludes: true
10+
---
11+
Language: ObjC
12+
ColumnLimit: 100

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ WebRTC plugin for Flutter Mobile/Desktop/Web
88

99
| Feature | Android | iOS | [Web](https://flutter.dev/web) | macOS | Windows | Linux | [Fuchsia](https://fuchsia.googlesource.com/) |
1010
| :-------------: | :-------------:| :-----: | :-----: | :-----: | :-----: | :-----: | :-----: |
11-
| Audio/Video | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | [WIP] | [WIP] | |
12-
| Data Channel | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | [WIP] | [WIP] | |
11+
| Audio/Video | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | [WIP] | |
12+
| Data Channel | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | [WIP] | |
1313
| Screen Capture | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | | | | |
1414
| Unified-Plan | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | | | |
1515
| Simulcast | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | | | |

example/lib/src/loopback_sample.dart

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ class _MyAppState extends State<LoopBackSample> {
8989

9090
void _onAddStream(MediaStream stream) {
9191
print('New stream: ' + stream.id);
92-
//_remoteRenderer.srcObject = stream;
92+
_remoteRenderer.srcObject = stream;
9393
}
9494

9595
void _onRemoveStream(MediaStream stream) {
@@ -175,7 +175,7 @@ class _MyAppState extends State<LoopBackSample> {
175175
_localStream =
176176
await navigator.mediaDevices.getUserMedia(mediaConstraints);
177177
_localRenderer.srcObject = _localStream;
178-
178+
await _peerConnection.addStream(_localStream);
179179
/* old API
180180
await _peerConnection.addStream(_localStream);
181181
// Unified-Plan
@@ -184,13 +184,13 @@ class _MyAppState extends State<LoopBackSample> {
184184
});
185185
*/
186186
// or
187-
187+
/*
188188
await _peerConnection.addTransceiver(
189189
track: _localStream.getAudioTracks()[0],
190190
init: RTCRtpTransceiverInit(
191191
direction: TransceiverDirection.SendRecv, streams: [_localStream]),
192192
);
193-
193+
*/
194194
/*
195195
// ignore: unused_local_variable
196196
var transceiver = await _peerConnection.addTransceiver(
@@ -200,6 +200,7 @@ class _MyAppState extends State<LoopBackSample> {
200200
);
201201
*/
202202

203+
/*
203204
// Unified-Plan Simulcast
204205
await _peerConnection.addTransceiver(
205206
track: _localStream.getVideoTracks()[0],
@@ -227,7 +228,7 @@ class _MyAppState extends State<LoopBackSample> {
227228
),
228229
],
229230
));
230-
/*
231+
231232
await _peerConnection.addTransceiver(
232233
kind: RTCRtpMediaType.RTCRtpMediaTypeVideo);
233234
await _peerConnection.addTransceiver(

lib/src/native/media_stream_impl.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,13 @@ class MediaStreamNative extends MediaStream {
2121

2222
void setMediaTracks(List<dynamic> audioTracks, List<dynamic> videoTracks) {
2323
_audioTracks.clear();
24-
audioTracks.forEach((track) {
24+
audioTracks?.forEach((track) {
2525
_audioTracks.add(MediaStreamTrackNative(
2626
track['id'], track['label'], track['kind'], track['enabled']));
2727
});
2828

2929
_videoTracks.clear();
30-
videoTracks.forEach((track) {
30+
videoTracks?.forEach((track) {
3131
_videoTracks.add(MediaStreamTrackNative(
3232
track['id'], track['label'], track['kind'], track['enabled']));
3333
});

lib/src/native/rtc_video_view_impl.dart

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,14 @@ class RTCVideoView extends StatelessWidget {
5151
return SizedBox(
5252
width: constraints.maxHeight * value.aspectRatio,
5353
height: constraints.maxHeight,
54-
child: value.renderVideo ? child : Container(),
54+
child: child,
5555
);
5656
},
5757
child: Transform(
5858
transform: Matrix4.identity()..rotateY(mirror ? -pi : 0.0),
5959
alignment: FractionalOffset.center,
60-
child: videoRenderer.textureId != null
60+
child: videoRenderer.textureId != null &&
61+
videoRenderer.srcObject != null
6162
? Texture(
6263
t C0AE extureId: videoRenderer.textureId,
6364
filterQuality: filterQuality,

macos/WebRTC.framework/Headers

Lines changed: 0 additions & 1 deletion
This file was deleted.

macos/WebRTC.framework/Headers

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Versions/Current/Headers

macos/WebRTC.framework/Modules

Lines changed: 0 additions & 1 deletion
This file was deleted.

macos/WebRTC.framework/Modules

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Versions/Current/Modules

macos/WebRTC.framework/Resources

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)
0