Skip to content

Commit a3c83f5

Browse files
authored
Merge pull request #28 from GetStream/chore/sync_0.14.0
Chore/sync 0.14.0
2 parents 2a2011a + c0381f7 commit a3c83f5

12 files changed

+32
-26
lines changed

common/darwin/Classes/FlutterWebRTCPlugin.m

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@
66
#import "FlutterRTCMediaStream.h"
77
#import "FlutterRTCPeerConnection.h"
88
#import "FlutterRTCVideoRenderer.h"
9-
#import "FlutterRTCMediaRecorder.h"
109
#import "FlutterRTCFrameCryptor.h"
1110
#import "VideoEffectProcessor.h"
1211
#import "ProcessorProvider.h"
1312
#import "VideoFrameProcessor.h"
1413
#if TARGET_OS_IPHONE
14+
#import "FlutterRTCMediaRecorder.h"
1515
#import "FlutterRTCVideoPlatformViewFactory.h"
1616
#import "FlutterRTCVideoPlatformViewController.h"
1717
#endif
@@ -1529,8 +1529,9 @@ - (void)handleMethodCall:(FlutterMethodCall*)call result:(FlutterResult)result {
15291529
message:[NSString stringWithFormat:@"Error: peerConnection not found!"]
15301530
details:nil]);
15311531
}
1532+
#if TARGET_OS_IOS
15321533
} else if ([@"startRecordToFile" isEqualToString:call.method]){
1533-
#if TARGET_OS_IOS
1534+
15341535
NSDictionary* argsMap = call.arguments;
15351536
NSNumber* recorderId = argsMap[@"recorderId"];
15361537
NSString* path = argsMap[@"path"];
@@ -1549,10 +1550,7 @@ - (void)handleMethodCall:(FlutterMethodCall*)call result:(FlutterResult)result {
15491550
];
15501551
}
15511552
result(nil);
1552-
#endif
1553-
15541553
} else if ([@"stopRecordToFile" isEqualToString:call.method]) {
1555-
#if TARGET_OS_IOS
15561554
NSDictionary* argsMap = call.arguments;
15571555
NSNumber* recorderId = argsMap[@"recorderId"];
15581556
FlutterRTCMediaRecorder* recorder = self.recorders[recorderId];
@@ -1564,7 +1562,7 @@ - (void)handleMethodCall:(FlutterMethodCall*)call result:(FlutterResult)result {
15641562
message:[NSString stringWithFormat:@"Error: recorder with id %@ not found!",recorderId]
15651563
details:nil]);
15661564
}
1567-
#endif
1565+
#endif
15681566
} else {
15691567
[self handleFrameCryptorMethodCall:call result:result];
15701568
}

