google-cloud-video_intelligence-v1 0.2.5 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -33,3 +33,6 @@ module Google
33
33
  end
34
34
  end
35
35
  end
36
+
37
+ helper_path = ::File.join __dir__, "v1", "_helpers.rb"
38
+ require "google/cloud/video_intelligence/v1/_helpers" if ::File.file? helper_path
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module VideoIntelligence
23
23
  module V1
24
- VERSION = "0.2.5"
24
+ VERSION = "0.6.0"
25
25
  end
26
26
  end
27
27
  end
@@ -31,7 +31,7 @@ module Google
31
31
  module VideoIntelligence
32
32
  module V1
33
33
  ##
34
- # Service that implements Google Cloud Video Intelligence API.
34
+ # Service that implements the Video Intelligence API.
35
35
  #
36
36
  # To load this service and instantiate a client:
37
37
  #
@@ -27,7 +27,7 @@ module Google
27
27
  ##
28
28
  # Client for the VideoIntelligenceService service.
29
29
  #
30
- # Service that implements Google Cloud Video Intelligence API.
30
+ # Service that implements the Video Intelligence API.
31
31
  #
32
32
  class Client
33
33
  # @private
@@ -58,7 +58,7 @@ module Google
58
58
  parent_config = while namespace.any?
59
59
  parent_name = namespace.join "::"
60
60
  parent_const = const_get parent_name
61
- break parent_const.configure if parent_const&.respond_to? :configure
61
+ break parent_const.configure if parent_const.respond_to? :configure
62
62
  namespace.pop
63
63
  end
64
64
  default_config = Client::Configuration.new parent_config
@@ -66,9 +66,9 @@ module Google
66
66
  default_config.rpcs.annotate_video.timeout = 600.0
67
67
  default_config.rpcs.annotate_video.retry_policy = {
68
68
  initial_delay: 1.0,
69
- max_delay: 120.0,
70
- multiplier: 2.5,
71
- retry_codes: [14, 4]
69
+ max_delay: 120.0,
70
+ multiplier: 2.5,
71
+ retry_codes: [14, 4]
72
72
  }
73
73
 
74
74
  default_config
@@ -132,7 +132,13 @@ module Google
132
132
 
133
133
  # Create credentials
134
134
  credentials = @config.credentials
135
- credentials ||= Credentials.default scope: @config.scope
135
+ # Use self-signed JWT if the scope and endpoint are unchanged from default,
136
+ # but only if the default endpoint does not have a region prefix.
137
+ enable_self_signed_jwt = @config.scope == Client.configure.scope &&
138
+ @config.endpoint == Client.configure.endpoint &&
139
+ !@config.endpoint.split(".").first.include?("-")
140
+ credentials ||= Credentials.default scope: @config.scope,
141
+ enable_self_signed_jwt: enable_self_signed_jwt
136
142
  if credentials.is_a?(String) || credentials.is_a?(Hash)
137
143
  credentials = Credentials.new credentials, scope: @config.scope
138
144
  end
@@ -185,34 +191,37 @@ module Google
185
191
  #
186
192
  # @param input_uri [::String]
187
193
  # Input video location. Currently, only
188
- # [Google Cloud Storage](https://cloud.google.com/storage/) URIs are
189
- # supported, which must be specified in the following format:
194
+ # [Cloud Storage](https://cloud.google.com/storage/) URIs are
195
+ # supported. URIs must be specified in the following format:
190
196
  # `gs://bucket-id/object-id` (other URI formats return
191
- # [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see
192
- # [Request URIs](https://cloud.google.com/storage/docs/request-endpoints).
193
- # A video URI may include wildcards in `object-id`, and thus identify
194
- # multiple videos. Supported wildcards: '*' to match 0 or more characters;
197
+ # [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For
198
+ # more information, see [Request
199
+ # URIs](https://cloud.google.com/storage/docs/request-endpoints). To identify
200
+ # multiple videos, a video URI may include wildcards in the `object-id`.
201
+ # Supported wildcards: '*' to match 0 or more characters;
195
202
  # '?' to match 1 character. If unset, the input video should be embedded
196
- # in the request as `input_content`. If set, `input_content` should be unset.
203
+ # in the request as `input_content`. If set, `input_content` must be unset.
197
204
  # @param input_content [::String]
198
205
  # The video data bytes.
199
- # If unset, the input video(s) should be specified via `input_uri`.
200
- # If set, `input_uri` should be unset.
206
+ # If unset, the input video(s) should be specified via the `input_uri`.
207
+ # If set, `input_uri` must be unset.
201
208
  # @param features [::Array<::Google::Cloud::VideoIntelligence::V1::Feature>]
202
209
  # Required. Requested video annotation features.
203
210
  # @param video_context [::Google::Cloud::VideoIntelligence::V1::VideoContext, ::Hash]
204
211
  # Additional video context and/or feature-specific parameters.
205
212
  # @param output_uri [::String]
206
213
  # Optional. Location where the output (in JSON format) should be stored.
207
- # Currently, only [Google Cloud Storage](https://cloud.google.com/storage/)
208
- # URIs are supported, which must be specified in the following format:
214
+ # Currently, only [Cloud Storage](https://cloud.google.com/storage/)
215
+ # URIs are supported. These must be specified in the following format:
209
216
  # `gs://bucket-id/object-id` (other URI formats return
210
- # [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see
211
- # [Request URIs](https://cloud.google.com/storage/docs/request-endpoints).
217
+ # [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For
218
+ # more information, see [Request
219
+ # URIs](https://cloud.google.com/storage/docs/request-endpoints).
212
220
  # @param location_id [::String]
213
221
  # Optional. Cloud region where annotation should take place. Supported cloud
214
- # regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region
215
- # is specified, a region will be determined based on video file location.
222
+ # regions are: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no
223
+ # region is specified, the region will be determined based on video file
224
+ # location.
216
225
  #
217
226
  # @yield [response, operation] Access the result along with the RPC operation
218
227
  # @yieldparam response [::Gapic::Operation]
@@ -346,7 +355,7 @@ module Google
346
355
  config_attr :scope, nil, ::String, ::Array, nil
347
356
  config_attr :lib_name, nil, ::String, nil
348
357
  config_attr :lib_version, nil, ::String, nil
349
- config_attr(:channel_args, { "grpc.service_config_disable_resolution"=>1 }, ::Hash, nil)
358
+ config_attr(:channel_args, { "grpc.service_config_disable_resolution" => 1 }, ::Hash, nil)
350
359
  config_attr :interceptors, nil, ::Array, nil
351
360
  config_attr :timeout, nil, ::Numeric, nil
352
361
  config_attr :metadata, nil, ::Hash, nil
@@ -367,7 +376,7 @@ module Google
367
376
  def rpcs
368
377
  @rpcs ||= begin
369
378
  parent_rpcs = nil
370
- parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config&.respond_to?(:rpcs)
379
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
371
380
  Rpcs.new parent_rpcs
372
381
  end
373
382
  end
@@ -379,7 +388,7 @@ module Google
379
388
  # Each configuration object is of type `Gapic::Config::Method` and includes
380
389
  # the following configuration fields:
381
390
  #
382
- # * `timeout` (*type:* `Numeric`) - The call timeout in milliseconds
391
+ # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
383
392
  # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
384
393
  # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
385
394
  # include the following keys:
@@ -398,7 +407,7 @@ module Google
398
407
 
399
408
  # @private
400
409
  def initialize parent_rpcs = nil
401
- annotate_video_config = parent_rpcs&.annotate_video if parent_rpcs&.respond_to? :annotate_video
410
+ annotate_video_config = parent_rpcs.annotate_video if parent_rpcs.respond_to? :annotate_video
402
411
  @annotate_video = ::Gapic::Config::Method.new annotate_video_config
403
412
 
404
413
  yield self if block_given?
@@ -103,8 +103,13 @@ module Google
103
103
  # Lists operations that match the specified filter in the request. If the
104
104
  # server doesn't support this method, it returns `UNIMPLEMENTED`.
105
105
  #
106
- # NOTE: the `name` binding below allows API services to override the binding
107
- # to use different resource name schemes, such as `users/*/operations`.
106
+ # NOTE: the `name` binding allows API services to override the binding
107
+ # to use different resource name schemes, such as `users/*/operations`. To
108
+ # override the binding, API services can add a binding such as
109
+ # `"/v1/{name=users/*}/operations"` to their service configuration.
110
+ # For backwards compatibility, the default name includes the operations
111
+ # collection id, however overriding users must ensure the name binding
112
+ # is the parent resource, without the operations collection id.
108
113
  #
