google-cloud-video-live_stream-v1 0.2.0 → 0.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.
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