google-cloud-video-live_stream-v1 0.2.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (26) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHENTICATION.md +1 -1
  3. data/README.md +2 -2
  4. data/lib/google/cloud/video/live_stream/v1/bindings_override.rb +104 -0
  5. data/lib/google/cloud/video/live_stream/v1/livestream_service/client.rb +81 -61
  6. data/lib/google/cloud/video/live_stream/v1/livestream_service/operations.rb +14 -16
  7. data/lib/google/cloud/video/live_stream/v1/livestream_service/paths.rb +19 -0
  8. data/lib/google/cloud/video/live_stream/v1/livestream_service/rest/client.rb +1731 -0
  9. data/lib/google/cloud/video/live_stream/v1/livestream_service/rest/operations.rb +795 -0
  10. data/lib/google/cloud/video/live_stream/v1/livestream_service/rest/service_stub.rb +1001 -0
  11. data/lib/google/cloud/video/live_stream/v1/livestream_service/rest.rb +60 -0
  12. data/lib/google/cloud/video/live_stream/v1/livestream_service.rb +7 -1
  13. data/lib/google/cloud/video/live_stream/v1/rest.rb +40 -0
  14. data/lib/google/cloud/video/live_stream/v1/version.rb +1 -1
  15. data/lib/google/cloud/video/live_stream/v1.rb +7 -2
  16. data/lib/google/cloud/video/livestream/v1/outputs_pb.rb +23 -0
  17. data/lib/google/cloud/video/livestream/v1/resources_pb.rb +77 -0
  18. data/proto_docs/google/api/client.rb +324 -0
  19. data/proto_docs/google/api/launch_stage.rb +71 -0
  20. data/proto_docs/google/cloud/video/livestream/v1/outputs.rb +108 -26
  21. data/proto_docs/google/cloud/video/livestream/v1/resources.rb +218 -16
  22. data/proto_docs/google/cloud/video/livestream/v1/service.rb +21 -9
  23. data/proto_docs/google/protobuf/empty.rb +0 -2
  24. data/proto_docs/google/rpc/status.rb +4 -2
  25. data/proto_docs/google/type/datetime.rb +99 -0
  26. metadata +36 -7