109
114
  # @overload list_operations(request, options = nil)
110
115
  # Pass arguments to `list_operations` via a request object, either of type
@@ -122,7 +127,7 @@ module Google
122
127
  # the default parameter values, pass an empty Hash as a request object (see above).
123
128
  #
124
129
  # @param name [::String]
125
- # The name of the operation collection.
130
+ # The name of the operation's parent resource.
126
131
  # @param filter [::String]
127
132
  # The standard list filter.
128
133
  # @param page_size [::Integer]
@@ -390,6 +395,79 @@ module Google
390
395
  raise ::Google::Cloud::Error.from_error(e)
391
396
  end
392
397
 
398
+ ##
399
+ # Waits for the specified long-running operation until it is done or reaches
400
+ # at most a specified timeout, returning the latest state. If the operation
401
+ # is already done, the latest state is immediately returned. If the timeout
402
+ # specified is greater than the default HTTP/RPC timeout, the HTTP/RPC
403
+ # timeout is used. If the server does not support this method, it returns
404
+ # `google.rpc.Code.UNIMPLEMENTED`.
405
+ # Note that this method is on a best-effort basis. It may return the latest
406
+ # state before the specified timeout (including immediately), meaning even an
407
+ # immediate response is no guarantee that the operation is done.
408
+ #
409
+ # @overload wait_operation(request, options = nil)
410
+ # Pass arguments to `wait_operation` via a request object, either of type
411
+ # {::Google::Longrunning::WaitOperationRequest} or an equivalent Hash.
412
+ #
413
+ # @param request [::Google::Longrunning::WaitOperationRequest, ::Hash]
414
+ # A request object representing the call parameters. Required. To specify no
415
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
416
+ # @param options [::Gapic::CallOptions, ::Hash]
417
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
418
+ #
419
+ # @overload wait_operation(name: nil, timeout: nil)
420
+ # Pass arguments to `wait_operation` via keyword arguments. Note that at
421
+ # least one keyword argument is required. To specify no parameters, or to keep all
422
+ # the default parameter values, pass an empty Hash as a request object (see above).
423
+ #
424
+ # @param name [::String]
425
+ # The name of the operation resource to wait on.
426
+ # @param timeout [::Google::Protobuf::Duration, ::Hash]
427
+ # The maximum duration to wait before timing out. If left blank, the wait
428
+ # will be at most the time permitted by the underlying HTTP/RPC protocol.
429
+ # If RPC context deadline is also specified, the shorter one will be used.
430
+ #
431
+ # @yield [response, operation] Access the result along with the RPC operation
432
+ # @yieldparam response [::Gapic::Operation]
433
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
434
+ #
435
+ # @return [::Gapic::Operation]
436
+ #
437
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
438
+ #
439
+ def wait_operation request, options = nil
440
+ raise ::ArgumentError, "request must be provided" if request.nil?
441
+
442
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Longrunning::WaitOperationRequest
443
+
444
+ # Converts hash and nil to an options object
445
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
446
+
447
+ # Customize the options with defaults
448
+ metadata = @config.rpcs.wait_operation.metadata.to_h
449
+
450
+ # Set x-goog-api-client and x-goog-user-project headers
451
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
452
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
453
+ gapic_version: ::Google::Cloud::VideoIntelligence::V1::VERSION
454
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
455
+
456
+ options.apply_defaults timeout: @config.rpcs.wait_operation.timeout,
457
+ metadata: metadata,
458
+ retry_policy: @config.rpcs.wait_operation.retry_policy
459
+ options.apply_defaults metadata: @config.metadata,
460
+ retry_policy: @config.retry_policy
461
+
462
+ @operations_stub.call_rpc :wait_operation, request, options: options do |response, operation|
463
+ response = ::Gapic::Operation.new response, @operations_client, options: options
464
+ yield response, operation if block_given?
465
+ return response
466
+ end
467
+ rescue ::GRPC::BadStatus => e
468
+ raise ::Google::Cloud::Error.from_error(e)
469
+ end
470
+
393
471
  ##
394
472
  # Configuration class for the Operations API.
395
473
  #
@@ -482,7 +560,7 @@ module Google
482
560
  config_attr :scope, nil, ::String, ::Array, nil
483
561
  config_attr :lib_name, nil, ::String, nil
