google-cloud-video-live_stream-v1 2.3.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -153,6 +153,119 @@ module Google
153
153
  end
154
154
  end
155
155
 
156
+ # Multiplexing settings for output streams used in
157
+ # {::Google::Cloud::Video::LiveStream::V1::Distribution Distribution}.
158
+ # @!attribute [rw] key
159
+ # @return [::String]
160
+ # Required. A unique key for this distribution stream. The key must be 1-63
161
+ # characters in length. The key must begin and end with a letter (regardless
162
+ # of case) or a number, but can contain dashes or underscores in between.
163
+ # @!attribute [rw] container
164
+ # @return [::String]
165
+ # Required. The container format.
166
+ #
167
+ # Supported container formats:
168
+ #
169
+ # - `ts`, must contain exactly one audio stream and up to one video stream.
170
+ # - `flv`, must contain at most one audio stream and at most one video
171
+ # stream.
172
+ # @!attribute [rw] elementary_streams
173
+ # @return [::Array<::String>]
174
+ # Required. List of `ElementaryStream`
175
+ # {::Google::Cloud::Video::LiveStream::V1::ElementaryStream#key key}s multiplexed
176
+ # in this stream. Must contain at least one audio stream and up to one video
177
+ # stream.
178
+ class DistributionStream
179
+ include ::Google::Protobuf::MessageExts
180
+ extend ::Google::Protobuf::MessageExts::ClassMethods
181
+ end
182
+
183
+ # Distribution configuration.
184
+ # @!attribute [rw] key
185
+ # @return [::String]
186
+ # Required. A unique key for this distribution. The key must be 1-63
187
+ # characters in length. The key must begin and end with a letter (regardless
188
+ # of case) or a number, but can contain dashes or underscores in between.
189
+ # @!attribute [rw] distribution_stream
190
+ # @return [::String]
191
+ # Required. `DistributionStream`
192
+ # {::Google::Cloud::Video::LiveStream::V1::DistributionStream#key key}s that should
193
+ # appear in this distribution output.
194
+ #
195
+ # - For SRT protocol, only `ts` distribution streams can be specified.
196
+ # - For RTMP protocol, only `flv` distribution streams can be specified.
197
+ # @!attribute [r] state
198
+ # @return [::Google::Cloud::Video::LiveStream::V1::Distribution::State]
199
+ # Output only. State of the distribution.
200
+ # @!attribute [r] error
201
+ # @return [::Google::Rpc::Status]
202
+ # Output only. Only present when the `state` is `ERROR`. The reason for the
203
+ # error state of the distribution.
204
+ # @!attribute [rw] srt_push
205
+ # @return [::Google::Cloud::Video::LiveStream::V1::SrtPushOutputEndpoint]
206
+ # Output endpoint using SRT_PUSH.
207
+ #
208
+ # Note: The following fields are mutually exclusive: `srt_push`, `rtmp_push`. If a field in that set is populated, all other fields in the set will automatically be cleared.
209
+ # @!attribute [rw] rtmp_push
210
+ # @return [::Google::Cloud::Video::LiveStream::V1::RtmpPushOutputEndpoint]
211
+ # Output endpoint using RTMP_PUSH.
212
+ #
213
+ # Note: The following fields are mutually exclusive: `rtmp_push`, `srt_push`. If a field in that set is populated, all other fields in the set will automatically be cleared.
214
+ class Distribution
215
+ include ::Google::Protobuf::MessageExts
216
+ extend ::Google::Protobuf::MessageExts::ClassMethods
217
+
218
+ # State of this distribution.
219
+ module State
220
+ # State is not specified.
221
+ STATE_UNSPECIFIED = 0
222
+
223
+ # Distribution has trouble to produce or deliver the output.
224
+ ERROR = 5
225
+
226
+ # Distribution is not ready to be started.
227
+ NOT_READY = 6
228
+
229
+ # Distribution is ready to be started.
230
+ READY = 7
231
+
232
+ # Distribution is already started and is waiting for input.
233
+ AWAITING_INPUT = 8
234
+
235
+ # Distribution is already started and is generating output.
236
+ DISTRIBUTING = 9
237
+ end
238
+ end
239
+
240
+ # Configurations for an output endpoint using SRT_PUSH as the streaming
241
+ # protocol.
242
+ # @!attribute [rw] uri
243
+ # @return [::String]
244
+ # Required. The full URI of the remote SRT server.
245
+ # @!attribute [rw] passphrase_secret_version
246
+ # @return [::String]
247
+ # The name of the Secret Version containing the SRT encryption passphrase,
248
+ # which is stored in Google Secret Manager. It should be in the format of
249
+ # `projects/{project}/secrets/{secret_id}/versions/{version_number}`.
250
+ class SrtPushOutputEndpoint
251
+ include ::Google::Protobuf::MessageExts
252
+ extend ::Google::Protobuf::MessageExts::ClassMethods
253
+ end
254
+
255
+ # Configurations for an output endpoint using RTMP_PUSH as the streaming
256
+ # protocol.
257
+ # @!attribute [rw] uri
258
+ # @return [::String]
259
+ # Required. The full URI of the remote RTMP server. For example:
260
+ # `rtmp://192.168.123.321/live/my-stream` or `rtmp://somedomain.com/someapp`.
261
+ # @!attribute [rw] stream_key
262
+ # @return [::String]
263
+ # Required. Stream key for RTMP protocol.
264
+ class RtmpPushOutputEndpoint
265
+ include ::Google::Protobuf::MessageExts
266
+ extend ::Google::Protobuf::MessageExts::ClassMethods
267
+ end
268
+
156
269
  # Sprite sheet configuration.
157
270
  # @!attribute [rw] format
158
271
  # @return [::String]
@@ -274,6 +387,13 @@ module Google
274
387
  # @!attribute [rw] h264
275
388
  # @return [::Google::Cloud::Video::LiveStream::V1::VideoStream::H264CodecSettings]
276
389
  # H264 codec settings.
390
+ #
391
+ # Note: The following fields are mutually exclusive: `h264`, `h265`. If a field in that set is populated, all other fields in the set will automatically be cleared.
392
+ # @!attribute [rw] h265
393
+ # @return [::Google::Cloud::Video::LiveStream::V1::VideoStream::H265CodecSettings]
394
+ # H265 codec settings.
395
+ #
396
+ # Note: The following fields are mutually exclusive: `h265`, `h264`. If a field in that set is populated, all other fields in the set will automatically be cleared.
277
397
  class VideoStream
278
398
  include ::Google::Protobuf::MessageExts
279
399
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -282,11 +402,11 @@ module Google
282
402
  # @!attribute [rw] width_pixels
283
403
  # @return [::Integer]
284
404
  # Required. The width of the video in pixels. Must be an even integer.
285
- # Valid range is [320, 1920].
405
+ # Valid range is [320, 4096].
286
406
  # @!attribute [rw] height_pixels
287
407
  # @return [::Integer]
288
408
  # Required. The height of the video in pixels. Must be an even integer.
289
- # Valid range is [180, 1080].
409
+ # Valid range is [180, 2160].
290
410
  # @!attribute [rw] frame_rate
291
411
  # @return [::Float]
292
412
  # Required. The target video frame rate in frames per second (FPS). Must be
@@ -302,6 +422,7 @@ module Google
302
422
  #
303
423
  # - For SD resolution (< 720p), must be <= 3,000,000 (3 Mbps).
304
424
  # - For HD resolution (<= 1080p), must be <= 15,000,000 (15 Mbps).
425
+ # - For UHD resolution (<= 2160p), must be <= 25,000,000 (25 Mbps).
305
426
  # @!attribute [rw] allow_open_gop
306
427
  # @return [::Boolean]
307
428
  # Specifies whether an open Group of Pictures (GOP) structure should be
@@ -388,6 +509,87 @@ module Google
388
509
  include ::Google::Protobuf::MessageExts
389
510
  extend ::Google::Protobuf::MessageExts::ClassMethods
390
511
  end
512
+
513
+ # H265 codec settings.
514
+ # @!attribute [rw] width_pixels
515
+ # @return [::Integer]
516
+ # Optional. The width of the video in pixels. Must be an even integer.
517
+ # When not specified, the width is adjusted to match the specified height
518
+ # and input aspect ratio. If both are omitted, the input width is used.
519
+ # Valid range is [320, 4096].
520
+ # @!attribute [rw] height_pixels
521
+ # @return [::Integer]
522
+ # Optional. The height of the video in pixels. Must be an even integer.
523
+ # When not specified, the height is adjusted to match the specified width
524
+ # and input aspect ratio. If both are omitted, the input height is used.
525
+ # Valid range is [180, 2160].
526
+ # @!attribute [rw] frame_rate
527
+ # @return [::Float]
528
+ # Required. The target video frame rate in frames per second (FPS). Must be
529
+ # less than or equal to 120. Will default to the input frame rate if larger
530
+ # than the input frame rate. The API will generate an output FPS that is
531
+ # divisible by the input FPS, and smaller or equal to the target FPS. See
532
+ # [Calculating frame
533
+ # rate](https://cloud.google.com/transcoder/docs/concepts/frame-rate) for
534
+ # more information.
535
+ # @!attribute [rw] bitrate_bps
536
+ # @return [::Integer]
537
+ # Required. The video bitrate in bits per second. Minimum value is 10,000.
538
+ #
539
+ # - For SD resolution (< 720p), must be <= 3,000,000 (3 Mbps).
540
+ # - For HD resolution (<= 1080p), must be <= 15,000,000 (15 Mbps).
541
+ # - For UHD resolution (<= 2160p), must be <= 25,000,000 (25 Mbps).
542
+ # @!attribute [rw] gop_frame_count
543
+ # @return [::Integer]
544
+ # Optional. Select the GOP size based on the specified frame count.
545
+ # If GOP frame count is set instead of GOP duration, GOP duration will be
546
+ # calculated by `gopFrameCount`/`frameRate`. The calculated GOP duration
547
+ # must satisfy the limitations on `gopDuration` as well.
548
+ # Valid range is [60, 600].
549
+ #
550
+ # Note: The following fields are mutually exclusive: `gop_frame_count`, `gop_duration`. If a field in that set is populated, all other fields in the set will automatically be cleared.
551
+ # @!attribute [rw] gop_duration
552
+ # @return [::Google::Protobuf::Duration]
553
+ # Optional. Select the GOP size based on the specified duration. The
554
+ # default is `2s`. Note that `gopDuration` must be less than or equal to
555
+ # {::Google::Cloud::Video::LiveStream::V1::SegmentSettings#segment_duration segment_duration},
556
+ # and
557
+ # {::Google::Cloud::Video::LiveStream::V1::SegmentSettings#segment_duration segment_duration}
558
+ # must be divisible by `gopDuration`. Valid range is [2s, 20s].
559
+ #
560
+ # All video streams in the same channel must have the same GOP size.
561
+ #
562
+ # Note: The following fields are mutually exclusive: `gop_duration`, `gop_frame_count`. If a field in that set is populated, all other fields in the set will automatically be cleared.
563
+ # @!attribute [rw] vbv_size_bits
564
+ # @return [::Integer]
565
+ # Optional. Size of the Video Buffering Verifier (VBV) buffer in bits. Must
566
+ # be greater than zero. The default is equal to
567
+ # {::Google::Cloud::Video::LiveStream::V1::VideoStream::H265CodecSettings#bitrate_bps bitrate_bps}.
568
+ # @!attribute [rw] vbv_fullness_bits
569
+ # @return [::Integer]
570
+ # Optional. Initial fullness of the Video Buffering Verifier (VBV) buffer
571
+ # in bits. Must be greater than zero. The default is equal to 90% of
572
+ # {::Google::Cloud::Video::LiveStream::V1::VideoStream::H265CodecSettings#vbv_size_bits vbv_size_bits}.
573
+ # @!attribute [rw] b_pyramid
574
+ # @return [::Boolean]
575
+ # Optional. Allow B-pyramid for reference frame selection. This may not be
576
+ # supported on all decoders. The default is `false`.
577
+ # @!attribute [rw] b_frame_count
578
+ # @return [::Integer]
579
+ # Optional. The number of consecutive B-frames. Must be greater than or
580
+ # equal to zero. Must be less than
581
+ # {::Google::Cloud::Video::LiveStream::V1::VideoStream::H265CodecSettings#gop_frame_count gop_frame_count}
582
+ # if set. The default is 0.
583
+ # @!attribute [rw] aq_strength
584
+ # @return [::Float]
585
+ # Optional. Specify the intensity of the adaptive quantizer (AQ). Must be
586
+ # between 0 and 1, where 0 disables the quantizer and 1 maximizes the
587
+ # quantizer. A higher value equals a lower bitrate but smoother image. The
588
+ # default is 0.
589
+ class H265CodecSettings
590
+ include ::Google::Protobuf::MessageExts
591
+ extend ::Google::Protobuf::MessageExts::ClassMethods
592
+ end
391
593
  end