example/lib/src/get_user_media_sample.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ class _GetUserMediaSampleState extends State<GetUserMediaSample> {
125125
if (await file.exists()) {
126126
await file.delete();
127127
}
128-
_mediaRecorder = MediaRecorder();
128+
_mediaRecorder = MediaRecorder(albumName: 'FlutterWebRTC');
129129
setState(() {});
130130

131131
final videoTrack = _localStream!
@@ -145,7 +145,7 @@ class _GetUserMediaSampleState extends State<GetUserMediaSample> {
145145
}
146146

147147
// album name works only for android, for ios use gallerySaver
148-
await _mediaRecorder?.stop(albumName: 'FlutterWebRTC');
148+
await _mediaRecorder?.stop();
149149
setState(() {
150150
_mediaRecorder = null;
151151
});

ios/stream_webrtc_flutter.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ A new flutter plugin project.
1515
s.source_files = 'Classes/**/*'
1616
s.public_header_files = 'Classes/**/*.h'
1717
s.dependency 'Flutter'
18-
s.dependency 'StreamWebRTC', '125.6422.065'
18+
s.dependency 'StreamWebRTC', '125.6422.070'
1919
s.ios.deployment_target = '13.0'
2020
s.static_framework = true
2121
s.pod_target_xcconfig = {

lib/src/media_recorder.dart

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,17 @@
1+
import 'package:flutter/foundation.dart';
2+
13
import 'package:webrtc_interface/webrtc_interface.dart' as rtc;
24

35
import '../stream_webrtc_flutter.dart';
6+
import 'native/media_recorder_impl.dart' show MediaRecorderNative;
47

58
class MediaRecorder extends rtc.MediaRecorder {
6-
MediaRecorder() : _delegate = mediaRecorder();
9+
MediaRecorder({
10+
String? albumName,
11+
}) : _delegate = (kIsWeb || kIsWasm)
12+
? mediaRecorder()
13+
: MediaRecorderNative(albumName: albumName);
14+
715
final rtc.MediaRecorder _delegate;
816

917
@override
@@ -21,8 +29,7 @@ class MediaRecorder extends rtc.MediaRecorder {
2129
}
2230

2331
@override
24-
Future stop({String? albumName}) =>
25-
_delegate.stop(albumName: albumName ?? "FlutterWebRtc");
32+
Future stop() => _delegate.stop();
2633

2734
@override
2835
void startWeb(

lib/src/native/media_recorder_impl.dart

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,13 @@ import 'media_stream_track_impl.dart';
77
import 'utils.dart';
88

99
class MediaRecorderNative extends MediaRecorder {
10+
MediaRecorderNative({
11+
String? albumName = 'FlutterWebRTC',
12+
}) : _albumName = albumName;
1013
static final _random = Random();
1114
final _recorderId = _random.nextInt(0x7FFFFFFF);
1215
var _isStarted = false;
16+
final String? _albumName;
1317

1418
@override
1519
Future<void> start(
@@ -42,13 +46,13 @@ class MediaRecorderNative extends MediaRecorder {
4246
}
4347

4448
@override
45-
Future<dynamic> stop({String? albumName}) async {
49+
Future<dynamic> stop() async {
4650
if (!_isStarted) {
4751
throw "Media recorder not started!";
4852
}
4953
return await WebRTC.invokeMethod('stopRecordToFile', {
5054
'recorderId': _recorderId,
51-
'albumName': albumName,
55+
'albumName': _albumName,
5256
});
5357
}
5458
}

lib/src/native/rtc_video_platform_view_controller.dart

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,6 @@ class RTCVideoPlatformViewController extends ValueNotifier<RTCVideoValue>
3232
@override
3333
int get videoHeight => value.height.toInt();
3434

35-
@override
36-
RTCVideoValue get videoValue => value;
37-
3835
@override
3936
int? get textureId => _viewId;
4037

lib/src/native/rtc_video_renderer_impl.dart

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,6 @@ class RTCVideoRenderer extends ValueNotifier<RTCVideoValue>
3838
@override
3939
int get videoHeight => value.height.toInt();
4040

41-
@override
42-
RTCVideoValue get videoValue => value;
43-
4441
@override
4542
int? get textureId => _textureId;
4643

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import 'package:stream_webrtc_flutter/stream_webrtc_flutter.dart';
2+
3+
extension VideoRendererExtension on RTCVideoRenderer {
4+
RTCVideoValue get videoValue => value;
5+
}

lib/src/web/rtc_video_renderer_impl.dart

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,6 @@ class RTCVideoRenderer extends ValueNotifier<RTCVideoValue>
7171
@override
7272
int get videoHeight => value.height.toInt();
7373

74-
@override
75-
RTCVideoValue get videoValue => value;
76-
7774
@override
7875
int get textureId => _textureId;
7976

lib/stream_webrtc_flutter.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ export 'src/helper.dart';
77
export 'src/desktop_capturer.dart';
88
export 'src/media_devices.dart';
99
export 'src/media_recorder.dart';
10+
export 'src/video_renderer_extension.dart';
1011
export 'src/native/factory_impl.dart'
1112
if (dart.library.js_interop) 'src/web/factory_impl.dart';
1213
export 'src/native/rtc_video_renderer_impl.dart'

0 commit comments

Comments
 (0)