484
562
  config_attr :lib_version, nil, ::String, nil
485
- config_attr(:channel_args, { "grpc.service_config_disable_resolution"=>1 }, ::Hash, nil)
563
+ config_attr(:channel_args, { "grpc.service_config_disable_resolution" => 1 }, ::Hash, nil)
486
564
  config_attr :interceptors, nil, ::Array, nil
487
565
  config_attr :timeout, nil, ::Numeric, nil
488
566
  config_attr :metadata, nil, ::Hash, nil
@@ -503,7 +581,7 @@ module Google
503
581
  def rpcs
504
582
  @rpcs ||= begin
505
583
  parent_rpcs = nil
506
- parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config&.respond_to?(:rpcs)
584
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
507
585
  Rpcs.new parent_rpcs
508
586
  end
509
587
  end
@@ -515,7 +593,7 @@ module Google
515
593
  # Each configuration object is of type `Gapic::Config::Method` and includes
516
594
  # the following configuration fields:
517
595
  #
518
- # * `timeout` (*type:* `Numeric`) - The call timeout in milliseconds
596
+ # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
519
597
  # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
520
598
  # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
521
599
  # include the following keys:
@@ -546,17 +624,24 @@ module Google
546
624
  # @return [::Gapic::Config::Method]
547
625
  #
548
626
  attr_reader :cancel_operation
627
+ ##
628
+ # RPC-specific configuration for `wait_operation`
629
+ # @return [::Gapic::Config::Method]
630
+ #
631
+ attr_reader :wait_operation
549
632
 
550
633
  # @private
551
634
  def initialize parent_rpcs = nil
552
- list_operations_config = parent_rpcs&.list_operations if parent_rpcs&.respond_to? :list_operations
635
+ list_operations_config = parent_rpcs.list_operations if parent_rpcs.respond_to? :list_operations
553
636
  @list_operations = ::Gapic::Config::Method.new list_operations_config
554
- get_operation_config = parent_rpcs&.get_operation if parent_rpcs&.respond_to? :get_operation
637
+ get_operation_config = parent_rpcs.get_operation if parent_rpcs.respond_to? :get_operation
555
638
  @get_operation = ::Gapic::Config::Method.new get_operation_config
556
- delete_operation_config = parent_rpcs&.delete_operation if parent_rpcs&.respond_to? :delete_operation
639
+ delete_operation_config = parent_rpcs.delete_operation if parent_rpcs.respond_to? :delete_operation
557
640
  @delete_operation = ::Gapic::Config::Method.new delete_operation_config
558
- cancel_operation_config = parent_rpcs&.cancel_operation if parent_rpcs&.respond_to? :cancel_operation
641
+ cancel_operation_config = parent_rpcs.cancel_operation if parent_rpcs.respond_to? :cancel_operation
559
642
  @cancel_operation = ::Gapic::Config::Method.new cancel_operation_config
643
+ wait_operation_config = parent_rpcs.wait_operation if parent_rpcs.respond_to? :wait_operation
644
+ @wait_operation = ::Gapic::Config::Method.new wait_operation_config
560
645
 
561
646
  yield self if block_given?
562
647
  end
@@ -28,6 +28,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
28
28
  optional :face_detection_config, :message, 5, "google.cloud.videointelligence.v1.FaceDetectionConfig"
29
29
  optional :speech_transcription_config, :message, 6, "google.cloud.videointelligence.v1.SpeechTranscriptionConfig"
30
30
  optional :text_detection_config, :message, 8, "google.cloud.videointelligence.v1.TextDetectionConfig"
31
+ optional :person_detection_config, :message, 11, "google.cloud.videointelligence.v1.PersonDetectionConfig"
31
32
  optional :object_tracking_config, :message, 13, "google.cloud.videointelligence.v1.ObjectTrackingConfig"
32
33
  end
33
34
  add_message "google.cloud.videointelligence.v1.LabelDetectionConfig" do
@@ -46,6 +47,12 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
46
47
  add_message "google.cloud.videointelligence.v1.FaceDetectionConfig" do
47
48
  optional :model, :string, 1
48
49
  optional :include_bounding_boxes, :bool, 2
