fix: Add WebRTCDelegate.cloneStream to adapt to platform differences.
This commit is contained in:
parent
c070a7ed40
commit
80b7e7c566
|
|
@ -473,9 +473,9 @@ class CallSession {
|
||||||
|
|
||||||
waitForLocalAVStream = false;
|
waitForLocalAVStream = false;
|
||||||
|
|
||||||
callFeeds.forEach((element) {
|
callFeeds.forEach((element) async {
|
||||||
// Safari can't send a MediaStream to multiple sources, so clone it
|
addLocalStream(
|
||||||
addLocalStream(element.stream!.clone(), element.purpose);
|
await voip.delegate.cloneStream(element.stream!), element.purpose);
|
||||||
});
|
});
|
||||||
|
|
||||||
answer();
|
answer();
|
||||||
|
|
@ -504,8 +504,9 @@ class CallSession {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
callFeeds.forEach((element) {
|
callFeeds.forEach((element) async {
|
||||||
addLocalStream(element.stream!.clone(), element.purpose);
|
addLocalStream(
|
||||||
|
await voip.delegate.cloneStream(element.stream!), element.purpose);
|
||||||
});
|
});
|
||||||
|
|
||||||
if (requestScreenshareFeed) {
|
if (requestScreenshareFeed) {
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@ abstract class WebRTCDelegate {
|
||||||
Map<String, dynamic> configuration,
|
Map<String, dynamic> configuration,
|
||||||
[Map<String, dynamic> constraints = const {}]);
|
[Map<String, dynamic> constraints = const {}]);
|
||||||
VideoRenderer createRenderer();
|
VideoRenderer createRenderer();
|
||||||
|
Future<MediaStream> cloneStream(MediaStream stream);
|
||||||
void playRingtone();
|
void playRingtone();
|
||||||
void stopRingtone();
|
void stopRingtone();
|
||||||
void handleNewCall(CallSession session);
|
void handleNewCall(CallSession session);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue