Class LiveStream
A LiveStream encapsulates all the information necessary to enable DAI
(Dynamic Ad Insertion) into a live video stream. This includes information
such as the start and expected end time of the live stream, the URL of the
actual content for Ad Manager to pull and insert ads into, as well as the
metadata necessary to generate ad requests during the live stream.
Assembly: Google.Ads.AdManager.V1.dll
Syntax
public sealed class LiveStream : IMessage<LiveStream>, IEquatable<LiveStream>, IDeepCloneable<LiveStream>, IBufferMessage, IMessage
Constructors
LiveStream()
Declaration
LiveStream(LiveStream)
Declaration
public LiveStream(LiveStream other)
Parameters
Properties
AdBreakFillType
Optional. The type of content that should be used to fill an empty ad
break. Defaults to
[SLATE][google.ads.admanager.v1.AdBreakFillTypeEnum.AdBreakFillType.SLATE].
Declaration
public AdBreakFillTypeEnum.Types.AdBreakFillType AdBreakFillType { get; set; }
Property Value
AdBreakMarkupTypesEnabled
Optional. Whether this LiveStream is specifying a subset of supported
adBreakMarkups. If this field is false, all supported formats will be
treated as ad break start/end markers.
Declaration
public bool AdBreakMarkupTypesEnabled { get; set; }
Property Value
AdBreakMarkups
Optional. The formats that will be recognized as ad break start/end
markers. This field is ignored if adBreakMarkupTypesEnabled is false.
Declaration
public RepeatedField<AdBreakMarkupTypeEnum.Types.AdBreakMarkupType> AdBreakMarkups { get; }
Property Value
AdHolidayDuration
Optional. The duration, starting from the time the user enters the DAI
stream, for which mid-roll decisioning will be skipped. This field is only
applicable when an ad holiday is requested in the stream create request.
Defaults to 0.
Declaration
public Duration AdHolidayDuration { get; set; }
Property Value
Optional. The CdnConfiguration that provide settings for delivering ad
media associated with this source. Format:
"networks/{network_code}/cdnConfigs/{cdn_config_id}"
Declaration
public string AdMediaDeliveryConfig { get; set; }
Property Value
Declaration
public CdnConfigName AdMediaDeliveryConfigAsCdnConfigName { get; set; }
Property Value
AdPodTrimTolerance
Optional. The maximum amount of time by which a stitched ad pod is
allowed to be trimmed before whole ads are dropped instead.
Declaration
public Duration AdPodTrimTolerance { get; set; }
Property Value
Required. The list of Ad Manager ad tag URLs generated by the Ad Manager
trafficking workflow that are associated with this live stream. Currently,
the list includes only one element: the master ad tag.
Declaration
public RepeatedField<string> AdTags { get; }
Property Value
AllowlistedIpsEnabled
Optional. Whether specific allowlisted IP addresses should be used to
access this live stream. Will default to false. To set this field a network
needs to have the "Video live allowlisted IPS enabled" feature enabled.
Modifying this field for an active live stream can impact traffic.
Declaration
public bool AllowlistedIpsEnabled { get; set; }
Property Value
AssetKey
Output only. The code used in constructing a live stream master playlist
URL.
Declaration
public string AssetKey { get; set; }
Property Value
AuxiliaryAdSettings
Optional. The auxiliary ad tag settings for this live stream.
Declaration
public AuxiliaryAdSettings AuxiliaryAdSettings { get; set; }
Property Value
ContentUrls
Required. The list of URLs pointing to the live stream content in Content
Delivery Network. Can be modified when the live stream is in a
[PAUSED][google.ads.admanager.v1.LiveStreamEventStatusEnum.LiveStreamEventStatus.PAUSED]
state.
Declaration
public RepeatedField<string> ContentUrls { get; }
Property Value
CreateTime
Output only. The date and time this LiveStream was created.
Declaration
public Timestamp CreateTime { get; set; }
Property Value
CustomAssetKey
Immutable. An additional code that can be used in constructing live stream
event URLs. Can only be set for pod serving live streams. The custom asset
key may be at most 64 characters and can contain alphanumeric characters
and symbols other than the following:
", ', =, !, +, #, *, ~, ;, ^, (, ), <, >, [, ], the white space character.
Declaration
public string CustomAssetKey { get; set; }
Property Value
DaiAuthenticationKeys
Optional. The list of DaiAuthenticationKey objects used to authenticate
stream create requests for this live stream. Modifying settings for an
active live stream may break the stream for some users. Exercise caution.
Format:
"networks/{network_code}/daiAuthenticationKeys/{dai_authentication_key_id}"
Declaration
public RepeatedField<string> DaiAuthenticationKeys { get; }
Property Value
DaiAuthenticationKeysAsDaiAuthenticationKeyNames
Declaration
public ResourceNameList<DaiAuthenticationKeyName> DaiAuthenticationKeysAsDaiAuthenticationKeyNames { get; }
Property Value
DaiEncodingProfiles
Optional. The list of DaiEncodingProfiles that will be used for this live
stream event. Format:
"networks/{network_code}/daiEncodingProfiles/{dai_encoding_profile_id}"
Declaration
public RepeatedField<string> DaiEncodingProfiles { get; }
Property Value
DaiEncodingProfilesAsDaiEncodingProfileNames
Declaration
public ResourceNameList<DaiEncodingProfileName> DaiEncodingProfilesAsDaiEncodingProfileNames { get; }
Property Value
DefaultAdBreakDuration
Optional. The default ad pod duration that will be requested when an ad
break cue-out does not specify a duration. Defaults to 0.
Declaration
public Duration DefaultAdBreakDuration { get; set; }
Property Value
DisplayName
Required. The name of the LiveStream. This value has a maximum length of
255 characters.
Declaration
public string DisplayName { get; set; }
Property Value
DvrWindowDuration
Optional. The duration of the DVR window. If unset the default window as
provided by the input encoder will be used. Modifying this value for an
active live stream can impact traffic.
Declaration
public Duration DvrWindowDuration { get; set; }
Property Value
DynamicAdInsertionType
Immutable. The method of dynamic ad insertion that is used to insert ads
into this live stream. Defaults to DynamicAdInsertionType.LINEAR.
Declaration
public DynamicAdInsertionTypeEnum.Types.DynamicAdInsertionType DynamicAdInsertionType { get; set; }
Property Value
EarlyBreakNotificationMultiBreakSchedulingEnabled
Optional. Indicates whether multi-break scheduling via Early Break
Notification (EBN) is enabled for this LiveStream.
Declaration
public bool EarlyBreakNotificationMultiBreakSchedulingEnabled { get; set; }
Property Value
EffectiveAssetKey
Output only. The effective asset key of the live stream. This is the
user-defined custom_asset_key if specified; otherwise, it falls back to the
autogenerated asset_key.
Declaration
public string EffectiveAssetKey { get; set; }
Property Value
EnableDaiAuthenticationKeys
Optional. Whether the live stream's requests to the IMA SDK API will be
authenticated using the DAI authentication keys.
Declaration
public bool EnableDaiAuthenticationKeys { get; set; }
Property Value
EnableDurationlessAdBreaks
Optional. Whether there will be durationless ad breaks in this live stream.
If true, defaultAdBreakDuration should be specified. Defaults to false.
Declaration
public bool EnableDurationlessAdBreaks { get; set; }
Property Value
EnableMaxFillerDuration
Optional. Whether there will be max filler duration in this live stream. If
true, maxFillerDuration should be specified. Defaults to false.
Declaration
public bool EnableMaxFillerDuration { get; set; }
Property Value
EndTime
Optional. The scheduled end date and time of this LiveStream. This
attribute is required if unlimitedEndDateTime is false and ignored if
unlimitedEndDateTime is true. Modifying this attribute for an active live
stream can impact traffic.
Declaration
public Timestamp EndTime { get; set; }
Property Value
EndTimeUnlimited
Optional. Whether the LiveStream has an end time. Defaults to false. If
this field is true, endDateTime is ignored.
Declaration
public bool EndTimeUnlimited { get; set; }
Property Value
ForcedCueInEnabled
Optional. Whether live stream placement opportunities without #EXT-CUE-IN
markers should be force closed. Defaults to false. To set this field a
network needs to have the "Video live stream forced cue in" feature
enabled.
Declaration
public bool ForcedCueInEnabled { get; set; }
Property Value
HasAdBreakFillType
Gets whether the "ad_break_fill_type" field is set
Declaration
public bool HasAdBreakFillType { get; }
Property Value
HasAdBreakMarkupTypesEnabled
Gets whether the "ad_break_markup_types_enabled" field is set
Declaration
public bool HasAdBreakMarkupTypesEnabled { get; }
Property Value
Gets whether the "ad_media_delivery_config" field is set
Declaration
public bool HasAdMediaDeliveryConfig { get; }
Property Value
HasAllowlistedIpsEnabled
Gets whether the "allowlisted_ips_enabled" field is set
Declaration
public bool HasAllowlistedIpsEnabled { get; }
Property Value
HasAssetKey
Gets whether the "asset_key" field is set
Declaration
public bool HasAssetKey { get; }
Property Value
HasCustomAssetKey
Gets whether the "custom_asset_key" field is set
Declaration
public bool HasCustomAssetKey { get; }
Property Value
HasDisplayName
Gets whether the "display_name" field is set
Declaration
public bool HasDisplayName { get; }
Property Value
HasDynamicAdInsertionType
Gets whether the "dynamic_ad_insertion_type" field is set
Declaration
public bool HasDynamicAdInsertionType { get; }
Property Value
HasEarlyBreakNotificationMultiBreakSchedulingEnabled
Gets whether the "early_break_notification_multi_break_scheduling_enabled" field is set
Declaration
public bool HasEarlyBreakNotificationMultiBreakSchedulingEnabled { get; }
Property Value
HasEffectiveAssetKey
Gets whether the "effective_asset_key" field is set
Declaration
public bool HasEffectiveAssetKey { get; }
Property Value
HasEnableDaiAuthenticationKeys
Gets whether the "enable_dai_authentication_keys" field is set
Declaration
public bool HasEnableDaiAuthenticationKeys { get; }
Property Value
HasEnableDurationlessAdBreaks
Gets whether the "enable_durationless_ad_breaks" field is set
Declaration
public bool HasEnableDurationlessAdBreaks { get; }
Property Value
HasEnableMaxFillerDuration
Gets whether the "enable_max_filler_duration" field is set
Declaration
public bool HasEnableMaxFillerDuration { get; }
Property Value
HasEndTimeUnlimited
Gets whether the "end_time_unlimited" field is set
Declaration
public bool HasEndTimeUnlimited { get; }
Property Value
HasForcedCueInEnabled
Gets whether the "forced_cue_in_enabled" field is set
Declaration
public bool HasForcedCueInEnabled { get; }
Property Value
HasPrefetchEnabled
Gets whether the "prefetch_enabled" field is set
Declaration
public bool HasPrefetchEnabled { get; }
Property Value
HasRelativePlaylistDeliveryEnabled
Gets whether the "relative_playlist_delivery_enabled" field is set
Declaration
public bool HasRelativePlaylistDeliveryEnabled { get; }
Property Value
HasShortSegmentDroppingEnabled
Gets whether the "short_segment_dropping_enabled" field is set
Declaration
public bool HasShortSegmentDroppingEnabled { get; }
Property Value
HasSlate
Gets whether the "slate" field is set
Declaration
public bool HasSlate { get; }
Property Value
HasStatus
Gets whether the "status" field is set
Declaration
public bool HasStatus { get; }
Property Value
Gets whether the "streaming_format" field is set
Declaration
public bool HasStreamingFormat { get; }
Property Value
HasUnderfillAdBreakFillType
Gets whether the "underfill_ad_break_fill_type" field is set
Declaration
public bool HasUnderfillAdBreakFillType { get; }
Property Value
HlsSettings
Optional. The settings that are specific to HTTPS live streaming (HLS)
protocol. If it is not set will use the default HLS settings.
Declaration
public HlsSettings HlsSettings { get; set; }
Property Value
LiveStreamConditioning
Optional. The conditioning to apply to this LiveStream.
Declaration
public LiveStreamConditioning LiveStreamConditioning { get; set; }
Property Value
LiveStreamName
Declaration
public LiveStreamName LiveStreamName { get; set; }
Property Value
MaxFillerDuration
Optional. The maximum duration that can be used to fill this ad pod, either
with a slate or underlying content, depending on your settings. If more
time needs to be filled, the ad pod will instead be dropped and the
underlying content will be served.
Declaration
public Duration MaxFillerDuration { get; set; }
Property Value
Name
Identifier. The resource name of the LiveStream.
Format: networks/{network_code}/liveStreams/{live_stream_id}
Declaration
public string Name { get; set; }
Property Value
PodServingSegmentDuration
Optional. The duration that can be used when stitching ads for each
livestream event. This attribute is only available for Pod Serving HLS
Segment Redirect and Pod Serving Dash Segment Redirect.
Declaration
public Duration PodServingSegmentDuration { get; set; }
Property Value
PrefetchEnabled
Optional. Indicates whether the option to prefetch ad requests is enabled.
Declaration
public bool PrefetchEnabled { get; set; }
Property Value
PrefetchSettings
Optional. The information needed to prefetch ad requests for an ad break.
Declaration
public PrefetchSettings PrefetchSettings { get; set; }
Property Value
PrerollSettings
Optional. The settings specific to Preroll ad breaks. If
null, this livestream does not have prerolls enabled.
Declaration
public PrerollSettings PrerollSettings { get; set; }
Property Value
RelativePlaylistDeliveryEnabled
Optional. Whether the served playlists can include relative URLs. Defaults
to false. To set this field a network needs to have the "Video live stream
relative playlist URLs" feature enabled. This field can be modified when
the live stream is in a LiveStreamEventStatus#PAUSED state.
Declaration
public bool RelativePlaylistDeliveryEnabled { get; set; }
Property Value
SegmentUrlAuthenticationKeys
Optional. The list of DaiAuthenticationKeys used to authenticate ad segment
url requests for this live stream. Format:
"networks/{network_code}/daiAuthenticationKeys/{dai_authentication_key_id}"
Declaration
public RepeatedField<string> SegmentUrlAuthenticationKeys { get; }
Property Value
SegmentUrlAuthenticationKeysAsDaiAuthenticationKeyNames
Declaration
public ResourceNameList<DaiAuthenticationKeyName> SegmentUrlAuthenticationKeysAsDaiAuthenticationKeyNames { get; }
Property Value
ShortSegmentDroppingEnabled
Optional. Whether segments shorter than 1 second at the end of an ad pod
should be dropped. Defaults to false. To set this field a network needs to
have the "Video live stream short segment dropping" feature enabled.
Declaration
public bool ShortSegmentDroppingEnabled { get; set; }
Property Value
Slate
Optional. The slate to use for this live stream. If not set, network
default slate will be used. Format:
"networks/{network_code}/slates/{slate_id}"
Declaration
public string Slate { get; set; }
Property Value
SlateAsSlateName
Declaration
public SlateName SlateAsSlateName { get; set; }
Property Value
SourceContentConfigurations
Optional. The list of CdnConfigurations that provide settings for ingesting
and delivering the videos associated with this source. Modifying settings
for an active live stream may break the stream for some users. Exercise
caution.
Format: "networks/{network_code}/cdnConfigs/{cdn_config_id}"
Declaration
public RepeatedField<string> SourceContentConfigurations { get; }
Property Value
SourceContentConfigurationsAsCdnConfigNames
Declaration
public ResourceNameList<CdnConfigName> SourceContentConfigurationsAsCdnConfigNames { get; }
Property Value
StartTime
Optional. The start date and time of this LiveStream. Modifying this
attribute for an active live stream can impact traffic.
Declaration
public Timestamp StartTime { get; set; }
Property Value
Status
Output only. The status of this LiveStream. Live stream events are created
in the
[PAUSED][google.ads.admanager.v1.LiveStreamEventStatusEnum.LiveStreamEventStatus.PAUSED]
state.
Declaration
public LiveStreamEventStatusEnum.Types.LiveStreamEventStatus Status { get; set; }
Property Value
Immutable. The streaming format of the LiveStream media.
Declaration
public LiveStreamEventStreamingFormatEnum.Types.LiveStreamEventStreamingFormat StreamingFormat { get; set; }
Property Value
UnderfillAdBreakFillType
Optional. The type of content that should be used to fill the time
remaining in the ad break when there are not enough ads to fill the entire
break. Defaults to
[SLATE][google.ads.admanager.v1.AdBreakFillTypeEnum.AdBreakFillType.SLATE].
To set this field a network needs to have the "Live stream ad break
underfill type" feature enabled.
Declaration
public AdBreakFillTypeEnum.Types.AdBreakFillType UnderfillAdBreakFillType { get; set; }
Property Value
UpdateTime
Output only. The date and time this LiveStream was last modified.
Declaration
public Timestamp UpdateTime { get; set; }
Property Value