50
+ optional :include_attributes, :bool, 5
51
+ end
52
+ add_message "google.cloud.videointelligence.v1.PersonDetectionConfig" do
53
+ optional :include_bounding_boxes, :bool, 1
54
+ optional :include_pose_landmarks, :bool, 2
55
+ optional :include_attributes, :bool, 3
49
56
  end
50
57
  add_message "google.cloud.videointelligence.v1.ExplicitContentDetectionConfig" do
51
58
  optional :model, :string, 1
@@ -76,6 +83,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
76
83
  repeated :category_entities, :message, 2, "google.cloud.videointelligence.v1.Entity"
77
84
  repeated :segments, :message, 3, "google.cloud.videointelligence.v1.LabelSegment"
78
85
  repeated :frames, :message, 4, "google.cloud.videointelligence.v1.LabelFrame"
86
+ optional :version, :string, 5
79
87
  end
80
88
  add_message "google.cloud.videointelligence.v1.ExplicitContentFrame" do
81
89
  optional :time_offset, :message, 1, "google.protobuf.Duration"
@@ -83,6 +91,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
83
91
  end
84
92
  add_message "google.cloud.videointelligence.v1.ExplicitContentAnnotation" do
85
93
  repeated :frames, :message, 1, "google.cloud.videointelligence.v1.ExplicitContentFrame"
94
+ optional :version, :string, 2
86
95
  end
87
96
  add_message "google.cloud.videointelligence.v1.NormalizedBoundingBox" do
88
97
  optional :left, :float, 1
@@ -90,6 +99,15 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
90
99
  optional :right, :float, 3
91
100
  optional :bottom, :float, 4
92
101
  end
102
+ add_message "google.cloud.videointelligence.v1.FaceDetectionAnnotation" do
103
+ repeated :tracks, :message, 3, "google.cloud.videointelligence.v1.Track"
104
+ optional :thumbnail, :bytes, 4
105
+ optional :version, :string, 5
106
+ end
107
+ add_message "google.cloud.videointelligence.v1.PersonDetectionAnnotation" do
108
+ repeated :tracks, :message, 1, "google.cloud.videointelligence.v1.Track"
109
+ optional :version, :string, 2
110
+ end
93
111
  add_message "google.cloud.videointelligence.v1.FaceSegment" do
94
112
  optional :segment, :message, 1, "google.cloud.videointelligence.v1.VideoSegment"
95
113
  end
@@ -133,12 +151,14 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
133
151
  repeated :shot_presence_label_annotations, :message, 24, "google.cloud.videointelligence.v1.LabelAnnotation"
134
152
  repeated :frame_label_annotations, :message, 4, "google.cloud.videointelligence.v1.LabelAnnotation"
135
153
  repeated :face_annotations, :message, 5, "google.cloud.videointelligence.v1.FaceAnnotation"
154
+ repeated :face_detection_annotations, :message, 13, "google.cloud.videointelligence.v1.FaceDetectionAnnotation"
136
155
  repeated :shot_annotations, :message, 6, "google.cloud.videointelligence.v1.VideoSegment"
137
156
  optional :explicit_annotation, :message, 7, "google.cloud.videointelligence.v1.ExplicitContentAnnotation"
138
157
  repeated :speech_transcriptions, :message, 11, "google.cloud.videointelligence.v1.SpeechTranscription"
139
158
  repeated :text_annotations, :message, 12, "google.cloud.videointelligence.v1.TextAnnotation"
140
159
  repeated :object_annotations, :message, 14, "google.cloud.videointelligence.v1.ObjectTrackingAnnotation"
141
160
  repeated :logo_recognition_annotations, :message, 19, "google.cloud.videointelligence.v1.LogoRecognitionAnnotation"
161
+ repeated :person_detection_annotations, :message, 20, "google.cloud.videointelligence.v1.PersonDetectionAnnotation"
142
162
  optional :error, :message, 9, "google.rpc.Status"
143
163
  end
144
164
  add_message "google.cloud.videointelligence.v1.AnnotateVideoResponse" do
@@ -204,6 +224,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
204
224
  add_message "google.cloud.videointelligence.v1.TextAnnotation" do
205
225
  optional :text, :string, 1
206
226
  repeated :segments, :message, 2, "google.cloud.videointelligence.v1.TextSegment"
227
+ optional :version, :string, 3
207
228
  end
208
229
  add_message "google.cloud.videointelligence.v1.ObjectTrackingFrame" do
