GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.

StartMPUTask   F
last analyzed

Complexity

Total Complexity 81

Size/Duplication

Total Lines 364
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 81
eloc 157
c 0
b 0
f 0
dl 0
loc 364
rs 2

14 Methods

Rating   Name   Duplication   Size   Complexity  
A withSubSpecUsers() 0 8 2
A withUnsubSpecShareScreenUsers() 0 8 2
A withSubSpecShareScreenUsers() 0 8 2
A withUnsubSpecAudioUsers() 0 8 2
A withUnsubSpecCameraUsers() 0 8 2
A withSubSpecAudioUsers() 0 8 2
A withLayoutIds() 0 8 2
B withBackgrounds() 0 28 9
C withWatermarks() 0 31 10
A withEnhancedParam() 0 6 1
A withSubSpecCameraUsers() 0 8 2
A withOutputStreamParams() 0 10 3
F withUserPanes() 0 83 28
F withClockWidgets() 0 43 14

How to fix   Complexity   

Complex Class

Complex classes like StartMPUTask often do a lot of different things. To break such a class down, we need to identify a cohesive component within that class. A common approach to find such a component is to look for fields/methods that share the same prefixes, or suffixes.

Once you have determined the fields that belong together, you can apply the Extract Class refactoring. If the component makes sense as a sub-class, Extract Subclass is also a candidate, and is often faster.

While breaking up the class, it is a good idea to analyze how other classes use StartMPUTask, and based on these observations, apply Extract Interface, too.

1
<?php
2
3
namespace AlibabaCloud\Rtc\V20180111;
4
5
use AlibabaCloud\Client\Resolver\ApiResolver;
6
7
/**
8
 * @method AddRecordTemplate addRecordTemplate(array $options = [])
9
 * @method CreateAutoLiveStreamRule createAutoLiveStreamRule(array $options = [])
10
 * @method CreateEventSubscribe createEventSubscribe(array $options = [])
11
 * @method CreateMPULayout createMPULayout(array $options = [])
12
 * @method DeleteAutoLiveStreamRule deleteAutoLiveStreamRule(array $options = [])
13
 * @method DeleteChannel deleteChannel(array $options = [])
14
 * @method DeleteEventSubscribe deleteEventSubscribe(array $options = [])
15
 * @method DeleteMPULayout deleteMPULayout(array $options = [])
16
 * @method DeleteRecordTemplate deleteRecordTemplate(array $options = [])
17
 * @method DescribeAppKey describeAppKey(array $options = [])
18
 * @method DescribeApps describeApps(array $options = [])
19
 * @method DescribeAutoLiveStreamRule describeAutoLiveStreamRule(array $options = [])
20
 * @method DescribeChannelParticipants describeChannelParticipants(array $options = [])
21
 * @method DescribeChannelUsers describeChannelUsers(array $options = [])
22
 * @method DescribeMPULayoutInfoList describeMPULayoutInfoList(array $options = [])
23
 * @method DescribeRecordFiles describeRecordFiles(array $options = [])
24
 * @method DescribeRecordTemplates describeRecordTemplates(array $options = [])
25
 * @method DescribeUserInfoInChannel describeUserInfoInChannel(array $options = [])
26
 * @method DisableAutoLiveStreamRule disableAutoLiveStreamRule(array $options = [])
27
 * @method EnableAutoLiveStreamRule enableAutoLiveStreamRule(array $options = [])
28
 * @method GetMPUTaskStatus getMPUTaskStatus(array $options = [])
29
 * @method ModifyApp modifyApp(array $options = [])
30
 * @method ModifyMPULayout modifyMPULayout(array $options = [])
31
 * @method RemoveTerminals removeTerminals(array $options = [])
32
 * @method StartMPUTask startMPUTask(array $options = [])
33
 * @method StartRecordTask startRecordTask(array $options = [])
34
 * @method StopMPUTask stopMPUTask(array $options = [])
35
 * @method StopRecordTask stopRecordTask(array $options = [])
36
 * @method UpdateAutoLiveStreamRule updateAutoLiveStreamRule(array $options = [])
37
 * @method UpdateMPUTask updateMPUTask(array $options = [])
38
 * @method UpdateRecordTask updateRecordTask(array $options = [])
39
 * @method UpdateRecordTemplate updateRecordTemplate(array $options = [])
40
 */
41
class RtcApiResolver extends ApiResolver
42
{
43
}
44
45
class Rpc extends \AlibabaCloud\Client\Resolver\Rpc
46
{
47
    /** @var string */
48
    public $product = 'rtc';
49
50
    /** @var string */
51
    public $version = '2018-01-11';
52
53
    /** @var string */
54
    public $method = 'POST';
55
}
56
57
/**
58
 * @method array getFormats()
59
 * @method string getOssFilePrefix()
60
 * @method $this withOssFilePrefix($value)
61
 * @method string getBackgroundColor()
62
 * @method $this withBackgroundColor($value)
63
 * @method string getTaskProfile()
64
 * @method $this withTaskProfile($value)
65
 * @method array getLayoutIds()
66
 * @method array getClockWidgets()
67
 * @method string getShowLog()
68
 * @method $this withShowLog($value)
69
 * @method string getOssBucket()
70
 * @method $this withOssBucket($value)
71
 * @method string getDelayStopTime()
72
 * @method $this withDelayStopTime($value)
73
 * @method string getFileSplitInterval()
74
 * @method $this withFileSplitInterval($value)
75
 * @method string getMnsQueue()
76
 * @method $this withMnsQueue($value)
77
 * @method string getHttpCallbackUrl()
78
 * @method $this withHttpCallbackUrl($value)
79
 * @method array getWatermarks()
80
 * @method string getOwnerId()
81
 * @method $this withOwnerId($value)
82
 * @method string getEnableM3u8DateTime()
83
 * @method $this withEnableM3u8DateTime($value)
84
 * @method string getAppId()
85
 * @method $this withAppId($value)
86
 * @method array getBackgrounds()
87
 * @method string getName()
88
 * @method $this withName($value)
89
 * @method string getMediaEncode()
90
 * @method $this withMediaEncode($value)
91
 */
92
class AddRecordTemplate extends Rpc
93
{
94
95
    /**
96
     * @param array $formats
97
     *
98
     * @return $this
99
     */
100
	public function withFormats(array $formats)
101
	{
102
	    $this->data['Formats'] = $formats;
103
		foreach ($formats as $i => $iValue) {
104
			$this->options['query']['Formats.' . ($i + 1)] = $iValue;
105
		}
106
107
		return $this;
108
    }
109
110
    /**
111
     * @param array $layoutIds
112
     *
113
     * @return $this
114
     */
115
	public function withLayoutIds(array $layoutIds)
116
	{
117
	    $this->data['LayoutIds'] = $layoutIds;
118
		foreach ($layoutIds as $i => $iValue) {
119
			$this->options['query']['LayoutIds.' . ($i + 1)] = $iValue;
120
		}
121
122
		return $this;
123
    }
124
125
    /**
126
     * @param array $clockWidgets
127
     *
128
     * @return $this
129
     */
130
	public function withClockWidgets(array $clockWidgets)
131
	{
132
	    $this->data['ClockWidgets'] = $clockWidgets;
133
		foreach ($clockWidgets as $depth1 => $depth1Value) {
134
			if(isset($depth1Value['FontType'])){
135
				$this->options['query']['ClockWidgets.' . ($depth1 + 1) . '.FontType'] = $depth1Value['FontType'];
136
			}
137
			if(isset($depth1Value['FontColor'])){
138
				$this->options['query']['ClockWidgets.' . ($depth1 + 1) . '.FontColor'] = $depth1Value['FontColor'];
139
			}
140
			if(isset($depth1Value['Y'])){
141
				$this->options['query']['ClockWidgets.' . ($depth1 + 1) . '.Y'] = $depth1Value['Y'];
142
			}
143
			if(isset($depth1Value['ZOrder'])){
144
				$this->options['query']['ClockWidgets.' . ($depth1 + 1) . '.ZOrder'] = $depth1Value['ZOrder'];
145
			}
146
			if(isset($depth1Value['X'])){
147
				$this->options['query']['ClockWidgets.' . ($depth1 + 1) . '.X'] = $depth1Value['X'];
148
			}
149
			if(isset($depth1Value['FontSize'])){
150
				$this->options['query']['ClockWidgets.' . ($depth1 + 1) . '.FontSize'] = $depth1Value['FontSize'];
151
			}
152
		}
153
154
		return $this;
155
    }
156
157
    /**
158
     * @param array $watermarks
159
     *
160
     * @return $this
161
     */
162
	public function withWatermarks(array $watermarks)
163
	{
164
	    $this->data['Watermarks'] = $watermarks;
165
		foreach ($watermarks as $depth1 => $depth1Value) {
166
			if(isset($depth1Value['Alpha'])){
167
				$this->options['query']['Watermarks.' . ($depth1 + 1) . '.Alpha'] = $depth1Value['Alpha'];
168
			}
169
			if(isset($depth1Value['Width'])){
170
				$this->options['query']['Watermarks.' . ($depth1 + 1) . '.Width'] = $depth1Value['Width'];
171
			}
172
			if(isset($depth1Value['Height'])){
173
				$this->options['query']['Watermarks.' . ($depth1 + 1) . '.Height'] = $depth1Value['Height'];
174
			}
175
			if(isset($depth1Value['Y'])){
176
				$this->options['query']['Watermarks.' . ($depth1 + 1) . '.Y'] = $depth1Value['Y'];
177
			}
178
			if(isset($depth1Value['Url'])){
179
				$this->options['query']['Watermarks.' . ($depth1 + 1) . '.Url'] = $depth1Value['Url'];
180
			}
181
			if(isset($depth1Value['Display'])){
182
				$this->options['query']['Watermarks.' . ($depth1 + 1) . '.Display'] = $depth1Value['Display'];
183
			}
184
			if(isset($depth1Value['ZOrder'])){
185
				$this->options['query']['Watermarks.' . ($depth1 + 1) . '.ZOrder'] = $depth1Value['ZOrder'];
186
			}
187
			if(isset($depth1Value['X'])){
188
				$this->options['query']['Watermarks.' . ($depth1 + 1) . '.X'] = $depth1Value['X'];
189
			}
190
		}
191
192
		return $this;
193
    }
194
195
    /**
196
     * @param array $backgrounds
197
     *
198
     * @return $this
199
     */
200
	public function withBackgrounds(array $backgrounds)
201
	{
202
	    $this->data['Backgrounds'] = $backgrounds;
203
		foreach ($backgrounds as $depth1 => $depth1Value) {
204
			if(isset($depth1Value['Width'])){
205
				$this->options['query']['Backgrounds.' . ($depth1 + 1) . '.Width'] = $depth1Value['Width'];
206
			}
207
			if(isset($depth1Value['Height'])){
208
				$this->options['query']['Backgrounds.' . ($depth1 + 1) . '.Height'] = $depth1Value['Height'];
209
			}
210
			if(isset($depth1Value['Y'])){
211
				$this->options['query']['Backgrounds.' . ($depth1 + 1) . '.Y'] = $depth1Value['Y'];
212
			}
213
			if(isset($depth1Value['Url'])){
214
				$this->options['query']['Backgrounds.' . ($depth1 + 1) . '.Url'] = $depth1Value['Url'];
215
			}
216
			if(isset($depth1Value['Display'])){
217
				$this->options['query']['Backgrounds.' . ($depth1 + 1) . '.Display'] = $depth1Value['Display'];
218
			}
219
			if(isset($depth1Value['ZOrder'])){
220
				$this->options['query']['Backgrounds.' . ($depth1 + 1) . '.ZOrder'] = $depth1Value['ZOrder'];
221
			}
222
			if(isset($depth1Value['X'])){
223
				$this->options['query']['Backgrounds.' . ($depth1 + 1) . '.X'] = $depth1Value['X'];
224
			}
225
		}
226
227
		return $this;
228
    }
229
}
230
231
/**
232
 * @method string getRuleName()
233
 * @method $this withRuleName($value)
234
 * @method array getChannelIdPrefixes()
235
 * @method string getShowLog()
236
 * @method $this withShowLog($value)
237
 * @method string getPlayDomain()
238
 * @method $this withPlayDomain($value)
239
 * @method string getOwnerId()
240
 * @method $this withOwnerId($value)
241
 * @method string getAppId()
242
 * @method $this withAppId($value)
243
 * @method string getCallBack()
244
 * @method $this withCallBack($value)
245
 * @method string getMediaEncode()
246
 * @method $this withMediaEncode($value)
247
 * @method array getChannelIds()
248
 */
249
class CreateAutoLiveStreamRule extends Rpc
250
{
251
252
    /**
253
     * @param array $channelIdPrefixes
254
     *
255
     * @return $this
256
     */
257
	public function withChannelIdPrefixes(array $channelIdPrefixes)
258
	{
259
	    $this->data['ChannelIdPrefixes'] = $channelIdPrefixes;
260
		foreach ($channelIdPrefixes as $i => $iValue) {
261
			$this->options['query']['ChannelIdPrefixes.' . ($i + 1)] = $iValue;
262
		}
263
264
		return $this;
265
    }
266
267
    /**
268
     * @param array $channelIds
269
     *
270
     * @return $this
271
     */
272
	public function withChannelIds(array $channelIds)
273
	{
274
	    $this->data['ChannelIds'] = $channelIds;
275
		foreach ($channelIds as $i => $iValue) {
276
			$this->options['query']['ChannelIds.' . ($i + 1)] = $iValue;
277
		}
278
279
		return $this;
280
    }
281
}
282
283
/**
284
 * @method string getClientToken()
285
 * @method $this withClientToken($value)
286
 * @method string getNeedCallbackAuth()
287
 * @method $this withNeedCallbackAuth($value)
288
 * @method array getEvents()
289
 * @method string getShowLog()
290
 * @method $this withShowLog($value)
291
 * @method string getOwnerId()
292
 * @method $this withOwnerId($value)
293
 * @method array getUsers()
294
 * @method string getAppId()
295
 * @method $this withAppId($value)
296
 * @method string getCallbackUrl()
297
 * @method $this withCallbackUrl($value)
298
 * @method string getChannelId()
299
 * @method $this withChannelId($value)
300
 */
301
class CreateEventSubscribe extends Rpc
302
{
303
304
    /**
305
     * @param array $events
306
     *
307
     * @return $this
308
     */
309
	public function withEvents(array $events)
310
	{
311
	    $this->data['Events'] = $events;
312
		foreach ($events as $i => $iValue) {
313
			$this->options['query']['Events.' . ($i + 1)] = $iValue;
314
		}
315
316
		return $this;
317
    }
318
319
    /**
320
     * @param array $users
321
     *
322
     * @return $this
323
     */
324
	public function withUsers(array $users)
325
	{
326
	    $this->data['Users'] = $users;
327
		foreach ($users as $i => $iValue) {
328
			$this->options['query']['Users.' . ($i + 1)] = $iValue;
329
		}
330
331
		return $this;
332
    }
333
}
334
335
/**
336
 * @method array getPanes()
337
 * @method string getShowLog()
338
 * @method $this withShowLog($value)
339
 * @method string getOwnerId()
340
 * @method $this withOwnerId($value)
341
 * @method string getAppId()
342
 * @method $this withAppId($value)
343
 * @method string getName()
344
 * @method $this withName($value)
345
 * @method string getAudioMixCount()
346
 * @method $this withAudioMixCount($value)
347
 */
348
class CreateMPULayout extends Rpc
349
{
350
351
    /**
352
     * @param array $panes
353
     *
354
     * @return $this
355
     */
356
	public function withPanes(array $panes)
357
	{
358
	    $this->data['Panes'] = $panes;
359
		foreach ($panes as $depth1 => $depth1Value) {
360
			if(isset($depth1Value['MajorPane'])){
361
				$this->options['query']['Panes.' . ($depth1 + 1) . '.MajorPane'] = $depth1Value['MajorPane'];
362
			}
363
			if(isset($depth1Value['Width'])){
364
				$this->options['query']['Panes.' . ($depth1 + 1) . '.Width'] = $depth1Value['Width'];
365
			}
366
			if(isset($depth1Value['Height'])){
367
				$this->options['query']['Panes.' . ($depth1 + 1) . '.Height'] = $depth1Value['Height'];
368
			}
369
			if(isset($depth1Value['Y'])){
370
				$this->options['query']['Panes.' . ($depth1 + 1) . '.Y'] = $depth1Value['Y'];
371
			}
372
			if(isset($depth1Value['PaneId'])){
373
				$this->options['query']['Panes.' . ($depth1 + 1) . '.PaneId'] = $depth1Value['PaneId'];
374
			}
375
			if(isset($depth1Value['ZOrder'])){
376
				$this->options['query']['Panes.' . ($depth1 + 1) . '.ZOrder'] = $depth1Value['ZOrder'];
377
			}
378
			if(isset($depth1Value['X'])){
379
				$this->options['query']['Panes.' . ($depth1 + 1) . '.X'] = $depth1Value['X'];
380
			}
381
		}
382
383
		return $this;
384
    }
385
}
386
387
/**
388
 * @method string getShowLog()
389
 * @method $this withShowLog($value)
390
 * @method string getOwnerId()
391
 * @method $this withOwnerId($value)
392
 * @method string getAppId()
393
 * @method $this withAppId($value)
394
 * @method string getRuleId()
395
 * @method $this withRuleId($value)
396
 */
397
class DeleteAutoLiveStreamRule extends Rpc
398
{
399
}
400
401
/**
402
 * @method string getShowLog()
403
 * @method $this withShowLog($value)
404
 * @method string getOwnerId()
405
 * @method $this withOwnerId($value)
406
 * @method string getAppId()
407
 * @method $this withAppId($value)
408
 * @method string getChannelId()
409
 * @method $this withChannelId($value)
410
 */
411
class DeleteChannel extends Rpc
412
{
413
}
414
415
/**
416
 * @method string getSubscribeId()
417
 * @method $this withSubscribeId($value)
418
 * @method string getShowLog()
419
 * @method $this withShowLog($value)
420
 * @method string getOwnerId()
421
 * @method $this withOwnerId($value)
422
 * @method string getAppId()
423
 * @method $this withAppId($value)
424
 */
425
class DeleteEventSubscribe extends Rpc
426
{
427
}
428
429
/**
430
 * @method string getLayoutId()
431
 * @method $this withLayoutId($value)
432
 * @method string getShowLog()
433
 * @method $this withShowLog($value)
434
 * @method string getOwnerId()
435
 * @method $this withOwnerId($value)
436
 * @method string getAppId()
437
 * @method $this withAppId($value)
438
 */
439
class DeleteMPULayout extends Rpc
440
{
441
}
442
443
/**
444
 * @method string getShowLog()
445
 * @method $this withShowLog($value)
446
 * @method string getOwnerId()
447
 * @method $this withOwnerId($value)
448
 * @method string getTemplateId()
449
 * @method $this withTemplateId($value)
450
 * @method string getAppId()
451
 * @method $this withAppId($value)
452
 */
453
class DeleteRecordTemplate extends Rpc
454
{
455
}
456
457
/**
458
 * @method string getShowLog()
459
 * @method $this withShowLog($value)
460
 * @method string getQueryAppId()
461
 * @method $this withQueryAppId($value)
462
 * @method string getOwnerId()
463
 * @method $this withOwnerId($value)
464
 * @method string getAppId()
465
 * @method $this withAppId($value)
466
 */
467
class DescribeAppKey extends Rpc
468
{
469
}
470
471
/**
472
 * @method string getPageNum()
473
 * @method $this withPageNum($value)
474
 * @method string getPageSize()
475
 * @method $this withPageSize($value)
476
 * @method string getShowLog()
477
 * @method $this withShowLog($value)
478
 * @method string getOrder()
479
 * @method $this withOrder($value)
480
 * @method string getOwnerId()
481
 * @method $this withOwnerId($value)
482
 * @method string getAppId()
483
 * @method $this withAppId($value)
484
 * @method string getStatus()
485
 * @method $this withStatus($value)
486
 */
487
class DescribeApps extends Rpc
488
{
489
}
490
491
/**
492
 * @method string getShowLog()
493
 * @method $this withShowLog($value)
494
 * @method string getOwnerId()
495
 * @method $this withOwnerId($value)
496
 * @method string getAppId()
497
 * @method $this withAppId($value)
498
 */
499
class DescribeAutoLiveStreamRule extends Rpc
500
{
501
}
502
503
/**
504
 * @method string getPageNum()
505
 * @method $this withPageNum($value)
506
 * @method string getPageSize()
507
 * @method $this withPageSize($value)
508
 * @method string getShowLog()
509
 * @method $this withShowLog($value)
510
 * @method string getOrder()
511
 * @method $this withOrder($value)
512
 * @method string getOwnerId()
513
 * @method $this withOwnerId($value)
514
 * @method string getAppId()
515
 * @method $this withAppId($value)
516
 * @method string getChannelId()
517
 * @method $this withChannelId($value)
518
 */
519
class DescribeChannelParticipants extends Rpc
520
{
521
}
522
523
/**
524
 * @method string getShowLog()
525
 * @method $this withShowLog($value)
526
 * @method string getOwnerId()
527
 * @method $this withOwnerId($value)
528
 * @method string getAppId()
529
 * @method $this withAppId($value)
530
 * @method string getChannelId()
531
 * @method $this withChannelId($value)
532
 */
533
class DescribeChannelUsers extends Rpc
534
{
535
}
536
537
/**
538
 * @method string getPageNum()
539
 * @method $this withPageNum($value)
540
 * @method string getLayoutId()
541
 * @method $this withLayoutId($value)
542
 * @method string getPageSize()
543
 * @method $this withPageSize($value)
544
 * @method string getShowLog()
545
 * @method $this withShowLog($value)
546
 * @method string getOwnerId()
547
 * @method $this withOwnerId($value)
548
 * @method string getAppId()
549
 * @method $this withAppId($value)
550
 * @method string getName()
551
 * @method $this withName($value)
552
 */
553
class DescribeMPULayoutInfoList extends Rpc
554
{
555
}
556
557
/**
558
 * @method string getStartTime()
559
 * @method $this withStartTime($value)
560
 * @method string getPageNum()
561
 * @method $this withPageNum($value)
562
 * @method array getTaskIds()
563
 * @method string getPageSize()
564
 * @method $this withPageSize($value)
565
 * @method string getShowLog()
566
 * @method $this withShowLog($value)
567
 * @method string getEndTime()
568
 * @method $this withEndTime($value)
569
 * @method string getOwnerId()
570
 * @method $this withOwnerId($value)
571
 * @method string getAppId()
572
 * @method $this withAppId($value)
573
 * @method string getChannelId()
574
 * @method $this withChannelId($value)
575
 */
576
class DescribeRecordFiles extends Rpc
577
{
578
579
    /**
580
     * @param array $taskIds
581
     *
582
     * @return $this
583
     */
584
	public function withTaskIds(array $taskIds)
585
	{
586
	    $this->data['TaskIds'] = $taskIds;
587
		foreach ($taskIds as $i => $iValue) {
588
			$this->options['query']['TaskIds.' . ($i + 1)] = $iValue;
589
		}
590
591
		return $this;
592
    }
593
}
594
595
/**
596
 * @method array getTemplateIds()
597
 * @method string getPageNum()
598
 * @method $this withPageNum($value)
599
 * @method string getPageSize()
600
 * @method $this withPageSize($value)
601
 * @method string getShowLog()
602
 * @method $this withShowLog($value)
603
 * @method string getOwnerId()
604
 * @method $this withOwnerId($value)
605
 * @method string getAppId()
606
 * @method $this withAppId($value)
607
 */