392
594
 
393
595
  # Audio stream resource.
@@ -475,9 +677,59 @@ module Google
475
677
  #
476
678
  # - `cea608`
477
679
  # - `cea708`
680
+ # - `webvtt`
681
+ # @!attribute [rw] language_code
682
+ # @return [::String]
683
+ # Optional. The BCP-47 language code, such as `en-US` or `sr-Latn`. For more
684
+ # information, see
685
+ # https://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
686
+ # @!attribute [rw] display_name
687
+ # @return [::String]
688
+ # Optional. The name for this particular text stream that will be added to
689
+ # the HLS/DASH manifest.
690
+ # @!attribute [rw] output_cea_channel
691
+ # @return [::String]
692
+ # Optional. The channel of the closed caption in the output stream.
693
+ # This field should only be set when textstream is used for partner
694
+ # distribution.
695
+ # Must be one of `CC1`, `CC2`, `CC3`, and `CC4`, if the
696
+ # {::Google::Cloud::Video::LiveStream::V1::TextStream#codec codec} is `cea608`;
697
+ # Must be one between `SERVICE1` and `SERVICE63`, if the
698
+ # {::Google::Cloud::Video::LiveStream::V1::TextStream#codec codec} is `cea708`.
699
+ # @!attribute [rw] mapping
700
+ # @return [::Array<::Google::Cloud::Video::LiveStream::V1::TextStream::TextMapping>]
701
+ # Optional. The mapping for the input streams and text tracks.
478
702
  class TextStream
479
703
  include ::Google::Protobuf::MessageExts
480
704
  extend ::Google::Protobuf::MessageExts::ClassMethods
705
+
706
+ # The mapping for the input streams and text tracks.
707
+ # @!attribute [rw] input_key
708
+ # @return [::String]
709
+ # Optional. The `Channel`
710
+ # {::Google::Cloud::Video::LiveStream::V1::InputAttachment#key InputAttachment.key}
711
+ # that identifies the input that this text mapping applies to.
712
+ # @!attribute [rw] input_track
713
+ # @return [::Integer]
714
+ # Optional. The zero-based index of the track in the input stream.
715
+ # @!attribute [rw] input_cea_channel
716
+ # @return [::String]
717
+ # Optional. The channel of the closed caption in the input stream.
718
+ # If this field is set, the output
719
+ # {::Google::Cloud::Video::LiveStream::V1::TextStream#codec codec} must be
720
+ # `webvtt`. Must be one of `CC1`, `CC2`, `CC3`, and `CC4`, if the codec of
721
+ # the input closed caption is `cea608`; Must be one between `SERVICE1` and
722
+ # `SERVICE64`, if the codec of the input closed caption is `cea708`.
723
+ # @!attribute [rw] from_language_code
724
+ # @return [::String]
725
+ # Optional. The BCP-47 source language code, such as `en-US` or `sr-Latn`.
726
+ # If differ from the textStream's language code, enable translation. For
727
+ # more information on BCP-47 language codes, see
728
+ # https://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
729
+ class TextMapping
730
+ include ::Google::Protobuf::MessageExts
731
+ extend ::Google::Protobuf::MessageExts::ClassMethods
732
+ end
481
733
  end
482
734
 
483
735
  # Segment settings for `fmp4` and `ts`.
@@ -113,8 +113,17 @@ module Google
113
113
  # Resolution <= 1920x1080. Bitrate <= 25 Mbps. FPS <= 60.
114
114
  HD = 2
115
115
 
116
- # Resolution <= 4096x2160. Not supported yet.
116
+ # Resolution <= 4096x2160. Bitrate <= 50 Mbps. FPS <= 60.
117
117
  UHD = 3
