Merge branch 'fix/add-stream-clone-to-webrtc-deletage' into 'main'

fix: Add WebRTCDelegate.cloneStream to adapt to platform differences.

See merge request famedly/company/frontend/famedlysdk!1073
This commit is contained in:
td 2022-07-09 05:32:51 +00:00
commit ca4a78be69
2 changed files with 7 additions and 5 deletions

View File

@ -473,9 +473,9 @@ class CallSession {
waitForLocalAVStream = false;
callFeeds.forEach((element) {
// Safari can't send a MediaStream to multiple sources, so clone it
addLocalStream(element.stream!.clone(), element.purpose);
callFeeds.forEach((element) async {
addLocalStream(
await voip.delegate.cloneStream(element.stream!), element.purpose);
});
answer();
@ -504,8 +504,9 @@ class CallSession {
return;
}
callFeeds.forEach((element) {
addLocalStream(element.stream!.clone(), element.purpose);
callFeeds.forEach((element) async {
addLocalStream(
await voip.delegate.cloneStream(element.stream!), element.purpose);
});
if (requestScreenshareFeed) {

View File

@ -13,6 +13,7 @@ abstract class WebRTCDelegate {
Map<String, dynamic> configuration,
[Map<String, dynamic> constraints = const {}]);
VideoRenderer createRenderer();
Future<MediaStream> cloneStream(MediaStream stream);
void playRingtone();
void stopRingtone();
void handleNewCall(CallSession session);