@@ -0,0 +1,324 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Api
22
+ # Required information for every language.
23
+ # @!attribute [rw] reference_docs_uri
24
+ # @return [::String]
25
+ # Link to automatically generated reference documentation. Example:
26
+ # https://cloud.google.com/nodejs/docs/reference/asset/latest
27
+ # @!attribute [rw] destinations
28
+ # @return [::Array<::Google::Api::ClientLibraryDestination>]
29
+ # The destination where API teams want this client library to be published.
30
+ class CommonLanguageSettings
31
+ include ::Google::Protobuf::MessageExts
32
+ extend ::Google::Protobuf::MessageExts::ClassMethods
33
+ end
34
+
35
+ # Details about how and where to publish client libraries.
36
+ # @!attribute [rw] version
37
+ # @return [::String]
38
+ # Version of the API to apply these settings to. This is the full protobuf
39
+ # package for the API, ending in the version element.
40
+ # Examples: "google.cloud.speech.v1" and "google.spanner.admin.database.v1".
41
+ # @!attribute [rw] launch_stage
42
+ # @return [::Google::Api::LaunchStage]
43
+ # Launch stage of this version of the API.
44
+ # @!attribute [rw] rest_numeric_enums
45
+ # @return [::Boolean]
46
+ # When using transport=rest, the client request will encode enums as
47
+ # numbers rather than strings.
48
+ # @!attribute [rw] java_settings
49
+ # @return [::Google::Api::JavaSettings]
50
+ # Settings for legacy Java features, supported in the Service YAML.
51
+ # @!attribute [rw] cpp_settings
52
+ # @return [::Google::Api::CppSettings]
53
+ # Settings for C++ client libraries.
54
+ # @!attribute [rw] php_settings
55
+ # @return [::Google::Api::PhpSettings]
56
+ # Settings for PHP client libraries.
57
+ # @!attribute [rw] python_settings
58
+ # @return [::Google::Api::PythonSettings]
59
+ # Settings for Python client libraries.
60
+ # @!attribute [rw] node_settings
61
+ # @return [::Google::Api::NodeSettings]
62
+ # Settings for Node client libraries.
63
+ # @!attribute [rw] dotnet_settings
64
+ # @return [::Google::Api::DotnetSettings]
65
+ # Settings for .NET client libraries.
66
+ # @!attribute [rw] ruby_settings
67
+ # @return [::Google::Api::RubySettings]
68
+ # Settings for Ruby client libraries.
69
+ # @!attribute [rw] go_settings
70
+ # @return [::Google::Api::GoSettings]
71
+ # Settings for Go client libraries.
72
+ class ClientLibrarySettings
73
+ include ::Google::Protobuf::MessageExts
74
+ extend ::Google::Protobuf::MessageExts::ClassMethods
75
+ end
76
+
77
+ # This message configures the settings for publishing [Google Cloud Client
78
+ # libraries](https://cloud.google.com/apis/docs/cloud-client-libraries)
79
+ # generated from the service config.
80
+ # @!attribute [rw] method_settings
81
+ # @return [::Array<::Google::Api::MethodSettings>]
82
+ # A list of API method settings, e.g. the behavior for methods that use the
83
+ # long-running operation pattern.
84
+ # @!attribute [rw] new_issue_uri
85
+ # @return [::String]
86
+ # Link to a place that API users can report issues. Example:
87
+ # https://issuetracker.google.com/issues/new?component=190865&template=1161103
88
+ # @!attribute [rw] documentation_uri
89
+ # @return [::String]
90
+ # Link to product home page. Example:
91
+ # https://cloud.google.com/asset-inventory/docs/overview
92
+ # @!attribute [rw] api_short_name
93
+ # @return [::String]
94
+ # Used as a tracking tag when collecting data about the APIs developer
95
+ # relations artifacts like docs, packages delivered to package managers,
96
+ # etc. Example: "speech".
97
+ # @!attribute [rw] github_label
98
+ # @return [::String]
99
+ # GitHub label to apply to issues and pull requests opened for this API.
100
+ # @!attribute [rw] codeowner_github_teams
101
+ # @return [::Array<::String>]
102
+ # GitHub teams to be added to CODEOWNERS in the directory in GitHub
103
+ # containing source code for the client libraries for this API.
104
+ # @!attribute [rw] doc_tag_prefix
105
+ # @return [::String]
106
+ # A prefix used in sample code when demarking regions to be included in
107
+ # documentation.
108
+ # @!attribute [rw] organization
109
+ # @return [::Google::Api::ClientLibraryOrganization]
110
+ # For whom the client library is being published.
111
+ # @!attribute [rw] library_settings
112
+ # @return [::Array<::Google::Api::ClientLibrarySettings>]
113
+ # Client library settings. If the same version string appears multiple
114
+ # times in this list, then the last one wins. Settings from earlier
115
+ # settings with the same version string are discarded.
116
+ # @!attribute [rw] proto_reference_documentation_uri
117
+ # @return [::String]
118
+ # Optional link to proto reference documentation. Example:
119
+ # https://cloud.google.com/pubsub/lite/docs/reference/rpc
120
+ class Publishing
121
+ include ::Google::Protobuf::MessageExts
122
+ extend ::Google::Protobuf::MessageExts::ClassMethods
123
+ end
124
+
125
+ # Settings for Java client libraries.
126
+ # @!attribute [rw] library_package
127
+ # @return [::String]
128
+ # The package name to use in Java. Clobbers the java_package option
129
+ # set in the protobuf. This should be used **only** by APIs
130
+ # who have already set the language_settings.java.package_name" field
131
+ # in gapic.yaml. API teams should use the protobuf java_package option
132
+ # where possible.
133
+ #
134
+ # Example of a YAML configuration::
135
+ #
136
+ # publishing:
137
+ # java_settings:
138
+ # library_package: com.google.cloud.pubsub.v1
139
+ # @!attribute [rw] service_class_names
140
+ # @return [::Google::Protobuf::Map{::String => ::String}]
141
+ # Configure the Java class name to use instead of the service's for its
142
+ # corresponding generated GAPIC client. Keys are fully-qualified
143
+ # service names as they appear in the protobuf (including the full
144
+ # the language_settings.java.interface_names" field in gapic.yaml. API
145
+ # teams should otherwise use the service name as it appears in the
146
+ # protobuf.
147
+ #
148
+ # Example of a YAML configuration::
149
+ #
150
+ # publishing:
151
+ # java_settings:
152
+ # service_class_names:
153
+ # - google.pubsub.v1.Publisher: TopicAdmin
154
+ # - google.pubsub.v1.Subscriber: SubscriptionAdmin
155
+ # @!attribute [rw] common
156
+ # @return [::Google::Api::CommonLanguageSettings]
157
+ # Some settings.
158
+ class JavaSettings
159
+ include ::Google::Protobuf::MessageExts
160
+ extend ::Google::Protobuf::MessageExts::ClassMethods
161
+
162
+ # @!attribute [rw] key
163
+ # @return [::String]
164
+ # @!attribute [rw] value
165
+ # @return [::String]
166
+ class ServiceClassNamesEntry
167
+ include ::Google::Protobuf::MessageExts
168
+ extend ::Google::Protobuf::MessageExts::ClassMethods
169
+ end
170
+ end
171
+
172
+ # Settings for C++ client libraries.
173
+ # @!attribute [rw] common
174
+ # @return [::Google::Api::CommonLanguageSettings]
175
+ # Some settings.
176
+ class CppSettings
177
+ include ::Google::Protobuf::MessageExts
178
+ extend ::Google::Protobuf::MessageExts::ClassMethods
179
+ end
180
+
181
+ # Settings for Php client libraries.
182
+ # @!attribute [rw] common
183
+ # @return [::Google::Api::CommonLanguageSettings]
184
+ # Some settings.
185
+ class PhpSettings
186
+ include ::Google::Protobuf::MessageExts
187
+ extend ::Google::Protobuf::MessageExts::ClassMethods
188
+ end
189
+
190
+ # Settings for Python client libraries.
191
+ # @!attribute [rw] common
192
+ # @return [::Google::Api::CommonLanguageSettings]
193
+ # Some settings.
194
+ class PythonSettings
195
+ include ::Google::Protobuf::MessageExts
196
+ extend ::Google::Protobuf::MessageExts::ClassMethods
197
+ end
198
+
199
+ # Settings for Node client libraries.
200
+ # @!attribute [rw] common
201
+ # @return [::Google::Api::CommonLanguageSettings]
202
+ # Some settings.
203
+ class NodeSettings
204
+ include ::Google::Protobuf::MessageExts
205
+ extend ::Google::Protobuf::MessageExts::ClassMethods
206
+ end
207
+
208
+ # Settings for Dotnet client libraries.
209
+ # @!attribute [rw] common
210
+ # @return [::Google::Api::CommonLanguageSettings]
211
+ # Some settings.
212
+ class DotnetSettings
213
+ include ::Google::Protobuf::MessageExts
214
+ extend ::Google::Protobuf::MessageExts::ClassMethods
215
+ end
216
+
217
+ # Settings for Ruby client libraries.
218
+ # @!attribute [rw] common
219
+ # @return [::Google::Api::CommonLanguageSettings]
220
+ # Some settings.
221
+ class RubySettings
222
+ include ::Google::Protobuf::MessageExts
223
+ extend ::Google::Protobuf::MessageExts::ClassMethods
224
+ end
225
+
226
+ # Settings for Go client libraries.
227
+ # @!attribute [rw] common
228
+ # @return [::Google::Api::CommonLanguageSettings]
229
+ # Some settings.
230
+ class GoSettings
231
+ include ::Google::Protobuf::MessageExts
232
+ extend ::Google::Protobuf::MessageExts::ClassMethods
233
+ end
234
+
235
+ # Describes the generator configuration for a method.
236
+ # @!attribute [rw] selector
237
+ # @return [::String]
238
+ # The fully qualified name of the method, for which the options below apply.
239
+ # This is used to find the method to apply the options.
240
+ # @!attribute [rw] long_running
241
+ # @return [::Google::Api::MethodSettings::LongRunning]
242
+ # Describes settings to use for long-running operations when generating
243
+ # API methods for RPCs. Complements RPCs that use the annotations in
244
+ # google/longrunning/operations.proto.
245
+ #
246
+ # Example of a YAML configuration::
247
+ #
248
+ # publishing:
249
+ # method_settings:
250
+ # - selector: google.cloud.speech.v2.Speech.BatchRecognize
251
+ # long_running:
252
+ # initial_poll_delay:
253
+ # seconds: 60 # 1 minute
254
+ # poll_delay_multiplier: 1.5
255
+ # max_poll_delay:
256
+ # seconds: 360 # 6 minutes
257
+ # total_poll_timeout:
258
+ # seconds: 54000 # 90 minutes
259
+ class MethodSettings
260
+ include ::Google::Protobuf::MessageExts
261
+ extend ::Google::Protobuf::MessageExts::ClassMethods
262
+
263
+ # Describes settings to use when generating API methods that use the
264
+ # long-running operation pattern.
265
+ # All default values below are from those used in the client library
266
+ # generators (e.g.
267
+ # [Java](https://github.com/googleapis/gapic-generator-java/blob/04c2faa191a9b5a10b92392fe8482279c4404803/src/main/java/com/google/api/generator/gapic/composer/common/RetrySettingsComposer.java)).
268
+ # @!attribute [rw] initial_poll_delay
269
+ # @return [::Google::Protobuf::Duration]
270
+ # Initial delay after which the first poll request will be made.
271
+ # Default value: 5 seconds.
272
+ # @!attribute [rw] poll_delay_multiplier
273
+ # @return [::Float]
274
+ # Multiplier to gradually increase delay between subsequent polls until it
275
+ # reaches max_poll_delay.
276
+ # Default value: 1.5.
277
+ # @!attribute [rw] max_poll_delay
278
+ # @return [::Google::Protobuf::Duration]
279
+ # Maximum time between two subsequent poll requests.
280
+ # Default value: 45 seconds.
281
+ # @!attribute [rw] total_poll_timeout
282
+ # @return [::Google::Protobuf::Duration]
283
+ # Total polling timeout.
284
+ # Default value: 5 minutes.
285
+ class LongRunning
286
+ include ::Google::Protobuf::MessageExts
287
+ extend ::Google::Protobuf::MessageExts::ClassMethods
288
+ end
289
+ end
290
+
291
+ # The organization for which the client libraries are being published.
292
+ # Affects the url where generated docs are published, etc.
293
+ module ClientLibraryOrganization
294
+ # Not useful.
295
+ CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED = 0
296
+
297
+ # Google Cloud Platform Org.
298
+ CLOUD = 1
299
+
300
+ # Ads (Advertising) Org.
301
+ ADS = 2
302
+
303
+ # Photos Org.
304
+ PHOTOS = 3
305
+
306
+ # Street View Org.
307
+ STREET_VIEW = 4
308
+ end
309
+
310
+ # To where should client libraries be published?
311
+ module ClientLibraryDestination
312
+ # Client libraries will neither be generated nor published to package
313
+ # managers.
314
+ CLIENT_LIBRARY_DESTINATION_UNSPECIFIED = 0
315
+
316
+ # Generate the client library in a repo under github.com/googleapis,
317
+ # but don't publish it to package managers.
318
+ GITHUB = 10
319
+
320
+ # Publish the library to package managers like nuget.org and npmjs.com.
321
+ PACKAGE_MANAGER = 20
322
+ end
323
+ end
324
+ end
@@ -0,0 +1,71 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Api
22
+ # The launch stage as defined by [Google Cloud Platform
23
+ # Launch Stages](https://cloud.google.com/terms/launch-stages).
24
+ module LaunchStage
25
+ # Do not use this default value.
26
+ LAUNCH_STAGE_UNSPECIFIED = 0
27
+
28
+ # The feature is not yet implemented. Users can not use it.
29
+ UNIMPLEMENTED = 6
30
+
31
+ # Prelaunch features are hidden from users and are only visible internally.
32
+ PRELAUNCH = 7
33
+
34
+ # Early Access features are limited to a closed group of testers. To use
35
+ # these features, you must sign up in advance and sign a Trusted Tester
36
+ # agreement (which includes confidentiality provisions). These features may
37
+ # be unstable, changed in backward-incompatible ways, and are not
38
+ # guaranteed to be released.
39
+ EARLY_ACCESS = 1
40
+
41
+ # Alpha is a limited availability test for releases before they are cleared
42
+ # for widespread use. By Alpha, all significant design issues are resolved
43
+ # and we are in the process of verifying functionality. Alpha customers
44
+ # need to apply for access, agree to applicable terms, and have their
45
+ # projects allowlisted. Alpha releases don't have to be feature complete,
46
+ # no SLAs are provided, and there are no technical support obligations, but
47
+ # they will be far enough along that customers can actually use them in
48
+ # test environments or for limited-use tests -- just like they would in
49
+ # normal production cases.
50
+ ALPHA = 2
51
+
52
+ # Beta is the point at which we are ready to open a release for any
53
+ # customer to use. There are no SLA or technical support obligations in a
54
+ # Beta release. Products will be complete from a feature perspective, but
55
+ # may have some open outstanding issues. Beta releases are suitable for
56
+ # limited production use cases.
57
+ BETA = 3
58
+
59
+ # GA features are open to all developers and are considered stable and
60
+ # fully qualified for production use.
61
+ GA = 4
62
+
63
+ # Deprecated features are scheduled to be shut down and removed. For more
64
+ # information, see the "Deprecation Policy" section of our [Terms of
65
+ # Service](https://cloud.google.com/terms/)
66
+ # and the [Google Cloud Platform Subject to the Deprecation
67
+ # Policy](https://cloud.google.com/terms/deprecation) documentation.
68
+ DEPRECATED = 5
69
+ end
70
+ end
71
+ end
@@ -56,8 +56,9 @@ module Google
56
56
  # - `ts` - the corresponding file extension is `.ts`
57
57
  # @!attribute [rw] elementary_streams
58
58
  # @return [::Array<::String>]
59
- # List of `ElementaryStream` {::Google::Cloud::Video::LiveStream::V1::ElementaryStream#key key}s multiplexed in this
60
- # stream.
59
+ # List of `ElementaryStream`
60
+ # {::Google::Cloud::Video::LiveStream::V1::ElementaryStream#key key}s multiplexed
61
+ # in this stream.
61
62
  #
62
63
  # - For `fmp4` container, must contain either one video or one audio stream.
63
64
  # - For `ts` container, must contain exactly one audio stream and up to one
@@ -65,6 +66,10 @@ module Google
65
66
  # @!attribute [rw] segment_settings
66
67
  # @return [::Google::Cloud::Video::LiveStream::V1::SegmentSettings]
67
68
  # Segment settings for `fmp4` and `ts`.
69
+ # @!attribute [rw] encryption_id
70
+ # @return [::String]
71
+ # Identifier of the encryption configuration to use. If omitted, output
72
+ # will be unencrypted.
68
73
  class MuxStream
69
74
  include ::Google::Protobuf::MessageExts
70
75
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -74,15 +79,17 @@ module Google
74
79
  # @!attribute [rw] file_name
75
80
  # @return [::String]
76
81
  # The name of the generated file. The default is `manifest` with the
77
- # extension suffix corresponding to the `Manifest` {::Google::Cloud::Video::LiveStream::V1::Manifest#type type}. If multiple
82
+ # extension suffix corresponding to the `Manifest`
83
+ # {::Google::Cloud::Video::LiveStream::V1::Manifest#type type}. If multiple
78
84
  # manifests are added to the channel, each must have a unique file name.
79
85
  # @!attribute [rw] type
80
86
  # @return [::Google::Cloud::Video::LiveStream::V1::Manifest::ManifestType]
81
87
  # Required. Type of the manifest, can be `HLS` or `DASH`.
82
88
  # @!attribute [rw] mux_streams
83
89
  # @return [::Array<::String>]
84
- # Required. List of `MuxStream` {::Google::Cloud::Video::LiveStream::V1::MuxStream#key key}s that should appear in this
85
- # manifest.
90
+ # Required. List of `MuxStream`
91
+ # {::Google::Cloud::Video::LiveStream::V1::MuxStream#key key}s that should appear
92
+ # in this manifest.
86
93
  #
87
94
  # - For HLS, either `fmp4` or `ts` mux streams can be specified but not
88
95
  # mixed.
@@ -101,6 +108,15 @@ module Google
101
108
  # errors while accessing segments which are listed in the manifest that the
