Class: AWSCDK::MediaPackage::CfnOriginEndpoint::CmafPackageProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
media_package/cfn_origin_endpoint.rb

Overview

Parameters for Common Media Application Format (CMAF) packaging.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(encryption: nil, hls_manifests: nil, segment_duration_seconds: nil, segment_prefix: nil, stream_selection: nil) ⇒ CmafPackageProperty

Returns a new instance of CmafPackageProperty.

Parameters:



819
820
821
822
823
824
825
826
827
828
829
830
# File 'media_package/cfn_origin_endpoint.rb', line 819

def initialize(encryption: nil, hls_manifests: nil, segment_duration_seconds: nil, segment_prefix: nil, stream_selection: nil)
  @encryption = encryption.is_a?(Hash) ? ::AWSCDK::MediaPackage::CfnOriginEndpoint::CmafEncryptionProperty.new(**encryption.transform_keys(&:to_sym)) : encryption
  Jsii::Type.check_type(@encryption, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tZWRpYXBhY2thZ2UuQ2ZuT3JpZ2luRW5kcG9pbnQuQ21hZkVuY3J5cHRpb25Qcm9wZXJ0eSJ9XX19")), "encryption") unless @encryption.nil?
  @hls_manifests = hls_manifests
  Jsii::Type.check_type(@hls_manifests, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbWVkaWFwYWNrYWdlLkNmbk9yaWdpbkVuZHBvaW50Lkhsc01hbmlmZXN0UHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "hlsManifests") unless @hls_manifests.nil?
  @segment_duration_seconds = segment_duration_seconds
  Jsii::Type.check_type(@segment_duration_seconds, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "segmentDurationSeconds") unless @segment_duration_seconds.nil?
  @segment_prefix = segment_prefix
  Jsii::Type.check_type(@segment_prefix, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "segmentPrefix") unless @segment_prefix.nil?
  @stream_selection = stream_selection.is_a?(Hash) ? ::AWSCDK::MediaPackage::CfnOriginEndpoint::StreamSelectionProperty.new(**stream_selection.transform_keys(&:to_sym)) : stream_selection
  Jsii::Type.check_type(@stream_selection, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tZWRpYXBhY2thZ2UuQ2ZuT3JpZ2luRW5kcG9pbnQuU3RyZWFtU2VsZWN0aW9uUHJvcGVydHkifV19fQ==")), "streamSelection") unless @stream_selection.nil?
end

Instance Attribute Details

#encryptionAWSCDK::IResolvable, ... (readonly)

Parameters for encrypting content.



836
837
838
# File 'media_package/cfn_origin_endpoint.rb', line 836

def encryption
  @encryption
end

#hls_manifestsAWSCDK::IResolvable, ... (readonly)

A list of HLS manifest configurations that are available from this endpoint.



841
842
843
# File 'media_package/cfn_origin_endpoint.rb', line 841

def hls_manifests
  @hls_manifests
end

#segment_duration_secondsNumeric? (readonly)

Duration (in seconds) of each segment.

Actual segments are rounded to the nearest multiple of the source segment duration.



848
849
850
# File 'media_package/cfn_origin_endpoint.rb', line 848

def segment_duration_seconds
  @segment_duration_seconds
end

#segment_prefixString? (readonly)

An optional custom string that is prepended to the name of each segment.

If not specified, the segment prefix defaults to the ChannelId.



855
856
857
# File 'media_package/cfn_origin_endpoint.rb', line 855

def segment_prefix
  @segment_prefix
end

#stream_selectionAWSCDK::IResolvable, ... (readonly)

Limitations for outputs from the endpoint, based on the video bitrate.



860
861
862
# File 'media_package/cfn_origin_endpoint.rb', line 860

def stream_selection
  @stream_selection
end

Class Method Details

.jsii_propertiesObject



862
863
864
865
866
867
868
869
870
# File 'media_package/cfn_origin_endpoint.rb', line 862

def self.jsii_properties
  {
    :encryption => "encryption",
    :hls_manifests => "hlsManifests",
    :segment_duration_seconds => "segmentDurationSeconds",
    :segment_prefix => "segmentPrefix",
    :stream_selection => "streamSelection",
  }
end

Instance Method Details

#to_jsiiObject



872
873
874
875
876
877
878
879
880
881
882
# File 'media_package/cfn_origin_endpoint.rb', line 872

def to_jsii
  result = {}
  result.merge!({
    "encryption" => @encryption,
    "hlsManifests" => @hls_manifests,
    "segmentDurationSeconds" => @segment_duration_seconds,
    "segmentPrefix" => @segment_prefix,
    "streamSelection" => @stream_selection,
  })
  result.compact
end