118
+
119
+ # Resolution <= 1280x720. Bitrate <= 6 Mbps. FPS <= 60. H265 codec.
120
+ SD_H265 = 4
121
+
122
+ # Resolution <= 1920x1080. Bitrate <= 25 Mbps. FPS <= 60. H265 codec.
123
+ HD_H265 = 5
124
+
125
+ # Resolution <= 4096x2160. Bitrate <= 50 Mbps. FPS <= 60. H265 codec.
126
+ UHD_H265 = 6
118
127
  end
119
128
  end
120
129
 
@@ -161,6 +170,12 @@ module Google
161
170
  # @!attribute [rw] manifests
162
171
  # @return [::Array<::Google::Cloud::Video::LiveStream::V1::Manifest>]
163
172
  # List of output manifests.
173
+ # @!attribute [rw] distribution_streams
174
+ # @return [::Array<::Google::Cloud::Video::LiveStream::V1::DistributionStream>]
175
+ # Optional. List of multiplexing settings of streams for distributions.
176
+ # @!attribute [rw] distributions
177
+ # @return [::Array<::Google::Cloud::Video::LiveStream::V1::Distribution>]
178
+ # Optional. List of distributions.
164
179
  # @!attribute [rw] sprite_sheets
165
180
  # @return [::Array<::Google::Cloud::Video::LiveStream::V1::SpriteSheet>]
166
181
  # List of output sprite sheets.
@@ -182,9 +197,9 @@ module Google
182
197
  # Configuration of timecode for this channel.
183
198
  # @!attribute [rw] encryptions
184
199
  # @return [::Array<::Google::Cloud::Video::LiveStream::V1::Encryption>]
185
- # Encryption configurations for this channel. Each configuration has an ID
186
- # which is referred to by each MuxStream to indicate which configuration is
187
- # used for that output.
200
+ # Optional. Encryption configurations for this channel. Each configuration
201
+ # has an ID which is referred to by each MuxStream to indicate which
202
+ # configuration is used for that output.
188
203
  # @!attribute [rw] input_config
189
204
  # @return [::Google::Cloud::Video::LiveStream::V1::InputConfig]
190
205
  # The configuration for input sources defined in
@@ -196,6 +211,9 @@ module Google
196
211
  # @return [::Array<::Google::Cloud::Video::LiveStream::V1::StaticOverlay>]
197
212
  # Optional. List of static overlay images. Those images display over the
198
213
  # output content for the whole duration of the live stream.
214
+ # @!attribute [rw] auto_transcription_config
215
+ # @return [::Google::Cloud::Video::LiveStream::V1::AutoTranscriptionConfig]
216
+ # Optional. Advanced configurations for auto-generated text streams.
199
217
  class Channel
200
218
  include ::Google::Protobuf::MessageExts
201
219
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -501,6 +519,53 @@ module Google
501
519
  end
502
520
  end
503
521
 
522
+ # Advanced configurations for auto-generated text streams.
523
+ # @!attribute [rw] display_timing
524
+ # @return [::Google::Cloud::Video::LiveStream::V1::AutoTranscriptionConfig::DisplayTiming]
525
+ # Optional. Whether auto-generated text streams are displayed synchronously
526
+ # or asynchronously with the original audio.
527
+ # @!attribute [rw] quality_preset
528
+ # @return [::Google::Cloud::Video::LiveStream::V1::AutoTranscriptionConfig::QualityPreset]
529
+ # Optional. Tunes the latency and quality of auto-generated captions.
530
+ class AutoTranscriptionConfig
531
+ include ::Google::Protobuf::MessageExts
532
+ extend ::Google::Protobuf::MessageExts::ClassMethods
533
+
534
+ # Whether auto-generated text streams are displayed synchronously or
535
+ # asynchronously with the original audio.
536
+ module DisplayTiming
537
+ # Display timing is not specified. Caption display will be asynchronous by
538
+ # default.
539
+ DISPLAY_TIMING_UNSPECIFIED = 0
540
+
541
+ # Caption will be displayed asynchronous with audio.
542
+ ASYNC = 1
543
+
544
+ # Caption will be displayed synchronous with audio. This option increases
545
+ # overall media output latency, and reduces viewing latency between audio
546
+ # and auto-generated captions.
547
+ SYNC = 2
548
+ end
549
+
550
+ # Presets to tune the latency and quality of auto-generated captions.
551
+ module QualityPreset
552
+ # Quality Preset is not specified. By default, BALANCED_QUALITY will be
553
+ # used.
554
+ QUALITY_PRESET_UNSPECIFIED = 0
555
+
556
+ # Reduce the latency of auto-generated captions. This may reduce the
557
+ # quality of the captions.
558
+ LOW_LATENCY = 1
559
+
560
+ # Default behavior when QualityPreset is not specified.
561
+ BALANCED_QUALITY = 2
562
+
563
+ # Increases the quality of the auto-generated captions at the cost of
564
+ # higher latency.
565
+ IMPROVED_QUALITY = 3
566
+ end
567
+ end
568
+
504
569
  # Event is a sub-resource of a channel, which can be scheduled by the user to
