Skip to content

Commit f211205

Browse files
committed
✨ Support to set timeout when add publish cdn url
1 parent 5bfface commit f211205

File tree

5 files changed

+14
-7
lines changed

5 files changed

+14
-7
lines changed

android/src/main/java/im/zego/zego_express_engine/internal/ZegoExpressEngineMethodHandler.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -1180,8 +1180,9 @@ public static void addPublishCdnUrl(MethodCall call, final Result result) {
11801180

11811181
String streamID = call.argument("streamID");
11821182
String targetURL = call.argument("targetURL");
1183+
int timeout = ZegoUtils.intValue((Number) call.argument("timeout"));
11831184

1184-
ZegoExpressEngine.getEngine().addPublishCdnUrl(streamID, targetURL, new IZegoPublisherUpdateCdnUrlCallback() {
1185+
ZegoExpressEngine.getEngine().addPublishCdnUrl(streamID, targetURL, timeout, new IZegoPublisherUpdateCdnUrlCallback() {
11851186
@Override
11861187
public void onPublisherUpdateCdnUrlResult(int errorCode) {
11871188
HashMap<String, Object> resultMap = new HashMap<>();

ios/Classes/internal/ZegoExpressEngineMethodHandler.m

+2-1
Original file line numberDiff line numberDiff line change
@@ -1007,8 +1007,9 @@ - (void)addPublishCdnUrl:(FlutterMethodCall *)call result:(FlutterResult)result
10071007

10081008
NSString *targetURL = call.arguments[@"targetURL"];
10091009
NSString *streamID = call.arguments[@"streamID"];
1010+
int timeout = [ZegoUtils intValue:call.arguments[@"timeout"]];
10101011

1011-
[[ZegoExpressEngine sharedEngine] addPublishCdnUrl:targetURL streamID:streamID callback:^(int errorCode) {
1012+
[[ZegoExpressEngine sharedEngine] addPublishCdnUrl:targetURL streamID:streamID timeout:timeout callback:^(int errorCode) {
10121013
result(@{@"errorCode": @(errorCode)});
10131014
}];
10141015
}

lib/src/impl/zego_express_impl.dart

+3-2
Original file line numberDiff line numberDiff line change
@@ -589,9 +589,10 @@ class ZegoExpressImpl {
589589
}
590590

591591
Future<ZegoPublisherUpdateCdnUrlResult> addPublishCdnUrl(
592-
String streamID, String targetURL) async {
592+
String streamID, String targetURL, int timeout) async {
593593
final Map<dynamic, dynamic> map = await _channel.invokeMethod(
594-
'addPublishCdnUrl', {'streamID': streamID, 'targetURL': targetURL});
594+
'addPublishCdnUrl',
595+
{'streamID': streamID, 'targetURL': targetURL, 'timeout': timeout});
595596

596597
return ZegoPublisherUpdateCdnUrlResult(map['errorCode']);
597598
}

lib/src/zego_express_api_publisher.dart

+5-2
Original file line numberDiff line numberDiff line change
@@ -434,10 +434,13 @@ extension ZegoExpressEnginePublisher on ZegoExpressEngine {
434434
///
435435
/// - [streamID] Stream ID.
436436
/// - [targetURL] CDN relay address, supported address format is rtmp, rtmps.
437+
/// - [timeout] Timeout. Callback if it does not start in the time. Default is 0, which means no timeout. Valid range is [5, 600], in seconds.
437438
/// - Returns The execution result of update the relay CDN operation.
438439
Future<ZegoPublisherUpdateCdnUrlResult> addPublishCdnUrl(
439-
String streamID, String targetURL) async {
440-
return await ZegoExpressImpl.instance.addPublishCdnUrl(streamID, targetURL);
440+
String streamID, String targetURL,
441+
{int? timeout}) async {
442+
return await ZegoExpressImpl.instance
443+
.addPublishCdnUrl(streamID, targetURL, timeout ?? 0);
441444
}
442445

443446
/// Deletes the specified CDN URL, which is used for relaying streams from ZEGO RTC server to CDN.

windows/internal/ZegoExpressEngineMethodHandler.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -4345,10 +4345,11 @@ void ZegoExpressEngineMethodHandler::addPublishCdnUrl(
43454345
std::unique_ptr<flutter::MethodResult<flutter::EncodableValue>> result) {
43464346
auto streamID = std::get<std::string>(argument[FTValue("streamID")]);
43474347
auto targetURL = std::get<std::string>(argument[FTValue("targetURL")]);
4348+
auto timeout = std::get<int32_t>(argument[FTValue("timeout")]);
43484349

43494350
auto sharedPtrResult =
43504351
std::shared_ptr<flutter::MethodResult<flutter::EncodableValue>>(std::move(result));
4351-
EXPRESS::ZegoExpressSDK::getEngine()->addPublishCdnUrl(streamID, targetURL, [=](int errorCode) {
4352+
EXPRESS::ZegoExpressSDK::getEngine()->addPublishCdnUrl(streamID, targetURL, timeout, [=](int errorCode) {
43524353
FTMap retMap;
43534354
retMap[FTValue("errorCode")] = FTValue(errorCode);
43544355
sharedPtrResult->Success(retMap);

0 commit comments

Comments
 (0)