Skip to content

Commit 5992190

Browse files
AWS Elemental MediaLive adds a new feature, ID3 segment tagging, in CMAF Ingest output groups. It allows customers to insert ID3 tags into every output segment, controlled by a newly added channel schedule action Id3SegmentTagging.
1 parent 374e69b commit 5992190

17 files changed

+776
-1
lines changed

generator/ServiceModels/medialive/medialive-2017-10-14.api.json

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14013,6 +14013,14 @@
1401314013
"StaticImageOutputDeactivateSettings": {
1401414014
"shape": "StaticImageOutputDeactivateScheduleActionSettings",
1401514015
"locationName": "staticImageOutputDeactivateSettings"
14016+
},
14017+
"Id3SegmentTaggingSettings": {
14018+
"shape": "Id3SegmentTaggingScheduleActionSettings",
14019+
"locationName": "id3SegmentTaggingSettings"
14020+
},
14021+
"TimedMetadataSettings": {
14022+
"shape": "TimedMetadataScheduleActionSettings",
14023+
"locationName": "timedMetadataSettings"
1401614024
}
1401714025
}
1401814026
},
@@ -17291,6 +17299,14 @@
1729117299
"Scte35NameModifier": {
1729217300
"shape": "__stringMax100",
1729317301
"locationName": "scte35NameModifier"
17302+
},
17303+
"Id3Behavior": {
17304+
"shape": "CmafId3Behavior",
17305+
"locationName": "id3Behavior"
17306+
},
17307+
"Id3NameModifier": {
17308+
"shape": "__stringMax100",
17309+
"locationName": "id3NameModifier"
1729417310
}
1729517311
},
1729617312
"required": [
@@ -23801,6 +23817,38 @@
2380123817
"member": {
2380223818
"shape": "ChannelEngineVersionResponse"
2380323819
}
23820+
},
23821+
"CmafId3Behavior": {
23822+
"type": "string",
23823+
"enum": [
23824+
"DISABLED",
23825+
"ENABLED"
23826+
]
23827+
},
23828+
"Id3SegmentTaggingScheduleActionSettings": {
23829+
"type": "structure",
23830+
"members": {
23831+
"Id3": {
23832+
"shape": "__string",
23833+
"locationName": "id3"
23834+
},
23835+
"Tag": {
23836+
"shape": "__string",
23837+
"locationName": "tag"
23838+
}
23839+
}
23840+
},
23841+
"TimedMetadataScheduleActionSettings": {
23842+
"type": "structure",
23843+
"members": {
23844+
"Id3": {
23845+
"shape": "__string",
23846+
"locationName": "id3"
23847+
}
23848+
},
23849+
"required": [
23850+
"Id3"
23851+
]
2380423852
}
2380523853
}
2380623854
}

generator/ServiceModels/medialive/medialive-2017-10-14.docs.json

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5222,7 +5222,10 @@
52225222
"UpdateNetworkResult$Name": "The name that you specified for the Network.",
52235223
"UpdateNodeRequest$Name": "Include this parameter only if you want to change the current name of the Node. Specify a name that is unique in the Cluster. You can't change the name. Names are case-sensitive.",
52245224
"ChannelEngineVersionRequest$Version": "The build identifier of the engine version to use for this channel. Specify 'DEFAULT' to reset to the default version.",
5225-
"ChannelEngineVersionResponse$Version": "The build identifier for this version of the channel version."
5225+
"ChannelEngineVersionResponse$Version": "The build identifier for this version of the channel version.",
5226+
"Id3SegmentTaggingScheduleActionSettings$Id3": "Complete this parameter if you want to specify the entire ID3 metadata. Enter a base64 string that contains one or more fully formed ID3 tags, according to the ID3 specification: http://id3.org/id3v2.4.0-structure",
5227+
"Id3SegmentTaggingScheduleActionSettings$Tag": "Complete this parameter if you want to specify only the metadata, not the entire frame. MediaLive will insert the metadata in a TXXX frame. Enter the value as plain text. You can include standard MediaLive variable data such as the current segment number.",
5228+
"TimedMetadataScheduleActionSettings$Id3": "Enter a base64 string that contains one or more fully formed ID3 tags.See the ID3 specification: http://id3.org/id3v2.4.0-structure"
52265229
}
52275230
},
52285231
"__stringMax1000": {
@@ -6907,6 +6910,24 @@
69076910
"ChannelSummary$UsedChannelEngineVersions": "The engine version that the running pipelines are using.",
69086911
"ListVersionsResponse$Versions": "List of engine versions that are available for this AWS account."
69096912
}
6913+
},
6914+
"CmafId3Behavior": {
6915+
"base": "Cmaf Id3 Behavior",
6916+
"refs": {
6917+
"CmafIngestGroupSettings$Id3Behavior": "Set to ENABLED to enable ID3 metadata insertion. To include metadata, you configure other parameters in the output group, or you add an ID3 action to the channel schedule."
6918+
}
6919+
},
6920+
"Id3SegmentTaggingScheduleActionSettings": {
6921+
"base": "Settings for the action to insert ID3 metadata in every segment, in applicable output groups.",
6922+
"refs": {
6923+
"ScheduleActionSettings$Id3SegmentTaggingSettings": "Action to insert ID3 metadata in every segment, in applicable output groups"
6924+
}
6925+
},
6926+
"TimedMetadataScheduleActionSettings": {
6927+
"base": "Settings for the action to insert ID3 metadata (as a one-time action) in applicable output groups.",
6928+
"refs": {
6929+
"ScheduleActionSettings$TimedMetadataSettings": "Action to insert ID3 metadata once, in applicable output groups"
6930+
}
69106931
}
69116932
},
69126933
"documentation": "API for AWS Elemental MediaLive"

generator/ServiceModels/medialive/medialive-2017-10-14.normal.json

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16858,6 +16858,16 @@
1685816858
"shape": "StaticImageOutputDeactivateScheduleActionSettings",
1685916859
"locationName": "staticImageOutputDeactivateSettings",
1686016860
"documentation": "Action to deactivate a static image overlay in one or more specified outputs"
16861+
},
16862+
"Id3SegmentTaggingSettings": {
16863+
"shape": "Id3SegmentTaggingScheduleActionSettings",
16864+
"locationName": "id3SegmentTaggingSettings",
16865+
"documentation": "Action to insert ID3 metadata in every segment, in applicable output groups"
16866+
},
16867+
"TimedMetadataSettings": {
16868+
"shape": "TimedMetadataScheduleActionSettings",
16869+
"locationName": "timedMetadataSettings",
16870+
"documentation": "Action to insert ID3 metadata once, in applicable output groups"
1686116871
}
1686216872
},
1686316873
"documentation": "Holds the settings for a single schedule action."
@@ -20760,6 +20770,16 @@
2076020770
"shape": "__stringMax100",
2076120771
"locationName": "scte35NameModifier",
2076220772
"documentation": "Change the modifier that MediaLive automatically adds to the Streams() name for a SCTE 35 track. The default is \"scte\", which means the default name will be Streams(scte.cmfm). Any string you enter here will replace the \"scte\" string.\\nThe modifier can only contain: numbers, letters, plus (+), minus (-), underscore (_) and period (.) and has a maximum length of 100 characters."
20773+
},
20774+
"Id3Behavior": {
20775+
"shape": "CmafId3Behavior",
20776+
"locationName": "id3Behavior",
20777+
"documentation": "Set to ENABLED to enable ID3 metadata insertion. To include metadata, you configure other parameters in the output group, or you add an ID3 action to the channel schedule."
20778+
},
20779+
"Id3NameModifier": {
20780+
"shape": "__stringMax100",
20781+
"locationName": "id3NameModifier",
20782+
"documentation": "Change the modifier that MediaLive automatically adds to the Streams() name that identifies an ID3 track. The default is \"id3\", which means the default name will be Streams(id3.cmfm). Any string you enter here will replace the \"id3\" string.\\nThe modifier can only contain: numbers, letters, plus (+), minus (-), underscore (_) and period (.) and has a maximum length of 100 characters."
2076320783
}
2076420784
},
2076520785
"documentation": "Cmaf Ingest Group Settings",
@@ -28319,6 +28339,44 @@
2831928339
"shape": "ChannelEngineVersionResponse"
2832028340
},
2832128341
"documentation": "Placeholder documentation for __listOfChannelEngineVersionResponse"
28342+
},
28343+
"CmafId3Behavior": {
28344+
"type": "string",
28345+
"documentation": "Cmaf Id3 Behavior",
28346+
"enum": [
28347+
"DISABLED",
28348+
"ENABLED"
28349+
]
28350+
},
28351+
"Id3SegmentTaggingScheduleActionSettings": {
28352+
"type": "structure",
28353+
"members": {
28354+
"Id3": {
28355+
"shape": "__string",
28356+
"locationName": "id3",
28357+
"documentation": "Complete this parameter if you want to specify the entire ID3 metadata. Enter a base64 string that contains one or more fully formed ID3 tags, according to the ID3 specification: http://id3.org/id3v2.4.0-structure"
28358+
},
28359+
"Tag": {
28360+
"shape": "__string",
28361+
"locationName": "tag",
28362+
"documentation": "Complete this parameter if you want to specify only the metadata, not the entire frame. MediaLive will insert the metadata in a TXXX frame. Enter the value as plain text. You can include standard MediaLive variable data such as the current segment number."
28363+
}
28364+
},
28365+
"documentation": "Settings for the action to insert ID3 metadata in every segment, in applicable output groups."
28366+
},
28367+
"TimedMetadataScheduleActionSettings": {
28368+
"type": "structure",
28369+
"members": {
28370+
"Id3": {
28371+
"shape": "__string",
28372+
"locationName": "id3",
28373+
"documentation": "Enter a base64 string that contains one or more fully formed ID3 tags.See the ID3 specification: http://id3.org/id3v2.4.0-structure"
28374+
}
28375+
},
28376+
"documentation": "Settings for the action to insert ID3 metadata (as a one-time action) in applicable output groups.",
28377+
"required": [
28378+
"Id3"
28379+
]
2832228380
}
2832328381
},
2832428382
"documentation": "API for AWS Elemental MediaLive"

