Skip to content

Commit

Permalink
feat(client-mediaconvert): AWS Elemental MediaConvert SDK has added s…
Browse files Browse the repository at this point in the history
…upport for rules that constrain Automatic-ABR rendition selection when generating ABR package ladders.
  • Loading branch information
awstools committed Jun 14, 2022
1 parent 3f98cfc commit 9c9825e
Show file tree
Hide file tree
Showing 6 changed files with 79 additions and 32 deletions.
3 changes: 2 additions & 1 deletion clients/client-mediaconvert/src/commands/ListJobsCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ import {
} from "@aws-sdk/types";

import { MediaConvertClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaConvertClient";
import { ListJobsRequest, ListJobsResponse } from "../models/models_1";
import { ListJobsRequest } from "../models/models_1";
import { ListJobsResponse } from "../models/models_2";
import {
deserializeAws_restJson1ListJobsCommand,
serializeAws_restJson1ListJobsCommand,
Expand Down
21 changes: 14 additions & 7 deletions clients/client-mediaconvert/src/models/models_0.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2437,6 +2437,13 @@ export namespace AudioSelectorGroup {
});
}

export enum AudioDurationCorrection {
AUTO = "AUTO",
DISABLED = "DISABLED",
FRAME = "FRAME",
TRACK = "TRACK",
}