505
570
  # execute operations on a channel resource without having to stop the channel.
506
571
  # @!attribute [rw] name
@@ -520,32 +585,37 @@ module Google
520
585
  # @return [::Google::Cloud::Video::LiveStream::V1::Event::InputSwitchTask]
521
586
  # Switches to another input stream.
522
587
  #
523
- # Note: The following fields are mutually exclusive: `input_switch`, `ad_break`, `return_to_program`, `slate`, `mute`, `unmute`. If a field in that set is populated, all other fields in the set will automatically be cleared.
588
+ # Note: The following fields are mutually exclusive: `input_switch`, `ad_break`, `return_to_program`, `slate`, `mute`, `unmute`, `update_encryptions`. If a field in that set is populated, all other fields in the set will automatically be cleared.
524
589
  # @!attribute [rw] ad_break
525
590
  # @return [::Google::Cloud::Video::LiveStream::V1::Event::AdBreakTask]
526
591
  # Inserts a new ad opportunity.
527
592
  #
528
- # Note: The following fields are mutually exclusive: `ad_break`, `input_switch`, `return_to_program`, `slate`, `mute`, `unmute`. If a field in that set is populated, all other fields in the set will automatically be cleared.
593
+ # Note: The following fields are mutually exclusive: `ad_break`, `input_switch`, `return_to_program`, `slate`, `mute`, `unmute`, `update_encryptions`. If a field in that set is populated, all other fields in the set will automatically be cleared.
529
594
  # @!attribute [rw] return_to_program
530
595
  # @return [::Google::Cloud::Video::LiveStream::V1::Event::ReturnToProgramTask]
531
596
  # Stops any running ad break.
532
597
  #
533
- # Note: The following fields are mutually exclusive: `return_to_program`, `input_switch`, `ad_break`, `slate`, `mute`, `unmute`. If a field in that set is populated, all other fields in the set will automatically be cleared.
598
+ # Note: The following fields are mutually exclusive: `return_to_program`, `input_switch`, `ad_break`, `slate`, `mute`, `unmute`, `update_encryptions`. If a field in that set is populated, all other fields in the set will automatically be cleared.
534
599
  # @!attribute [rw] slate
535
600
  # @return [::Google::Cloud::Video::LiveStream::V1::Event::SlateTask]
536
601
  # Inserts a slate.
537
602
  #
538
- # Note: The following fields are mutually exclusive: `slate`, `input_switch`, `ad_break`, `return_to_program`, `mute`, `unmute`. If a field in that set is populated, all other fields in the set will automatically be cleared.
603
+ # Note: The following fields are mutually exclusive: `slate`, `input_switch`, `ad_break`, `return_to_program`, `mute`, `unmute`, `update_encryptions`. If a field in that set is populated, all other fields in the set will automatically be cleared.
539
604
  # @!attribute [rw] mute
540
605
  # @return [::Google::Cloud::Video::LiveStream::V1::Event::MuteTask]
541
606
  # Mutes the stream.
542
607
  #
543
- # Note: The following fields are mutually exclusive: `mute`, `input_switch`, `ad_break`, `return_to_program`, `slate`, `unmute`. If a field in that set is populated, all other fields in the set will automatically be cleared.
608
+ # Note: The following fields are mutually exclusive: `mute`, `input_switch`, `ad_break`, `return_to_program`, `slate`, `unmute`, `update_encryptions`. If a field in that set is populated, all other fields in the set will automatically be cleared.
544
609
  # @!attribute [rw] unmute