102
109
  # player has, but were already deleted from the output Google Cloud Storage
103
110
  # bucket. Default value is `60s`.
111
+ # @!attribute [rw] use_timecode_as_timeline
112
+ # @return [::Boolean]
113
+ # Whether to use the timecode, as specified in timecode config, when setting:
114
+ #
115
+ # - `availabilityStartTime` attribute in DASH manifests.
116
+ # - `#EXT-X-PROGRAM-DATE-TIME` tag in HLS manifests.
117
+ #
118
+ # If false, ignore the input timecode and use the time from system clock
119
+ # when the manifest is first generated. This is the default behavior.
104
120
  class Manifest
105
121
  include ::Google::Protobuf::MessageExts
106
122
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -164,6 +180,9 @@ module Google
164
180
  end
165
181
 
166
182
  # Preprocessing configurations.
183
+ # @!attribute [rw] audio
184
+ # @return [::Google::Cloud::Video::LiveStream::V1::PreprocessingConfig::Audio]
185
+ # Audio preprocessing configuration.
167
186
  # @!attribute [rw] crop
168
187
  # @return [::Google::Cloud::Video::LiveStream::V1::PreprocessingConfig::Crop]
169
188
  # Specify the video cropping configuration.
@@ -174,6 +193,25 @@ module Google
174
193
  include ::Google::Protobuf::MessageExts