export enum AudioDefaultSelection {
DEFAULT = "DEFAULT",
NOT_DEFAULT = "NOT_DEFAULT",
Expand Down Expand Up @@ -2482,6 +2489,11 @@ export enum AudioSelectorType {
* Use Audio selectors (AudioSelectors) to specify a track or set of tracks from the input that you will use in your outputs. You can use multiple Audio selectors per input.
*/
export interface AudioSelector {
/**
* Apply audio timing corrections to help synchronize audio and video in your output. To apply timing corrections, your input must meet the following requirements: * Container: MP4, or MOV, with an accurate time-to-sample (STTS) table. * Audio track: AAC. Choose from the following audio timing correction settings: * Disabled (Default): Apply no correction. * Auto: Recommended for most inputs. MediaConvert analyzes the audio timing in your input and determines which correction setting to use, if needed. * Track: Adjust the duration of each audio frame by a constant amount to align the audio track length with STTS duration. Track-level correction does not affect pitch, and is recommended for tonal audio content such as music. * Frame: Adjust the duration of each audio frame by a variable amount to align audio frames with STTS timestamps. No corrections are made to already-aligned frames. Frame-level correction may affect the pitch of corrected frames, and is recommended for atonal audio content such as speech or percussion.
*/
AudioDurationCorrection?: AudioDurationCorrection | string;

/**
* Selects a specific language code from within an audio source, using the ISO 639-2 or ISO 639-3 three-letter language code
*/
Expand Down Expand Up @@ -3108,7 +3120,7 @@ export enum InputTimecodeSource {
}

/**
* Use this setting if you do not have a video input or if you want to add black video frames before, or after, other inputs. When you include Video generator, MediaConvert creates a video input with black frames and without an audio track. You can specify a value for Video generator, or you can specify an Input file, but you cannot specify both.
* When you include Video generator, MediaConvert creates a video input with black frames. Use this setting if you do not have a video input or if you want to add black video frames before, or after, other inputs. You can specify Video generator, or you can specify an Input file, but you cannot specify both. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/video-generator.html
*/
export interface InputVideoGenerator {
/**
Expand Down Expand Up @@ -3411,7 +3423,7 @@ export interface Input {
TimecodeStart?: string;

/**
* Use this setting if you do not have a video input or if you want to add black video frames before, or after, other inputs. When you include Video generator, MediaConvert creates a video input with black frames and without an audio track. You can specify a value for Video generator, or you can specify an Input file, but you cannot specify both.
* When you include Video generator, MediaConvert creates a video input with black frames. Use this setting if you do not have a video input or if you want to add black video frames before, or after, other inputs. You can specify Video generator, or you can specify an Input file, but you cannot specify both. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/video-generator.html
*/
VideoGenerator?: InputVideoGenerator;

Expand Down Expand Up @@ -5741,8 +5753,3 @@ export enum M2tsForceTsVideoEbpOrder {
DEFAULT = "DEFAULT",
FORCE = "FORCE",
}

export enum M2tsKlvMetadata {
NONE = "NONE",
PASSTHROUGH = "PASSTHROUGH",
}
27 changes: 5 additions & 22 deletions clients/client-mediaconvert/src/models/models_1.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ import {
M2tsEbpPlacement,
M2tsEsRateInPes,
M2tsForceTsVideoEbpOrder,
M2tsKlvMetadata,
MotionImageInserter,
NielsenConfiguration,
NielsenNonLinearWatermarkSettings,
Expand All @@ -48,6 +47,11 @@ import {
Rectangle,
} from "./models_0";

export enum M2tsKlvMetadata {
NONE = "NONE",
PASSTHROUGH = "PASSTHROUGH",
}

export enum M2tsNielsenId3 {
INSERT = "INSERT",
NONE = "NONE",
Expand Down Expand Up @@ -5511,24 +5515,3 @@ export namespace ListJobsRequest {
...obj,
});
}

export interface ListJobsResponse {
/**
* List of jobs
*/
Jobs?: Job[];

/**
* Use this string to request the next batch of jobs.
*/
NextToken?: string;
}

export namespace ListJobsResponse {
/**
* @internal
*/
export const filterSensitiveLog = (obj: ListJobsResponse): any => ({
...obj,
});
}
22 changes: 22 additions & 0 deletions clients/client-mediaconvert/src/models/models_2.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// smithy-typescript generated code
import { AccelerationSettings, HopDestination } from "./models_0";
import {
Job,
JobTemplate,
JobTemplateListBy,
JobTemplateSettings,
Expand All @@ -14,6 +15,27 @@ import {
StatusUpdateInterval,
} from "./models_1";

export interface ListJobsResponse {
/**
* List of jobs
*/
Jobs?: Job[];

/**
* Use this string to request the next batch of jobs.
*/
NextToken?: string;
}

export namespace ListJobsResponse {
/**
* @internal
*/
export const filterSensitiveLog = (obj: ListJobsResponse): any => ({
...obj,
});
}

export interface ListJobTemplatesRequest {
/**
* Optionally, specify a job template category to limit responses to only job templates from that category.
Expand Down
3 changes: 3 additions & 0 deletions clients/client-mediaconvert/src/protocols/Aws_restJson1.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3441,6 +3441,8 @@ const serializeAws_restJson1AudioNormalizationSettings = (

const serializeAws_restJson1AudioSelector = (input: AudioSelector, context: __SerdeContext): any => {
return {
...(input.AudioDurationCorrection !== undefined &&
input.AudioDurationCorrection !== null && { audioDurationCorrection: input.AudioDurationCorrection }),
...(input.CustomLanguageCode !== undefined &&
input.CustomLanguageCode !== null && { customLanguageCode: input.CustomLanguageCode }),
...(input.DefaultSelection !== undefined &&
Expand Down Expand Up @@ -6987,6 +6989,7 @@ const deserializeAws_restJson1AudioNormalizationSettings = (

const deserializeAws_restJson1AudioSelector = (output: any, context: __SerdeContext): AudioSelector => {
return {
AudioDurationCorrection: __expectString(output.audioDurationCorrection),
CustomLanguageCode: __expectString(output.customLanguageCode),
DefaultSelection: __expectString(output.defaultSelection),
ExternalAudioFileInput: __expectString(output.externalAudioFileInput),
Expand Down
35 changes: 33 additions & 2 deletions codegen/sdk-codegen/aws-models/mediaconvert.json
Original file line number Diff line number Diff line change
Expand Up @@ -1096,6 +1096,30 @@
"smithy.api#documentation": "Settings related to one audio tab on the MediaConvert console. In your job JSON, an instance of AudioDescription is equivalent to one audio tab in the console. Usually, one audio tab corresponds to one output audio track. Depending on how you set up your input audio selectors and whether you use audio selector groups, one audio tab can correspond to a group of output audio tracks."
}
},
"com.amazonaws.mediaconvert#AudioDurationCorrection": {
"type": "string",
"traits": {
"smithy.api#documentation": "Apply audio timing corrections to help synchronize audio and video in your output. To apply timing corrections, your input must meet the following requirements: * Container: MP4, or MOV, with an accurate time-to-sample (STTS) table. * Audio track: AAC. Choose from the following audio timing correction settings: * Disabled (Default): Apply no correction. * Auto: Recommended for most inputs. MediaConvert analyzes the audio timing in your input and determines which correction setting to use, if needed. * Track: Adjust the duration of each audio frame by a constant amount to align the audio track length with STTS duration. Track-level correction does not affect pitch, and is recommended for tonal audio content such as music. * Frame: Adjust the duration of each audio frame by a variable amount to align audio frames with STTS timestamps. No corrections are made to already-aligned frames. Frame-level correction may affect the pitch of corrected frames, and is recommended for atonal audio content such as speech or percussion.",
"smithy.api#enum": [
{
"value": "DISABLED",
"name": "DISABLED"
},
{
"value": "AUTO",
"name": "AUTO"
},
{
"value": "TRACK",
"name": "TRACK"
},
{
"value": "FRAME",
"name": "FRAME"
}
]
}
},
"com.amazonaws.mediaconvert#AudioLanguageCodeControl": {
"type": "string",
"traits": {
Expand Down Expand Up @@ -1237,6 +1261,13 @@
"com.amazonaws.mediaconvert#AudioSelector": {
"type": "structure",
"members": {
"AudioDurationCorrection": {
"target": "com.amazonaws.mediaconvert#AudioDurationCorrection",
"traits": {
"smithy.api#documentation": "Apply audio timing corrections to help synchronize audio and video in your output. To apply timing corrections, your input must meet the following requirements: * Container: MP4, or MOV, with an accurate time-to-sample (STTS) table. * Audio track: AAC. Choose from the following audio timing correction settings: * Disabled (Default): Apply no correction. * Auto: Recommended for most inputs. MediaConvert analyzes the audio timing in your input and determines which correction setting to use, if needed. * Track: Adjust the duration of each audio frame by a constant amount to align the audio track length with STTS duration. Track-level correction does not affect pitch, and is recommended for tonal audio content such as music. * Frame: Adjust the duration of each audio frame by a variable amount to align audio frames with STTS timestamps. No corrections are made to already-aligned frames. Frame-level correction may affect the pitch of corrected frames, and is recommended for atonal audio content such as speech or percussion.",
"smithy.api#jsonName": "audioDurationCorrection"
}
},
"CustomLanguageCode": {
"target": "com.amazonaws.mediaconvert#__stringMin3Max3PatternAZaZ3",
"traits": {
Expand Down Expand Up @@ -10481,7 +10512,7 @@
"VideoGenerator": {
"target": "com.amazonaws.mediaconvert#InputVideoGenerator",
"traits": {
"smithy.api#documentation": "Use this setting if you do not have a video input or if you want to add black video frames before, or after, other inputs. When you include Video generator, MediaConvert creates a video input with black frames and without an audio track. You can specify a value for Video generator, or you can specify an Input file, but you cannot specify both.",
"smithy.api#documentation": "When you include Video generator, MediaConvert creates a video input with black frames. Use this setting if you do not have a video input or if you want to add black video frames before, or after, other inputs. You can specify Video generator, or you can specify an Input file, but you cannot specify both. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/video-generator.html",
"smithy.api#jsonName": "videoGenerator"
}
},
Expand Down Expand Up @@ -10869,7 +10900,7 @@
}
},
"traits": {
"smithy.api#documentation": "Use this setting if you do not have a video input or if you want to add black video frames before, or after, other inputs. When you include Video generator, MediaConvert creates a video input with black frames and without an audio track. You can specify a value for Video generator, or you can specify an Input file, but you cannot specify both."
"smithy.api#documentation": "When you include Video generator, MediaConvert creates a video input with black frames. Use this setting if you do not have a video input or if you want to add black video frames before, or after, other inputs. You can specify Video generator, or you can specify an Input file, but you cannot specify both. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/video-generator.html"
}
},
"com.amazonaws.mediaconvert#InsertableImage": {
Expand Down

0 comments on commit 9c9825e

Please sign in to comment.