608
class DescribeRecordTemplates extends Rpc
609
{
610
611
    /**
612
     * @param array $templateIds
613
     *
614
     * @return $this
615
     */
616
	public function withTemplateIds(array $templateIds)
617
	{
618
	    $this->data['TemplateIds'] = $templateIds;
619
		foreach ($templateIds as $i => $iValue) {
620
			$this->options['query']['TemplateIds.' . ($i + 1)] = $iValue;
621
		}
622
623
		return $this;
624
    }
625
}
626
627
/**
628
 * @method string getUserId()
629
 * @method $this withUserId($value)
630
 * @method string getShowLog()
631
 * @method $this withShowLog($value)
632
 * @method string getOwnerId()
633
 * @method $this withOwnerId($value)
634
 * @method string getAppId()
635
 * @method $this withAppId($value)
636
 * @method string getChannelId()
637
 * @method $this withChannelId($value)
638
 */
639
class DescribeUserInfoInChannel extends Rpc
640
{
641
}
642
643
/**
644
 * @method string getShowLog()
645
 * @method $this withShowLog($value)
646
 * @method string getOwnerId()
647
 * @method $this withOwnerId($value)
648
 * @method string getAppId()
649
 * @method $this withAppId($value)
650
 * @method string getRuleId()
651
 * @method $this withRuleId($value)
652
 */
653
class DisableAutoLiveStreamRule extends Rpc
654
{
655
}
656
657
/**
658
 * @method string getShowLog()
659
 * @method $this withShowLog($value)
660
 * @method string getOwnerId()
661
 * @method $this withOwnerId($value)
662
 * @method string getAppId()
663
 * @method $this withAppId($value)
664
 * @method string getRuleId()
665
 * @method $this withRuleId($value)
666
 */
667
class EnableAutoLiveStreamRule extends Rpc
668
{
669
}
670
671
/**
672
 * @method string getTaskId()
673
 * @method $this withTaskId($value)
674
 * @method string getShowLog()
675
 * @method $this withShowLog($value)
676
 * @method string getOwnerId()
677
 * @method $this withOwnerId($value)
678
 * @method string getAppId()
679
 * @method $this withAppId($value)
680
 */
681
class GetMPUTaskStatus extends Rpc
682
{
683
}
684
685
/**
686
 * @method string getAppName()
687
 * @method $this withAppName($value)
688
 * @method string getShowLog()
689
 * @method $this withShowLog($value)
690
 * @method string getOwnerId()
691
 * @method $this withOwnerId($value)
692
 * @method string getAppId()
693
 * @method $this withAppId($value)
694
 */
695
class ModifyApp extends Rpc
696
{
697
}
698
699
/**
700
 * @method string getLayoutId()
701
 * @method $this withLayoutId($value)
702
 * @method array getPanes()
703
 * @method string getShowLog()
704
 * @method $this withShowLog($value)
705
 * @method string getOwnerId()
706
 * @method $this withOwnerId($value)
707
 * @method string getAppId()
708
 * @method $this withAppId($value)
709
 * @method string getName()
710
 * @method $this withName($value)
711
 * @method string getAudioMixCount()
712
 * @method $this withAudioMixCount($value)
713
 */
714
class ModifyMPULayout extends Rpc
715
{
716
717
    /**
718
     * @param array $panes
719
     *
720
     * @return $this
721
     */
722
	public function withPanes(array $panes)
723
	{
724
	    $this->data['Panes'] = $panes;
725
		foreach ($panes as $depth1 => $depth1Value) {
726
			if(isset($depth1Value['MajorPane'])){
727
				$this->options['query']['Panes.' . ($depth1 + 1) . '.MajorPane'] = $depth1Value['MajorPane'];
728
			}
729
			if(isset($depth1Value['Width'])){
730
				$this->options['query']['Panes.' . ($depth1 + 1) . '.Width'] = $depth1Value['Width'];
731
			}
732
			if(isset($depth1Value['Height'])){
733
				$this->options['query']['Panes.' . ($depth1 + 1) . '.Height'] = $depth1Value['Height'];
734
			}
735
			if(isset($depth1Value['Y'])){
736
				$this->options['query']['Panes.' . ($depth1 + 1) . '.Y'] = $depth1Value['Y'];
737
			}
738
			if(isset($depth1Value['PaneId'])){
739
				$this->options['query']['Panes.' . ($depth1 + 1) . '.PaneId'] = $depth1Value['PaneId'];
740
			}
741
			if(isset($depth1Value['ZOrder'])){
742
				$this->options['query']['Panes.' . ($depth1 + 1) . '.ZOrder'] = $depth1Value['ZOrder'];
743
			}
744
			if(isset($depth1Value['X'])){
745
				$this->options['query']['Panes.' . ($depth1 + 1) . '.X'] = $depth1Value['X'];
746
			}
747
		}
748
749
		return $this;
750
    }
751
}
752
753
/**
754
 * @method array getTerminalIds()
755
 * @method string getShowLog()
756
 * @method $this withShowLog($value)
757
 * @method string getOwnerId()
758
 * @method $this withOwnerId($value)
759
 * @method string getAppId()
760
 * @method $this withAppId($value)
761
 * @method string getChannelId()
762
 * @method $this withChannelId($value)
763
 */
764
class RemoveTerminals extends Rpc
765
{
766
767
    /**
768
     * @param array $terminalIds
769
     *
770
     * @return $this
771
     */
772
	public function withTerminalIds(array $terminalIds)
773
	{
774
	    $this->data['TerminalIds'] = $terminalIds;
775
		foreach ($terminalIds as $i => $iValue) {
776
			$this->options['query']['TerminalIds.' . ($i + 1)] = $iValue;
777
		}
778
779
		return $this;
780
    }
781
}
782
783
/**
784
 * @method string getPayloadType()
785
 * @method $this withPayloadType($value)
786
 * @method array getUserPanes()
787
 * @method string getBackgroundColor()
788
 * @method $this withBackgroundColor($value)
789
 * @method string getReportVad()
790
 * @method $this withReportVad($value)
791
 * @method string getSourceType()
792
 * @method $this withSourceType($value)
793
 * @method string getTaskId()
794
 * @method $this withTaskId($value)
795
 * @method array getClockWidgets()
796
 * @method string getShowLog()
797
 * @method $this withShowLog($value)
798
 * @method array getUnsubSpecCameraUsers()
799
 * @method string getTaskType()
800
 * @method $this withTaskType($value)
801
 * @method array getUnsubSpecAudioUsers()
802
 * @method string getVadInterval()
803
 * @method $this withVadInterval($value)
804
 * @method array getWatermarks()
805
 * @method string getOwnerId()
806
 * @method $this withOwnerId($value)
807
 * @method array getSubSpecAudioUsers()
808
 * @method string getMediaEncode()
809
 * @method $this withMediaEncode($value)
810
 * @method string getEnhancedParam()
811
 * @method string getRtpExtInfo()
812
 * @method $this withRtpExtInfo($value)
813
 * @method string getCropMode()
814
 * @method $this withCropMode($value)
815
 * @method array getSubSpecCameraUsers()
816
 * @method array getOutputStreamParams()
817
 * @method string getTaskProfile()
818
 * @method $this withTaskProfile($value)
819
 * @method array getLayoutIds()
820
 * @method string getStreamURL()
821
 * @method $this withStreamURL($value)
822
 * @method string getStreamType()
823
 * @method $this withStreamType($value)
824
 * @method array getUnsubSpecShareScreenUsers()
825
 * @method array getSubSpecShareScreenUsers()
826
 * @method array getSubSpecUsers()
827
 * @method string getAppId()
828
 * @method $this withAppId($value)
829
 * @method array getBackgrounds()
830
 * @method string getTimeStampRef()
831
 * @method $this withTimeStampRef($value)
832
 * @method string getMixMode()
833
 * @method $this withMixMode($value)
834
 * @method string getChannelId()
835
 * @method $this withChannelId($value)
836
 */
