From e874e860e0fea86d06759c7806c5c70152a1cdc8 Mon Sep 17 00:00:00 2001 From: AsyncAws Bot Date: Fri, 18 Jul 2025 06:41:07 +0000 Subject: [PATCH] update generated code --- manifest.json | 2 +- src/Service/MediaConvert/CHANGELOG.md | 1 + .../MediaConvert/src/Enum/AacCodecProfile.php | 2 + .../src/Enum/AacLoudnessMeasurementMode.php | 22 ++++++ .../src/Result/CreateJobResponse.php | 3 + .../src/Result/GetJobResponse.php | 3 + .../src/Result/ListJobsResponse.php | 3 + .../src/ValueObject/AacSettings.php | 68 +++++++++++++++++++ .../src/ValueObject/VideoCodecSettings.php | 6 +- .../src/Input/StartExecutionInput.php | 2 +- 10 files changed, 107 insertions(+), 5 deletions(-) create mode 100644 src/Service/MediaConvert/src/Enum/AacLoudnessMeasurementMode.php diff --git a/manifest.json b/manifest.json index 02b24c25c..572d5e285 100644 --- a/manifest.json +++ b/manifest.json @@ -1,6 +1,6 @@ { "variables": { - "${LATEST}": "3.351.0" + "${LATEST}": "3.351.1" }, "endpoints": "https://raw.githubusercontent.com/aws/aws-sdk-php/${LATEST}/src/data/endpoints.json", "services": { diff --git a/src/Service/MediaConvert/CHANGELOG.md b/src/Service/MediaConvert/CHANGELOG.md index eee0cc2ab..e273d5c98 100644 --- a/src/Service/MediaConvert/CHANGELOG.md +++ b/src/Service/MediaConvert/CHANGELOG.md @@ -6,6 +6,7 @@ - AWS api-change: This release includes support for embedding and signing C2PA content credentials in MP4 outputs. - AWS api-change: This release adds a new SPECIFIED_OPTIMAL option for handling DDS when using DVB-Sub with high resolution video. +- AWS api-change: This release expands the range of supported audio outputs to include xHE, 192khz FLAC and the deprecation of dual mono for AC3. ## 1.9.0 diff --git a/src/Service/MediaConvert/src/Enum/AacCodecProfile.php b/src/Service/MediaConvert/src/Enum/AacCodecProfile.php index e69081c13..5072e9a49 100644 --- a/src/Service/MediaConvert/src/Enum/AacCodecProfile.php +++ b/src/Service/MediaConvert/src/Enum/AacCodecProfile.php @@ -13,6 +13,7 @@ final class AacCodecProfile public const HEV1 = 'HEV1'; public const HEV2 = 'HEV2'; public const LC = 'LC'; + public const XHE = 'XHE'; public static function exists(string $value): bool { @@ -20,6 +21,7 @@ public static function exists(string $value): bool self::HEV1 => true, self::HEV2 => true, self::LC => true, + self::XHE => true, ][$value]); } } diff --git a/src/Service/MediaConvert/src/Enum/AacLoudnessMeasurementMode.php b/src/Service/MediaConvert/src/Enum/AacLoudnessMeasurementMode.php new file mode 100644 index 000000000..5942b9a9c --- /dev/null +++ b/src/Service/MediaConvert/src/Enum/AacLoudnessMeasurementMode.php @@ -0,0 +1,22 @@ + true, + self::PROGRAM => true, + ][$value]); + } +} diff --git a/src/Service/MediaConvert/src/Result/CreateJobResponse.php b/src/Service/MediaConvert/src/Result/CreateJobResponse.php index 79eb94ffd..d790aa170 100644 --- a/src/Service/MediaConvert/src/Result/CreateJobResponse.php +++ b/src/Service/MediaConvert/src/Result/CreateJobResponse.php @@ -218,10 +218,13 @@ private function populateResultAacSettings(array $json): AacSettings 'Bitrate' => isset($json['bitrate']) ? (int) $json['bitrate'] : null, 'CodecProfile' => isset($json['codecProfile']) ? (string) $json['codecProfile'] : null, 'CodingMode' => isset($json['codingMode']) ? (string) $json['codingMode'] : null, + 'LoudnessMeasurementMode' => isset($json['loudnessMeasurementMode']) ? (string) $json['loudnessMeasurementMode'] : null, + 'RapInterval' => isset($json['rapInterval']) ? (int) $json['rapInterval'] : null, 'RateControlMode' => isset($json['rateControlMode']) ? (string) $json['rateControlMode'] : null, 'RawFormat' => isset($json['rawFormat']) ? (string) $json['rawFormat'] : null, 'SampleRate' => isset($json['sampleRate']) ? (int) $json['sampleRate'] : null, 'Specification' => isset($json['specification']) ? (string) $json['specification'] : null, + 'TargetLoudnessRange' => isset($json['targetLoudnessRange']) ? (int) $json['targetLoudnessRange'] : null, 'VbrQuality' => isset($json['vbrQuality']) ? (string) $json['vbrQuality'] : null, ]); } diff --git a/src/Service/MediaConvert/src/Result/GetJobResponse.php b/src/Service/MediaConvert/src/Result/GetJobResponse.php index 4cdc74e14..b592c552b 100644 --- a/src/Service/MediaConvert/src/Result/GetJobResponse.php +++ b/src/Service/MediaConvert/src/Result/GetJobResponse.php @@ -218,10 +218,13 @@ private function populateResultAacSettings(array $json): AacSettings 'Bitrate' => isset($json['bitrate']) ? (int) $json['bitrate'] : null, 'CodecProfile' => isset($json['codecProfile']) ? (string) $json['codecProfile'] : null, 'CodingMode' => isset($json['codingMode']) ? (string) $json['codingMode'] : null, + 'LoudnessMeasurementMode' => isset($json['loudnessMeasurementMode']) ? (string) $json['loudnessMeasurementMode'] : null, + 'RapInterval' => isset($json['rapInterval']) ? (int) $json['rapInterval'] : null, 'RateControlMode' => isset($json['rateControlMode']) ? (string) $json['rateControlMode'] : null, 'RawFormat' => isset($json['rawFormat']) ? (string) $json['rawFormat'] : null, 'SampleRate' => isset($json['sampleRate']) ? (int) $json['sampleRate'] : null, 'Specification' => isset($json['specification']) ? (string) $json['specification'] : null, + 'TargetLoudnessRange' => isset($json['targetLoudnessRange']) ? (int) $json['targetLoudnessRange'] : null, 'VbrQuality' => isset($json['vbrQuality']) ? (string) $json['vbrQuality'] : null, ]); } diff --git a/src/Service/MediaConvert/src/Result/ListJobsResponse.php b/src/Service/MediaConvert/src/Result/ListJobsResponse.php index e8cc9adb2..3e75455a5 100644 --- a/src/Service/MediaConvert/src/Result/ListJobsResponse.php +++ b/src/Service/MediaConvert/src/Result/ListJobsResponse.php @@ -285,10 +285,13 @@ private function populateResultAacSettings(array $json): AacSettings 'Bitrate' => isset($json['bitrate']) ? (int) $json['bitrate'] : null, 'CodecProfile' => isset($json['codecProfile']) ? (string) $json['codecProfile'] : null, 'CodingMode' => isset($json['codingMode']) ? (string) $json['codingMode'] : null, + 'LoudnessMeasurementMode' => isset($json['loudnessMeasurementMode']) ? (string) $json['loudnessMeasurementMode'] : null, + 'RapInterval' => isset($json['rapInterval']) ? (int) $json['rapInterval'] : null, 'RateControlMode' => isset($json['rateControlMode']) ? (string) $json['rateControlMode'] : null, 'RawFormat' => isset($json['rawFormat']) ? (string) $json['rawFormat'] : null, 'SampleRate' => isset($json['sampleRate']) ? (int) $json['sampleRate'] : null, 'Specification' => isset($json['specification']) ? (string) $json['specification'] : null, + 'TargetLoudnessRange' => isset($json['targetLoudnessRange']) ? (int) $json['targetLoudnessRange'] : null, 'VbrQuality' => isset($json['vbrQuality']) ? (string) $json['vbrQuality'] : null, ]); } diff --git a/src/Service/MediaConvert/src/ValueObject/AacSettings.php b/src/Service/MediaConvert/src/ValueObject/AacSettings.php index 8c51f5ae0..1d976f8a8 100644 --- a/src/Service/MediaConvert/src/ValueObject/AacSettings.php +++ b/src/Service/MediaConvert/src/ValueObject/AacSettings.php @@ -6,6 +6,7 @@ use AsyncAws\MediaConvert\Enum\AacAudioDescriptionBroadcasterMix; use AsyncAws\MediaConvert\Enum\AacCodecProfile; use AsyncAws\MediaConvert\Enum\AacCodingMode; +use AsyncAws\MediaConvert\Enum\AacLoudnessMeasurementMode; use AsyncAws\MediaConvert\Enum\AacRateControlMode; use AsyncAws\MediaConvert\Enum\AacRawFormat; use AsyncAws\MediaConvert\Enum\AacSpecification; @@ -64,6 +65,26 @@ final class AacSettings */ private $codingMode; + /** + * Choose the loudness measurement mode for your audio content. For music or advertisements: We recommend that you keep + * the default value, Program. For speech or other content: We recommend that you choose Anchor. When you do, + * MediaConvert optimizes the loudness of your output for clarify by applying speech gates. + * + * @var AacLoudnessMeasurementMode::*|null + */ + private $loudnessMeasurementMode; + + /** + * Specify the RAP (Random Access Point) interval for your xHE-AAC audio output. A RAP allows a decoder to decode audio + * data mid-stream, without the need to reference previous audio frames, and perform adaptive audio bitrate switching. + * To specify the RAP interval: Enter an integer from 2000 to 30000, in milliseconds. Smaller values allow for better + * seeking and more frequent stream switching, while large values improve compression efficiency. To have MediaConvert + * automatically determine the RAP interval: Leave blank. + * + * @var int|null + */ + private $rapInterval; + /** * Specify the AAC rate control mode. For a constant bitrate: Choose CBR. Your AAC output bitrate will be equal to the * value that you choose for Bitrate. For a variable bitrate: Choose VBR. Your AAC output bitrate will vary according to @@ -97,6 +118,14 @@ final class AacSettings */ private $specification; + /** + * Specify the xHE-AAC loudness target. Enter an integer from 6 to 16, representing "loudness units". For more + * information, see the following specification: Supplementary information for R 128 EBU Tech 3342-2023. + * + * @var int|null + */ + private $targetLoudnessRange; + /** * Specify the quality of your variable bitrate (VBR) AAC audio. For a list of approximate VBR bitrates, see: * https://docs.aws.amazon.com/mediaconvert/latest/ug/aac-support.html#aac_vbr @@ -111,10 +140,13 @@ final class AacSettings * Bitrate?: null|int, * CodecProfile?: null|AacCodecProfile::*, * CodingMode?: null|AacCodingMode::*, + * LoudnessMeasurementMode?: null|AacLoudnessMeasurementMode::*, + * RapInterval?: null|int, * RateControlMode?: null|AacRateControlMode::*, * RawFormat?: null|AacRawFormat::*, * SampleRate?: null|int, * Specification?: null|AacSpecification::*, + * TargetLoudnessRange?: null|int, * VbrQuality?: null|AacVbrQuality::*, * } $input */ @@ -124,10 +156,13 @@ public function __construct(array $input) $this->bitrate = $input['Bitrate'] ?? null; $this->codecProfile = $input['CodecProfile'] ?? null; $this->codingMode = $input['CodingMode'] ?? null; + $this->loudnessMeasurementMode = $input['LoudnessMeasurementMode'] ?? null; + $this->rapInterval = $input['RapInterval'] ?? null; $this->rateControlMode = $input['RateControlMode'] ?? null; $this->rawFormat = $input['RawFormat'] ?? null; $this->sampleRate = $input['SampleRate'] ?? null; $this->specification = $input['Specification'] ?? null; + $this->targetLoudnessRange = $input['TargetLoudnessRange'] ?? null; $this->vbrQuality = $input['VbrQuality'] ?? null; } @@ -137,10 +172,13 @@ public function __construct(array $input) * Bitrate?: null|int, * CodecProfile?: null|AacCodecProfile::*, * CodingMode?: null|AacCodingMode::*, + * LoudnessMeasurementMode?: null|AacLoudnessMeasurementMode::*, + * RapInterval?: null|int, * RateControlMode?: null|AacRateControlMode::*, * RawFormat?: null|AacRawFormat::*, * SampleRate?: null|int, * Specification?: null|AacSpecification::*, + * TargetLoudnessRange?: null|int, * VbrQuality?: null|AacVbrQuality::*, * }|AacSettings $input */ @@ -178,6 +216,19 @@ public function getCodingMode(): ?string return $this->codingMode; } + /** + * @return AacLoudnessMeasurementMode::*|null + */ + public function getLoudnessMeasurementMode(): ?string + { + return $this->loudnessMeasurementMode; + } + + public function getRapInterval(): ?int + { + return $this->rapInterval; + } + /** * @return AacRateControlMode::*|null */ @@ -207,6 +258,11 @@ public function getSpecification(): ?string return $this->specification; } + public function getTargetLoudnessRange(): ?int + { + return $this->targetLoudnessRange; + } + /** * @return AacVbrQuality::*|null */ @@ -242,6 +298,15 @@ public function requestBody(): array } $payload['codingMode'] = $v; } + if (null !== $v = $this->loudnessMeasurementMode) { + if (!AacLoudnessMeasurementMode::exists($v)) { + throw new InvalidArgument(\sprintf('Invalid parameter "loudnessMeasurementMode" for "%s". The value "%s" is not a valid "AacLoudnessMeasurementMode".', __CLASS__, $v)); + } + $payload['loudnessMeasurementMode'] = $v; + } + if (null !== $v = $this->rapInterval) { + $payload['rapInterval'] = $v; + } if (null !== $v = $this->rateControlMode) { if (!AacRateControlMode::exists($v)) { throw new InvalidArgument(\sprintf('Invalid parameter "rateControlMode" for "%s". The value "%s" is not a valid "AacRateControlMode".', __CLASS__, $v)); @@ -263,6 +328,9 @@ public function requestBody(): array } $payload['specification'] = $v; } + if (null !== $v = $this->targetLoudnessRange) { + $payload['targetLoudnessRange'] = $v; + } if (null !== $v = $this->vbrQuality) { if (!AacVbrQuality::exists($v)) { throw new InvalidArgument(\sprintf('Invalid parameter "vbrQuality" for "%s". The value "%s" is not a valid "AacVbrQuality".', __CLASS__, $v)); diff --git a/src/Service/MediaConvert/src/ValueObject/VideoCodecSettings.php b/src/Service/MediaConvert/src/ValueObject/VideoCodecSettings.php index c2c764403..5b14a8d00 100644 --- a/src/Service/MediaConvert/src/ValueObject/VideoCodecSettings.php +++ b/src/Service/MediaConvert/src/ValueObject/VideoCodecSettings.php @@ -34,9 +34,9 @@ final class VideoCodecSettings /** * Specifies the video codec. This must be equal to one of the enum values defined by the object VideoCodec. To - * passthrough the video stream of your input JPEG2000, VC-3, AVC-INTRA or Apple ProRes video without any video - * encoding: Choose Passthrough. If you have multiple input videos, note that they must have identical encoding - * attributes. When you choose Passthrough, your output container must be MXF or QuickTime MOV. + * passthrough the video stream of your input without any video encoding: Choose Passthrough. More information about + * passthrough codec support and job settings requirements, see: + * https://docs.aws.amazon.com/mediaconvert/latest/ug/video-passthrough-feature-restrictions.html. * * @var VideoCodec::*|null */ diff --git a/src/Service/StepFunctions/src/Input/StartExecutionInput.php b/src/Service/StepFunctions/src/Input/StartExecutionInput.php index f6af4fa93..9cb82df0b 100644 --- a/src/Service/StepFunctions/src/Input/StartExecutionInput.php +++ b/src/Service/StepFunctions/src/Input/StartExecutionInput.php @@ -71,7 +71,7 @@ final class StartExecutionInput extends Input /** * The string that contains the JSON input data for the execution, for example: * - * `"{\"first_name\" : \"Tim\"}"` + * `"{\"first_name\" : \"Alejandro\"}"` * * > If you don't include any JSON input data, you still must include the two braces, for example: `"{}"` *