209
230
  optional :normalized_bounding_box, :message, 1, "google.cloud.videointelligence.v1.NormalizedBoundingBox"
@@ -213,6 +234,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
213
234
  optional :entity, :message, 1, "google.cloud.videointelligence.v1.Entity"
214
235
  optional :confidence, :float, 4
215
236
  repeated :frames, :message, 2, "google.cloud.videointelligence.v1.ObjectTrackingFrame"
237
+ optional :version, :string, 6
216
238
  oneof :track_info do
217
239
  optional :segment, :message, 3, "google.cloud.videointelligence.v1.VideoSegment"
218
240
  optional :track_id, :int64, 5
@@ -233,6 +255,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
233
255
  value :TEXT_DETECTION, 7
234
256
  value :OBJECT_TRACKING, 9
235
257
  value :LOGO_RECOGNITION, 12
258
+ value :PERSON_DETECTION, 14
236
259
  end
237
260
  add_enum "google.cloud.videointelligence.v1.LabelDetectionMode" do
238
261
  value :LABEL_DETECTION_MODE_UNSPECIFIED, 0
@@ -261,6 +284,7 @@ module Google
261
284
  ShotChangeDetectionConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.videointelligence.v1.ShotChangeDetectionConfig").msgclass
262
285
  ObjectTrackingConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.videointelligence.v1.ObjectTrackingConfig").msgclass
263
286
  FaceDetectionConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.videointelligence.v1.FaceDetectionConfig").msgclass
287
+ PersonDetectionConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.videointelligence.v1.PersonDetectionConfig").msgclass
264
288
  ExplicitContentDetectionConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.videointelligence.v1.ExplicitContentDetectionConfig").msgclass
265
289
  TextDetectionConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.videointelligence.v1.TextDetectionConfig").msgclass
266
290
  VideoSegment = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.videointelligence.v1.VideoSegment").msgclass
@@ -271,6 +295,8 @@ module Google
271
295
  ExplicitContentFrame = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.videointelligence.v1.ExplicitContentFrame").msgclass
272
296
  ExplicitContentAnnotation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.videointelligence.v1.ExplicitContentAnnotation").msgclass
273
297
  NormalizedBoundingBox = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.videointelligence.v1.NormalizedBoundingBox").msgclass
298
+ FaceDetectionAnnotation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.videointelligence.v1.FaceDetectionAnnotation").msgclass
299
+ PersonDetectionAnnotation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.videointelligence.v1.PersonDetectionAnnotation").msgclass
274
300
  FaceSegment = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.videointelligence.v1.FaceSegment").msgclass
275
301
  FaceFrame = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.videointelligence.v1.FaceFrame").msgclass
276
302
  FaceAnnotation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.videointelligence.v1.FaceAnnotation").msgclass
@@ -24,7 +24,7 @@ module Google
24
24
  module VideoIntelligence
25
25
  module V1
26
26
  module VideoIntelligenceService
27
- # Service that implements Google Cloud Video Intelligence API.
27
+ # Service that implements the Video Intelligence API.
28
28
  class Service
29
29
 
30
30
  include GRPC::GenericService
@@ -37,7 +37,7 @@ module Google
37
37
  # retrieved through the `google.longrunning.Operations` interface.
38
38
  # `Operation.metadata` contains `AnnotateVideoProgress` (progress).
39
39
  # `Operation.response` contains `AnnotateVideoResponse` (results).
40
- rpc :AnnotateVideo, Google::Cloud::VideoIntelligence::V1::AnnotateVideoRequest, Google::Longrunning::Operation
40
+ rpc :AnnotateVideo, ::Google::Cloud::VideoIntelligence::V1::AnnotateVideoRequest, ::Google::Longrunning::Operation
41
41
  end
42
42
 
43
43
  Stub = Service.rpc_stub_class
@@ -54,6 +54,12 @@ module Google
54
54
  # This indicates that the field may be set once in a request to create a
55
55
  # resource, but may not be changed thereafter.
56
56
  IMMUTABLE = 5
57
+
58
+ # Denotes that a (repeated) field is an unordered list.
59
+ # This indicates that the service may provide the elements of the list
60
+ # in any arbitrary order, rather than the order the user originally
61
+ # provided. Additionally, the list's order may or may not be stable.
62
+ UNORDERED_LIST = 6
57
63
  end
58
64
  end
59
65
  end