837
class StartMPUTask extends Rpc
838
{
839
840
    /**
841
     * @param array $userPanes
842
     *
843
     * @return $this
844
     */
845
	public function withUserPanes(array $userPanes)
846
	{
847
	    $this->data['UserPanes'] = $userPanes;
848
		foreach ($userPanes as $depth1 => $depth1Value) {
849
			foreach ($depth1Value['Images'] as $depth2 => $depth2Value) {
850
				if(isset($depth2Value['Width'])){
851
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Images.' . ($depth2 + 1) . '.Width'] = $depth2Value['Width'];
852
				}
853
				if(isset($depth2Value['Height'])){
854
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Images.' . ($depth2 + 1) . '.Height'] = $depth2Value['Height'];
855
				}
856
				if(isset($depth2Value['Y'])){
857
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Images.' . ($depth2 + 1) . '.Y'] = $depth2Value['Y'];
858
				}
859
				if(isset($depth2Value['Url'])){
860
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Images.' . ($depth2 + 1) . '.Url'] = $depth2Value['Url'];
861
				}
862
				if(isset($depth2Value['Display'])){
863
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Images.' . ($depth2 + 1) . '.Display'] = $depth2Value['Display'];
864
				}
865
				if(isset($depth2Value['ZOrder'])){
866
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Images.' . ($depth2 + 1) . '.ZOrder'] = $depth2Value['ZOrder'];
867
				}
868
				if(isset($depth2Value['X'])){
869
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Images.' . ($depth2 + 1) . '.X'] = $depth2Value['X'];
870
				}
871
			}
872
			if(isset($depth1Value['SegmentType'])){
873
				$this->options['query']['UserPanes.' . ($depth1 + 1) . '.SegmentType'] = $depth1Value['SegmentType'];
874
			}
875
			if(isset($depth1Value['UserId'])){
876
				$this->options['query']['UserPanes.' . ($depth1 + 1) . '.UserId'] = $depth1Value['UserId'];
877
			}
878
			foreach ($depth1Value['Texts'] as $depth2 => $depth2Value) {
879
				if(isset($depth2Value['FontType'])){
880
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.FontType'] = $depth2Value['FontType'];
881
				}
882
				if(isset($depth2Value['FontColor'])){
883
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.FontColor'] = $depth2Value['FontColor'];
884
				}
885
				if(isset($depth2Value['Y'])){
886
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.Y'] = $depth2Value['Y'];
887
				}
888
				if(isset($depth2Value['Text'])){
889
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.Text'] = $depth2Value['Text'];
890
				}
891
				if(isset($depth2Value['ZOrder'])){
892
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.ZOrder'] = $depth2Value['ZOrder'];
893
				}
894
				if(isset($depth2Value['X'])){
895
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.X'] = $depth2Value['X'];
896
				}
897
				if(isset($depth2Value['FontSize'])){
898
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.FontSize'] = $depth2Value['FontSize'];
899
				}
900
				if(isset($depth2Value['BorderWidth'])){
901
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.BorderWidth'] = $depth2Value['BorderWidth'];
902
				}
903
				if(isset($depth2Value['BorderColor'])){
904
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.BorderColor'] = $depth2Value['BorderColor'];
905
				}
906
				if(isset($depth2Value['Box'])){
907
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.Box'] = $depth2Value['Box'];
908
				}
909
				if(isset($depth2Value['BoxColor'])){
910
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.BoxColor'] = $depth2Value['BoxColor'];
911
				}
912
				if(isset($depth2Value['BoxBorderWidth'])){
913
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.BoxBorderWidth'] = $depth2Value['BoxBorderWidth'];
914
				}
915
				if(isset($depth2Value['Alpha'])){
916
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.Alpha'] = $depth2Value['Alpha'];
917
				}
918
			}
919
			if(isset($depth1Value['SourceType'])){
920
				$this->options['query']['UserPanes.' . ($depth1 + 1) . '.SourceType'] = $depth1Value['SourceType'];
921
			}
922
			if(isset($depth1Value['PaneId'])){
923
				$this->options['query']['UserPanes.' . ($depth1 + 1) . '.PaneId'] = $depth1Value['PaneId'];
924
			}
925
		}
926
927
		return $this;
928
    }
929
930
    /**
931
     * @param array $clockWidgets
932
     *
933
     * @return $this
934
     */
935
	public function withClockWidgets(array $clockWidgets)
936
	{
937
	    $this->data['ClockWidgets'] = $clockWidgets;
938
		foreach ($clockWidgets as $depth1 => $depth1Value) {
939
			if(isset($depth1Value['FontType'])){
940
				$this->options['query']['ClockWidgets.' . ($depth1 + 1) . '.FontType'] = $depth1Value['FontType'];
941
			}
942
			if(isset($depth1Value['FontColor'])){
943
				$this->options['query']['ClockWidgets.' . ($depth1 + 1) . '.FontColor'] = $depth1Value['FontColor'];
944
			}
945
			if(isset($depth1Value['Y'])){
946
				$this->options['query']['ClockWidgets.' . ($depth1 + 1) . '.Y'] = $depth1Value['Y'];
947
			}
948
			if(isset($depth1Value['ZOrder'])){
949
				$this->options['query']['ClockWidgets.' . ($depth1 + 1) . '.ZOrder'] = $depth1Value['ZOrder'];
950
			}
951
			if(isset($depth1Value['X'])){
952
				$this->options['query']['ClockWidgets.' . ($depth1 + 1) . '.X'] = $depth1Value['X'];
953
			}
954
			if(isset($depth1Value['FontSize'])){
955
				$this->options['query']['ClockWidgets.' . ($depth1 + 1) . '.FontSize'] = $depth1Value['FontSize'];
956
			}
957
			if(isset($depth1Value['BorderWidth'])){
958
				$this->options['query']['ClockWidgets.' . ($depth1 + 1) . '.BorderWidth'] = $depth1Value['BorderWidth'];
959
			}
960
			if(isset($depth1Value['BorderColor'])){
961
				$this->options['query']['ClockWidgets.' . ($depth1 + 1) . '.BorderColor'] = $depth1Value['BorderColor'];
962
			}
963
			if(isset($depth1Value['Box'])){
964
				$this->options['query']['ClockWidgets.' . ($depth1 + 1) . '.Box'] = $depth1Value['Box'];
965
			}
966
			if(isset($depth1Value['BoxColor'])){
967
				$this->options['query']['ClockWidgets.' . ($depth1 + 1) . '.BoxColor'] = $depth1Value['BoxColor'];
968
			}
969
			if(isset($depth1Value['BoxBorderWidth'])){
970
				$this->options['query']['ClockWidgets.' . ($depth1 + 1) . '.BoxBorderWidth'] = $depth1Value['BoxBorderWidth'];
971
			}
972
			if(isset($depth1Value['Alpha'])){
973
				$this->options['query']['ClockWidgets.' . ($depth1 + 1) . '.Alpha'] = $depth1Value['Alpha'];
974
			}
975
		}
976
977
		return $this;
978
    }
979
980
    /**
981
     * @param array $unsubSpecCameraUsers
982
     *
983
     * @return $this
984
     */
985
	public function withUnsubSpecCameraUsers(array $unsubSpecCameraUsers)
986
	{
987
	    $this->data['UnsubSpecCameraUsers'] = $unsubSpecCameraUsers;
988
		foreach ($unsubSpecCameraUsers as $i => $iValue) {
989
			$this->options['query']['UnsubSpecCameraUsers.' . ($i + 1)] = $iValue;
990
		}
991
992
		return $this;
993
    }
994
995
    /**
996
     * @param array $unsubSpecAudioUsers
997
     *
998
     * @return $this
999
     */
1000
	public function withUnsubSpecAudioUsers(array $unsubSpecAudioUsers)
1001
	{
1002
	    $this->data['UnsubSpecAudioUsers'] = $unsubSpecAudioUsers;
1003
		foreach ($unsubSpecAudioUsers as $i => $iValue) {
1004
			$this->options['query']['UnsubSpecAudioUsers.' . ($i + 1)] = $iValue;
1005
		}
1006
1007
		return $this;
1008
    }
1009
1010
    /**
1011
     * @param array $watermarks
1012
     *
1013
     * @return $this
1014
     */
1015
	public function withWatermarks(array $watermarks)
1016
	{
1017
	    $this->data['Watermarks'] = $watermarks;
1018
		foreach ($watermarks as $depth1 => $depth1Value) {
1019
			if(isset($depth1Value['Alpha'])){
1020
				$this->options['query']['Watermarks.' . ($depth1 + 1) . '.Alpha'] = $depth1Value['Alpha'];
1021
			}
1022
			if(isset($depth1Value['Width'])){
1023
				$this->options['query']['Watermarks.' . ($depth1 + 1) . '.Width'] = $depth1Value['Width'];
1024
			}
1025
			if(isset($depth1Value['Height'])){
1026
				$this->options['query']['Watermarks.' . ($depth1 + 1) . '.Height'] = $depth1Value['Height'];
1027
			}
1028
			if(isset($depth1Value['Y'])){
1029
				$this->options['query']['Watermarks.' . ($depth1 + 1) . '.Y'] = $depth1Value['Y'];
1030
			}
1031
			if(isset($depth1Value['Url'])){
1032
				$this->options['query']['Watermarks.' . ($depth1 + 1) . '.Url'] = $depth1Value['Url'];
1033
			}
1034
			if(isset($depth1Value['Display'])){
1035
				$this->options['query']['Watermarks.' . ($depth1 + 1) . '.Display'] = $depth1Value['Display'];
1036
			}
1037
			if(isset($depth1Value['ZOrder'])){
1038
				$this->options['query']['Watermarks.' . ($depth1 + 1) . '.ZOrder'] = $depth1Value['ZOrder'];
1039
			}
1040
			if(isset($depth1Value['X'])){
1041
				$this->options['query']['Watermarks.' . ($depth1 + 1) . '.X'] = $depth1Value['X'];
1042
			}
1043
		}
1044
1045
		return $this;
1046
    }
1047
1048
    /**
1049
     * @param array $subSpecAudioUsers
1050
     *
1051
     * @return $this
1052
     */
1053
	public function withSubSpecAudioUsers(array $subSpecAudioUsers)
1054
	{
1055
	    $this->data['SubSpecAudioUsers'] = $subSpecAudioUsers;
1056
		foreach ($subSpecAudioUsers as $i => $iValue) {
1057
			$this->options['query']['SubSpecAudioUsers.' . ($i + 1)] = $iValue;
1058
		}
1059
1060
		return $this;
1061
    }
1062
1063
    /**
1064
     * @param string $value
1065
     *
1066
     * @return $this
1067
     */
1068
    public function withEnhancedParam($value)
1069
    {
1070
        $this->data['EnhancedParam'] = $value;
1071
        $this->options['form_params']['EnhancedParam'] = $value;
1072
1073
        return $this;
1074
    }
1075
1076
    /**
1077
     * @param array $subSpecCameraUsers
1078
     *
1079
     * @return $this
1080
     */
1081
	public function withSubSpecCameraUsers(array $subSpecCameraUsers)
1082
	{
1083
	    $this->data['SubSpecCameraUsers'] = $subSpecCameraUsers;
1084
		foreach ($subSpecCameraUsers as $i => $iValue) {
1085
			$this->options['query']['SubSpecCameraUsers.' . ($i + 1)] = $iValue;
1086
		}
1087
1088
		return $this;
1089
    }
1090
1091
    /**
1092
     * @param array $outputStreamParams
1093
     *
1094
     * @return $this
1095
     */
1096
	public function withOutputStreamParams(array $outputStreamParams)
1097
	{
1098
	    $this->data['OutputStreamParams'] = $outputStreamParams;
1099
		foreach ($outputStreamParams as $depth1 => $depth1Value) {
1100
			if(isset($depth1Value['StreamURL'])){
1101
				$this->options['query']['OutputStreamParams.' . ($depth1 + 1) . '.StreamURL'] = $depth1Value['StreamURL'];
1102
			}
1103
		}
1104
1105
		return $this;
1106
    }
1107
1108
    /**
1109
     * @param array $layoutIds
1110
     *
1111
     * @return $this
1112
     */
1113
	public function withLayoutIds(array $layoutIds)
1114
	{
1115
	    $this->data['LayoutIds'] = $layoutIds;
1116
		foreach ($layoutIds as $i => $iValue) {
1117
			$this->options['query']['LayoutIds.' . ($i + 1)] = $iValue;
1118
		}
1119
1120
		return $this;
1121
    }
1122
1123
    /**
1124
     * @param array $unsubSpecShareScreenUsers
1125
     *
1126
     * @return $this
1127
     */
1128
	public function withUnsubSpecShareScreenUsers(array $unsubSpecShareScreenUsers)
1129
	{
1130
	    $this->data['UnsubSpecShareScreenUsers'] = $unsubSpecShareScreenUsers;
1131
		foreach ($unsubSpecShareScreenUsers as $i => $iValue) {
1132
			$this->options['query']['UnsubSpecShareScreenUsers.' . ($i + 1)] = $iValue;
1133
		}
1134
1135
		return $this;
1136
    }
1137
1138
    /**
1139
     * @param array $subSpecShareScreenUsers
1140
     *
1141
     * @return $this
1142
     */
1143
	public function withSubSpecShareScreenUsers(array $subSpecShareScreenUsers)
1144
	{
1145
	    $this->data['SubSpecShareScreenUsers'] = $subSpecShareScreenUsers;
1146
		foreach ($subSpecShareScreenUsers as $i => $iValue) {
1147
			$this->options['query']['SubSpecShareScreenUsers.' . ($i + 1)] = $iValue;
1148
		}
1149
1150
		return $this;
1151
    }
1152
1153
    /**
1154
     * @param array $subSpecUsers
1155
     *
1156
     * @return $this
1157
     */
1158
	public function withSubSpecUsers(array $subSpecUsers)
1159
	{
1160
	    $this->data['SubSpecUsers'] = $subSpecUsers;
1161
		foreach ($subSpecUsers as $i => $iValue) {
1162
			$this->options['query']['SubSpecUsers.' . ($i + 1)] = $iValue;
1163
		}
1164
1165
		return $this;
1166
    }
1167
1168
    /**
1169
     * @param array $backgrounds
1170
     *
1171
     * @return $this
1172
     */
1173
	public function withBackgrounds(array $backgrounds)
1174
	{
1175
	    $this->data['Backgrounds'] = $backgrounds;
1176
		foreach ($backgrounds as $depth1 => $depth1Value) {
1177
			if(isset($depth1Value['Width'])){
1178
				$this->options['query']['Backgrounds.' . ($depth1 + 1) . '.Width'] = $depth1Value['Width'];
1179
			}
1180
			if(isset($depth1Value['Height'])){
1181
				$this->options['query']['Backgrounds.' . ($depth1 + 1) . '.Height'] = $depth1Value['Height'];
1182
			}
1183
			if(isset($depth1Value['Y'])){
1184
				$this->options['query']['Backgrounds.' . ($depth1 + 1) . '.Y'] = $depth1Value['Y'];
1185
			}
1186
			if(isset($depth1Value['Url'])){
1187
				$this->options['query']['Backgrounds.' . ($depth1 + 1) . '.Url'] = $depth1Value['Url'];
1188
			}
1189
			if(isset($depth1Value['Display'])){
1190
				$this->options['query']['Backgrounds.' . ($depth1 + 1) . '.Display'] = $depth1Value['Display'];
1191
			}
1192
			if(isset($depth1Value['ZOrder'])){
1193
				$this->options['query']['Backgrounds.' . ($depth1 + 1) . '.ZOrder'] = $depth1Value['ZOrder'];
1194
			}
1195
			if(isset($depth1Value['X'])){
1196
				$this->options['query']['Backgrounds.' . ($depth1 + 1) . '.X'] = $depth1Value['X'];
1197
			}
1198
		}
1199
1200
		return $this;
1201
    }
1202
}
1203
1204
/**
1205
 * @method array getUserPanes()
1206
 * @method string getCropMode()
1207
 * @method $this withCropMode($value)
1208
 * @method array getSubSpecCameraUsers()
1209
 * @method string getSourceType()
1210
 * @method $this withSourceType($value)
1211
 * @method string getTaskProfile()
1212
 * @method $this withTaskProfile($value)
1213
 * @method array getLayoutIds()
1214
 * @method string getTaskId()
1215
 * @method $this withTaskId($value)
1216
 * @method string getShowLog()
1217
 * @method $this withShowLog($value)
1218
 * @method array getUnsubSpecCameraUsers()
1219
 * @method string getStreamType()
1220
 * @method $this withStreamType($value)
1221
 * @method array getUnsubSpecAudioUsers()
1222
 * @method array getUnsubSpecShareScreenUsers()
1223
 * @method string getOwnerId()
1224
 * @method $this withOwnerId($value)
1225
 * @method string getTemplateId()
1226
 * @method $this withTemplateId($value)
1227
 * @method array getSubSpecAudioUsers()
1228
 * @method array getSubSpecShareScreenUsers()
1229
 * @method array getSubSpecUsers()
1230
 * @method string getAppId()
1231
 * @method $this withAppId($value)
1232
 * @method string getMediaEncode()
1233
 * @method $this withMediaEncode($value)
1234
 * @method string getMixMode()
1235
 * @method $this withMixMode($value)
1236
 * @method string getChannelId()
1237
 * @method $this withChannelId($value)
1238
 */