175
194
  extend ::Google::Protobuf::MessageExts::ClassMethods
176
195
 
196
+ # Audio preprocessing configuration.
197
+ # @!attribute [rw] lufs
198
+ # @return [::Float]
199
+ # Specify audio loudness normalization in loudness units relative to full
200
+ # scale (LUFS). Enter a value between -24 and 0 according to the following:
201
+ #
202
+ # - -24 is the Advanced Television Systems Committee (ATSC A/85)
203
+ # - -23 is the EU R128 broadcast standard
204
+ # - -19 is the prior standard for online mono audio
205
+ # - -18 is the ReplayGain standard
206
+ # - -16 is the prior standard for stereo audio
207
+ # - -14 is the new online audio standard recommended by Spotify, as well as
208
+ # Amazon Echo
209
+ # - 0 disables normalization. The default is 0.
210
+ class Audio
211
+ include ::Google::Protobuf::MessageExts
212
+ extend ::Google::Protobuf::MessageExts::ClassMethods
213
+ end
214
+
177
215
  # Video cropping configuration for the input video. The cropped input video
178
216
  # is scaled to match the output resolution.
179
217
  # @!attribute [rw] top_pixels
@@ -232,8 +270,8 @@ module Google
232
270
  # Valid range is [180, 1080].
233
271
  # @!attribute [rw] frame_rate
234
272
  # @return [::Float]
235
- # Required. The target video frame rate in frames per second (FPS). Must be less
236
- # than or equal to 60. Will default to the input frame rate if larger
273
+ # Required. The target video frame rate in frames per second (FPS). Must be
274
+ # less than or equal to 60. Will default to the input frame rate if larger
237
275
  # than the input frame rate. The API will generate an output FPS that is
238
276
  # divisible by the input FPS, and smaller or equal to the target FPS. See
239
277
  # [Calculating frame
@@ -260,15 +298,17 @@ module Google
260
298
  # @return [::Google::Protobuf::Duration]
261
299
  # Select the GOP size based on the specified duration. The default is
262
300
  # `2s`. Note that `gopDuration` must be less than or equal to
263
- # {::Google::Cloud::Video::LiveStream::V1::SegmentSettings#segment_duration segment_duration}, and
264
- # {::Google::Cloud::Video::LiveStream::V1::SegmentSettings#segment_duration segment_duration} must be divisible
265
- # by `gopDuration`. Valid range is [2s, 20s].
301
+ # {::Google::Cloud::Video::LiveStream::V1::SegmentSettings#segment_duration segment_duration},
302
+ # and
303
+ # {::Google::Cloud::Video::LiveStream::V1::SegmentSettings#segment_duration segment_duration}
304
+ # must be divisible by `gopDuration`. Valid range is [2s, 20s].
266
305
  #
267
306
  # All video streams in the same channel must have the same GOP size.
268
307
  # @!attribute [rw] vbv_size_bits
269
308
  # @return [::Integer]
