@@ -123,10 +123,14 @@ final class Input
123
123
124
124
/**
125
125
* Specify the source file for your transcoding job. You can use multiple inputs in a single job. The service
126
- * concatenates these inputs, in the order that you specify them in the job, to create the outputs. If your input format
127
- * is IMF, specify your input by providing the path to your CPL. For example, "s3://bucket/vf/cpl.xml". If the CPL is in
128
- * an incomplete IMP, make sure to use *Supplemental IMPs* to specify any supplemental IMPs that contain assets
129
- * referenced by the CPL.
126
+ * concatenates these inputs, in the order that you specify them in the job, to create the outputs. For standard inputs,
127
+ * provide the path to your S3, HTTP, or HTTPS source file. For example, s3://amzn-s3-demo-bucket/input.mp4 for an
128
+ * Amazon S3 input or https://example.com/input.mp4 for an HTTPS input. For TAMS inputs, specify the HTTPS endpoint of
129
+ * your TAMS server. For example, https://tams-server.example.com . When you do, also specify Source ID, Timerange, GAP
130
+ * handling, and the Authorization connection ARN under TAMS settings. (Don't include these parameters in the Input file
131
+ * URL.) For IMF inputs, specify your input by providing the path to your CPL. For example,
132
+ * s3://amzn-s3-demo-bucket/vf/cpl.xml . If the CPL is in an incomplete IMP, make sure to use Supplemental IMPsto
133
+ * specify any supplemental IMPs that contain assets referenced by the CPL.
130
134
*
131
135
* @var string|null
132
136
*/
@@ -220,6 +224,19 @@ final class Input
220
224
*/
221
225
private $ supplementalImps ;
222
226
227
+ /**
228
+ * Specify a Time Addressable Media Store (TAMS) server as an input source. TAMS is an open-source API specification
229
+ * that provides access to time-segmented media content. Use TAMS to retrieve specific time ranges from live or archived
230
+ * media streams. When you specify TAMS settings, MediaConvert connects to your TAMS server, retrieves the media
231
+ * segments for your specified time range, and processes them as a single input. This enables workflows like extracting
232
+ * clips from live streams or processing specific portions of archived content. To use TAMS, you must: 1. Have access to
233
+ * a TAMS-compliant server 2. Specify the server URL in the Input file URL field 3. Provide the required SourceId and
234
+ * Timerange parameters 4. Configure authentication, if your TAMS server requires it.
235
+ *
236
+ * @var InputTamsSettings|null
237
+ */
238
+ private $ tamsSettings ;
239
+
223
240
/**
224
241
* Use this Timecode source setting, located under the input settings, to specify how the service counts input video
225
242
* frames. This input frame count affects only the behavior of features that apply to a single input at a time, such as
@@ -290,6 +307,7 @@ final class Input
290
307
* ProgramNumber?: null|int,
291
308
* PsiControl?: null|InputPsiControl::*,
292
309
* SupplementalImps?: null|string[],
310
+ * TamsSettings?: null|InputTamsSettings|array,
293
311
* TimecodeSource?: null|InputTimecodeSource::*,
294
312
* TimecodeStart?: null|string,
295
313
* VideoGenerator?: null|InputVideoGenerator|array,
@@ -320,6 +338,7 @@ public function __construct(array $input)
320
338
$ this ->programNumber = $ input ['ProgramNumber ' ] ?? null ;
321
339
$ this ->psiControl = $ input ['PsiControl ' ] ?? null ;
322
340
$ this ->supplementalImps = $ input ['SupplementalImps ' ] ?? null ;
341
+ $ this ->tamsSettings = isset ($ input ['TamsSettings ' ]) ? InputTamsSettings::create ($ input ['TamsSettings ' ]) : null ;
323
342
$ this ->timecodeSource = $ input ['TimecodeSource ' ] ?? null ;
324
343
$ this ->timecodeStart = $ input ['TimecodeStart ' ] ?? null ;
325
344
$ this ->videoGenerator = isset ($ input ['VideoGenerator ' ]) ? InputVideoGenerator::create ($ input ['VideoGenerator ' ]) : null ;
@@ -350,6 +369,7 @@ public function __construct(array $input)
350
369
* ProgramNumber?: null|int,
351
370
* PsiControl?: null|InputPsiControl::*,
352
371
* SupplementalImps?: null|string[],
372
+ * TamsSettings?: null|InputTamsSettings|array,
353
373
* TimecodeSource?: null|InputTimecodeSource::*,
354
374
* TimecodeStart?: null|string,
355
375
* VideoGenerator?: null|InputVideoGenerator|array,
@@ -503,6 +523,11 @@ public function getSupplementalImps(): array
503
523
return $ this ->supplementalImps ?? [];
504
524
}
505
525
526
+ public function getTamsSettings (): ?InputTamsSettings
527
+ {
528
+ return $ this ->tamsSettings ;
529
+ }
530
+
506
531
/**
507
532
* @return InputTimecodeSource::*|null
508
533
*/
@@ -659,6 +684,9 @@ public function requestBody(): array
659
684
$ payload ['supplementalImps ' ][$ index ] = $ listValue ;
660
685
}
661
686
}
687
+ if (null !== $ v = $ this ->tamsSettings ) {
688
+ $ payload ['tamsSettings ' ] = $ v ->requestBody ();
689
+ }
662
690
if (null !== $ v = $ this ->timecodeSource ) {
663
691
if (!InputTimecodeSource::exists ($ v )) {
664
692
throw new InvalidArgument (\sprintf ('Invalid parameter "timecodeSource" for "%s". The value "%s" is not a valid "InputTimecodeSource". ' , __CLASS__ , $ v ));
0 commit comments