1239
class StartRecordTask extends Rpc
1240
{
1241
1242
    /**
1243
     * @param array $userPanes
1244
     *
1245
     * @return $this
1246
     */
1247
	public function withUserPanes(array $userPanes)
1248
	{
1249
	    $this->data['UserPanes'] = $userPanes;
1250
		foreach ($userPanes as $depth1 => $depth1Value) {
1251
			foreach ($depth1Value['Images'] as $depth2 => $depth2Value) {
1252
				if(isset($depth2Value['Width'])){
1253
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Images.' . ($depth2 + 1) . '.Width'] = $depth2Value['Width'];
1254
				}
1255
				if(isset($depth2Value['Height'])){
1256
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Images.' . ($depth2 + 1) . '.Height'] = $depth2Value['Height'];
1257
				}
1258
				if(isset($depth2Value['Y'])){
1259
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Images.' . ($depth2 + 1) . '.Y'] = $depth2Value['Y'];
1260
				}
1261
				if(isset($depth2Value['Url'])){
1262
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Images.' . ($depth2 + 1) . '.Url'] = $depth2Value['Url'];
1263
				}
1264
				if(isset($depth2Value['Display'])){
1265
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Images.' . ($depth2 + 1) . '.Display'] = $depth2Value['Display'];
1266
				}
1267
				if(isset($depth2Value['ZOrder'])){
1268
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Images.' . ($depth2 + 1) . '.ZOrder'] = $depth2Value['ZOrder'];
1269
				}
1270
				if(isset($depth2Value['X'])){
1271
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Images.' . ($depth2 + 1) . '.X'] = $depth2Value['X'];
1272
				}
1273
			}
1274
			if(isset($depth1Value['UserId'])){
1275
				$this->options['query']['UserPanes.' . ($depth1 + 1) . '.UserId'] = $depth1Value['UserId'];
1276
			}
1277
			foreach ($depth1Value['Texts'] as $depth2 => $depth2Value) {
1278
				if(isset($depth2Value['FontType'])){
1279
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.FontType'] = $depth2Value['FontType'];
1280
				}
1281
				if(isset($depth2Value['FontColor'])){
1282
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.FontColor'] = $depth2Value['FontColor'];
1283
				}
1284
				if(isset($depth2Value['Y'])){
1285
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.Y'] = $depth2Value['Y'];
1286
				}
1287
				if(isset($depth2Value['Text'])){
1288
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.Text'] = $depth2Value['Text'];
1289
				}
1290
				if(isset($depth2Value['ZOrder'])){
1291
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.ZOrder'] = $depth2Value['ZOrder'];
1292
				}
1293
				if(isset($depth2Value['X'])){
1294
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.X'] = $depth2Value['X'];
1295
				}
1296
				if(isset($depth2Value['FontSize'])){
1297
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.FontSize'] = $depth2Value['FontSize'];
1298
				}
1299
			}
1300
			if(isset($depth1Value['SourceType'])){
1301
				$this->options['query']['UserPanes.' . ($depth1 + 1) . '.SourceType'] = $depth1Value['SourceType'];
1302
			}
1303
			if(isset($depth1Value['PaneId'])){
1304
				$this->options['query']['UserPanes.' . ($depth1 + 1) . '.PaneId'] = $depth1Value['PaneId'];
1305
			}
1306
		}
1307
1308
		return $this;
1309
    }
1310
1311
    /**
1312
     * @param array $subSpecCameraUsers
1313
     *
1314
     * @return $this
1315
     */
1316
	public function withSubSpecCameraUsers(array $subSpecCameraUsers)
1317
	{
1318
	    $this->data['SubSpecCameraUsers'] = $subSpecCameraUsers;
1319
		foreach ($subSpecCameraUsers as $i => $iValue) {
1320
			$this->options['query']['SubSpecCameraUsers.' . ($i + 1)] = $iValue;
1321
		}
1322
1323
		return $this;
1324
    }
1325
1326
    /**
1327
     * @param array $layoutIds
1328
     *
1329
     * @return $this
1330
     */
1331
	public function withLayoutIds(array $layoutIds)
1332
	{
1333
	    $this->data['LayoutIds'] = $layoutIds;
1334
		foreach ($layoutIds as $i => $iValue) {
1335
			$this->options['query']['LayoutIds.' . ($i + 1)] = $iValue;
1336
		}
1337
1338
		return $this;
1339
    }
1340
1341
    /**
1342
     * @param array $unsubSpecCameraUsers
1343
     *
1344
     * @return $this
1345
     */
1346
	public function withUnsubSpecCameraUsers(array $unsubSpecCameraUsers)
1347
	{
1348
	    $this->data['UnsubSpecCameraUsers'] = $unsubSpecCameraUsers;
1349
		foreach ($unsubSpecCameraUsers as $i => $iValue) {
1350
			$this->options['query']['UnsubSpecCameraUsers.' . ($i + 1)] = $iValue;
1351
		}
1352
1353
		return $this;
1354
    }
1355
1356
    /**
1357
     * @param array $unsubSpecAudioUsers
1358
     *
1359
     * @return $this
1360
     */
1361
	public function withUnsubSpecAudioUsers(array $unsubSpecAudioUsers)
1362
	{
1363
	    $this->data['UnsubSpecAudioUsers'] = $unsubSpecAudioUsers;
1364
		foreach ($unsubSpecAudioUsers as $i => $iValue) {
1365
			$this->options['query']['UnsubSpecAudioUsers.' . ($i + 1)] = $iValue;
1366
		}
1367
1368
		return $this;
1369
    }
1370
1371
    /**
1372
     * @param array $unsubSpecShareScreenUsers
1373
     *
1374
     * @return $this
1375
     */
1376
	public function withUnsubSpecShareScreenUsers(array $unsubSpecShareScreenUsers)
1377
	{
1378
	    $this->data['UnsubSpecShareScreenUsers'] = $unsubSpecShareScreenUsers;
1379
		foreach ($unsubSpecShareScreenUsers as $i => $iValue) {
1380
			$this->options['query']['UnsubSpecShareScreenUsers.' . ($i + 1)] = $iValue;
1381
		}
1382
1383
		return $this;
1384
    }
1385
1386
    /**
1387
     * @param array $subSpecAudioUsers
1388
     *
1389
     * @return $this
1390
     */
1391
	public function withSubSpecAudioUsers(array $subSpecAudioUsers)
1392
	{
1393
	    $this->data['SubSpecAudioUsers'] = $subSpecAudioUsers;
1394
		foreach ($subSpecAudioUsers as $i => $iValue) {
1395
			$this->options['query']['SubSpecAudioUsers.' . ($i + 1)] = $iValue;
1396
		}
1397
1398
		return $this;
1399
    }
1400
1401
    /**
1402
     * @param array $subSpecShareScreenUsers
1403
     *
1404
     * @return $this
1405
     */
1406
	public function withSubSpecShareScreenUsers(array $subSpecShareScreenUsers)
1407
	{
1408
	    $this->data['SubSpecShareScreenUsers'] = $subSpecShareScreenUsers;
1409
		foreach ($subSpecShareScreenUsers as $i => $iValue) {
1410
			$this->options['query']['SubSpecShareScreenUsers.' . ($i + 1)] = $iValue;
1411
		}
1412
1413
		return $this;
1414
    }
1415
1416
    /**
1417
     * @param array $subSpecUsers
1418
     *
1419
     * @return $this
1420
     */
1421
	public function withSubSpecUsers(array $subSpecUsers)
1422
	{
1423
	    $this->data['SubSpecUsers'] = $subSpecUsers;
1424
		foreach ($subSpecUsers as $i => $iValue) {
1425
			$this->options['query']['SubSpecUsers.' . ($i + 1)] = $iValue;
1426
		}
1427
1428
		return $this;
1429
    }
1430
}
1431
1432
/**
1433
 * @method string getTaskId()
1434
 * @method $this withTaskId($value)
1435
 * @method string getShowLog()
1436
 * @method $this withShowLog($value)
1437
 * @method string getOwnerId()
1438
 * @method $this withOwnerId($value)
1439
 * @method string getAppId()
1440
 * @method $this withAppId($value)
1441
 */
1442
class StopMPUTask extends Rpc
1443
{
1444
}
1445
1446
/**
1447
 * @method string getTaskId()
1448
 * @method $this withTaskId($value)
1449
 * @method string getShowLog()
1450
 * @method $this withShowLog($value)
1451
 * @method string getOwnerId()
1452
 * @method $this withOwnerId($value)
1453
 * @method string getAppId()
1454
 * @method $this withAppId($value)
1455
 */
1456
class StopRecordTask extends Rpc
1457
{
1458
}
1459
1460
/**
1461
 * @method string getRuleName()
1462
 * @method $this withRuleName($value)
1463
 * @method array getChannelIdPrefixes()
1464
 * @method string getShowLog()
1465
 * @method $this withShowLog($value)
1466
 * @method string getPlayDomain()
1467
 * @method $this withPlayDomain($value)
1468
 * @method string getOwnerId()
1469
 * @method $this withOwnerId($value)
1470
 * @method string getAppId()
1471
 * @method $this withAppId($value)
1472
 * @method string getCallBack()
1473
 * @method $this withCallBack($value)
1474
 * @method string getMediaEncode()
1475
 * @method $this withMediaEncode($value)
1476
 * @method string getRuleId()
1477
 * @method $this withRuleId($value)
1478
 * @method array getChannelIds()
1479
 */
