Zoom iOS SDK issue with screen sharing videos

Description
We are using Zoom iOS SDK to integrate Zoom functionality into our application.
Screen-sharing works well until you start to share a video (YouTube or even video from browser).
In this case application disables audio, and only audio from a video is active. Mobile app uloades from the background apps, because without audio in background iOS unload application.
We checked this behevour in zoom application and it works fine.
Is there any way to fix it for custom UI?

Which version?
SDK version v5.0.24433.0616

Smartphone (please complete the following information):

  • Device: iPhoneX, iPadPro (11-inch)
  • OS: 13.7

Hey @eugene-explorer

Thanks for using the dev forum!

Are you using appShareWithView for this?

Thanks!
Michael

hi @Michael_Condon

Thank you for your response!

No, we are using ReplayKit.

Thank you,
Eugene

Hey @eugene-explorer

Oh interesting. Sorry that is happening, that does not sound like a pleasant experience!
Would you mind providing your ReplayHandler code and any other relevant code so I can investigate? Omit anything you would not want the public to see please.

Thanks!
Michael

Hello @Michael_Condon

We use code from example app:

//
//  SampleHandler.m
//  ExtensionReplayKit
//
//  Created by Chao Bai on 2018/5/11.
//  Copyright © 2018 Zoom Video Communications, Inc. All rights reserved.
//
#import "SampleHandler.h"
#import <MobileRTCScreenShare/MobileRTCScreenShareService.h>
@interface SampleHandler () <MobileRTCScreenShareServiceDelegate>
@property (strong, nonatomic) MobileRTCScreenShareService * screenShareService;
@end
@implementation SampleHandler
- (instancetype)init
{
    self = [super init];
    if (self)
    {
        MobileRTCScreenShareService * service = [[MobileRTCScreenShareService alloc]init];
        self.screenShareService = service;
        self.screenShareService.appGroup = %ourGroupId%;
        self.screenShareService.delegate = self;
    }
    return self;
}
- (void)dealloc
{
    self.screenShareService = nil;
}
- (void)broadcastStartedWithSetupInfo:(NSDictionary<NSString *,NSObject *> *)setupInfo {
    // User has requested to start the broadcast. Setup info from the UI extension can be supplied but optional.
    [self.screenShareService broadcastStartedWithSetupInfo:setupInfo];
}
- (void)broadcastPaused {
    [self.screenShareService broadcastPaused];
    // User has requested to pause the broadcast. Samples will stop being delivered.
}
- (void)broadcastResumed {
    [self.screenShareService broadcastResumed];
    // User has requested to resume the broadcast. Samples delivery will resume.
}
- (void)broadcastFinished {
    // User has requested to finish the broadcast.
    [self.screenShareService broadcastFinished];
}
- (void)processSampleBuffer:(CMSampleBufferRef)sampleBuffer withType:(RPSampleBufferType)sampleBufferType {
    [self.screenShareService processSampleBuffer:sampleBuffer withType:sampleBufferType];
}
- (void)MobileRTCScreenShareServiceFinishBroadcastWithError:(NSError *)error
{
    [self finishBroadcastWithError:error];
}
@end

App background permissions:

<key>UIBackgroundModes</key>
	<array>
		<string>audio</string>
	</array>

Everything is working fine, except for the video. After a few sec it freezes.