sdk/code-analysis/ServiceAnalysis/MediaLive/Generated/PropertyValueRules.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -991,6 +991,10 @@
991991
<min>10</min>
992992
<max>86400</max>
993993
</property-value-rule>
994+
<property-value-rule>
995+
<property>Amazon.MediaLive.Model.CmafIngestGroupSettings.Id3NameModifier</property>
996+
<max>100</max>
997+
</property-value-rule>
994998
<property-value-rule>
995999
<property>Amazon.MediaLive.Model.CmafIngestGroupSettings.KlvNameModifier</property>
9961000
<max>100</max>

sdk/src/Services/MediaLive/Generated/Model/CmafIngestGroupSettings.cs

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ namespace Amazon.MediaLive.Model
3535
public partial class CmafIngestGroupSettings
3636
{
3737
private OutputLocationRef _destination;
38+
private CmafId3Behavior _id3Behavior;
39+
private string _id3NameModifier;
3840
private CmafKLVBehavior _klvBehavior;
3941
private string _klvNameModifier;
4042
private CmafNielsenId3Behavior _nielsenId3Behavior;
@@ -61,6 +63,43 @@ internal bool IsSetDestination()
6163
return this._destination != null;
6264
}
6365

66+
/// <summary>
67+
/// Gets and sets the property Id3Behavior. Set to ENABLED to enable ID3 metadata insertion.
68+
/// To include metadata, you configure other parameters in the output group, or you add
69+
/// an ID3 action to the channel schedule.
70+
/// </summary>
71+
public CmafId3Behavior Id3Behavior
72+
{
73+
get { return this._id3Behavior; }
74+
set { this._id3Behavior = value; }
75+
}
76+
77+
// Check to see if Id3Behavior property is set
78+
internal bool IsSetId3Behavior()
79+
{
80+
return this._id3Behavior != null;
81+
}
82+
83+
/// <summary>
84+
/// Gets and sets the property Id3NameModifier. Change the modifier that MediaLive automatically
85+
/// adds to the Streams() name that identifies an ID3 track. The default is "id3", which
86+
/// means the default name will be Streams(id3.cmfm). Any string you enter here will replace
87+
/// the "id3" string.\nThe modifier can only contain: numbers, letters, plus (+), minus
88+
/// (-), underscore (_) and period (.) and has a maximum length of 100 characters.
89+
/// </summary>
90+
[AWSProperty(Max=100)]
91+
public string Id3NameModifier
92+
{
93+
get { return this._id3NameModifier; }
94+
set { this._id3NameModifier = value; }
95+
}
96+
97+
// Check to see if Id3NameModifier property is set
98+
internal bool IsSetId3NameModifier()
99+
{
100+
return this._id3NameModifier != null;
101+
}
102+
64103
/// <summary>
65104
/// Gets and sets the property KlvBehavior. If set to passthrough, passes any KLV data
66105
/// from the input source to this output.
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
/*
2+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License").
5+
* You may not use this file except in compliance with the License.
6+
* A copy of the License is located at
7+
*
8+
* http://aws.amazon.com/apache2.0
9+
*
10+
* or in the "license" file accompanying this file. This file is distributed
11+
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12+
* express or implied. See the License for the specific language governing
13+
* permissions and limitations under the License.
14+
*/
15+
16+
/*
17+
* Do not modify this file. This file is generated from the medialive-2017-10-14.normal.json service model.
18+
*/
19+
using System;
20+
using System.Collections.Generic;
21+
using System.Xml.Serialization;
22+
using System.Text;
23+
using System.IO;
24+
using System.Net;
25+
26+
using Amazon.Runtime;
27+
using Amazon.Runtime.Internal;
28+
29+
#pragma warning disable CS0612,CS0618,CS1570
30+
namespace Amazon.MediaLive.Model
31+
{
32+
/// <summary>
33+
/// Settings for the action to insert ID3 metadata in every segment, in applicable output
34+
/// groups.
35+
/// </summary>
36+
public partial class Id3SegmentTaggingScheduleActionSettings
37+
{
38+
private string _id3;
39+
private string _tag;
40+
41+
/// <summary>
42+
/// Gets and sets the property Id3. Complete this parameter if you want to specify the
43+
/// entire ID3 metadata. Enter a base64 string that contains one or more fully formed
44+
/// ID3 tags, according to the ID3 specification: http://id3.org/id3v2.4.0-structure
45+
/// </summary>
46+
public string Id3
47+
{
48+
get { return this._id3; }
49+
set { this._id3 = value; }
50+
}
51+
52+
// Check to see if Id3 property is set
53+
internal bool IsSetId3()
54+
{
55+
return this._id3 != null;
56+
}
57+
58+
/// <summary>
59+
/// Gets and sets the property Tag. Complete this parameter if you want to specify only
60+
/// the metadata, not the entire frame. MediaLive will insert the metadata in a TXXX frame.
61+
/// Enter the value as plain text. You can include standard MediaLive variable data such
62+
/// as the current segment number.
63+
/// </summary>
64+
public string Tag
65+
{
66+
get { return this._tag; }
67+
set { this._tag = value; }
68+
}
69+
70+
// Check to see if Tag property is set
71+
internal bool IsSetTag()
72+
{
73+
return this._tag != null;
74+
}
75+
76+
}
77+
}