1480
class UpdateAutoLiveStreamRule extends Rpc
1481
{
1482
1483
    /**
1484
     * @param array $channelIdPrefixes
1485
     *
1486
     * @return $this
1487
     */
1488
	public function withChannelIdPrefixes(array $channelIdPrefixes)
1489
	{
1490
	    $this->data['ChannelIdPrefixes'] = $channelIdPrefixes;
1491
		foreach ($channelIdPrefixes as $i => $iValue) {
1492
			$this->options['query']['ChannelIdPrefixes.' . ($i + 1)] = $iValue;
1493
		}
1494
1495
		return $this;
1496
    }
1497
1498
    /**
1499
     * @param array $channelIds
1500
     *
1501
     * @return $this
1502
     */
1503
	public function withChannelIds(array $channelIds)
1504
	{
1505
	    $this->data['ChannelIds'] = $channelIds;
1506
		foreach ($channelIds as $i => $iValue) {
1507
			$this->options['query']['ChannelIds.' . ($i + 1)] = $iValue;
1508
		}
1509
1510
		return $this;
1511
    }
1512
}
1513
1514
/**
1515
 * @method array getUserPanes()
1516
 * @method string getBackgroundColor()
1517
 * @method $this withBackgroundColor($value)
1518
 * @method string getSourceType()
1519
 * @method $this withSourceType($value)
1520
 * @method string getTaskId()
1521
 * @method $this withTaskId($value)
1522
 * @method array getClockWidgets()
1523
 * @method string getShowLog()
1524
 * @method $this withShowLog($value)
1525
 * @method array getUnsubSpecCameraUsers()
1526
 * @method array getUnsubSpecAudioUsers()
1527
 * @method array getWatermarks()
1528
 * @method string getOwnerId()
1529
 * @method $this withOwnerId($value)
1530
 * @method array getSubSpecAudioUsers()
1531
 * @method string getMediaEncode()
1532
 * @method $this withMediaEncode($value)
1533
 * @method string getEnhancedParam()
1534
 * @method string getCropMode()
1535
 * @method $this withCropMode($value)
1536
 * @method array getSubSpecCameraUsers()
1537
 * @method string getTaskProfile()
1538
 * @method $this withTaskProfile($value)
1539
 * @method array getLayoutIds()
1540
 * @method string getStreamType()
1541
 * @method $this withStreamType($value)
1542
 * @method array getUnsubSpecShareScreenUsers()
1543
 * @method array getSubSpecShareScreenUsers()
1544
 * @method array getSubSpecUsers()
1545
 * @method string getAppId()
1546
 * @method $this withAppId($value)
1547
 * @method array getBackgrounds()
1548
 * @method string getMixMode()
1549
 * @method $this withMixMode($value)
1550
 */
1551
class UpdateMPUTask extends Rpc
1552
{
1553
1554
    /**
1555
     * @param array $userPanes
1556
     *
1557
     * @return $this
1558
     */
1559
	public function withUserPanes(array $userPanes)
1560
	{
1561
	    $this->data['UserPanes'] = $userPanes;
1562
		foreach ($userPanes as $depth1 => $depth1Value) {
1563
			foreach ($depth1Value['Images'] as $depth2 => $depth2Value) {
1564
				if(isset($depth2Value['Width'])){
1565
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Images.' . ($depth2 + 1) . '.Width'] = $depth2Value['Width'];
1566
				}
1567
				if(isset($depth2Value['Height'])){
1568
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Images.' . ($depth2 + 1) . '.Height'] = $depth2Value['Height'];
1569
				}
1570
				if(isset($depth2Value['Y'])){
1571
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Images.' . ($depth2 + 1) . '.Y'] = $depth2Value['Y'];
1572
				}
1573
				if(isset($depth2Value['Url'])){
1574
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Images.' . ($depth2 + 1) . '.Url'] = $depth2Value['Url'];
1575
				}
1576
				if(isset($depth2Value['Display'])){
1577
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Images.' . ($depth2 + 1) . '.Display'] = $depth2Value['Display'];
1578
				}
1579
				if(isset($depth2Value['ZOrder'])){
1580
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Images.' . ($depth2 + 1) . '.ZOrder'] = $depth2Value['ZOrder'];
1581
				}
1582
				if(isset($depth2Value['X'])){
1583
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Images.' . ($depth2 + 1) . '.X'] = $depth2Value['X'];
1584
				}
1585
			}
1586
			if(isset($depth1Value['SegmentType'])){
1587
				$this->options['query']['UserPanes.' . ($depth1 + 1) . '.SegmentType'] = $depth1Value['SegmentType'];
1588
			}
1589
			if(isset($depth1Value['UserId'])){
1590
				$this->options['query']['UserPanes.' . ($depth1 + 1) . '.UserId'] = $depth1Value['UserId'];
1591
			}
1592
			foreach ($depth1Value['Texts'] as $depth2 => $depth2Value) {
1593
				if(isset($depth2Value['FontType'])){
1594
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.FontType'] = $depth2Value['FontType'];
1595
				}
1596
				if(isset($depth2Value['FontColor'])){
1597
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.FontColor'] = $depth2Value['FontColor'];
1598
				}
1599
				if(isset($depth2Value['Y'])){
1600
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.Y'] = $depth2Value['Y'];
1601
				}
1602
				if(isset($depth2Value['Text'])){
1603
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.Text'] = $depth2Value['Text'];
1604
				}
1605
				if(isset($depth2Value['ZOrder'])){
1606
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.ZOrder'] = $depth2Value['ZOrder'];
1607
				}
1608
				if(isset($depth2Value['X'])){
1609
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.X'] = $depth2Value['X'];
1610
				}
1611
				if(isset($depth2Value['FontSize'])){
1612
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.FontSize'] = $depth2Value['FontSize'];
1613
				}
1614
				if(isset($depth2Value['BorderWidth'])){
1615
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.BorderWidth'] = $depth2Value['BorderWidth'];
1616
				}
1617
				if(isset($depth2Value['BorderColor'])){
1618
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.BorderColor'] = $depth2Value['BorderColor'];
1619
				}
1620
				if(isset($depth2Value['Box'])){
1621
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.Box'] = $depth2Value['Box'];
1622
				}
1623
				if(isset($depth2Value['BoxColor'])){
1624
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.BoxColor'] = $depth2Value['BoxColor'];
1625
				}
1626
				if(isset($depth2Value['BoxBorderWidth'])){
1627
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.BoxBorderWidth'] = $depth2Value['BoxBorderWidth'];
1628
				}
1629
				if(isset($depth2Value['Alpha'])){
1630
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.Alpha'] = $depth2Value['Alpha'];
1631
				}
1632
			}
1633
			if(isset($depth1Value['SourceType'])){
1634
				$this->options['query']['UserPanes.' . ($depth1 + 1) . '.SourceType'] = $depth1Value['SourceType'];
1635
			}
1636
			if(isset($depth1Value['PaneId'])){
1637
				$this->options['query']['UserPanes.' . ($depth1 + 1) . '.PaneId'] = $depth1Value['PaneId'];
1638
			}
1639
		}
1640
1641
		return $this;
1642
    }
1643
1644
    /**
1645
     * @param array $clockWidgets
1646
     *
1647
     * @return $this
1648
     */
1649
	public function withClockWidgets(array $clockWidgets)
1650
	{
1651
	    $this->data['ClockWidgets'] = $clockWidgets;
1652
		foreach ($clockWidgets as $depth1 => $depth1Value) {
1653
			if(isset($depth1Value['FontType'])){
1654
				$this->options['query']['ClockWidgets.' . ($depth1 + 1) . '.FontType'] = $depth1Value['FontType'];
1655
			}
1656
			if(isset($depth1Value['FontColor'])){
1657
				$this->options['query']['ClockWidgets.' . ($depth1 + 1) . '.FontColor'] = $depth1Value['FontColor'];
1658
			}
1659
			if(isset($depth1Value['Y'])){
1660
				$this->options['query']['ClockWidgets.' . ($depth1 + 1) . '.Y'] = $depth1Value['Y'];
1661
			}
1662
			if(isset($depth1Value['ZOrder'])){
1663
				$this->options['query']['ClockWidgets.' . ($depth1 + 1) . '.ZOrder'] = $depth1Value['ZOrder'];
1664
			}
1665
			if(isset($depth1Value['X'])){
1666
				$this->options['query']['ClockWidgets.' . ($depth1 + 1) . '.X'] = $depth1Value['X'];
1667
			}
1668
			if(isset($depth1Value['FontSize'])){
1669
				$this->options['query']['ClockWidgets.' . ($depth1 + 1) . '.FontSize'] = $depth1Value['FontSize'];
1670
			}
1671
			if(isset($depth1Value['BorderWidth'])){
1672
				$this->options['query']['ClockWidgets.' . ($depth1 + 1) . '.BorderWidth'] = $depth1Value['BorderWidth'];
1673
			}
1674
			if(isset($depth1Value['BorderColor'])){
1675
				$this->options['query']['ClockWidgets.' . ($depth1 + 1) . '.BorderColor'] = $depth1Value['BorderColor'];
1676
			}
1677
			if(isset($depth1Value['Box'])){
1678
				$this->options['query']['ClockWidgets.' . ($depth1 + 1) . '.Box'] = $depth1Value['Box'];
1679
			}
1680
			if(isset($depth1Value['BoxColor'])){
1681
				$this->options['query']['ClockWidgets.' . ($depth1 + 1) . '.BoxColor'] = $depth1Value['BoxColor'];
1682
			}
1683
			if(isset($depth1Value['BoxBorderWidth'])){
1684
				$this->options['query']['ClockWidgets.' . ($depth1 + 1) . '.BoxBorderWidth'] = $depth1Value['BoxBorderWidth'];
1685
			}
1686
			if(isset($depth1Value['Alpha'])){
1687
				$this->options['query']['ClockWidgets.' . ($depth1 + 1) . '.Alpha'] = $depth1Value['Alpha'];
1688
			}
1689
		}
1690
1691
		return $this;
1692
    }
1693
1694
    /**
1695
     * @param array $unsubSpecCameraUsers
1696
     *
1697
     * @return $this
1698
     */
1699
	public function withUnsubSpecCameraUsers(array $unsubSpecCameraUsers)
1700
	{
1701
	    $this->data['UnsubSpecCameraUsers'] = $unsubSpecCameraUsers;
1702
		foreach ($unsubSpecCameraUsers as $i => $iValue) {
1703
			$this->options['query']['UnsubSpecCameraUsers.' . ($i + 1)] = $iValue;
1704
		}
1705
1706
		return $this;
1707
    }
1708
1709
    /**
1710
     * @param array $unsubSpecAudioUsers
1711
     *
1712
     * @return $this
1713
     */
1714
	public function withUnsubSpecAudioUsers(array $unsubSpecAudioUsers)
1715
	{
1716
	    $this->data['UnsubSpecAudioUsers'] = $unsubSpecAudioUsers;
1717
		foreach ($unsubSpecAudioUsers as $i => $iValue) {
1718
			$this->options['query']['UnsubSpecAudioUsers.' . ($i + 1)] = $iValue;
1719
		}
1720
1721
		return $this;
1722
    }
1723
1724
    /**
1725
     * @param array $watermarks
1726
     *
1727
     * @return $this
1728
     */
1729
	public function withWatermarks(array $watermarks)
1730
	{
1731
	    $this->data['Watermarks'] = $watermarks;
1732
		foreach ($watermarks as $depth1 => $depth1Value) {
1733
			if(isset($depth1Value['Alpha'])){
1734
				$this->options['query']['Watermarks.' . ($depth1 + 1) . '.Alpha'] = $depth1Value['Alpha'];
1735
			}
1736
			if(isset($depth1Value['Width'])){
1737
				$this->options['query']['Watermarks.' . ($depth1 + 1) . '.Width'] = $depth1Value['Width'];
1738
			}
1739
			if(isset($depth1Value['Height'])){
1740
				$this->options['query']['Watermarks.' . ($depth1 + 1) . '.Height'] = $depth1Value['Height'];
1741
			}
1742
			if(isset($depth1Value['Y'])){
1743
				$this->options['query']['Watermarks.' . ($depth1 + 1) . '.Y'] = $depth1Value['Y'];
1744
			}
1745
			if(isset($depth1Value['Url'])){
1746
				$this->options['query']['Watermarks.' . ($depth1 + 1) . '.Url'] = $depth1Value['Url'];
1747
			}
1748
			if(isset($depth1Value['Display'])){
1749
				$this->options['query']['Watermarks.' . ($depth1 + 1) . '.Display'] = $depth1Value['Display'];
1750
			}
1751
			if(isset($depth1Value['ZOrder'])){
1752
				$this->options['query']['Watermarks.' . ($depth1 + 1) . '.ZOrder'] = $depth1Value['ZOrder'];
1753
			}
1754
			if(isset($depth1Value['X'])){
1755
				$this->options['query']['Watermarks.' . ($depth1 + 1) . '.X'] = $depth1Value['X'];
1756
			}
1757
		}
1758
1759
		return $this;
1760
    }
1761
1762
    /**
1763
     * @param array $subSpecAudioUsers
1764
     *
1765
     * @return $this
1766
     */
1767
	public function withSubSpecAudioUsers(array $subSpecAudioUsers)
1768
	{
1769
	    $this->data['SubSpecAudioUsers'] = $subSpecAudioUsers;
1770
		foreach ($subSpecAudioUsers as $i => $iValue) {
1771
			$this->options['query']['SubSpecAudioUsers.' . ($i + 1)] = $iValue;
1772
		}
1773
1774
		return $this;
1775
    }
1776
1777
    /**
1778
     * @param string $value
1779
     *
1780
     * @return $this
1781
     */
1782
    public function withEnhancedParam($value)
1783
    {
1784
        $this->data['EnhancedParam'] = $value;
1785
        $this->options['form_params']['EnhancedParam'] = $value;
1786
1787
        return $this;
1788
    }
1789
1790
    /**
1791
     * @param array $subSpecCameraUsers
1792
     *
1793
     * @return $this
1794
     */
1795
	public function withSubSpecCameraUsers(array $subSpecCameraUsers)
1796
	{
1797
	    $this->data['SubSpecCameraUsers'] = $subSpecCameraUsers;
1798
		foreach ($subSpecCameraUsers as $i => $iValue) {
1799
			$this->options['query']['SubSpecCameraUsers.' . ($i + 1)] = $iValue;
1800
		}
1801
1802
		return $this;
1803
    }
1804
1805
    /**
1806
     * @param array $layoutIds
1807
     *
1808
     * @return $this
1809
     */
1810
	public function withLayoutIds(array $layoutIds)
1811
	{
1812
	    $this->data['LayoutIds'] = $layoutIds;
1813
		foreach ($layoutIds as $i => $iValue) {
1814
			$this->options['query']['LayoutIds.' . ($i + 1)] = $iValue;
1815
		}
1816
1817
		return $this;
1818
    }
1819
1820
    /**
1821
     * @param array $unsubSpecShareScreenUsers
1822
     *
1823
     * @return $this
1824
     */
1825
	public function withUnsubSpecShareScreenUsers(array $unsubSpecShareScreenUsers)
1826
	{
1827
	    $this->data['UnsubSpecShareScreenUsers'] = $unsubSpecShareScreenUsers;
1828
		foreach ($unsubSpecShareScreenUsers as $i => $iValue) {
1829
			$this->options['query']['UnsubSpecShareScreenUsers.' . ($i + 1)] = $iValue;
1830
		}
1831
1832
		return $this;
1833
    }
1834
1835
    /**
1836
     * @param array $subSpecShareScreenUsers
1837
     *
1838
     * @return $this
1839
     */
1840
	public function withSubSpecShareScreenUsers(array $subSpecShareScreenUsers)
1841
	{
1842
	    $this->data['SubSpecShareScreenUsers'] = $subSpecShareScreenUsers;
1843
		foreach ($subSpecShareScreenUsers as $i => $iValue) {
1844
			$this->options['query']['SubSpecShareScreenUsers.' . ($i + 1)] = $iValue;
1845
		}
1846
1847
		return $this;
1848
    }
1849
1850
    /**
1851
     * @param array $subSpecUsers
1852
     *
1853
     * @return $this
1854
     */
1855
	public function withSubSpecUsers(array $subSpecUsers)
1856
	{
1857
	    $this->data['SubSpecUsers'] = $subSpecUsers;
1858
		foreach ($subSpecUsers as $i => $iValue) {
1859
			$this->options['query']['SubSpecUsers.' . ($i + 1)] = $iValue;
1860
		}
1861
1862
		return $this;
1863
    }
1864
1865
    /**
1866
     * @param array $backgrounds
1867
     *
1868
     * @return $this
1869
     */
1870
	public function withBackgrounds(array $backgrounds)
1871
	{
1872
	    $this->data['Backgrounds'] = $backgrounds;
1873
		foreach ($backgrounds as $depth1 => $depth1Value) {
1874
			if(isset($depth1Value['Width'])){
1875
				$this->options['query']['Backgrounds.' . ($depth1 + 1) . '.Width'] = $depth1Value['Width'];
1876
			}
1877
			if(isset($depth1Value['Height'])){
1878
				$this->options['query']['Backgrounds.' . ($depth1 + 1) . '.Height'] = $depth1Value['Height'];
1879
			}
1880
			if(isset($depth1Value['Y'])){
1881
				$this->options['query']['Backgrounds.' . ($depth1 + 1) . '.Y'] = $depth1Value['Y'];
1882
			}
1883
			if(isset($depth1Value['Url'])){
1884
				$this->options['query']['Backgrounds.' . ($depth1 + 1) . '.Url'] = $depth1Value['Url'];
1885
			}
1886
			if(isset($depth1Value['Display'])){
1887
				$this->options['query']['Backgrounds.' . ($depth1 + 1) . '.Display'] = $depth1Value['Display'];
1888
			}
1889
			if(isset($depth1Value['ZOrder'])){
1890
				$this->options['query']['Backgrounds.' . ($depth1 + 1) . '.ZOrder'] = $depth1Value['ZOrder'];
1891
			}
1892
			if(isset($depth1Value['X'])){
1893
				$this->options['query']['Backgrounds.' . ($depth1 + 1) . '.X'] = $depth1Value['X'];
1894
			}
1895
		}
1896
1897
		return $this;
1898
    }
1899
}
1900
1901
/**
1902
 * @method array getUserPanes()
1903
 * @method array getSubSpecCameraUsers()
1904
 * @method array getLayoutIds()
1905
 * @method string getTaskId()
1906
 * @method $this withTaskId($value)
1907
 * @method string getShowLog()
1908
 * @method $this withShowLog($value)
1909
 * @method array getUnsubSpecCameraUsers()
1910
 * @method array getUnsubSpecAudioUsers()
1911
 * @method array getUnsubSpecShareScreenUsers()
1912
 * @method string getOwnerId()
1913
 * @method $this withOwnerId($value)
1914
 * @method string getTemplateId()
1915
 * @method $this withTemplateId($value)
1916
 * @method array getSubSpecAudioUsers()
1917
 * @method array getSubSpecShareScreenUsers()
1918
 * @method array getSubSpecUsers()
1919
 * @method string getAppId()
1920
 * @method $this withAppId($value)
1921
 * @method string getChannelId()
1922
 * @method $this withChannelId($value)
1923
 */
