@@ -50,6 +50,19 @@ final class DashIsoGroupSettings
5050 */
5151 private $ baseUrl ;
5252
53+ /**
54+ * Specify whether MediaConvert generates I-frame only video segments for DASH trick play, also known as trick mode.
55+ * When specified, the I-frame only video segments are included within an additional AdaptationSet in your DASH output
56+ * manifest. To generate I-frame only video segments: Enter a name as a text string, up to 256 character long. This name
57+ * is appended to the end of this output group's base filename, that you specify as part of your destination URI, and
58+ * used for the I-frame only video segment files. You may also include format identifiers. For more information, see:
59+ * https://docs.aws.amazon.com/mediaconvert/latest/ug/using-variables-in-your-job-settings.html#using-settings-variables-with-streaming-outputs
60+ * To not generate I-frame only video segments: Leave blank.
61+ *
62+ * @var string|null
63+ */
64+ private $ dashIframeTrickPlayNameModifier ;
65+
5366 /**
5467 * Specify how MediaConvert writes SegmentTimeline in your output DASH manifest. To write a SegmentTimeline in each
5568 * video Representation: Keep the default value, Basic. To write a common SegmentTimeline in the video AdaptationSet:
@@ -226,6 +239,7 @@ final class DashIsoGroupSettings
226239 * AdditionalManifests?: null|array<DashAdditionalManifest|array>,
227240 * AudioChannelConfigSchemeIdUri?: null|DashIsoGroupAudioChannelConfigSchemeIdUri::*,
228241 * BaseUrl?: null|string,
242+ * DashIFrameTrickPlayNameModifier?: null|string,
229243 * DashManifestStyle?: null|DashManifestStyle::*,
230244 * Destination?: null|string,
231245 * DestinationSettings?: null|DestinationSettings|array,
@@ -251,6 +265,7 @@ public function __construct(array $input)
251265 $ this ->additionalManifests = isset ($ input ['AdditionalManifests ' ]) ? array_map ([DashAdditionalManifest::class, 'create ' ], $ input ['AdditionalManifests ' ]) : null ;
252266 $ this ->audioChannelConfigSchemeIdUri = $ input ['AudioChannelConfigSchemeIdUri ' ] ?? null ;
253267 $ this ->baseUrl = $ input ['BaseUrl ' ] ?? null ;
268+ $ this ->dashIframeTrickPlayNameModifier = $ input ['DashIFrameTrickPlayNameModifier ' ] ?? null ;
254269 $ this ->dashManifestStyle = $ input ['DashManifestStyle ' ] ?? null ;
255270 $ this ->destination = $ input ['Destination ' ] ?? null ;
256271 $ this ->destinationSettings = isset ($ input ['DestinationSettings ' ]) ? DestinationSettings::create ($ input ['DestinationSettings ' ]) : null ;
@@ -276,6 +291,7 @@ public function __construct(array $input)
276291 * AdditionalManifests?: null|array<DashAdditionalManifest|array>,
277292 * AudioChannelConfigSchemeIdUri?: null|DashIsoGroupAudioChannelConfigSchemeIdUri::*,
278293 * BaseUrl?: null|string,
294+ * DashIFrameTrickPlayNameModifier?: null|string,
279295 * DashManifestStyle?: null|DashManifestStyle::*,
280296 * Destination?: null|string,
281297 * DestinationSettings?: null|DestinationSettings|array,
@@ -322,6 +338,11 @@ public function getBaseUrl(): ?string
322338 return $ this ->baseUrl ;
323339 }
324340
341+ public function getDashIframeTrickPlayNameModifier (): ?string
342+ {
343+ return $ this ->dashIframeTrickPlayNameModifier ;
344+ }
345+
325346 /**
326347 * @return DashManifestStyle::*|null
327348 */
@@ -465,6 +486,9 @@ public function requestBody(): array
465486 if (null !== $ v = $ this ->baseUrl ) {
466487 $ payload ['baseUrl ' ] = $ v ;
467488 }
489+ if (null !== $ v = $ this ->dashIframeTrickPlayNameModifier ) {
490+ $ payload ['dashIFrameTrickPlayNameModifier ' ] = $ v ;
491+ }
468492 if (null !== $ v = $ this ->dashManifestStyle ) {
469493 if (!DashManifestStyle::exists ($ v )) {
470494 throw new InvalidArgument (sprintf ('Invalid parameter "dashManifestStyle" for "%s". The value "%s" is not a valid "DashManifestStyle". ' , __CLASS__ , $ v ));
0 commit comments