sdk/src/Services/MediaLive/Generated/Model/Internal/MarshallTransformations/CmafIngestGroupSettingsMarshaller.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,18 @@ public void Marshall(CmafIngestGroupSettings requestObject, JsonMarshallerContex
5959
context.Writer.WriteObjectEnd();
6060
}
6161

62+
if(requestObject.IsSetId3Behavior())
63+
{
64+
context.Writer.WritePropertyName("id3Behavior");
65+
context.Writer.Write(requestObject.Id3Behavior);
66+
}
67+
68+
if(requestObject.IsSetId3NameModifier())
69+
{
70+
context.Writer.WritePropertyName("id3NameModifier");
71+
context.Writer.Write(requestObject.Id3NameModifier);
72+
}
73+
6274
if(requestObject.IsSetKlvBehavior())
6375
{
6476
context.Writer.WritePropertyName("klvBehavior");

sdk/src/Services/MediaLive/Generated/Model/Internal/MarshallTransformations/CmafIngestGroupSettingsUnmarshaller.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,18 @@ public CmafIngestGroupSettings Unmarshall(JsonUnmarshallerContext context)
7272
unmarshalledObject.Destination = unmarshaller.Unmarshall(context);
7373
continue;
7474
}
75+
if (context.TestExpression("id3Behavior", targetDepth))
76+
{
77+
var unmarshaller = StringUnmarshaller.Instance;
78+
unmarshalledObject.Id3Behavior = unmarshaller.Unmarshall(context);
79+
continue;
80+
}
81+
if (context.TestExpression("id3NameModifier", targetDepth))
82+
{
83+
var unmarshaller = StringUnmarshaller.Instance;
84+
unmarshalledObject.Id3NameModifier = unmarshaller.Unmarshall(context);
85+
continue;
86+
}
7587
if (context.TestExpression("klvBehavior", targetDepth))
7688
{
7789
var unmarshaller = StringUnmarshaller.Instance;

0 commit comments

Comments
 (0)