1924
class UpdateRecordTask extends Rpc
1925
{
1926
1927
    /**
1928
     * @param array $userPanes
1929
     *
1930
     * @return $this
1931
     */
1932
	public function withUserPanes(array $userPanes)
1933
	{
1934
	    $this->data['UserPanes'] = $userPanes;
1935
		foreach ($userPanes as $depth1 => $depth1Value) {
1936
			foreach ($depth1Value['Images'] as $depth2 => $depth2Value) {
1937
				if(isset($depth2Value['Width'])){
1938
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Images.' . ($depth2 + 1) . '.Width'] = $depth2Value['Width'];
1939
				}
1940
				if(isset($depth2Value['Height'])){
1941
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Images.' . ($depth2 + 1) . '.Height'] = $depth2Value['Height'];
1942
				}
1943
				if(isset($depth2Value['Y'])){
1944
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Images.' . ($depth2 + 1) . '.Y'] = $depth2Value['Y'];
1945
				}
1946
				if(isset($depth2Value['Url'])){
1947
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Images.' . ($depth2 + 1) . '.Url'] = $depth2Value['Url'];
1948
				}
1949
				if(isset($depth2Value['Display'])){
1950
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Images.' . ($depth2 + 1) . '.Display'] = $depth2Value['Display'];
1951
				}
1952
				if(isset($depth2Value['ZOrder'])){
1953
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Images.' . ($depth2 + 1) . '.ZOrder'] = $depth2Value['ZOrder'];
1954
				}
1955
				if(isset($depth2Value['X'])){
1956
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Images.' . ($depth2 + 1) . '.X'] = $depth2Value['X'];
1957
				}
1958
			}
1959
			if(isset($depth1Value['UserId'])){
1960
				$this->options['query']['UserPanes.' . ($depth1 + 1) . '.UserId'] = $depth1Value['UserId'];
1961
			}
1962
			foreach ($depth1Value['Texts'] as $depth2 => $depth2Value) {
1963
				if(isset($depth2Value['FontType'])){
1964
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.FontType'] = $depth2Value['FontType'];
1965
				}
1966
				if(isset($depth2Value['FontColor'])){
1967
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.FontColor'] = $depth2Value['FontColor'];
1968
				}
1969
				if(isset($depth2Value['Y'])){
1970
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.Y'] = $depth2Value['Y'];
1971
				}
1972
				if(isset($depth2Value['Text'])){
1973
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.Text'] = $depth2Value['Text'];
1974
				}
1975
				if(isset($depth2Value['ZOrder'])){
1976
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.ZOrder'] = $depth2Value['ZOrder'];
1977
				}
1978
				if(isset($depth2Value['X'])){
1979
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.X'] = $depth2Value['X'];
1980
				}
1981
				if(isset($depth2Value['FontSize'])){
1982
					$this->options['query']['UserPanes.' . ($depth1 + 1) . '.Texts.' . ($depth2 + 1) . '.FontSize'] = $depth2Value['FontSize'];
1983
				}
1984
			}
1985
			if(isset($depth1Value['SourceType'])){
1986
				$this->options['query']['UserPanes.' . ($depth1 + 1) . '.SourceType'] = $depth1Value['SourceType'];
1987
			}
1988
			if(isset($depth1Value['PaneId'])){
1989
				$this->options['query']['UserPanes.' . ($depth1 + 1) . '.PaneId'] = $depth1Value['PaneId'];
1990
			}
1991
		}
1992
1993
		return $this;
1994
    }
1995
1996
    /**
1997
     * @param array $subSpecCameraUsers
1998
     *
1999
     * @return $this
2000
     */
2001
	public function withSubSpecCameraUsers(array $subSpecCameraUsers)
2002
	{
2003
	    $this->data['SubSpecCameraUsers'] = $subSpecCameraUsers;
2004
		foreach ($subSpecCameraUsers as $i => $iValue) {
2005
			$this->options['query']['SubSpecCameraUsers.' . ($i + 1)] = $iValue;
2006
		}
2007
2008
		return $this;
2009
    }
2010
2011
    /**
2012
     * @param array $layoutIds
2013
     *
2014
     * @return $this
2015
     */
2016
	public function withLayoutIds(array $layoutIds)
2017
	{
2018
	    $this->data['LayoutIds'] = $layoutIds;
2019
		foreach ($layoutIds as $i => $iValue) {
2020
			$this->options['query']['LayoutIds.' . ($i + 1)] = $iValue;
2021
		}
2022
2023
		return $this;
2024
    }
2025
2026
    /**
2027
     * @param array $unsubSpecCameraUsers
2028
     *
2029
     * @return $this
2030
     */
2031
	public function withUnsubSpecCameraUsers(array $unsubSpecCameraUsers)
2032
	{
2033
	    $this->data['UnsubSpecCameraUsers'] = $unsubSpecCameraUsers;
2034
		foreach ($unsubSpecCameraUsers as $i => $iValue) {
2035
			$this->options['query']['UnsubSpecCameraUsers.' . ($i + 1)] = $iValue;
2036
		}
2037
2038
		return $this;
2039
    }
2040
2041
    /**
2042
     * @param array $unsubSpecAudioUsers
2043
     *
2044
     * @return $this
2045
     */
2046
	public function withUnsubSpecAudioUsers(array $unsubSpecAudioUsers)
2047
	{
2048
	    $this->data['UnsubSpecAudioUsers'] = $unsubSpecAudioUsers;
2049
		foreach ($unsubSpecAudioUsers as $i => $iValue) {
2050
			$this->options['query']['UnsubSpecAudioUsers.' . ($i + 1)] = $iValue;
2051
		}
2052
2053
		return $this;
2054
    }
2055
2056
    /**
2057
     * @param array $unsubSpecShareScreenUsers
2058
     *
2059
     * @return $this
2060
     */
2061
	public function withUnsubSpecShareScreenUsers(array $unsubSpecShareScreenUsers)
2062
	{
2063
	    $this->data['UnsubSpecShareScreenUsers'] = $unsubSpecShareScreenUsers;
2064
		foreach ($unsubSpecShareScreenUsers as $i => $iValue) {
2065
			$this->options['query']['UnsubSpecShareScreenUsers.' . ($i + 1)] = $iValue;
2066
		}
2067
2068
		return $this;
2069
    }
2070
2071
    /**
2072
     * @param array $subSpecAudioUsers
2073
     *
2074
     * @return $this
2075
     */
2076
	public function withSubSpecAudioUsers(array $subSpecAudioUsers)
2077
	{
2078
	    $this->data['SubSpecAudioUsers'] = $subSpecAudioUsers;
2079
		foreach ($subSpecAudioUsers as $i => $iValue) {
2080
			$this->options['query']['SubSpecAudioUsers.' . ($i + 1)] = $iValue;
2081
		}
2082
2083
		return $this;
2084
    }
2085
2086
    /**
2087
     * @param array $subSpecShareScreenUsers
2088
     *
2089
     * @return $this
2090
     */
2091
	public function withSubSpecShareScreenUsers(array $subSpecShareScreenUsers)
2092
	{
2093
	    $this->data['SubSpecShareScreenUsers'] = $subSpecShareScreenUsers;
2094
		foreach ($subSpecShareScreenUsers as $i => $iValue) {
2095
			$this->options['query']['SubSpecShareScreenUsers.' . ($i + 1)] = $iValue;
2096
		}
2097
2098
		return $this;
2099
    }
2100
2101
    /**
2102
     * @param array $subSpecUsers
2103
     *
2104
     * @return $this
2105
     */
2106
	public function withSubSpecUsers(array $subSpecUsers)
2107
	{
2108
	    $this->data['SubSpecUsers'] = $subSpecUsers;
2109
		foreach ($subSpecUsers as $i => $iValue) {
2110
			$this->options['query']['SubSpecUsers.' . ($i + 1)] = $iValue;
2111
		}
2112
2113
		return $this;
2114
    }
2115
}
2116
2117
/**
2118
 * @method array getFormats()
2119
 * @method string getOssFilePrefix()
2120
 * @method $this withOssFilePrefix($value)
2121
 * @method string getBackgroundColor()
2122
 * @method $this withBackgroundColor($value)
2123
 * @method string getTaskProfile()
2124
 * @method $this withTaskProfile($value)
2125
 * @method array getLayoutIds()
2126
 * @method array getClockWidgets()
2127
 * @method string getShowLog()
2128
 * @method $this withShowLog($value)
2129
 * @method string getOssBucket()
2130
 * @method $this withOssBucket($value)
2131
 * @method string getDelayStopTime()
2132
 * @method $this withDelayStopTime($value)
2133
 * @method string getMnsQueue()
2134
 * @method $this withMnsQueue($value)
2135
 * @method string getFileSplitInterval()
2136
 * @method $this withFileSplitInterval($value)
2137
 * @method string getHttpCallbackUrl()
2138
 * @method $this withHttpCallbackUrl($value)
2139
 * @method array getWatermarks()
2140
 * @method string getOwnerId()
2141
 * @method $this withOwnerId($value)
2142
 * @method string getTemplateId()
2143
 * @method $this withTemplateId($value)
2144
 * @method string getEnableM3u8DateTime()
2145
 * @method $this withEnableM3u8DateTime($value)
2146
 * @method string getAppId()
2147
 * @method $this withAppId($value)
2148
 * @method array getBackgrounds()
2149
 * @method string getName()
2150
 * @method $this withName($value)
2151
 * @method string getMediaEncode()
2152
 * @method $this withMediaEncode($value)
2153
 */