545
610
  # @return [::Google::Cloud::Video::LiveStream::V1::Event::UnmuteTask]
546
611
  # Unmutes the stream.
547
612
  #
548
- # Note: The following fields are mutually exclusive: `unmute`, `input_switch`, `ad_break`, `return_to_program`, `slate`, `mute`. If a field in that set is populated, all other fields in the set will automatically be cleared.
613
+ # Note: The following fields are mutually exclusive: `unmute`, `input_switch`, `ad_break`, `return_to_program`, `slate`, `mute`, `update_encryptions`. If a field in that set is populated, all other fields in the set will automatically be cleared.
614
+ # @!attribute [rw] update_encryptions
615
+ # @return [::Google::Cloud::Video::LiveStream::V1::Event::UpdateEncryptionsTask]
616
+ # Updates encryption settings.
617
+ #
618
+ # Note: The following fields are mutually exclusive: `update_encryptions`, `input_switch`, `ad_break`, `return_to_program`, `slate`, `mute`, `unmute`. If a field in that set is populated, all other fields in the set will automatically be cleared.
549
619
  # @!attribute [rw] execute_now
550
620
  # @return [::Boolean]
551
621
  # When this field is set to true, the event will be executed at the earliest
@@ -632,6 +702,17 @@ module Google
632
702
  extend ::Google::Protobuf::MessageExts::ClassMethods
633
703
  end
634
704
 
705
+ # Update encryption settings.
706
+ # @!attribute [rw] encryptions
707
+ # @return [::Array<::Google::Cloud::Video::LiveStream::V1::EncryptionUpdate>]
708
+ # Required. A list of
709
+ # {::Google::Cloud::Video::LiveStream::V1::EncryptionUpdate EncryptionUpdate}s
710
+ # that updates the existing encryption settings.
711
+ class UpdateEncryptionsTask
712
+ include ::Google::Protobuf::MessageExts
713
+ extend ::Google::Protobuf::MessageExts::ClassMethods
714
+ end
715
+
635
716
  # @!attribute [rw] key
636
717
  # @return [::String]
637
718
  # @!attribute [rw] value
@@ -1107,16 +1188,16 @@ module Google
1107
1188
  # that DRM system will be considered to be disabled.
1108
1189
  # @!attribute [rw] widevine
1109
1190
  # @return [::Google::Cloud::Video::LiveStream::V1::Encryption::Widevine]
1110
- # Widevine configuration.
1191
+ # Optional. Widevine configuration.
1111
1192
  # @!attribute [rw] fairplay
1112
1193
  # @return [::Google::Cloud::Video::LiveStream::V1::Encryption::Fairplay]
1113
- # Fairplay configuration.
1194
+ # Optional. Fairplay configuration.
1114
1195
  # @!attribute [rw] playready
1115
1196
  # @return [::Google::Cloud::Video::LiveStream::V1::Encryption::Playready]
1116
- # Playready configuration.
1197
+ # Optional. Playready configuration.
1117
1198
  # @!attribute [rw] clearkey
1118
1199
  # @return [::Google::Cloud::Video::LiveStream::V1::Encryption::Clearkey]
1119
- # Clearkey configuration.
1200
+ # Optional. Clearkey configuration.
1120
1201
  class DrmSystems
1121
1202
  include ::Google::Protobuf::MessageExts
1122
1203
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1146,6 +1227,18 @@ module Google
1146
1227
  end
1147
1228
  end
1148
1229
 
1230
+ # Encryption setting when updating encryption.
1231
+ # @!attribute [rw] id
1232
+ # @return [::String]
1233
+ # Required. Identifier for the encryption option to be updated.
1234
+ # @!attribute [rw] secret_manager_key_source
1235
+ # @return [::Google::Cloud::Video::LiveStream::V1::Encryption::SecretManagerSource]
1236
+ # For keys stored in Google Secret Manager.
1237
+ class EncryptionUpdate
1238
+ include ::Google::Protobuf::MessageExts
1239
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1240
+ end
1241
+
1149
1242
  # Pool resource defines the configuration of Live Stream pools for a specific
1150
1243
  # location. Currently we support only one pool resource per project per
1151
1244
  # location. After the creation of the first input, a default pool is created