270
309
  # Size of the Video Buffering Verifier (VBV) buffer in bits. Must be
271
- # greater than zero. The default is equal to {::Google::Cloud::Video::LiveStream::V1::VideoStream::H264CodecSettings#bitrate_bps bitrate_bps}.
310
+ # greater than zero. The default is equal to
311
+ # {::Google::Cloud::Video::LiveStream::V1::VideoStream::H264CodecSettings#bitrate_bps bitrate_bps}.
272
312
  # @!attribute [rw] vbv_fullness_bits
273
313
  # @return [::Integer]
274
314
  # Initial fullness of the Video Buffering Verifier (VBV) buffer in bits.
@@ -289,8 +329,9 @@ module Google
289
329
  # @!attribute [rw] b_frame_count
290
330
  # @return [::Integer]
291
331
  # The number of consecutive B-frames. Must be greater than or equal to
292
- # zero. Must be less than {::Google::Cloud::Video::LiveStream::V1::VideoStream::H264CodecSettings#gop_frame_count gop_frame_count} if set. The default
293
- # is 0.
332
+ # zero. Must be less than
333
+ # {::Google::Cloud::Video::LiveStream::V1::VideoStream::H264CodecSettings#gop_frame_count gop_frame_count}
334
+ # if set. The default is 0.
294
335
  # @!attribute [rw] aq_strength
295
336
  # @return [::Float]
296
337
  # Specify the intensity of the adaptive quantizer (AQ). Must be between 0
@@ -308,7 +349,8 @@ module Google
308
349
  # The available options are [FFmpeg-compatible Profile
309
350
  # Options](https://trac.ffmpeg.org/wiki/Encode/H.264#Profile).
310
351
  # Note that certain values for this field may cause the
311
- # transcoder to override other fields you set in the {::Google::Cloud::Video::LiveStream::V1::VideoStream::H264CodecSettings H264CodecSettings}
352
+ # transcoder to override other fields you set in the
353
+ # {::Google::Cloud::Video::LiveStream::V1::VideoStream::H264CodecSettings H264CodecSettings}
312
354
  # message.
313
355
  # @!attribute [rw] tune
314
356
  # @return [::String]
@@ -316,7 +358,9 @@ module Google
316
358
  # [FFmpeg-compatible Encode
317
359
  # Options](https://trac.ffmpeg.org/wiki/Encode/H.264#Tune)
318
360
  # Note that certain values for this field may cause the transcoder to
319
- # override other fields you set in the {::Google::Cloud::Video::LiveStream::V1::VideoStream::H264CodecSettings H264CodecSettings} message.
361
+ # override other fields you set in the
362
+ # {::Google::Cloud::Video::LiveStream::V1::VideoStream::H264CodecSettings H264CodecSettings}
363
+ # message.
320
364
  class H264CodecSettings
321
365
  include ::Google::Protobuf::MessageExts
322
366
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -338,7 +382,8 @@ module Google
338
382
  # - `aac`
339
383
  # @!attribute [rw] bitrate_bps
340
384
  # @return [::Integer]
341
- # Required. Audio bitrate in bits per second. Must be between 1 and 10,000,000.
385
+ # Required. Audio bitrate in bits per second. Must be between 1 and
386
+ # 10,000,000.
342
387
  # @!attribute [rw] channel_count
343
388
  # @return [::Integer]
344
389
  # Number of audio channels. Must be between 1 and 6. The default is 2.
@@ -369,21 +414,29 @@ module Google
369
414
  # The mapping for the input streams and audio channels.
370
415
  # @!attribute [rw] input_key
371
416
  # @return [::String]
372
- # Required. The `Channel` {::Google::Cloud::Video::LiveStream::V1::InputAttachment#key InputAttachment.key} that identifies the input that this
373
- # audio mapping applies to. If an active input doesn't have an audio
374
- # mapping, the primary audio track in the input stream will be selected.
417
+ # Required. The `Channel`
418
+ # {::Google::Cloud::Video::LiveStream::V1::InputAttachment#key InputAttachment.key}
419
+ # that identifies the input that this audio mapping applies to. If an
420
+ # active input doesn't have an audio mapping, the primary audio track in
421
+ # the input stream will be selected.
375
422
  # @!attribute [rw] input_track