2154
class UpdateRecordTemplate extends Rpc
2155
{
2156
2157
    /**
2158
     * @param array $formats
2159
     *
2160
     * @return $this
2161
     */
2162
	public function withFormats(array $formats)
2163
	{
2164
	    $this->data['Formats'] = $formats;
2165
		foreach ($formats as $i => $iValue) {
2166
			$this->options['query']['Formats.' . ($i + 1)] = $iValue;
2167
		}
2168
2169
		return $this;
2170
    }
2171
2172
    /**
2173
     * @param array $layoutIds
2174
     *
2175
     * @return $this
2176
     */
2177
	public function withLayoutIds(array $layoutIds)
2178
	{
2179
	    $this->data['LayoutIds'] = $layoutIds;
2180
		foreach ($layoutIds as $i => $iValue) {
2181
			$this->options['query']['LayoutIds.' . ($i + 1)] = $iValue;
2182
		}
2183
2184
		return $this;
2185
    }
2186
2187
    /**
2188
     * @param array $clockWidgets
2189
     *
2190
     * @return $this
2191
     */
2192
	public function withClockWidgets(array $clockWidgets)
2193
	{
2194
	    $this->data['ClockWidgets'] = $clockWidgets;
2195
		foreach ($clockWidgets as $depth1 => $depth1Value) {
2196
			if(isset($depth1Value['FontType'])){
2197
				$this->options['query']['ClockWidgets.' . ($depth1 + 1) . '.FontType'] = $depth1Value['FontType'];
2198
			}
2199
			if(isset($depth1Value['FontColor'])){
2200
				$this->options['query']['ClockWidgets.' . ($depth1 + 1) . '.FontColor'] = $depth1Value['FontColor'];
2201
			}
2202
			if(isset($depth1Value['Y'])){
2203
				$this->options['query']['ClockWidgets.' . ($depth1 + 1) . '.Y'] = $depth1Value['Y'];
2204
			}
2205
			if(isset($depth1Value['ZOrder'])){
2206
				$this->options['query']['ClockWidgets.' . ($depth1 + 1) . '.ZOrder'] = $depth1Value['ZOrder'];
2207
			}
2208
			if(isset($depth1Value['X'])){
2209
				$this->options['query']['ClockWidgets.' . ($depth1 + 1) . '.X'] = $depth1Value['X'];
2210
			}
2211
			if(isset($depth1Value['FontSize'])){
2212
				$this->options['query']['ClockWidgets.' . ($depth1 + 1) . '.FontSize'] = $depth1Value['FontSize'];
2213
			}
2214
		}
2215
2216
		return $this;
2217
    }
2218
2219
    /**
2220
     * @param array $watermarks
2221
     *
2222
     * @return $this
2223
     */
2224
	public function withWatermarks(array $watermarks)
2225
	{
2226
	    $this->data['Watermarks'] = $watermarks;
2227
		foreach ($watermarks as $depth1 => $depth1Value) {
2228
			if(isset($depth1Value['Alpha'])){
2229
				$this->options['query']['Watermarks.' . ($depth1 + 1) . '.Alpha'] = $depth1Value['Alpha'];
2230
			}
2231
			if(isset($depth1Value['Width'])){
2232
				$this->options['query']['Watermarks.' . ($depth1 + 1) . '.Width'] = $depth1Value['Width'];
2233
			}
2234
			if(isset($depth1Value['Height'])){
2235
				$this->options['query']['Watermarks.' . ($depth1 + 1) . '.Height'] = $depth1Value['Height'];
2236
			}
2237
			if(isset($depth1Value['Y'])){
2238
				$this->options['query']['Watermarks.' . ($depth1 + 1) . '.Y'] = $depth1Value['Y'];
2239
			}
2240
			if(isset($depth1Value['Url'])){
2241
				$this->options['query']['Watermarks.' . ($depth1 + 1) . '.Url'] = $depth1Value['Url'];
2242
			}
2243
			if(isset($depth1Value['Display'])){
2244
				$this->options['query']['Watermarks.' . ($depth1 + 1) . '.Display'] = $depth1Value['Display'];
2245
			}
2246
			if(isset($depth1Value['ZOrder'])){
2247
				$this->options['query']['Watermarks.' . ($depth1 + 1) . '.ZOrder'] = $depth1Value['ZOrder'];
2248
			}
2249
			if(isset($depth1Value['X'])){
2250
				$this->options['query']['Watermarks.' . ($depth1 + 1) . '.X'] = $depth1Value['X'];
2251
			}
2252
		}
2253
2254
		return $this;
2255
    }
2256
2257
    /**
2258
     * @param array $backgrounds
2259
     *
2260
     * @return $this
2261
     */
2262
	public function withBackgrounds(array $backgrounds)
2263
	{
2264
	    $this->data['Backgrounds'] = $backgrounds;
2265
		foreach ($backgrounds as $depth1 => $depth1Value) {
2266
			if(isset($depth1Value['Width'])){
2267
				$this->options['query']['Backgrounds.' . ($depth1 + 1) . '.Width'] = $depth1Value['Width'];
2268
			}
2269
			if(isset($depth1Value['Height'])){
2270
				$this->options['query']['Backgrounds.' . ($depth1 + 1) . '.Height'] = $depth1Value['Height'];
2271
			}
2272
			if(isset($depth1Value['Y'])){
2273
				$this->options['query']['Backgrounds.' . ($depth1 + 1) . '.Y'] = $depth1Value['Y'];
2274
			}
2275
			if(isset($depth1Value['Url'])){
2276
				$this->options['query']['Backgrounds.' . ($depth1 + 1) . '.Url'] = $depth1Value['Url'];
2277
			}
2278
			if(isset($depth1Value['Display'])){
2279
				$this->options['query']['Backgrounds.' . ($depth1 + 1) . '.Display'] = $depth1Value['Display'];
2280
			}
2281
			if(isset($depth1Value['ZOrder'])){
2282
				$this->options['query']['Backgrounds.' . ($depth1 + 1) . '.ZOrder'] = $depth1Value['ZOrder'];
2283
			}
2284
			if(isset($depth1Value['X'])){
2285
				$this->options['query']['Backgrounds.' . ($depth1 + 1) . '.X'] = $depth1Value['X'];
2286
			}
2287
		}
2288
2289
		return $this;
2290
    }
2291
}
2292