376
423
  # @return [::Integer]
377
424
  # Required. The zero-based index of the track in the input stream.
378
- # All {::Google::Cloud::Video::LiveStream::V1::AudioStream#mapping mapping}s in the same {::Google::Cloud::Video::LiveStream::V1::AudioStream AudioStream}
379
- # must have the same input track.
425
+ # All {::Google::Cloud::Video::LiveStream::V1::AudioStream#mapping mapping}s in
426
+ # the same {::Google::Cloud::Video::LiveStream::V1::AudioStream AudioStream} must
427
+ # have the same input track.
380
428
  # @!attribute [rw] input_channel
381
429
  # @return [::Integer]
382
430
  # Required. The zero-based index of the channel in the input stream.
383
431
  # @!attribute [rw] output_channel
384
432
  # @return [::Integer]
385
433
  # Required. The zero-based index of the channel in the output audio stream.
386
- # Must be consistent with the {::Google::Cloud::Video::LiveStream::V1::AudioStream::AudioMapping#input_channel input_channel}.
434
+ # Must be consistent with the
435
+ # {::Google::Cloud::Video::LiveStream::V1::AudioStream::AudioMapping#input_channel input_channel}.
436
+ # @!attribute [rw] gain_db
437
+ # @return [::Float]
438
+ # Audio volume control in dB. Negative values decrease volume,
439
+ # positive values increase. The default is 0.
387
440
  class AudioMapping
388
441
  include ::Google::Protobuf::MessageExts
389
442
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -409,17 +462,46 @@ module Google
409
462
  # @return [::Google::Protobuf::Duration]
410
463
  # Duration of the segments in seconds. The default is `6s`. Note that
411
464
  # `segmentDuration` must be greater than or equal to
412
- # {::Google::Cloud::Video::LiveStream::V1::VideoStream::H264CodecSettings#gop_duration gop_duration}, and
413
- # `segmentDuration` must be divisible by
465
+ # {::Google::Cloud::Video::LiveStream::V1::VideoStream::H264CodecSettings#gop_duration gop_duration},
466
+ # and `segmentDuration` must be divisible by
414
467
  # {::Google::Cloud::Video::LiveStream::V1::VideoStream::H264CodecSettings#gop_duration gop_duration}.
415
468
  # Valid range is [2s, 20s].
416
469
  #
417
- # All {::Google::Cloud::Video::LiveStream::V1::Manifest#mux_streams mux_streams} in the same manifest must have the
418
- # same segment duration.
470
+ # All {::Google::Cloud::Video::LiveStream::V1::Manifest#mux_streams mux_streams} in
471
+ # the same manifest must have the same segment duration.
419
472
  class SegmentSettings
420
473
  include ::Google::Protobuf::MessageExts
421
474
  extend ::Google::Protobuf::MessageExts::ClassMethods
422
475
  end
476
+
477
+ # Timecode configuration.
478
+ # @!attribute [rw] source
479
+ # @return [::Google::Cloud::Video::LiveStream::V1::TimecodeConfig::TimecodeSource]
480
+ # The source of the timecode that will later be used in outputs/manifests.
481
+ # It determines the initial timecode/timestamp (first frame) of output
482
+ # streams.
483
+ # @!attribute [rw] utc_offset
484
+ # @return [::Google::Protobuf::Duration]
485
+ # UTC offset. Must be whole seconds, between -18 hours and +18 hours.
486
+ # @!attribute [rw] time_zone
487
+ # @return [::Google::Type::TimeZone]
488
+ # Time zone e.g. "America/Los_Angeles".
489
+ class TimecodeConfig
490
+ include ::Google::Protobuf::MessageExts
491
+ extend ::Google::Protobuf::MessageExts::ClassMethods
492
+
493
+ # The source of timecode.
494
+ module TimecodeSource
495
+ # The timecode source is not specified.
496
+ TIMECODE_SOURCE_UNSPECIFIED = 0
497
+
498
+ # Use input media timestamp.
499
+ MEDIA_TIMESTAMP = 1
500
+
501
+ # Use input embedded timecode e.g. picture timing SEI message.
502
+ EMBEDDED_TIMECODE = 2
503
+ end
504
+ end
423
505
  end
424
506
  end
425
507
  end