diff --git a/proto-google-cloud-video-intelligence-v1/clirr-ignored-differences.xml b/proto-google-cloud-video-intelligence-v1/clirr-ignored-differences.xml
new file mode 100644
index 000000000..685b6ddb6
--- /dev/null
+++ b/proto-google-cloud-video-intelligence-v1/clirr-ignored-differences.xml
@@ -0,0 +1,19 @@
+
+
+
+ * A generic detected attribute represented by name in string format. + *+ * + * Protobuf type {@code google.cloud.videointelligence.v1.DetectedAttribute} + */ +public final class DetectedAttribute extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.cloud.videointelligence.v1.DetectedAttribute) + DetectedAttributeOrBuilder { + private static final long serialVersionUID = 0L; + // Use DetectedAttribute.newBuilder() to construct. + private DetectedAttribute(com.google.protobuf.GeneratedMessageV3.Builder> builder) { + super(builder); + } + + private DetectedAttribute() { + name_ = ""; + value_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new DetectedAttribute(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private DetectedAttribute( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + java.lang.String s = input.readStringRequireUtf8(); + + name_ = s; + break; + } + case 21: + { + confidence_ = input.readFloat(); + break; + } + case 26: + { + java.lang.String s = input.readStringRequireUtf8(); + + value_ = s; + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.videointelligence.v1.VideoIntelligenceServiceProto + .internal_static_google_cloud_videointelligence_v1_DetectedAttribute_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.videointelligence.v1.VideoIntelligenceServiceProto + .internal_static_google_cloud_videointelligence_v1_DetectedAttribute_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.videointelligence.v1.DetectedAttribute.class, + com.google.cloud.videointelligence.v1.DetectedAttribute.Builder.class); + } + + public static final int NAME_FIELD_NUMBER = 1; + private volatile java.lang.Object name_; + /** + * + * + *
+ * The name of the attribute, i.e. glasses, dark_glasses, mouth_open etc. + * A full list of supported type names will be provided in the document. + *+ * + *
string name = 1;
+ *
+ * @return The name.
+ */
+ public java.lang.String getName() {
+ java.lang.Object ref = name_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ name_ = s;
+ return s;
+ }
+ }
+ /**
+ *
+ *
+ * + * The name of the attribute, i.e. glasses, dark_glasses, mouth_open etc. + * A full list of supported type names will be provided in the document. + *+ * + *
string name = 1;
+ *
+ * @return The bytes for name.
+ */
+ public com.google.protobuf.ByteString getNameBytes() {
+ java.lang.Object ref = name_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ name_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int CONFIDENCE_FIELD_NUMBER = 2;
+ private float confidence_;
+ /**
+ *
+ *
+ * + * Detected attribute confidence. Range [0, 1]. + *+ * + *
float confidence = 2;
+ *
+ * @return The confidence.
+ */
+ public float getConfidence() {
+ return confidence_;
+ }
+
+ public static final int VALUE_FIELD_NUMBER = 3;
+ private volatile java.lang.Object value_;
+ /**
+ *
+ *
+ * + * Text value of the detection result. For example, the value for "HairColor" + * can be "black", "blonde", etc. + *+ * + *
string value = 3;
+ *
+ * @return The value.
+ */
+ public java.lang.String getValue() {
+ java.lang.Object ref = value_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ value_ = s;
+ return s;
+ }
+ }
+ /**
+ *
+ *
+ * + * Text value of the detection result. For example, the value for "HairColor" + * can be "black", "blonde", etc. + *+ * + *
string value = 3;
+ *
+ * @return The bytes for value.
+ */
+ public com.google.protobuf.ByteString getValueBytes() {
+ java.lang.Object ref = value_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ value_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ private byte memoizedIsInitialized = -1;
+
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
+ if (!getNameBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
+ }
+ if (confidence_ != 0F) {
+ output.writeFloat(2, confidence_);
+ }
+ if (!getValueBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 3, value_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getNameBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
+ }
+ if (confidence_ != 0F) {
+ size += com.google.protobuf.CodedOutputStream.computeFloatSize(2, confidence_);
+ }
+ if (!getValueBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, value_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof com.google.cloud.videointelligence.v1.DetectedAttribute)) {
+ return super.equals(obj);
+ }
+ com.google.cloud.videointelligence.v1.DetectedAttribute other =
+ (com.google.cloud.videointelligence.v1.DetectedAttribute) obj;
+
+ if (!getName().equals(other.getName())) return false;
+ if (java.lang.Float.floatToIntBits(getConfidence())
+ != java.lang.Float.floatToIntBits(other.getConfidence())) return false;
+ if (!getValue().equals(other.getValue())) return false;
+ if (!unknownFields.equals(other.unknownFields)) return false;
+ return true;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + NAME_FIELD_NUMBER;
+ hash = (53 * hash) + getName().hashCode();
+ hash = (37 * hash) + CONFIDENCE_FIELD_NUMBER;
+ hash = (53 * hash) + java.lang.Float.floatToIntBits(getConfidence());
+ hash = (37 * hash) + VALUE_FIELD_NUMBER;
+ hash = (53 * hash) + getValue().hashCode();
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.google.cloud.videointelligence.v1.DetectedAttribute parseFrom(
+ java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.cloud.videointelligence.v1.DetectedAttribute parseFrom(
+ java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.cloud.videointelligence.v1.DetectedAttribute parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.cloud.videointelligence.v1.DetectedAttribute parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.cloud.videointelligence.v1.DetectedAttribute parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.cloud.videointelligence.v1.DetectedAttribute parseFrom(
+ byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.cloud.videointelligence.v1.DetectedAttribute parseFrom(
+ java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.cloud.videointelligence.v1.DetectedAttribute parseFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.cloud.videointelligence.v1.DetectedAttribute parseDelimitedFrom(
+ java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
+ }
+
+ public static com.google.cloud.videointelligence.v1.DetectedAttribute parseDelimitedFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.cloud.videointelligence.v1.DetectedAttribute parseFrom(
+ com.google.protobuf.CodedInputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.cloud.videointelligence.v1.DetectedAttribute parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ @java.lang.Override
+ public Builder newBuilderForType() {
+ return newBuilder();
+ }
+
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+
+ public static Builder newBuilder(
+ com.google.cloud.videointelligence.v1.DetectedAttribute prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+
+ @java.lang.Override
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ *
+ *
+ * + * A generic detected attribute represented by name in string format. + *+ * + * Protobuf type {@code google.cloud.videointelligence.v1.DetectedAttribute} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder
+ * The name of the attribute, i.e. glasses, dark_glasses, mouth_open etc. + * A full list of supported type names will be provided in the document. + *+ * + *
string name = 1;
+ *
+ * @return The name.
+ */
+ public java.lang.String getName() {
+ java.lang.Object ref = name_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ name_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ *
+ *
+ * + * The name of the attribute, i.e. glasses, dark_glasses, mouth_open etc. + * A full list of supported type names will be provided in the document. + *+ * + *
string name = 1;
+ *
+ * @return The bytes for name.
+ */
+ public com.google.protobuf.ByteString getNameBytes() {
+ java.lang.Object ref = name_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ name_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ *
+ *
+ * + * The name of the attribute, i.e. glasses, dark_glasses, mouth_open etc. + * A full list of supported type names will be provided in the document. + *+ * + *
string name = 1;
+ *
+ * @param value The name to set.
+ * @return This builder for chaining.
+ */
+ public Builder setName(java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ name_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ * + * The name of the attribute, i.e. glasses, dark_glasses, mouth_open etc. + * A full list of supported type names will be provided in the document. + *+ * + *
string name = 1;
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearName() {
+
+ name_ = getDefaultInstance().getName();
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ * + * The name of the attribute, i.e. glasses, dark_glasses, mouth_open etc. + * A full list of supported type names will be provided in the document. + *+ * + *
string name = 1;
+ *
+ * @param value The bytes for name to set.
+ * @return This builder for chaining.
+ */
+ public Builder setNameBytes(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ name_ = value;
+ onChanged();
+ return this;
+ }
+
+ private float confidence_;
+ /**
+ *
+ *
+ * + * Detected attribute confidence. Range [0, 1]. + *+ * + *
float confidence = 2;
+ *
+ * @return The confidence.
+ */
+ public float getConfidence() {
+ return confidence_;
+ }
+ /**
+ *
+ *
+ * + * Detected attribute confidence. Range [0, 1]. + *+ * + *
float confidence = 2;
+ *
+ * @param value The confidence to set.
+ * @return This builder for chaining.
+ */
+ public Builder setConfidence(float value) {
+
+ confidence_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Detected attribute confidence. Range [0, 1]. + *+ * + *
float confidence = 2;
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearConfidence() {
+
+ confidence_ = 0F;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object value_ = "";
+ /**
+ *
+ *
+ * + * Text value of the detection result. For example, the value for "HairColor" + * can be "black", "blonde", etc. + *+ * + *
string value = 3;
+ *
+ * @return The value.
+ */
+ public java.lang.String getValue() {
+ java.lang.Object ref = value_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ value_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ *
+ *
+ * + * Text value of the detection result. For example, the value for "HairColor" + * can be "black", "blonde", etc. + *+ * + *
string value = 3;
+ *
+ * @return The bytes for value.
+ */
+ public com.google.protobuf.ByteString getValueBytes() {
+ java.lang.Object ref = value_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ value_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ *
+ *
+ * + * Text value of the detection result. For example, the value for "HairColor" + * can be "black", "blonde", etc. + *+ * + *
string value = 3;
+ *
+ * @param value The value to set.
+ * @return This builder for chaining.
+ */
+ public Builder setValue(java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ value_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Text value of the detection result. For example, the value for "HairColor" + * can be "black", "blonde", etc. + *+ * + *
string value = 3;
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearValue() {
+
+ value_ = getDefaultInstance().getValue();
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Text value of the detection result. For example, the value for "HairColor" + * can be "black", "blonde", etc. + *+ * + *
string value = 3;
+ *
+ * @param value The bytes for value to set.
+ * @return This builder for chaining.
+ */
+ public Builder setValueBytes(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ value_ = value;
+ onChanged();
+ return this;
+ }
+
+ @java.lang.Override
+ public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ @java.lang.Override
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+ // @@protoc_insertion_point(builder_scope:google.cloud.videointelligence.v1.DetectedAttribute)
+ }
+
+ // @@protoc_insertion_point(class_scope:google.cloud.videointelligence.v1.DetectedAttribute)
+ private static final com.google.cloud.videointelligence.v1.DetectedAttribute DEFAULT_INSTANCE;
+
+ static {
+ DEFAULT_INSTANCE = new com.google.cloud.videointelligence.v1.DetectedAttribute();
+ }
+
+ public static com.google.cloud.videointelligence.v1.DetectedAttribute getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser+ * The name of the attribute, i.e. glasses, dark_glasses, mouth_open etc. + * A full list of supported type names will be provided in the document. + *+ * + *
string name = 1;
+ *
+ * @return The name.
+ */
+ java.lang.String getName();
+ /**
+ *
+ *
+ * + * The name of the attribute, i.e. glasses, dark_glasses, mouth_open etc. + * A full list of supported type names will be provided in the document. + *+ * + *
string name = 1;
+ *
+ * @return The bytes for name.
+ */
+ com.google.protobuf.ByteString getNameBytes();
+
+ /**
+ *
+ *
+ * + * Detected attribute confidence. Range [0, 1]. + *+ * + *
float confidence = 2;
+ *
+ * @return The confidence.
+ */
+ float getConfidence();
+
+ /**
+ *
+ *
+ * + * Text value of the detection result. For example, the value for "HairColor" + * can be "black", "blonde", etc. + *+ * + *
string value = 3;
+ *
+ * @return The value.
+ */
+ java.lang.String getValue();
+ /**
+ *
+ *
+ * + * Text value of the detection result. For example, the value for "HairColor" + * can be "black", "blonde", etc. + *+ * + *
string value = 3;
+ *
+ * @return The bytes for value.
+ */
+ com.google.protobuf.ByteString getValueBytes();
+}
diff --git a/proto-google-cloud-video-intelligence-v1/src/main/java/com/google/cloud/videointelligence/v1/DetectedLandmark.java b/proto-google-cloud-video-intelligence-v1/src/main/java/com/google/cloud/videointelligence/v1/DetectedLandmark.java
new file mode 100644
index 000000000..f0c1b4eb2
--- /dev/null
+++ b/proto-google-cloud-video-intelligence-v1/src/main/java/com/google/cloud/videointelligence/v1/DetectedLandmark.java
@@ -0,0 +1,1014 @@
+/*
+ * Copyright 2020 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: google/cloud/videointelligence/v1/video_intelligence.proto
+
+package com.google.cloud.videointelligence.v1;
+
+/**
+ *
+ *
+ * + * A generic detected landmark represented by name in string format and a 2D + * location. + *+ * + * Protobuf type {@code google.cloud.videointelligence.v1.DetectedLandmark} + */ +public final class DetectedLandmark extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.cloud.videointelligence.v1.DetectedLandmark) + DetectedLandmarkOrBuilder { + private static final long serialVersionUID = 0L; + // Use DetectedLandmark.newBuilder() to construct. + private DetectedLandmark(com.google.protobuf.GeneratedMessageV3.Builder> builder) { + super(builder); + } + + private DetectedLandmark() { + name_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new DetectedLandmark(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private DetectedLandmark( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + java.lang.String s = input.readStringRequireUtf8(); + + name_ = s; + break; + } + case 18: + { + com.google.cloud.videointelligence.v1.NormalizedVertex.Builder subBuilder = null; + if (point_ != null) { + subBuilder = point_.toBuilder(); + } + point_ = + input.readMessage( + com.google.cloud.videointelligence.v1.NormalizedVertex.parser(), + extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(point_); + point_ = subBuilder.buildPartial(); + } + + break; + } + case 29: + { + confidence_ = input.readFloat(); + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.videointelligence.v1.VideoIntelligenceServiceProto + .internal_static_google_cloud_videointelligence_v1_DetectedLandmark_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.videointelligence.v1.VideoIntelligenceServiceProto + .internal_static_google_cloud_videointelligence_v1_DetectedLandmark_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.videointelligence.v1.DetectedLandmark.class, + com.google.cloud.videointelligence.v1.DetectedLandmark.Builder.class); + } + + public static final int NAME_FIELD_NUMBER = 1; + private volatile java.lang.Object name_; + /** + * + * + *
+ * The name of this landmark, i.e. left_hand, right_shoulder. + *+ * + *
string name = 1;
+ *
+ * @return The name.
+ */
+ public java.lang.String getName() {
+ java.lang.Object ref = name_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ name_ = s;
+ return s;
+ }
+ }
+ /**
+ *
+ *
+ * + * The name of this landmark, i.e. left_hand, right_shoulder. + *+ * + *
string name = 1;
+ *
+ * @return The bytes for name.
+ */
+ public com.google.protobuf.ByteString getNameBytes() {
+ java.lang.Object ref = name_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ name_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int POINT_FIELD_NUMBER = 2;
+ private com.google.cloud.videointelligence.v1.NormalizedVertex point_;
+ /**
+ *
+ *
+ * + * The 2D point of the detected landmark using the normalized image + * coordindate system. The normalized coordinates have the range from 0 to 1. + *+ * + *
.google.cloud.videointelligence.v1.NormalizedVertex point = 2;
+ *
+ * @return Whether the point field is set.
+ */
+ public boolean hasPoint() {
+ return point_ != null;
+ }
+ /**
+ *
+ *
+ * + * The 2D point of the detected landmark using the normalized image + * coordindate system. The normalized coordinates have the range from 0 to 1. + *+ * + *
.google.cloud.videointelligence.v1.NormalizedVertex point = 2;
+ *
+ * @return The point.
+ */
+ public com.google.cloud.videointelligence.v1.NormalizedVertex getPoint() {
+ return point_ == null
+ ? com.google.cloud.videointelligence.v1.NormalizedVertex.getDefaultInstance()
+ : point_;
+ }
+ /**
+ *
+ *
+ * + * The 2D point of the detected landmark using the normalized image + * coordindate system. The normalized coordinates have the range from 0 to 1. + *+ * + *
.google.cloud.videointelligence.v1.NormalizedVertex point = 2;
+ */
+ public com.google.cloud.videointelligence.v1.NormalizedVertexOrBuilder getPointOrBuilder() {
+ return getPoint();
+ }
+
+ public static final int CONFIDENCE_FIELD_NUMBER = 3;
+ private float confidence_;
+ /**
+ *
+ *
+ * + * The confidence score of the detected landmark. Range [0, 1]. + *+ * + *
float confidence = 3;
+ *
+ * @return The confidence.
+ */
+ public float getConfidence() {
+ return confidence_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
+ if (!getNameBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
+ }
+ if (point_ != null) {
+ output.writeMessage(2, getPoint());
+ }
+ if (confidence_ != 0F) {
+ output.writeFloat(3, confidence_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getNameBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
+ }
+ if (point_ != null) {
+ size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getPoint());
+ }
+ if (confidence_ != 0F) {
+ size += com.google.protobuf.CodedOutputStream.computeFloatSize(3, confidence_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof com.google.cloud.videointelligence.v1.DetectedLandmark)) {
+ return super.equals(obj);
+ }
+ com.google.cloud.videointelligence.v1.DetectedLandmark other =
+ (com.google.cloud.videointelligence.v1.DetectedLandmark) obj;
+
+ if (!getName().equals(other.getName())) return false;
+ if (hasPoint() != other.hasPoint()) return false;
+ if (hasPoint()) {
+ if (!getPoint().equals(other.getPoint())) return false;
+ }
+ if (java.lang.Float.floatToIntBits(getConfidence())
+ != java.lang.Float.floatToIntBits(other.getConfidence())) return false;
+ if (!unknownFields.equals(other.unknownFields)) return false;
+ return true;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + NAME_FIELD_NUMBER;
+ hash = (53 * hash) + getName().hashCode();
+ if (hasPoint()) {
+ hash = (37 * hash) + POINT_FIELD_NUMBER;
+ hash = (53 * hash) + getPoint().hashCode();
+ }
+ hash = (37 * hash) + CONFIDENCE_FIELD_NUMBER;
+ hash = (53 * hash) + java.lang.Float.floatToIntBits(getConfidence());
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.google.cloud.videointelligence.v1.DetectedLandmark parseFrom(
+ java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.cloud.videointelligence.v1.DetectedLandmark parseFrom(
+ java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.cloud.videointelligence.v1.DetectedLandmark parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.cloud.videointelligence.v1.DetectedLandmark parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.cloud.videointelligence.v1.DetectedLandmark parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.cloud.videointelligence.v1.DetectedLandmark parseFrom(
+ byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.cloud.videointelligence.v1.DetectedLandmark parseFrom(
+ java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.cloud.videointelligence.v1.DetectedLandmark parseFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.cloud.videointelligence.v1.DetectedLandmark parseDelimitedFrom(
+ java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
+ }
+
+ public static com.google.cloud.videointelligence.v1.DetectedLandmark parseDelimitedFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.cloud.videointelligence.v1.DetectedLandmark parseFrom(
+ com.google.protobuf.CodedInputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.cloud.videointelligence.v1.DetectedLandmark parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ @java.lang.Override
+ public Builder newBuilderForType() {
+ return newBuilder();
+ }
+
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+
+ public static Builder newBuilder(
+ com.google.cloud.videointelligence.v1.DetectedLandmark prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+
+ @java.lang.Override
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ *
+ *
+ * + * A generic detected landmark represented by name in string format and a 2D + * location. + *+ * + * Protobuf type {@code google.cloud.videointelligence.v1.DetectedLandmark} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder
+ * The name of this landmark, i.e. left_hand, right_shoulder. + *+ * + *
string name = 1;
+ *
+ * @return The name.
+ */
+ public java.lang.String getName() {
+ java.lang.Object ref = name_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ name_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ *
+ *
+ * + * The name of this landmark, i.e. left_hand, right_shoulder. + *+ * + *
string name = 1;
+ *
+ * @return The bytes for name.
+ */
+ public com.google.protobuf.ByteString getNameBytes() {
+ java.lang.Object ref = name_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ name_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ *
+ *
+ * + * The name of this landmark, i.e. left_hand, right_shoulder. + *+ * + *
string name = 1;
+ *
+ * @param value The name to set.
+ * @return This builder for chaining.
+ */
+ public Builder setName(java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ name_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ * + * The name of this landmark, i.e. left_hand, right_shoulder. + *+ * + *
string name = 1;
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearName() {
+
+ name_ = getDefaultInstance().getName();
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ * + * The name of this landmark, i.e. left_hand, right_shoulder. + *+ * + *
string name = 1;
+ *
+ * @param value The bytes for name to set.
+ * @return This builder for chaining.
+ */
+ public Builder setNameBytes(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ name_ = value;
+ onChanged();
+ return this;
+ }
+
+ private com.google.cloud.videointelligence.v1.NormalizedVertex point_;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.cloud.videointelligence.v1.NormalizedVertex,
+ com.google.cloud.videointelligence.v1.NormalizedVertex.Builder,
+ com.google.cloud.videointelligence.v1.NormalizedVertexOrBuilder>
+ pointBuilder_;
+ /**
+ *
+ *
+ * + * The 2D point of the detected landmark using the normalized image + * coordindate system. The normalized coordinates have the range from 0 to 1. + *+ * + *
.google.cloud.videointelligence.v1.NormalizedVertex point = 2;
+ *
+ * @return Whether the point field is set.
+ */
+ public boolean hasPoint() {
+ return pointBuilder_ != null || point_ != null;
+ }
+ /**
+ *
+ *
+ * + * The 2D point of the detected landmark using the normalized image + * coordindate system. The normalized coordinates have the range from 0 to 1. + *+ * + *
.google.cloud.videointelligence.v1.NormalizedVertex point = 2;
+ *
+ * @return The point.
+ */
+ public com.google.cloud.videointelligence.v1.NormalizedVertex getPoint() {
+ if (pointBuilder_ == null) {
+ return point_ == null
+ ? com.google.cloud.videointelligence.v1.NormalizedVertex.getDefaultInstance()
+ : point_;
+ } else {
+ return pointBuilder_.getMessage();
+ }
+ }
+ /**
+ *
+ *
+ * + * The 2D point of the detected landmark using the normalized image + * coordindate system. The normalized coordinates have the range from 0 to 1. + *+ * + *
.google.cloud.videointelligence.v1.NormalizedVertex point = 2;
+ */
+ public Builder setPoint(com.google.cloud.videointelligence.v1.NormalizedVertex value) {
+ if (pointBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ point_ = value;
+ onChanged();
+ } else {
+ pointBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ *
+ *
+ * + * The 2D point of the detected landmark using the normalized image + * coordindate system. The normalized coordinates have the range from 0 to 1. + *+ * + *
.google.cloud.videointelligence.v1.NormalizedVertex point = 2;
+ */
+ public Builder setPoint(
+ com.google.cloud.videointelligence.v1.NormalizedVertex.Builder builderForValue) {
+ if (pointBuilder_ == null) {
+ point_ = builderForValue.build();
+ onChanged();
+ } else {
+ pointBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ *
+ *
+ * + * The 2D point of the detected landmark using the normalized image + * coordindate system. The normalized coordinates have the range from 0 to 1. + *+ * + *
.google.cloud.videointelligence.v1.NormalizedVertex point = 2;
+ */
+ public Builder mergePoint(com.google.cloud.videointelligence.v1.NormalizedVertex value) {
+ if (pointBuilder_ == null) {
+ if (point_ != null) {
+ point_ =
+ com.google.cloud.videointelligence.v1.NormalizedVertex.newBuilder(point_)
+ .mergeFrom(value)
+ .buildPartial();
+ } else {
+ point_ = value;
+ }
+ onChanged();
+ } else {
+ pointBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ *
+ *
+ * + * The 2D point of the detected landmark using the normalized image + * coordindate system. The normalized coordinates have the range from 0 to 1. + *+ * + *
.google.cloud.videointelligence.v1.NormalizedVertex point = 2;
+ */
+ public Builder clearPoint() {
+ if (pointBuilder_ == null) {
+ point_ = null;
+ onChanged();
+ } else {
+ point_ = null;
+ pointBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ *
+ *
+ * + * The 2D point of the detected landmark using the normalized image + * coordindate system. The normalized coordinates have the range from 0 to 1. + *+ * + *
.google.cloud.videointelligence.v1.NormalizedVertex point = 2;
+ */
+ public com.google.cloud.videointelligence.v1.NormalizedVertex.Builder getPointBuilder() {
+
+ onChanged();
+ return getPointFieldBuilder().getBuilder();
+ }
+ /**
+ *
+ *
+ * + * The 2D point of the detected landmark using the normalized image + * coordindate system. The normalized coordinates have the range from 0 to 1. + *+ * + *
.google.cloud.videointelligence.v1.NormalizedVertex point = 2;
+ */
+ public com.google.cloud.videointelligence.v1.NormalizedVertexOrBuilder getPointOrBuilder() {
+ if (pointBuilder_ != null) {
+ return pointBuilder_.getMessageOrBuilder();
+ } else {
+ return point_ == null
+ ? com.google.cloud.videointelligence.v1.NormalizedVertex.getDefaultInstance()
+ : point_;
+ }
+ }
+ /**
+ *
+ *
+ * + * The 2D point of the detected landmark using the normalized image + * coordindate system. The normalized coordinates have the range from 0 to 1. + *+ * + *
.google.cloud.videointelligence.v1.NormalizedVertex point = 2;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.cloud.videointelligence.v1.NormalizedVertex,
+ com.google.cloud.videointelligence.v1.NormalizedVertex.Builder,
+ com.google.cloud.videointelligence.v1.NormalizedVertexOrBuilder>
+ getPointFieldBuilder() {
+ if (pointBuilder_ == null) {
+ pointBuilder_ =
+ new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.cloud.videointelligence.v1.NormalizedVertex,
+ com.google.cloud.videointelligence.v1.NormalizedVertex.Builder,
+ com.google.cloud.videointelligence.v1.NormalizedVertexOrBuilder>(
+ getPoint(), getParentForChildren(), isClean());
+ point_ = null;
+ }
+ return pointBuilder_;
+ }
+
+ private float confidence_;
+ /**
+ *
+ *
+ * + * The confidence score of the detected landmark. Range [0, 1]. + *+ * + *
float confidence = 3;
+ *
+ * @return The confidence.
+ */
+ public float getConfidence() {
+ return confidence_;
+ }
+ /**
+ *
+ *
+ * + * The confidence score of the detected landmark. Range [0, 1]. + *+ * + *
float confidence = 3;
+ *
+ * @param value The confidence to set.
+ * @return This builder for chaining.
+ */
+ public Builder setConfidence(float value) {
+
+ confidence_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ * + * The confidence score of the detected landmark. Range [0, 1]. + *+ * + *
float confidence = 3;
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearConfidence() {
+
+ confidence_ = 0F;
+ onChanged();
+ return this;
+ }
+
+ @java.lang.Override
+ public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ @java.lang.Override
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+ // @@protoc_insertion_point(builder_scope:google.cloud.videointelligence.v1.DetectedLandmark)
+ }
+
+ // @@protoc_insertion_point(class_scope:google.cloud.videointelligence.v1.DetectedLandmark)
+ private static final com.google.cloud.videointelligence.v1.DetectedLandmark DEFAULT_INSTANCE;
+
+ static {
+ DEFAULT_INSTANCE = new com.google.cloud.videointelligence.v1.DetectedLandmark();
+ }
+
+ public static com.google.cloud.videointelligence.v1.DetectedLandmark getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser+ * The name of this landmark, i.e. left_hand, right_shoulder. + *+ * + *
string name = 1;
+ *
+ * @return The name.
+ */
+ java.lang.String getName();
+ /**
+ *
+ *
+ * + * The name of this landmark, i.e. left_hand, right_shoulder. + *+ * + *
string name = 1;
+ *
+ * @return The bytes for name.
+ */
+ com.google.protobuf.ByteString getNameBytes();
+
+ /**
+ *
+ *
+ * + * The 2D point of the detected landmark using the normalized image + * coordindate system. The normalized coordinates have the range from 0 to 1. + *+ * + *
.google.cloud.videointelligence.v1.NormalizedVertex point = 2;
+ *
+ * @return Whether the point field is set.
+ */
+ boolean hasPoint();
+ /**
+ *
+ *
+ * + * The 2D point of the detected landmark using the normalized image + * coordindate system. The normalized coordinates have the range from 0 to 1. + *+ * + *
.google.cloud.videointelligence.v1.NormalizedVertex point = 2;
+ *
+ * @return The point.
+ */
+ com.google.cloud.videointelligence.v1.NormalizedVertex getPoint();
+ /**
+ *
+ *
+ * + * The 2D point of the detected landmark using the normalized image + * coordindate system. The normalized coordinates have the range from 0 to 1. + *+ * + *
.google.cloud.videointelligence.v1.NormalizedVertex point = 2;
+ */
+ com.google.cloud.videointelligence.v1.NormalizedVertexOrBuilder getPointOrBuilder();
+
+ /**
+ *
+ *
+ * + * The confidence score of the detected landmark. Range [0, 1]. + *+ * + *
float confidence = 3;
+ *
+ * @return The confidence.
+ */
+ float getConfidence();
+}
diff --git a/proto-google-cloud-video-intelligence-v1/src/main/java/com/google/cloud/videointelligence/v1/Feature.java b/proto-google-cloud-video-intelligence-v1/src/main/java/com/google/cloud/videointelligence/v1/Feature.java
index b2de7f091..dc8b99ba6 100644
--- a/proto-google-cloud-video-intelligence-v1/src/main/java/com/google/cloud/videointelligence/v1/Feature.java
+++ b/proto-google-cloud-video-intelligence-v1/src/main/java/com/google/cloud/videointelligence/v1/Feature.java
@@ -108,6 +108,16 @@ public enum Feature implements com.google.protobuf.ProtocolMessageEnum {
* OBJECT_TRACKING = 9;
*/
OBJECT_TRACKING(9),
+ /**
+ *
+ *
+ * + * Logo detection, tracking, and recognition. + *+ * + *
LOGO_RECOGNITION = 12;
+ */
+ LOGO_RECOGNITION(12),
UNRECOGNIZED(-1),
;
@@ -191,6 +201,16 @@ public enum Feature implements com.google.protobuf.ProtocolMessageEnum {
* OBJECT_TRACKING = 9;
*/
public static final int OBJECT_TRACKING_VALUE = 9;
+ /**
+ *
+ *
+ * + * Logo detection, tracking, and recognition. + *+ * + *
LOGO_RECOGNITION = 12;
+ */
+ public static final int LOGO_RECOGNITION_VALUE = 12;
public final int getNumber() {
if (this == UNRECOGNIZED) {
@@ -232,6 +252,8 @@ public static Feature forNumber(int value) {
return TEXT_DETECTION;
case 9:
return OBJECT_TRACKING;
+ case 12:
+ return LOGO_RECOGNITION;
default:
return null;
}
diff --git a/proto-google-cloud-video-intelligence-v1/src/main/java/com/google/cloud/videointelligence/v1/LogoRecognitionAnnotation.java b/proto-google-cloud-video-intelligence-v1/src/main/java/com/google/cloud/videointelligence/v1/LogoRecognitionAnnotation.java
new file mode 100644
index 000000000..65d762867
--- /dev/null
+++ b/proto-google-cloud-video-intelligence-v1/src/main/java/com/google/cloud/videointelligence/v1/LogoRecognitionAnnotation.java
@@ -0,0 +1,1777 @@
+/*
+ * Copyright 2020 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: google/cloud/videointelligence/v1/video_intelligence.proto
+
+package com.google.cloud.videointelligence.v1;
+
+/**
+ *
+ *
+ * + * Annotation corresponding to one detected, tracked and recognized logo class. + *+ * + * Protobuf type {@code google.cloud.videointelligence.v1.LogoRecognitionAnnotation} + */ +public final class LogoRecognitionAnnotation extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.cloud.videointelligence.v1.LogoRecognitionAnnotation) + LogoRecognitionAnnotationOrBuilder { + private static final long serialVersionUID = 0L; + // Use LogoRecognitionAnnotation.newBuilder() to construct. + private LogoRecognitionAnnotation(com.google.protobuf.GeneratedMessageV3.Builder> builder) { + super(builder); + } + + private LogoRecognitionAnnotation() { + tracks_ = java.util.Collections.emptyList(); + segments_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new LogoRecognitionAnnotation(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private LogoRecognitionAnnotation( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + com.google.cloud.videointelligence.v1.Entity.Builder subBuilder = null; + if (entity_ != null) { + subBuilder = entity_.toBuilder(); + } + entity_ = + input.readMessage( + com.google.cloud.videointelligence.v1.Entity.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(entity_); + entity_ = subBuilder.buildPartial(); + } + + break; + } + case 18: + { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + tracks_ = new java.util.ArrayList
+ * Entity category information to specify the logo class that all the logo + * tracks within this LogoRecognitionAnnotation are recognized as. + *+ * + *
.google.cloud.videointelligence.v1.Entity entity = 1;
+ *
+ * @return Whether the entity field is set.
+ */
+ public boolean hasEntity() {
+ return entity_ != null;
+ }
+ /**
+ *
+ *
+ * + * Entity category information to specify the logo class that all the logo + * tracks within this LogoRecognitionAnnotation are recognized as. + *+ * + *
.google.cloud.videointelligence.v1.Entity entity = 1;
+ *
+ * @return The entity.
+ */
+ public com.google.cloud.videointelligence.v1.Entity getEntity() {
+ return entity_ == null
+ ? com.google.cloud.videointelligence.v1.Entity.getDefaultInstance()
+ : entity_;
+ }
+ /**
+ *
+ *
+ * + * Entity category information to specify the logo class that all the logo + * tracks within this LogoRecognitionAnnotation are recognized as. + *+ * + *
.google.cloud.videointelligence.v1.Entity entity = 1;
+ */
+ public com.google.cloud.videointelligence.v1.EntityOrBuilder getEntityOrBuilder() {
+ return getEntity();
+ }
+
+ public static final int TRACKS_FIELD_NUMBER = 2;
+ private java.util.List+ * All logo tracks where the recognized logo appears. Each track corresponds + * to one logo instance appearing in consecutive frames. + *+ * + *
repeated .google.cloud.videointelligence.v1.Track tracks = 2;
+ */
+ public java.util.List+ * All logo tracks where the recognized logo appears. Each track corresponds + * to one logo instance appearing in consecutive frames. + *+ * + *
repeated .google.cloud.videointelligence.v1.Track tracks = 2;
+ */
+ public java.util.List extends com.google.cloud.videointelligence.v1.TrackOrBuilder>
+ getTracksOrBuilderList() {
+ return tracks_;
+ }
+ /**
+ *
+ *
+ * + * All logo tracks where the recognized logo appears. Each track corresponds + * to one logo instance appearing in consecutive frames. + *+ * + *
repeated .google.cloud.videointelligence.v1.Track tracks = 2;
+ */
+ public int getTracksCount() {
+ return tracks_.size();
+ }
+ /**
+ *
+ *
+ * + * All logo tracks where the recognized logo appears. Each track corresponds + * to one logo instance appearing in consecutive frames. + *+ * + *
repeated .google.cloud.videointelligence.v1.Track tracks = 2;
+ */
+ public com.google.cloud.videointelligence.v1.Track getTracks(int index) {
+ return tracks_.get(index);
+ }
+ /**
+ *
+ *
+ * + * All logo tracks where the recognized logo appears. Each track corresponds + * to one logo instance appearing in consecutive frames. + *+ * + *
repeated .google.cloud.videointelligence.v1.Track tracks = 2;
+ */
+ public com.google.cloud.videointelligence.v1.TrackOrBuilder getTracksOrBuilder(int index) {
+ return tracks_.get(index);
+ }
+
+ public static final int SEGMENTS_FIELD_NUMBER = 3;
+ private java.util.List+ * All video segments where the recognized logo appears. There might be + * multiple instances of the same logo class appearing in one VideoSegment. + *+ * + *
repeated .google.cloud.videointelligence.v1.VideoSegment segments = 3;
+ */
+ public java.util.List+ * All video segments where the recognized logo appears. There might be + * multiple instances of the same logo class appearing in one VideoSegment. + *+ * + *
repeated .google.cloud.videointelligence.v1.VideoSegment segments = 3;
+ */
+ public java.util.List extends com.google.cloud.videointelligence.v1.VideoSegmentOrBuilder>
+ getSegmentsOrBuilderList() {
+ return segments_;
+ }
+ /**
+ *
+ *
+ * + * All video segments where the recognized logo appears. There might be + * multiple instances of the same logo class appearing in one VideoSegment. + *+ * + *
repeated .google.cloud.videointelligence.v1.VideoSegment segments = 3;
+ */
+ public int getSegmentsCount() {
+ return segments_.size();
+ }
+ /**
+ *
+ *
+ * + * All video segments where the recognized logo appears. There might be + * multiple instances of the same logo class appearing in one VideoSegment. + *+ * + *
repeated .google.cloud.videointelligence.v1.VideoSegment segments = 3;
+ */
+ public com.google.cloud.videointelligence.v1.VideoSegment getSegments(int index) {
+ return segments_.get(index);
+ }
+ /**
+ *
+ *
+ * + * All video segments where the recognized logo appears. There might be + * multiple instances of the same logo class appearing in one VideoSegment. + *+ * + *
repeated .google.cloud.videointelligence.v1.VideoSegment segments = 3;
+ */
+ public com.google.cloud.videointelligence.v1.VideoSegmentOrBuilder getSegmentsOrBuilder(
+ int index) {
+ return segments_.get(index);
+ }
+
+ private byte memoizedIsInitialized = -1;
+
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
+ if (entity_ != null) {
+ output.writeMessage(1, getEntity());
+ }
+ for (int i = 0; i < tracks_.size(); i++) {
+ output.writeMessage(2, tracks_.get(i));
+ }
+ for (int i = 0; i < segments_.size(); i++) {
+ output.writeMessage(3, segments_.get(i));
+ }
+ unknownFields.writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (entity_ != null) {
+ size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getEntity());
+ }
+ for (int i = 0; i < tracks_.size(); i++) {
+ size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, tracks_.get(i));
+ }
+ for (int i = 0; i < segments_.size(); i++) {
+ size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, segments_.get(i));
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof com.google.cloud.videointelligence.v1.LogoRecognitionAnnotation)) {
+ return super.equals(obj);
+ }
+ com.google.cloud.videointelligence.v1.LogoRecognitionAnnotation other =
+ (com.google.cloud.videointelligence.v1.LogoRecognitionAnnotation) obj;
+
+ if (hasEntity() != other.hasEntity()) return false;
+ if (hasEntity()) {
+ if (!getEntity().equals(other.getEntity())) return false;
+ }
+ if (!getTracksList().equals(other.getTracksList())) return false;
+ if (!getSegmentsList().equals(other.getSegmentsList())) return false;
+ if (!unknownFields.equals(other.unknownFields)) return false;
+ return true;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasEntity()) {
+ hash = (37 * hash) + ENTITY_FIELD_NUMBER;
+ hash = (53 * hash) + getEntity().hashCode();
+ }
+ if (getTracksCount() > 0) {
+ hash = (37 * hash) + TRACKS_FIELD_NUMBER;
+ hash = (53 * hash) + getTracksList().hashCode();
+ }
+ if (getSegmentsCount() > 0) {
+ hash = (37 * hash) + SEGMENTS_FIELD_NUMBER;
+ hash = (53 * hash) + getSegmentsList().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.google.cloud.videointelligence.v1.LogoRecognitionAnnotation parseFrom(
+ java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.cloud.videointelligence.v1.LogoRecognitionAnnotation parseFrom(
+ java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.cloud.videointelligence.v1.LogoRecognitionAnnotation parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.cloud.videointelligence.v1.LogoRecognitionAnnotation parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.cloud.videointelligence.v1.LogoRecognitionAnnotation parseFrom(
+ byte[] data) throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.cloud.videointelligence.v1.LogoRecognitionAnnotation parseFrom(
+ byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.cloud.videointelligence.v1.LogoRecognitionAnnotation parseFrom(
+ java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.cloud.videointelligence.v1.LogoRecognitionAnnotation parseFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.cloud.videointelligence.v1.LogoRecognitionAnnotation parseDelimitedFrom(
+ java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
+ }
+
+ public static com.google.cloud.videointelligence.v1.LogoRecognitionAnnotation parseDelimitedFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.cloud.videointelligence.v1.LogoRecognitionAnnotation parseFrom(
+ com.google.protobuf.CodedInputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.cloud.videointelligence.v1.LogoRecognitionAnnotation parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ @java.lang.Override
+ public Builder newBuilderForType() {
+ return newBuilder();
+ }
+
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+
+ public static Builder newBuilder(
+ com.google.cloud.videointelligence.v1.LogoRecognitionAnnotation prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+
+ @java.lang.Override
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ *
+ *
+ * + * Annotation corresponding to one detected, tracked and recognized logo class. + *+ * + * Protobuf type {@code google.cloud.videointelligence.v1.LogoRecognitionAnnotation} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder
+ * Entity category information to specify the logo class that all the logo + * tracks within this LogoRecognitionAnnotation are recognized as. + *+ * + *
.google.cloud.videointelligence.v1.Entity entity = 1;
+ *
+ * @return Whether the entity field is set.
+ */
+ public boolean hasEntity() {
+ return entityBuilder_ != null || entity_ != null;
+ }
+ /**
+ *
+ *
+ * + * Entity category information to specify the logo class that all the logo + * tracks within this LogoRecognitionAnnotation are recognized as. + *+ * + *
.google.cloud.videointelligence.v1.Entity entity = 1;
+ *
+ * @return The entity.
+ */
+ public com.google.cloud.videointelligence.v1.Entity getEntity() {
+ if (entityBuilder_ == null) {
+ return entity_ == null
+ ? com.google.cloud.videointelligence.v1.Entity.getDefaultInstance()
+ : entity_;
+ } else {
+ return entityBuilder_.getMessage();
+ }
+ }
+ /**
+ *
+ *
+ * + * Entity category information to specify the logo class that all the logo + * tracks within this LogoRecognitionAnnotation are recognized as. + *+ * + *
.google.cloud.videointelligence.v1.Entity entity = 1;
+ */
+ public Builder setEntity(com.google.cloud.videointelligence.v1.Entity value) {
+ if (entityBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ entity_ = value;
+ onChanged();
+ } else {
+ entityBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Entity category information to specify the logo class that all the logo + * tracks within this LogoRecognitionAnnotation are recognized as. + *+ * + *
.google.cloud.videointelligence.v1.Entity entity = 1;
+ */
+ public Builder setEntity(com.google.cloud.videointelligence.v1.Entity.Builder builderForValue) {
+ if (entityBuilder_ == null) {
+ entity_ = builderForValue.build();
+ onChanged();
+ } else {
+ entityBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Entity category information to specify the logo class that all the logo + * tracks within this LogoRecognitionAnnotation are recognized as. + *+ * + *
.google.cloud.videointelligence.v1.Entity entity = 1;
+ */
+ public Builder mergeEntity(com.google.cloud.videointelligence.v1.Entity value) {
+ if (entityBuilder_ == null) {
+ if (entity_ != null) {
+ entity_ =
+ com.google.cloud.videointelligence.v1.Entity.newBuilder(entity_)
+ .mergeFrom(value)
+ .buildPartial();
+ } else {
+ entity_ = value;
+ }
+ onChanged();
+ } else {
+ entityBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Entity category information to specify the logo class that all the logo + * tracks within this LogoRecognitionAnnotation are recognized as. + *+ * + *
.google.cloud.videointelligence.v1.Entity entity = 1;
+ */
+ public Builder clearEntity() {
+ if (entityBuilder_ == null) {
+ entity_ = null;
+ onChanged();
+ } else {
+ entity_ = null;
+ entityBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Entity category information to specify the logo class that all the logo + * tracks within this LogoRecognitionAnnotation are recognized as. + *+ * + *
.google.cloud.videointelligence.v1.Entity entity = 1;
+ */
+ public com.google.cloud.videointelligence.v1.Entity.Builder getEntityBuilder() {
+
+ onChanged();
+ return getEntityFieldBuilder().getBuilder();
+ }
+ /**
+ *
+ *
+ * + * Entity category information to specify the logo class that all the logo + * tracks within this LogoRecognitionAnnotation are recognized as. + *+ * + *
.google.cloud.videointelligence.v1.Entity entity = 1;
+ */
+ public com.google.cloud.videointelligence.v1.EntityOrBuilder getEntityOrBuilder() {
+ if (entityBuilder_ != null) {
+ return entityBuilder_.getMessageOrBuilder();
+ } else {
+ return entity_ == null
+ ? com.google.cloud.videointelligence.v1.Entity.getDefaultInstance()
+ : entity_;
+ }
+ }
+ /**
+ *
+ *
+ * + * Entity category information to specify the logo class that all the logo + * tracks within this LogoRecognitionAnnotation are recognized as. + *+ * + *
.google.cloud.videointelligence.v1.Entity entity = 1;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.cloud.videointelligence.v1.Entity,
+ com.google.cloud.videointelligence.v1.Entity.Builder,
+ com.google.cloud.videointelligence.v1.EntityOrBuilder>
+ getEntityFieldBuilder() {
+ if (entityBuilder_ == null) {
+ entityBuilder_ =
+ new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.cloud.videointelligence.v1.Entity,
+ com.google.cloud.videointelligence.v1.Entity.Builder,
+ com.google.cloud.videointelligence.v1.EntityOrBuilder>(
+ getEntity(), getParentForChildren(), isClean());
+ entity_ = null;
+ }
+ return entityBuilder_;
+ }
+
+ private java.util.List+ * All logo tracks where the recognized logo appears. Each track corresponds + * to one logo instance appearing in consecutive frames. + *+ * + *
repeated .google.cloud.videointelligence.v1.Track tracks = 2;
+ */
+ public java.util.List+ * All logo tracks where the recognized logo appears. Each track corresponds + * to one logo instance appearing in consecutive frames. + *+ * + *
repeated .google.cloud.videointelligence.v1.Track tracks = 2;
+ */
+ public int getTracksCount() {
+ if (tracksBuilder_ == null) {
+ return tracks_.size();
+ } else {
+ return tracksBuilder_.getCount();
+ }
+ }
+ /**
+ *
+ *
+ * + * All logo tracks where the recognized logo appears. Each track corresponds + * to one logo instance appearing in consecutive frames. + *+ * + *
repeated .google.cloud.videointelligence.v1.Track tracks = 2;
+ */
+ public com.google.cloud.videointelligence.v1.Track getTracks(int index) {
+ if (tracksBuilder_ == null) {
+ return tracks_.get(index);
+ } else {
+ return tracksBuilder_.getMessage(index);
+ }
+ }
+ /**
+ *
+ *
+ * + * All logo tracks where the recognized logo appears. Each track corresponds + * to one logo instance appearing in consecutive frames. + *+ * + *
repeated .google.cloud.videointelligence.v1.Track tracks = 2;
+ */
+ public Builder setTracks(int index, com.google.cloud.videointelligence.v1.Track value) {
+ if (tracksBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureTracksIsMutable();
+ tracks_.set(index, value);
+ onChanged();
+ } else {
+ tracksBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * All logo tracks where the recognized logo appears. Each track corresponds + * to one logo instance appearing in consecutive frames. + *+ * + *
repeated .google.cloud.videointelligence.v1.Track tracks = 2;
+ */
+ public Builder setTracks(
+ int index, com.google.cloud.videointelligence.v1.Track.Builder builderForValue) {
+ if (tracksBuilder_ == null) {
+ ensureTracksIsMutable();
+ tracks_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ tracksBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * All logo tracks where the recognized logo appears. Each track corresponds + * to one logo instance appearing in consecutive frames. + *+ * + *
repeated .google.cloud.videointelligence.v1.Track tracks = 2;
+ */
+ public Builder addTracks(com.google.cloud.videointelligence.v1.Track value) {
+ if (tracksBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureTracksIsMutable();
+ tracks_.add(value);
+ onChanged();
+ } else {
+ tracksBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * All logo tracks where the recognized logo appears. Each track corresponds + * to one logo instance appearing in consecutive frames. + *+ * + *
repeated .google.cloud.videointelligence.v1.Track tracks = 2;
+ */
+ public Builder addTracks(int index, com.google.cloud.videointelligence.v1.Track value) {
+ if (tracksBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureTracksIsMutable();
+ tracks_.add(index, value);
+ onChanged();
+ } else {
+ tracksBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * All logo tracks where the recognized logo appears. Each track corresponds + * to one logo instance appearing in consecutive frames. + *+ * + *
repeated .google.cloud.videointelligence.v1.Track tracks = 2;
+ */
+ public Builder addTracks(com.google.cloud.videointelligence.v1.Track.Builder builderForValue) {
+ if (tracksBuilder_ == null) {
+ ensureTracksIsMutable();
+ tracks_.add(builderForValue.build());
+ onChanged();
+ } else {
+ tracksBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * All logo tracks where the recognized logo appears. Each track corresponds + * to one logo instance appearing in consecutive frames. + *+ * + *
repeated .google.cloud.videointelligence.v1.Track tracks = 2;
+ */
+ public Builder addTracks(
+ int index, com.google.cloud.videointelligence.v1.Track.Builder builderForValue) {
+ if (tracksBuilder_ == null) {
+ ensureTracksIsMutable();
+ tracks_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ tracksBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * All logo tracks where the recognized logo appears. Each track corresponds + * to one logo instance appearing in consecutive frames. + *+ * + *
repeated .google.cloud.videointelligence.v1.Track tracks = 2;
+ */
+ public Builder addAllTracks(
+ java.lang.Iterable extends com.google.cloud.videointelligence.v1.Track> values) {
+ if (tracksBuilder_ == null) {
+ ensureTracksIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(values, tracks_);
+ onChanged();
+ } else {
+ tracksBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * All logo tracks where the recognized logo appears. Each track corresponds + * to one logo instance appearing in consecutive frames. + *+ * + *
repeated .google.cloud.videointelligence.v1.Track tracks = 2;
+ */
+ public Builder clearTracks() {
+ if (tracksBuilder_ == null) {
+ tracks_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000001);
+ onChanged();
+ } else {
+ tracksBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * All logo tracks where the recognized logo appears. Each track corresponds + * to one logo instance appearing in consecutive frames. + *+ * + *
repeated .google.cloud.videointelligence.v1.Track tracks = 2;
+ */
+ public Builder removeTracks(int index) {
+ if (tracksBuilder_ == null) {
+ ensureTracksIsMutable();
+ tracks_.remove(index);
+ onChanged();
+ } else {
+ tracksBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * All logo tracks where the recognized logo appears. Each track corresponds + * to one logo instance appearing in consecutive frames. + *+ * + *
repeated .google.cloud.videointelligence.v1.Track tracks = 2;
+ */
+ public com.google.cloud.videointelligence.v1.Track.Builder getTracksBuilder(int index) {
+ return getTracksFieldBuilder().getBuilder(index);
+ }
+ /**
+ *
+ *
+ * + * All logo tracks where the recognized logo appears. Each track corresponds + * to one logo instance appearing in consecutive frames. + *+ * + *
repeated .google.cloud.videointelligence.v1.Track tracks = 2;
+ */
+ public com.google.cloud.videointelligence.v1.TrackOrBuilder getTracksOrBuilder(int index) {
+ if (tracksBuilder_ == null) {
+ return tracks_.get(index);
+ } else {
+ return tracksBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ *
+ *
+ * + * All logo tracks where the recognized logo appears. Each track corresponds + * to one logo instance appearing in consecutive frames. + *+ * + *
repeated .google.cloud.videointelligence.v1.Track tracks = 2;
+ */
+ public java.util.List extends com.google.cloud.videointelligence.v1.TrackOrBuilder>
+ getTracksOrBuilderList() {
+ if (tracksBuilder_ != null) {
+ return tracksBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(tracks_);
+ }
+ }
+ /**
+ *
+ *
+ * + * All logo tracks where the recognized logo appears. Each track corresponds + * to one logo instance appearing in consecutive frames. + *+ * + *
repeated .google.cloud.videointelligence.v1.Track tracks = 2;
+ */
+ public com.google.cloud.videointelligence.v1.Track.Builder addTracksBuilder() {
+ return getTracksFieldBuilder()
+ .addBuilder(com.google.cloud.videointelligence.v1.Track.getDefaultInstance());
+ }
+ /**
+ *
+ *
+ * + * All logo tracks where the recognized logo appears. Each track corresponds + * to one logo instance appearing in consecutive frames. + *+ * + *
repeated .google.cloud.videointelligence.v1.Track tracks = 2;
+ */
+ public com.google.cloud.videointelligence.v1.Track.Builder addTracksBuilder(int index) {
+ return getTracksFieldBuilder()
+ .addBuilder(index, com.google.cloud.videointelligence.v1.Track.getDefaultInstance());
+ }
+ /**
+ *
+ *
+ * + * All logo tracks where the recognized logo appears. Each track corresponds + * to one logo instance appearing in consecutive frames. + *+ * + *
repeated .google.cloud.videointelligence.v1.Track tracks = 2;
+ */
+ public java.util.List+ * All video segments where the recognized logo appears. There might be + * multiple instances of the same logo class appearing in one VideoSegment. + *+ * + *
repeated .google.cloud.videointelligence.v1.VideoSegment segments = 3;
+ */
+ public java.util.List+ * All video segments where the recognized logo appears. There might be + * multiple instances of the same logo class appearing in one VideoSegment. + *+ * + *
repeated .google.cloud.videointelligence.v1.VideoSegment segments = 3;
+ */
+ public int getSegmentsCount() {
+ if (segmentsBuilder_ == null) {
+ return segments_.size();
+ } else {
+ return segmentsBuilder_.getCount();
+ }
+ }
+ /**
+ *
+ *
+ * + * All video segments where the recognized logo appears. There might be + * multiple instances of the same logo class appearing in one VideoSegment. + *+ * + *
repeated .google.cloud.videointelligence.v1.VideoSegment segments = 3;
+ */
+ public com.google.cloud.videointelligence.v1.VideoSegment getSegments(int index) {
+ if (segmentsBuilder_ == null) {
+ return segments_.get(index);
+ } else {
+ return segmentsBuilder_.getMessage(index);
+ }
+ }
+ /**
+ *
+ *
+ * + * All video segments where the recognized logo appears. There might be + * multiple instances of the same logo class appearing in one VideoSegment. + *+ * + *
repeated .google.cloud.videointelligence.v1.VideoSegment segments = 3;
+ */
+ public Builder setSegments(
+ int index, com.google.cloud.videointelligence.v1.VideoSegment value) {
+ if (segmentsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureSegmentsIsMutable();
+ segments_.set(index, value);
+ onChanged();
+ } else {
+ segmentsBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * All video segments where the recognized logo appears. There might be + * multiple instances of the same logo class appearing in one VideoSegment. + *+ * + *
repeated .google.cloud.videointelligence.v1.VideoSegment segments = 3;
+ */
+ public Builder setSegments(
+ int index, com.google.cloud.videointelligence.v1.VideoSegment.Builder builderForValue) {
+ if (segmentsBuilder_ == null) {
+ ensureSegmentsIsMutable();
+ segments_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ segmentsBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * All video segments where the recognized logo appears. There might be + * multiple instances of the same logo class appearing in one VideoSegment. + *+ * + *
repeated .google.cloud.videointelligence.v1.VideoSegment segments = 3;
+ */
+ public Builder addSegments(com.google.cloud.videointelligence.v1.VideoSegment value) {
+ if (segmentsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureSegmentsIsMutable();
+ segments_.add(value);
+ onChanged();
+ } else {
+ segmentsBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * All video segments where the recognized logo appears. There might be + * multiple instances of the same logo class appearing in one VideoSegment. + *+ * + *
repeated .google.cloud.videointelligence.v1.VideoSegment segments = 3;
+ */
+ public Builder addSegments(
+ int index, com.google.cloud.videointelligence.v1.VideoSegment value) {
+ if (segmentsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureSegmentsIsMutable();
+ segments_.add(index, value);
+ onChanged();
+ } else {
+ segmentsBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * All video segments where the recognized logo appears. There might be + * multiple instances of the same logo class appearing in one VideoSegment. + *+ * + *
repeated .google.cloud.videointelligence.v1.VideoSegment segments = 3;
+ */
+ public Builder addSegments(
+ com.google.cloud.videointelligence.v1.VideoSegment.Builder builderForValue) {
+ if (segmentsBuilder_ == null) {
+ ensureSegmentsIsMutable();
+ segments_.add(builderForValue.build());
+ onChanged();
+ } else {
+ segmentsBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * All video segments where the recognized logo appears. There might be + * multiple instances of the same logo class appearing in one VideoSegment. + *+ * + *
repeated .google.cloud.videointelligence.v1.VideoSegment segments = 3;
+ */
+ public Builder addSegments(
+ int index, com.google.cloud.videointelligence.v1.VideoSegment.Builder builderForValue) {
+ if (segmentsBuilder_ == null) {
+ ensureSegmentsIsMutable();
+ segments_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ segmentsBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * All video segments where the recognized logo appears. There might be + * multiple instances of the same logo class appearing in one VideoSegment. + *+ * + *
repeated .google.cloud.videointelligence.v1.VideoSegment segments = 3;
+ */
+ public Builder addAllSegments(
+ java.lang.Iterable extends com.google.cloud.videointelligence.v1.VideoSegment> values) {
+ if (segmentsBuilder_ == null) {
+ ensureSegmentsIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(values, segments_);
+ onChanged();
+ } else {
+ segmentsBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * All video segments where the recognized logo appears. There might be + * multiple instances of the same logo class appearing in one VideoSegment. + *+ * + *
repeated .google.cloud.videointelligence.v1.VideoSegment segments = 3;
+ */
+ public Builder clearSegments() {
+ if (segmentsBuilder_ == null) {
+ segments_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000002);
+ onChanged();
+ } else {
+ segmentsBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * All video segments where the recognized logo appears. There might be + * multiple instances of the same logo class appearing in one VideoSegment. + *+ * + *
repeated .google.cloud.videointelligence.v1.VideoSegment segments = 3;
+ */
+ public Builder removeSegments(int index) {
+ if (segmentsBuilder_ == null) {
+ ensureSegmentsIsMutable();
+ segments_.remove(index);
+ onChanged();
+ } else {
+ segmentsBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * All video segments where the recognized logo appears. There might be + * multiple instances of the same logo class appearing in one VideoSegment. + *+ * + *
repeated .google.cloud.videointelligence.v1.VideoSegment segments = 3;
+ */
+ public com.google.cloud.videointelligence.v1.VideoSegment.Builder getSegmentsBuilder(
+ int index) {
+ return getSegmentsFieldBuilder().getBuilder(index);
+ }
+ /**
+ *
+ *
+ * + * All video segments where the recognized logo appears. There might be + * multiple instances of the same logo class appearing in one VideoSegment. + *+ * + *
repeated .google.cloud.videointelligence.v1.VideoSegment segments = 3;
+ */
+ public com.google.cloud.videointelligence.v1.VideoSegmentOrBuilder getSegmentsOrBuilder(
+ int index) {
+ if (segmentsBuilder_ == null) {
+ return segments_.get(index);
+ } else {
+ return segmentsBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ *
+ *
+ * + * All video segments where the recognized logo appears. There might be + * multiple instances of the same logo class appearing in one VideoSegment. + *+ * + *
repeated .google.cloud.videointelligence.v1.VideoSegment segments = 3;
+ */
+ public java.util.List extends com.google.cloud.videointelligence.v1.VideoSegmentOrBuilder>
+ getSegmentsOrBuilderList() {
+ if (segmentsBuilder_ != null) {
+ return segmentsBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(segments_);
+ }
+ }
+ /**
+ *
+ *
+ * + * All video segments where the recognized logo appears. There might be + * multiple instances of the same logo class appearing in one VideoSegment. + *+ * + *
repeated .google.cloud.videointelligence.v1.VideoSegment segments = 3;
+ */
+ public com.google.cloud.videointelligence.v1.VideoSegment.Builder addSegmentsBuilder() {
+ return getSegmentsFieldBuilder()
+ .addBuilder(com.google.cloud.videointelligence.v1.VideoSegment.getDefaultInstance());
+ }
+ /**
+ *
+ *
+ * + * All video segments where the recognized logo appears. There might be + * multiple instances of the same logo class appearing in one VideoSegment. + *+ * + *
repeated .google.cloud.videointelligence.v1.VideoSegment segments = 3;
+ */
+ public com.google.cloud.videointelligence.v1.VideoSegment.Builder addSegmentsBuilder(
+ int index) {
+ return getSegmentsFieldBuilder()
+ .addBuilder(
+ index, com.google.cloud.videointelligence.v1.VideoSegment.getDefaultInstance());
+ }
+ /**
+ *
+ *
+ * + * All video segments where the recognized logo appears. There might be + * multiple instances of the same logo class appearing in one VideoSegment. + *+ * + *
repeated .google.cloud.videointelligence.v1.VideoSegment segments = 3;
+ */
+ public java.util.List+ * Entity category information to specify the logo class that all the logo + * tracks within this LogoRecognitionAnnotation are recognized as. + *+ * + *
.google.cloud.videointelligence.v1.Entity entity = 1;
+ *
+ * @return Whether the entity field is set.
+ */
+ boolean hasEntity();
+ /**
+ *
+ *
+ * + * Entity category information to specify the logo class that all the logo + * tracks within this LogoRecognitionAnnotation are recognized as. + *+ * + *
.google.cloud.videointelligence.v1.Entity entity = 1;
+ *
+ * @return The entity.
+ */
+ com.google.cloud.videointelligence.v1.Entity getEntity();
+ /**
+ *
+ *
+ * + * Entity category information to specify the logo class that all the logo + * tracks within this LogoRecognitionAnnotation are recognized as. + *+ * + *
.google.cloud.videointelligence.v1.Entity entity = 1;
+ */
+ com.google.cloud.videointelligence.v1.EntityOrBuilder getEntityOrBuilder();
+
+ /**
+ *
+ *
+ * + * All logo tracks where the recognized logo appears. Each track corresponds + * to one logo instance appearing in consecutive frames. + *+ * + *
repeated .google.cloud.videointelligence.v1.Track tracks = 2;
+ */
+ java.util.List+ * All logo tracks where the recognized logo appears. Each track corresponds + * to one logo instance appearing in consecutive frames. + *+ * + *
repeated .google.cloud.videointelligence.v1.Track tracks = 2;
+ */
+ com.google.cloud.videointelligence.v1.Track getTracks(int index);
+ /**
+ *
+ *
+ * + * All logo tracks where the recognized logo appears. Each track corresponds + * to one logo instance appearing in consecutive frames. + *+ * + *
repeated .google.cloud.videointelligence.v1.Track tracks = 2;
+ */
+ int getTracksCount();
+ /**
+ *
+ *
+ * + * All logo tracks where the recognized logo appears. Each track corresponds + * to one logo instance appearing in consecutive frames. + *+ * + *
repeated .google.cloud.videointelligence.v1.Track tracks = 2;
+ */
+ java.util.List extends com.google.cloud.videointelligence.v1.TrackOrBuilder>
+ getTracksOrBuilderList();
+ /**
+ *
+ *
+ * + * All logo tracks where the recognized logo appears. Each track corresponds + * to one logo instance appearing in consecutive frames. + *+ * + *
repeated .google.cloud.videointelligence.v1.Track tracks = 2;
+ */
+ com.google.cloud.videointelligence.v1.TrackOrBuilder getTracksOrBuilder(int index);
+
+ /**
+ *
+ *
+ * + * All video segments where the recognized logo appears. There might be + * multiple instances of the same logo class appearing in one VideoSegment. + *+ * + *
repeated .google.cloud.videointelligence.v1.VideoSegment segments = 3;
+ */
+ java.util.List+ * All video segments where the recognized logo appears. There might be + * multiple instances of the same logo class appearing in one VideoSegment. + *+ * + *
repeated .google.cloud.videointelligence.v1.VideoSegment segments = 3;
+ */
+ com.google.cloud.videointelligence.v1.VideoSegment getSegments(int index);
+ /**
+ *
+ *
+ * + * All video segments where the recognized logo appears. There might be + * multiple instances of the same logo class appearing in one VideoSegment. + *+ * + *
repeated .google.cloud.videointelligence.v1.VideoSegment segments = 3;
+ */
+ int getSegmentsCount();
+ /**
+ *
+ *
+ * + * All video segments where the recognized logo appears. There might be + * multiple instances of the same logo class appearing in one VideoSegment. + *+ * + *
repeated .google.cloud.videointelligence.v1.VideoSegment segments = 3;
+ */
+ java.util.List extends com.google.cloud.videointelligence.v1.VideoSegmentOrBuilder>
+ getSegmentsOrBuilderList();
+ /**
+ *
+ *
+ * + * All video segments where the recognized logo appears. There might be + * multiple instances of the same logo class appearing in one VideoSegment. + *+ * + *
repeated .google.cloud.videointelligence.v1.VideoSegment segments = 3;
+ */
+ com.google.cloud.videointelligence.v1.VideoSegmentOrBuilder getSegmentsOrBuilder(int index);
+}
diff --git a/proto-google-cloud-video-intelligence-v1/src/main/java/com/google/cloud/videointelligence/v1/TimestampedObject.java b/proto-google-cloud-video-intelligence-v1/src/main/java/com/google/cloud/videointelligence/v1/TimestampedObject.java
new file mode 100644
index 000000000..749889306
--- /dev/null
+++ b/proto-google-cloud-video-intelligence-v1/src/main/java/com/google/cloud/videointelligence/v1/TimestampedObject.java
@@ -0,0 +1,2133 @@
+/*
+ * Copyright 2020 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: google/cloud/videointelligence/v1/video_intelligence.proto
+
+package com.google.cloud.videointelligence.v1;
+
+/**
+ *
+ *
+ * + * For tracking related features. + * An object at time_offset with attributes, and located with + * normalized_bounding_box. + *+ * + * Protobuf type {@code google.cloud.videointelligence.v1.TimestampedObject} + */ +public final class TimestampedObject extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.cloud.videointelligence.v1.TimestampedObject) + TimestampedObjectOrBuilder { + private static final long serialVersionUID = 0L; + // Use TimestampedObject.newBuilder() to construct. + private TimestampedObject(com.google.protobuf.GeneratedMessageV3.Builder> builder) { + super(builder); + } + + private TimestampedObject() { + attributes_ = java.util.Collections.emptyList(); + landmarks_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new TimestampedObject(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private TimestampedObject( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + com.google.cloud.videointelligence.v1.NormalizedBoundingBox.Builder subBuilder = null; + if (normalizedBoundingBox_ != null) { + subBuilder = normalizedBoundingBox_.toBuilder(); + } + normalizedBoundingBox_ = + input.readMessage( + com.google.cloud.videointelligence.v1.NormalizedBoundingBox.parser(), + extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(normalizedBoundingBox_); + normalizedBoundingBox_ = subBuilder.buildPartial(); + } + + break; + } + case 18: + { + com.google.protobuf.Duration.Builder subBuilder = null; + if (timeOffset_ != null) { + subBuilder = timeOffset_.toBuilder(); + } + timeOffset_ = + input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(timeOffset_); + timeOffset_ = subBuilder.buildPartial(); + } + + break; + } + case 26: + { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + attributes_ = + new java.util.ArrayList< + com.google.cloud.videointelligence.v1.DetectedAttribute>(); + mutable_bitField0_ |= 0x00000001; + } + attributes_.add( + input.readMessage( + com.google.cloud.videointelligence.v1.DetectedAttribute.parser(), + extensionRegistry)); + break; + } + case 34: + { + if (!((mutable_bitField0_ & 0x00000002) != 0)) { + landmarks_ = + new java.util.ArrayList< + com.google.cloud.videointelligence.v1.DetectedLandmark>(); + mutable_bitField0_ |= 0x00000002; + } + landmarks_.add( + input.readMessage( + com.google.cloud.videointelligence.v1.DetectedLandmark.parser(), + extensionRegistry)); + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + attributes_ = java.util.Collections.unmodifiableList(attributes_); + } + if (((mutable_bitField0_ & 0x00000002) != 0)) { + landmarks_ = java.util.Collections.unmodifiableList(landmarks_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.videointelligence.v1.VideoIntelligenceServiceProto + .internal_static_google_cloud_videointelligence_v1_TimestampedObject_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.videointelligence.v1.VideoIntelligenceServiceProto + .internal_static_google_cloud_videointelligence_v1_TimestampedObject_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.videointelligence.v1.TimestampedObject.class, + com.google.cloud.videointelligence.v1.TimestampedObject.Builder.class); + } + + public static final int NORMALIZED_BOUNDING_BOX_FIELD_NUMBER = 1; + private com.google.cloud.videointelligence.v1.NormalizedBoundingBox normalizedBoundingBox_; + /** + * + * + *
+ * Normalized Bounding box in a frame, where the object is located. + *+ * + *
.google.cloud.videointelligence.v1.NormalizedBoundingBox normalized_bounding_box = 1;
+ *
+ *
+ * @return Whether the normalizedBoundingBox field is set.
+ */
+ public boolean hasNormalizedBoundingBox() {
+ return normalizedBoundingBox_ != null;
+ }
+ /**
+ *
+ *
+ * + * Normalized Bounding box in a frame, where the object is located. + *+ * + *
.google.cloud.videointelligence.v1.NormalizedBoundingBox normalized_bounding_box = 1;
+ *
+ *
+ * @return The normalizedBoundingBox.
+ */
+ public com.google.cloud.videointelligence.v1.NormalizedBoundingBox getNormalizedBoundingBox() {
+ return normalizedBoundingBox_ == null
+ ? com.google.cloud.videointelligence.v1.NormalizedBoundingBox.getDefaultInstance()
+ : normalizedBoundingBox_;
+ }
+ /**
+ *
+ *
+ * + * Normalized Bounding box in a frame, where the object is located. + *+ * + *
.google.cloud.videointelligence.v1.NormalizedBoundingBox normalized_bounding_box = 1;
+ *
+ */
+ public com.google.cloud.videointelligence.v1.NormalizedBoundingBoxOrBuilder
+ getNormalizedBoundingBoxOrBuilder() {
+ return getNormalizedBoundingBox();
+ }
+
+ public static final int TIME_OFFSET_FIELD_NUMBER = 2;
+ private com.google.protobuf.Duration timeOffset_;
+ /**
+ *
+ *
+ * + * Time-offset, relative to the beginning of the video, + * corresponding to the video frame for this object. + *+ * + *
.google.protobuf.Duration time_offset = 2;
+ *
+ * @return Whether the timeOffset field is set.
+ */
+ public boolean hasTimeOffset() {
+ return timeOffset_ != null;
+ }
+ /**
+ *
+ *
+ * + * Time-offset, relative to the beginning of the video, + * corresponding to the video frame for this object. + *+ * + *
.google.protobuf.Duration time_offset = 2;
+ *
+ * @return The timeOffset.
+ */
+ public com.google.protobuf.Duration getTimeOffset() {
+ return timeOffset_ == null ? com.google.protobuf.Duration.getDefaultInstance() : timeOffset_;
+ }
+ /**
+ *
+ *
+ * + * Time-offset, relative to the beginning of the video, + * corresponding to the video frame for this object. + *+ * + *
.google.protobuf.Duration time_offset = 2;
+ */
+ public com.google.protobuf.DurationOrBuilder getTimeOffsetOrBuilder() {
+ return getTimeOffset();
+ }
+
+ public static final int ATTRIBUTES_FIELD_NUMBER = 3;
+ private java.util.List+ * Optional. The attributes of the object in the bounding box. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public java.util.List+ * Optional. The attributes of the object in the bounding box. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public java.util.List extends com.google.cloud.videointelligence.v1.DetectedAttributeOrBuilder>
+ getAttributesOrBuilderList() {
+ return attributes_;
+ }
+ /**
+ *
+ *
+ * + * Optional. The attributes of the object in the bounding box. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public int getAttributesCount() {
+ return attributes_.size();
+ }
+ /**
+ *
+ *
+ * + * Optional. The attributes of the object in the bounding box. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public com.google.cloud.videointelligence.v1.DetectedAttribute getAttributes(int index) {
+ return attributes_.get(index);
+ }
+ /**
+ *
+ *
+ * + * Optional. The attributes of the object in the bounding box. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public com.google.cloud.videointelligence.v1.DetectedAttributeOrBuilder getAttributesOrBuilder(
+ int index) {
+ return attributes_.get(index);
+ }
+
+ public static final int LANDMARKS_FIELD_NUMBER = 4;
+ private java.util.List+ * Optional. The detected landmarks. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedLandmark landmarks = 4 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public java.util.List+ * Optional. The detected landmarks. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedLandmark landmarks = 4 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public java.util.List extends com.google.cloud.videointelligence.v1.DetectedLandmarkOrBuilder>
+ getLandmarksOrBuilderList() {
+ return landmarks_;
+ }
+ /**
+ *
+ *
+ * + * Optional. The detected landmarks. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedLandmark landmarks = 4 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public int getLandmarksCount() {
+ return landmarks_.size();
+ }
+ /**
+ *
+ *
+ * + * Optional. The detected landmarks. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedLandmark landmarks = 4 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public com.google.cloud.videointelligence.v1.DetectedLandmark getLandmarks(int index) {
+ return landmarks_.get(index);
+ }
+ /**
+ *
+ *
+ * + * Optional. The detected landmarks. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedLandmark landmarks = 4 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public com.google.cloud.videointelligence.v1.DetectedLandmarkOrBuilder getLandmarksOrBuilder(
+ int index) {
+ return landmarks_.get(index);
+ }
+
+ private byte memoizedIsInitialized = -1;
+
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
+ if (normalizedBoundingBox_ != null) {
+ output.writeMessage(1, getNormalizedBoundingBox());
+ }
+ if (timeOffset_ != null) {
+ output.writeMessage(2, getTimeOffset());
+ }
+ for (int i = 0; i < attributes_.size(); i++) {
+ output.writeMessage(3, attributes_.get(i));
+ }
+ for (int i = 0; i < landmarks_.size(); i++) {
+ output.writeMessage(4, landmarks_.get(i));
+ }
+ unknownFields.writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (normalizedBoundingBox_ != null) {
+ size +=
+ com.google.protobuf.CodedOutputStream.computeMessageSize(1, getNormalizedBoundingBox());
+ }
+ if (timeOffset_ != null) {
+ size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getTimeOffset());
+ }
+ for (int i = 0; i < attributes_.size(); i++) {
+ size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, attributes_.get(i));
+ }
+ for (int i = 0; i < landmarks_.size(); i++) {
+ size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, landmarks_.get(i));
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof com.google.cloud.videointelligence.v1.TimestampedObject)) {
+ return super.equals(obj);
+ }
+ com.google.cloud.videointelligence.v1.TimestampedObject other =
+ (com.google.cloud.videointelligence.v1.TimestampedObject) obj;
+
+ if (hasNormalizedBoundingBox() != other.hasNormalizedBoundingBox()) return false;
+ if (hasNormalizedBoundingBox()) {
+ if (!getNormalizedBoundingBox().equals(other.getNormalizedBoundingBox())) return false;
+ }
+ if (hasTimeOffset() != other.hasTimeOffset()) return false;
+ if (hasTimeOffset()) {
+ if (!getTimeOffset().equals(other.getTimeOffset())) return false;
+ }
+ if (!getAttributesList().equals(other.getAttributesList())) return false;
+ if (!getLandmarksList().equals(other.getLandmarksList())) return false;
+ if (!unknownFields.equals(other.unknownFields)) return false;
+ return true;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasNormalizedBoundingBox()) {
+ hash = (37 * hash) + NORMALIZED_BOUNDING_BOX_FIELD_NUMBER;
+ hash = (53 * hash) + getNormalizedBoundingBox().hashCode();
+ }
+ if (hasTimeOffset()) {
+ hash = (37 * hash) + TIME_OFFSET_FIELD_NUMBER;
+ hash = (53 * hash) + getTimeOffset().hashCode();
+ }
+ if (getAttributesCount() > 0) {
+ hash = (37 * hash) + ATTRIBUTES_FIELD_NUMBER;
+ hash = (53 * hash) + getAttributesList().hashCode();
+ }
+ if (getLandmarksCount() > 0) {
+ hash = (37 * hash) + LANDMARKS_FIELD_NUMBER;
+ hash = (53 * hash) + getLandmarksList().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.google.cloud.videointelligence.v1.TimestampedObject parseFrom(
+ java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.cloud.videointelligence.v1.TimestampedObject parseFrom(
+ java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.cloud.videointelligence.v1.TimestampedObject parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.cloud.videointelligence.v1.TimestampedObject parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.cloud.videointelligence.v1.TimestampedObject parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.cloud.videointelligence.v1.TimestampedObject parseFrom(
+ byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.cloud.videointelligence.v1.TimestampedObject parseFrom(
+ java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.cloud.videointelligence.v1.TimestampedObject parseFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.cloud.videointelligence.v1.TimestampedObject parseDelimitedFrom(
+ java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
+ }
+
+ public static com.google.cloud.videointelligence.v1.TimestampedObject parseDelimitedFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.cloud.videointelligence.v1.TimestampedObject parseFrom(
+ com.google.protobuf.CodedInputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.cloud.videointelligence.v1.TimestampedObject parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ @java.lang.Override
+ public Builder newBuilderForType() {
+ return newBuilder();
+ }
+
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+
+ public static Builder newBuilder(
+ com.google.cloud.videointelligence.v1.TimestampedObject prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+
+ @java.lang.Override
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ *
+ *
+ * + * For tracking related features. + * An object at time_offset with attributes, and located with + * normalized_bounding_box. + *+ * + * Protobuf type {@code google.cloud.videointelligence.v1.TimestampedObject} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder
+ * Normalized Bounding box in a frame, where the object is located. + *+ * + *
.google.cloud.videointelligence.v1.NormalizedBoundingBox normalized_bounding_box = 1;
+ *
+ *
+ * @return Whether the normalizedBoundingBox field is set.
+ */
+ public boolean hasNormalizedBoundingBox() {
+ return normalizedBoundingBoxBuilder_ != null || normalizedBoundingBox_ != null;
+ }
+ /**
+ *
+ *
+ * + * Normalized Bounding box in a frame, where the object is located. + *+ * + *
.google.cloud.videointelligence.v1.NormalizedBoundingBox normalized_bounding_box = 1;
+ *
+ *
+ * @return The normalizedBoundingBox.
+ */
+ public com.google.cloud.videointelligence.v1.NormalizedBoundingBox getNormalizedBoundingBox() {
+ if (normalizedBoundingBoxBuilder_ == null) {
+ return normalizedBoundingBox_ == null
+ ? com.google.cloud.videointelligence.v1.NormalizedBoundingBox.getDefaultInstance()
+ : normalizedBoundingBox_;
+ } else {
+ return normalizedBoundingBoxBuilder_.getMessage();
+ }
+ }
+ /**
+ *
+ *
+ * + * Normalized Bounding box in a frame, where the object is located. + *+ * + *
.google.cloud.videointelligence.v1.NormalizedBoundingBox normalized_bounding_box = 1;
+ *
+ */
+ public Builder setNormalizedBoundingBox(
+ com.google.cloud.videointelligence.v1.NormalizedBoundingBox value) {
+ if (normalizedBoundingBoxBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ normalizedBoundingBox_ = value;
+ onChanged();
+ } else {
+ normalizedBoundingBoxBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Normalized Bounding box in a frame, where the object is located. + *+ * + *
.google.cloud.videointelligence.v1.NormalizedBoundingBox normalized_bounding_box = 1;
+ *
+ */
+ public Builder setNormalizedBoundingBox(
+ com.google.cloud.videointelligence.v1.NormalizedBoundingBox.Builder builderForValue) {
+ if (normalizedBoundingBoxBuilder_ == null) {
+ normalizedBoundingBox_ = builderForValue.build();
+ onChanged();
+ } else {
+ normalizedBoundingBoxBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Normalized Bounding box in a frame, where the object is located. + *+ * + *
.google.cloud.videointelligence.v1.NormalizedBoundingBox normalized_bounding_box = 1;
+ *
+ */
+ public Builder mergeNormalizedBoundingBox(
+ com.google.cloud.videointelligence.v1.NormalizedBoundingBox value) {
+ if (normalizedBoundingBoxBuilder_ == null) {
+ if (normalizedBoundingBox_ != null) {
+ normalizedBoundingBox_ =
+ com.google.cloud.videointelligence.v1.NormalizedBoundingBox.newBuilder(
+ normalizedBoundingBox_)
+ .mergeFrom(value)
+ .buildPartial();
+ } else {
+ normalizedBoundingBox_ = value;
+ }
+ onChanged();
+ } else {
+ normalizedBoundingBoxBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Normalized Bounding box in a frame, where the object is located. + *+ * + *
.google.cloud.videointelligence.v1.NormalizedBoundingBox normalized_bounding_box = 1;
+ *
+ */
+ public Builder clearNormalizedBoundingBox() {
+ if (normalizedBoundingBoxBuilder_ == null) {
+ normalizedBoundingBox_ = null;
+ onChanged();
+ } else {
+ normalizedBoundingBox_ = null;
+ normalizedBoundingBoxBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Normalized Bounding box in a frame, where the object is located. + *+ * + *
.google.cloud.videointelligence.v1.NormalizedBoundingBox normalized_bounding_box = 1;
+ *
+ */
+ public com.google.cloud.videointelligence.v1.NormalizedBoundingBox.Builder
+ getNormalizedBoundingBoxBuilder() {
+
+ onChanged();
+ return getNormalizedBoundingBoxFieldBuilder().getBuilder();
+ }
+ /**
+ *
+ *
+ * + * Normalized Bounding box in a frame, where the object is located. + *+ * + *
.google.cloud.videointelligence.v1.NormalizedBoundingBox normalized_bounding_box = 1;
+ *
+ */
+ public com.google.cloud.videointelligence.v1.NormalizedBoundingBoxOrBuilder
+ getNormalizedBoundingBoxOrBuilder() {
+ if (normalizedBoundingBoxBuilder_ != null) {
+ return normalizedBoundingBoxBuilder_.getMessageOrBuilder();
+ } else {
+ return normalizedBoundingBox_ == null
+ ? com.google.cloud.videointelligence.v1.NormalizedBoundingBox.getDefaultInstance()
+ : normalizedBoundingBox_;
+ }
+ }
+ /**
+ *
+ *
+ * + * Normalized Bounding box in a frame, where the object is located. + *+ * + *
.google.cloud.videointelligence.v1.NormalizedBoundingBox normalized_bounding_box = 1;
+ *
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.cloud.videointelligence.v1.NormalizedBoundingBox,
+ com.google.cloud.videointelligence.v1.NormalizedBoundingBox.Builder,
+ com.google.cloud.videointelligence.v1.NormalizedBoundingBoxOrBuilder>
+ getNormalizedBoundingBoxFieldBuilder() {
+ if (normalizedBoundingBoxBuilder_ == null) {
+ normalizedBoundingBoxBuilder_ =
+ new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.cloud.videointelligence.v1.NormalizedBoundingBox,
+ com.google.cloud.videointelligence.v1.NormalizedBoundingBox.Builder,
+ com.google.cloud.videointelligence.v1.NormalizedBoundingBoxOrBuilder>(
+ getNormalizedBoundingBox(), getParentForChildren(), isClean());
+ normalizedBoundingBox_ = null;
+ }
+ return normalizedBoundingBoxBuilder_;
+ }
+
+ private com.google.protobuf.Duration timeOffset_;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration,
+ com.google.protobuf.Duration.Builder,
+ com.google.protobuf.DurationOrBuilder>
+ timeOffsetBuilder_;
+ /**
+ *
+ *
+ * + * Time-offset, relative to the beginning of the video, + * corresponding to the video frame for this object. + *+ * + *
.google.protobuf.Duration time_offset = 2;
+ *
+ * @return Whether the timeOffset field is set.
+ */
+ public boolean hasTimeOffset() {
+ return timeOffsetBuilder_ != null || timeOffset_ != null;
+ }
+ /**
+ *
+ *
+ * + * Time-offset, relative to the beginning of the video, + * corresponding to the video frame for this object. + *+ * + *
.google.protobuf.Duration time_offset = 2;
+ *
+ * @return The timeOffset.
+ */
+ public com.google.protobuf.Duration getTimeOffset() {
+ if (timeOffsetBuilder_ == null) {
+ return timeOffset_ == null
+ ? com.google.protobuf.Duration.getDefaultInstance()
+ : timeOffset_;
+ } else {
+ return timeOffsetBuilder_.getMessage();
+ }
+ }
+ /**
+ *
+ *
+ * + * Time-offset, relative to the beginning of the video, + * corresponding to the video frame for this object. + *+ * + *
.google.protobuf.Duration time_offset = 2;
+ */
+ public Builder setTimeOffset(com.google.protobuf.Duration value) {
+ if (timeOffsetBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ timeOffset_ = value;
+ onChanged();
+ } else {
+ timeOffsetBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Time-offset, relative to the beginning of the video, + * corresponding to the video frame for this object. + *+ * + *
.google.protobuf.Duration time_offset = 2;
+ */
+ public Builder setTimeOffset(com.google.protobuf.Duration.Builder builderForValue) {
+ if (timeOffsetBuilder_ == null) {
+ timeOffset_ = builderForValue.build();
+ onChanged();
+ } else {
+ timeOffsetBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Time-offset, relative to the beginning of the video, + * corresponding to the video frame for this object. + *+ * + *
.google.protobuf.Duration time_offset = 2;
+ */
+ public Builder mergeTimeOffset(com.google.protobuf.Duration value) {
+ if (timeOffsetBuilder_ == null) {
+ if (timeOffset_ != null) {
+ timeOffset_ =
+ com.google.protobuf.Duration.newBuilder(timeOffset_).mergeFrom(value).buildPartial();
+ } else {
+ timeOffset_ = value;
+ }
+ onChanged();
+ } else {
+ timeOffsetBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Time-offset, relative to the beginning of the video, + * corresponding to the video frame for this object. + *+ * + *
.google.protobuf.Duration time_offset = 2;
+ */
+ public Builder clearTimeOffset() {
+ if (timeOffsetBuilder_ == null) {
+ timeOffset_ = null;
+ onChanged();
+ } else {
+ timeOffset_ = null;
+ timeOffsetBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Time-offset, relative to the beginning of the video, + * corresponding to the video frame for this object. + *+ * + *
.google.protobuf.Duration time_offset = 2;
+ */
+ public com.google.protobuf.Duration.Builder getTimeOffsetBuilder() {
+
+ onChanged();
+ return getTimeOffsetFieldBuilder().getBuilder();
+ }
+ /**
+ *
+ *
+ * + * Time-offset, relative to the beginning of the video, + * corresponding to the video frame for this object. + *+ * + *
.google.protobuf.Duration time_offset = 2;
+ */
+ public com.google.protobuf.DurationOrBuilder getTimeOffsetOrBuilder() {
+ if (timeOffsetBuilder_ != null) {
+ return timeOffsetBuilder_.getMessageOrBuilder();
+ } else {
+ return timeOffset_ == null
+ ? com.google.protobuf.Duration.getDefaultInstance()
+ : timeOffset_;
+ }
+ }
+ /**
+ *
+ *
+ * + * Time-offset, relative to the beginning of the video, + * corresponding to the video frame for this object. + *+ * + *
.google.protobuf.Duration time_offset = 2;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration,
+ com.google.protobuf.Duration.Builder,
+ com.google.protobuf.DurationOrBuilder>
+ getTimeOffsetFieldBuilder() {
+ if (timeOffsetBuilder_ == null) {
+ timeOffsetBuilder_ =
+ new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration,
+ com.google.protobuf.Duration.Builder,
+ com.google.protobuf.DurationOrBuilder>(
+ getTimeOffset(), getParentForChildren(), isClean());
+ timeOffset_ = null;
+ }
+ return timeOffsetBuilder_;
+ }
+
+ private java.util.List+ * Optional. The attributes of the object in the bounding box. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public java.util.List+ * Optional. The attributes of the object in the bounding box. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public int getAttributesCount() {
+ if (attributesBuilder_ == null) {
+ return attributes_.size();
+ } else {
+ return attributesBuilder_.getCount();
+ }
+ }
+ /**
+ *
+ *
+ * + * Optional. The attributes of the object in the bounding box. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public com.google.cloud.videointelligence.v1.DetectedAttribute getAttributes(int index) {
+ if (attributesBuilder_ == null) {
+ return attributes_.get(index);
+ } else {
+ return attributesBuilder_.getMessage(index);
+ }
+ }
+ /**
+ *
+ *
+ * + * Optional. The attributes of the object in the bounding box. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder setAttributes(
+ int index, com.google.cloud.videointelligence.v1.DetectedAttribute value) {
+ if (attributesBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureAttributesIsMutable();
+ attributes_.set(index, value);
+ onChanged();
+ } else {
+ attributesBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Optional. The attributes of the object in the bounding box. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder setAttributes(
+ int index,
+ com.google.cloud.videointelligence.v1.DetectedAttribute.Builder builderForValue) {
+ if (attributesBuilder_ == null) {
+ ensureAttributesIsMutable();
+ attributes_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ attributesBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Optional. The attributes of the object in the bounding box. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder addAttributes(com.google.cloud.videointelligence.v1.DetectedAttribute value) {
+ if (attributesBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureAttributesIsMutable();
+ attributes_.add(value);
+ onChanged();
+ } else {
+ attributesBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Optional. The attributes of the object in the bounding box. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder addAttributes(
+ int index, com.google.cloud.videointelligence.v1.DetectedAttribute value) {
+ if (attributesBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureAttributesIsMutable();
+ attributes_.add(index, value);
+ onChanged();
+ } else {
+ attributesBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Optional. The attributes of the object in the bounding box. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder addAttributes(
+ com.google.cloud.videointelligence.v1.DetectedAttribute.Builder builderForValue) {
+ if (attributesBuilder_ == null) {
+ ensureAttributesIsMutable();
+ attributes_.add(builderForValue.build());
+ onChanged();
+ } else {
+ attributesBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Optional. The attributes of the object in the bounding box. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder addAttributes(
+ int index,
+ com.google.cloud.videointelligence.v1.DetectedAttribute.Builder builderForValue) {
+ if (attributesBuilder_ == null) {
+ ensureAttributesIsMutable();
+ attributes_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ attributesBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Optional. The attributes of the object in the bounding box. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder addAllAttributes(
+ java.lang.Iterable extends com.google.cloud.videointelligence.v1.DetectedAttribute>
+ values) {
+ if (attributesBuilder_ == null) {
+ ensureAttributesIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(values, attributes_);
+ onChanged();
+ } else {
+ attributesBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Optional. The attributes of the object in the bounding box. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder clearAttributes() {
+ if (attributesBuilder_ == null) {
+ attributes_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000001);
+ onChanged();
+ } else {
+ attributesBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Optional. The attributes of the object in the bounding box. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder removeAttributes(int index) {
+ if (attributesBuilder_ == null) {
+ ensureAttributesIsMutable();
+ attributes_.remove(index);
+ onChanged();
+ } else {
+ attributesBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Optional. The attributes of the object in the bounding box. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public com.google.cloud.videointelligence.v1.DetectedAttribute.Builder getAttributesBuilder(
+ int index) {
+ return getAttributesFieldBuilder().getBuilder(index);
+ }
+ /**
+ *
+ *
+ * + * Optional. The attributes of the object in the bounding box. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public com.google.cloud.videointelligence.v1.DetectedAttributeOrBuilder getAttributesOrBuilder(
+ int index) {
+ if (attributesBuilder_ == null) {
+ return attributes_.get(index);
+ } else {
+ return attributesBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ *
+ *
+ * + * Optional. The attributes of the object in the bounding box. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public java.util.List<
+ ? extends com.google.cloud.videointelligence.v1.DetectedAttributeOrBuilder>
+ getAttributesOrBuilderList() {
+ if (attributesBuilder_ != null) {
+ return attributesBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(attributes_);
+ }
+ }
+ /**
+ *
+ *
+ * + * Optional. The attributes of the object in the bounding box. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public com.google.cloud.videointelligence.v1.DetectedAttribute.Builder addAttributesBuilder() {
+ return getAttributesFieldBuilder()
+ .addBuilder(com.google.cloud.videointelligence.v1.DetectedAttribute.getDefaultInstance());
+ }
+ /**
+ *
+ *
+ * + * Optional. The attributes of the object in the bounding box. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public com.google.cloud.videointelligence.v1.DetectedAttribute.Builder addAttributesBuilder(
+ int index) {
+ return getAttributesFieldBuilder()
+ .addBuilder(
+ index, com.google.cloud.videointelligence.v1.DetectedAttribute.getDefaultInstance());
+ }
+ /**
+ *
+ *
+ * + * Optional. The attributes of the object in the bounding box. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public java.util.List+ * Optional. The detected landmarks. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedLandmark landmarks = 4 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public java.util.List+ * Optional. The detected landmarks. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedLandmark landmarks = 4 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public int getLandmarksCount() {
+ if (landmarksBuilder_ == null) {
+ return landmarks_.size();
+ } else {
+ return landmarksBuilder_.getCount();
+ }
+ }
+ /**
+ *
+ *
+ * + * Optional. The detected landmarks. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedLandmark landmarks = 4 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public com.google.cloud.videointelligence.v1.DetectedLandmark getLandmarks(int index) {
+ if (landmarksBuilder_ == null) {
+ return landmarks_.get(index);
+ } else {
+ return landmarksBuilder_.getMessage(index);
+ }
+ }
+ /**
+ *
+ *
+ * + * Optional. The detected landmarks. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedLandmark landmarks = 4 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder setLandmarks(
+ int index, com.google.cloud.videointelligence.v1.DetectedLandmark value) {
+ if (landmarksBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureLandmarksIsMutable();
+ landmarks_.set(index, value);
+ onChanged();
+ } else {
+ landmarksBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Optional. The detected landmarks. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedLandmark landmarks = 4 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder setLandmarks(
+ int index, com.google.cloud.videointelligence.v1.DetectedLandmark.Builder builderForValue) {
+ if (landmarksBuilder_ == null) {
+ ensureLandmarksIsMutable();
+ landmarks_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ landmarksBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Optional. The detected landmarks. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedLandmark landmarks = 4 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder addLandmarks(com.google.cloud.videointelligence.v1.DetectedLandmark value) {
+ if (landmarksBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureLandmarksIsMutable();
+ landmarks_.add(value);
+ onChanged();
+ } else {
+ landmarksBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Optional. The detected landmarks. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedLandmark landmarks = 4 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder addLandmarks(
+ int index, com.google.cloud.videointelligence.v1.DetectedLandmark value) {
+ if (landmarksBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureLandmarksIsMutable();
+ landmarks_.add(index, value);
+ onChanged();
+ } else {
+ landmarksBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Optional. The detected landmarks. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedLandmark landmarks = 4 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder addLandmarks(
+ com.google.cloud.videointelligence.v1.DetectedLandmark.Builder builderForValue) {
+ if (landmarksBuilder_ == null) {
+ ensureLandmarksIsMutable();
+ landmarks_.add(builderForValue.build());
+ onChanged();
+ } else {
+ landmarksBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Optional. The detected landmarks. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedLandmark landmarks = 4 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder addLandmarks(
+ int index, com.google.cloud.videointelligence.v1.DetectedLandmark.Builder builderForValue) {
+ if (landmarksBuilder_ == null) {
+ ensureLandmarksIsMutable();
+ landmarks_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ landmarksBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Optional. The detected landmarks. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedLandmark landmarks = 4 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder addAllLandmarks(
+ java.lang.Iterable extends com.google.cloud.videointelligence.v1.DetectedLandmark>
+ values) {
+ if (landmarksBuilder_ == null) {
+ ensureLandmarksIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(values, landmarks_);
+ onChanged();
+ } else {
+ landmarksBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Optional. The detected landmarks. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedLandmark landmarks = 4 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder clearLandmarks() {
+ if (landmarksBuilder_ == null) {
+ landmarks_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000002);
+ onChanged();
+ } else {
+ landmarksBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Optional. The detected landmarks. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedLandmark landmarks = 4 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder removeLandmarks(int index) {
+ if (landmarksBuilder_ == null) {
+ ensureLandmarksIsMutable();
+ landmarks_.remove(index);
+ onChanged();
+ } else {
+ landmarksBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Optional. The detected landmarks. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedLandmark landmarks = 4 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public com.google.cloud.videointelligence.v1.DetectedLandmark.Builder getLandmarksBuilder(
+ int index) {
+ return getLandmarksFieldBuilder().getBuilder(index);
+ }
+ /**
+ *
+ *
+ * + * Optional. The detected landmarks. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedLandmark landmarks = 4 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public com.google.cloud.videointelligence.v1.DetectedLandmarkOrBuilder getLandmarksOrBuilder(
+ int index) {
+ if (landmarksBuilder_ == null) {
+ return landmarks_.get(index);
+ } else {
+ return landmarksBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ *
+ *
+ * + * Optional. The detected landmarks. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedLandmark landmarks = 4 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public java.util.List extends com.google.cloud.videointelligence.v1.DetectedLandmarkOrBuilder>
+ getLandmarksOrBuilderList() {
+ if (landmarksBuilder_ != null) {
+ return landmarksBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(landmarks_);
+ }
+ }
+ /**
+ *
+ *
+ * + * Optional. The detected landmarks. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedLandmark landmarks = 4 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public com.google.cloud.videointelligence.v1.DetectedLandmark.Builder addLandmarksBuilder() {
+ return getLandmarksFieldBuilder()
+ .addBuilder(com.google.cloud.videointelligence.v1.DetectedLandmark.getDefaultInstance());
+ }
+ /**
+ *
+ *
+ * + * Optional. The detected landmarks. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedLandmark landmarks = 4 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public com.google.cloud.videointelligence.v1.DetectedLandmark.Builder addLandmarksBuilder(
+ int index) {
+ return getLandmarksFieldBuilder()
+ .addBuilder(
+ index, com.google.cloud.videointelligence.v1.DetectedLandmark.getDefaultInstance());
+ }
+ /**
+ *
+ *
+ * + * Optional. The detected landmarks. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedLandmark landmarks = 4 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public java.util.List+ * Normalized Bounding box in a frame, where the object is located. + *+ * + *
.google.cloud.videointelligence.v1.NormalizedBoundingBox normalized_bounding_box = 1;
+ *
+ *
+ * @return Whether the normalizedBoundingBox field is set.
+ */
+ boolean hasNormalizedBoundingBox();
+ /**
+ *
+ *
+ * + * Normalized Bounding box in a frame, where the object is located. + *+ * + *
.google.cloud.videointelligence.v1.NormalizedBoundingBox normalized_bounding_box = 1;
+ *
+ *
+ * @return The normalizedBoundingBox.
+ */
+ com.google.cloud.videointelligence.v1.NormalizedBoundingBox getNormalizedBoundingBox();
+ /**
+ *
+ *
+ * + * Normalized Bounding box in a frame, where the object is located. + *+ * + *
.google.cloud.videointelligence.v1.NormalizedBoundingBox normalized_bounding_box = 1;
+ *
+ */
+ com.google.cloud.videointelligence.v1.NormalizedBoundingBoxOrBuilder
+ getNormalizedBoundingBoxOrBuilder();
+
+ /**
+ *
+ *
+ * + * Time-offset, relative to the beginning of the video, + * corresponding to the video frame for this object. + *+ * + *
.google.protobuf.Duration time_offset = 2;
+ *
+ * @return Whether the timeOffset field is set.
+ */
+ boolean hasTimeOffset();
+ /**
+ *
+ *
+ * + * Time-offset, relative to the beginning of the video, + * corresponding to the video frame for this object. + *+ * + *
.google.protobuf.Duration time_offset = 2;
+ *
+ * @return The timeOffset.
+ */
+ com.google.protobuf.Duration getTimeOffset();
+ /**
+ *
+ *
+ * + * Time-offset, relative to the beginning of the video, + * corresponding to the video frame for this object. + *+ * + *
.google.protobuf.Duration time_offset = 2;
+ */
+ com.google.protobuf.DurationOrBuilder getTimeOffsetOrBuilder();
+
+ /**
+ *
+ *
+ * + * Optional. The attributes of the object in the bounding box. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ java.util.List+ * Optional. The attributes of the object in the bounding box. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ com.google.cloud.videointelligence.v1.DetectedAttribute getAttributes(int index);
+ /**
+ *
+ *
+ * + * Optional. The attributes of the object in the bounding box. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ int getAttributesCount();
+ /**
+ *
+ *
+ * + * Optional. The attributes of the object in the bounding box. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ java.util.List extends com.google.cloud.videointelligence.v1.DetectedAttributeOrBuilder>
+ getAttributesOrBuilderList();
+ /**
+ *
+ *
+ * + * Optional. The attributes of the object in the bounding box. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ com.google.cloud.videointelligence.v1.DetectedAttributeOrBuilder getAttributesOrBuilder(
+ int index);
+
+ /**
+ *
+ *
+ * + * Optional. The detected landmarks. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedLandmark landmarks = 4 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ java.util.List+ * Optional. The detected landmarks. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedLandmark landmarks = 4 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ com.google.cloud.videointelligence.v1.DetectedLandmark getLandmarks(int index);
+ /**
+ *
+ *
+ * + * Optional. The detected landmarks. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedLandmark landmarks = 4 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ int getLandmarksCount();
+ /**
+ *
+ *
+ * + * Optional. The detected landmarks. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedLandmark landmarks = 4 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ java.util.List extends com.google.cloud.videointelligence.v1.DetectedLandmarkOrBuilder>
+ getLandmarksOrBuilderList();
+ /**
+ *
+ *
+ * + * Optional. The detected landmarks. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedLandmark landmarks = 4 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ com.google.cloud.videointelligence.v1.DetectedLandmarkOrBuilder getLandmarksOrBuilder(int index);
+}
diff --git a/proto-google-cloud-video-intelligence-v1/src/main/java/com/google/cloud/videointelligence/v1/Track.java b/proto-google-cloud-video-intelligence-v1/src/main/java/com/google/cloud/videointelligence/v1/Track.java
new file mode 100644
index 000000000..4a189b79f
--- /dev/null
+++ b/proto-google-cloud-video-intelligence-v1/src/main/java/com/google/cloud/videointelligence/v1/Track.java
@@ -0,0 +1,1904 @@
+/*
+ * Copyright 2020 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: google/cloud/videointelligence/v1/video_intelligence.proto
+
+package com.google.cloud.videointelligence.v1;
+
+/**
+ *
+ *
+ * + * A track of an object instance. + *+ * + * Protobuf type {@code google.cloud.videointelligence.v1.Track} + */ +public final class Track extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.cloud.videointelligence.v1.Track) + TrackOrBuilder { + private static final long serialVersionUID = 0L; + // Use Track.newBuilder() to construct. + private Track(com.google.protobuf.GeneratedMessageV3.Builder> builder) { + super(builder); + } + + private Track() { + timestampedObjects_ = java.util.Collections.emptyList(); + attributes_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new Track(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private Track( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + com.google.cloud.videointelligence.v1.VideoSegment.Builder subBuilder = null; + if (segment_ != null) { + subBuilder = segment_.toBuilder(); + } + segment_ = + input.readMessage( + com.google.cloud.videointelligence.v1.VideoSegment.parser(), + extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(segment_); + segment_ = subBuilder.buildPartial(); + } + + break; + } + case 18: + { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + timestampedObjects_ = + new java.util.ArrayList< + com.google.cloud.videointelligence.v1.TimestampedObject>(); + mutable_bitField0_ |= 0x00000001; + } + timestampedObjects_.add( + input.readMessage( + com.google.cloud.videointelligence.v1.TimestampedObject.parser(), + extensionRegistry)); + break; + } + case 26: + { + if (!((mutable_bitField0_ & 0x00000002) != 0)) { + attributes_ = + new java.util.ArrayList< + com.google.cloud.videointelligence.v1.DetectedAttribute>(); + mutable_bitField0_ |= 0x00000002; + } + attributes_.add( + input.readMessage( + com.google.cloud.videointelligence.v1.DetectedAttribute.parser(), + extensionRegistry)); + break; + } + case 37: + { + confidence_ = input.readFloat(); + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + timestampedObjects_ = java.util.Collections.unmodifiableList(timestampedObjects_); + } + if (((mutable_bitField0_ & 0x00000002) != 0)) { + attributes_ = java.util.Collections.unmodifiableList(attributes_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.videointelligence.v1.VideoIntelligenceServiceProto + .internal_static_google_cloud_videointelligence_v1_Track_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.videointelligence.v1.VideoIntelligenceServiceProto + .internal_static_google_cloud_videointelligence_v1_Track_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.videointelligence.v1.Track.class, + com.google.cloud.videointelligence.v1.Track.Builder.class); + } + + public static final int SEGMENT_FIELD_NUMBER = 1; + private com.google.cloud.videointelligence.v1.VideoSegment segment_; + /** + * + * + *
+ * Video segment of a track. + *+ * + *
.google.cloud.videointelligence.v1.VideoSegment segment = 1;
+ *
+ * @return Whether the segment field is set.
+ */
+ public boolean hasSegment() {
+ return segment_ != null;
+ }
+ /**
+ *
+ *
+ * + * Video segment of a track. + *+ * + *
.google.cloud.videointelligence.v1.VideoSegment segment = 1;
+ *
+ * @return The segment.
+ */
+ public com.google.cloud.videointelligence.v1.VideoSegment getSegment() {
+ return segment_ == null
+ ? com.google.cloud.videointelligence.v1.VideoSegment.getDefaultInstance()
+ : segment_;
+ }
+ /**
+ *
+ *
+ * + * Video segment of a track. + *+ * + *
.google.cloud.videointelligence.v1.VideoSegment segment = 1;
+ */
+ public com.google.cloud.videointelligence.v1.VideoSegmentOrBuilder getSegmentOrBuilder() {
+ return getSegment();
+ }
+
+ public static final int TIMESTAMPED_OBJECTS_FIELD_NUMBER = 2;
+ private java.util.List+ * The object with timestamp and attributes per frame in the track. + *+ * + *
repeated .google.cloud.videointelligence.v1.TimestampedObject timestamped_objects = 2;
+ *
+ */
+ public java.util.List+ * The object with timestamp and attributes per frame in the track. + *+ * + *
repeated .google.cloud.videointelligence.v1.TimestampedObject timestamped_objects = 2;
+ *
+ */
+ public java.util.List extends com.google.cloud.videointelligence.v1.TimestampedObjectOrBuilder>
+ getTimestampedObjectsOrBuilderList() {
+ return timestampedObjects_;
+ }
+ /**
+ *
+ *
+ * + * The object with timestamp and attributes per frame in the track. + *+ * + *
repeated .google.cloud.videointelligence.v1.TimestampedObject timestamped_objects = 2;
+ *
+ */
+ public int getTimestampedObjectsCount() {
+ return timestampedObjects_.size();
+ }
+ /**
+ *
+ *
+ * + * The object with timestamp and attributes per frame in the track. + *+ * + *
repeated .google.cloud.videointelligence.v1.TimestampedObject timestamped_objects = 2;
+ *
+ */
+ public com.google.cloud.videointelligence.v1.TimestampedObject getTimestampedObjects(int index) {
+ return timestampedObjects_.get(index);
+ }
+ /**
+ *
+ *
+ * + * The object with timestamp and attributes per frame in the track. + *+ * + *
repeated .google.cloud.videointelligence.v1.TimestampedObject timestamped_objects = 2;
+ *
+ */
+ public com.google.cloud.videointelligence.v1.TimestampedObjectOrBuilder
+ getTimestampedObjectsOrBuilder(int index) {
+ return timestampedObjects_.get(index);
+ }
+
+ public static final int ATTRIBUTES_FIELD_NUMBER = 3;
+ private java.util.List+ * Optional. Attributes in the track level. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public java.util.List+ * Optional. Attributes in the track level. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public java.util.List extends com.google.cloud.videointelligence.v1.DetectedAttributeOrBuilder>
+ getAttributesOrBuilderList() {
+ return attributes_;
+ }
+ /**
+ *
+ *
+ * + * Optional. Attributes in the track level. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public int getAttributesCount() {
+ return attributes_.size();
+ }
+ /**
+ *
+ *
+ * + * Optional. Attributes in the track level. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public com.google.cloud.videointelligence.v1.DetectedAttribute getAttributes(int index) {
+ return attributes_.get(index);
+ }
+ /**
+ *
+ *
+ * + * Optional. Attributes in the track level. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public com.google.cloud.videointelligence.v1.DetectedAttributeOrBuilder getAttributesOrBuilder(
+ int index) {
+ return attributes_.get(index);
+ }
+
+ public static final int CONFIDENCE_FIELD_NUMBER = 4;
+ private float confidence_;
+ /**
+ *
+ *
+ * + * Optional. The confidence score of the tracked object. + *+ * + *
float confidence = 4 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The confidence.
+ */
+ public float getConfidence() {
+ return confidence_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
+ if (segment_ != null) {
+ output.writeMessage(1, getSegment());
+ }
+ for (int i = 0; i < timestampedObjects_.size(); i++) {
+ output.writeMessage(2, timestampedObjects_.get(i));
+ }
+ for (int i = 0; i < attributes_.size(); i++) {
+ output.writeMessage(3, attributes_.get(i));
+ }
+ if (confidence_ != 0F) {
+ output.writeFloat(4, confidence_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (segment_ != null) {
+ size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getSegment());
+ }
+ for (int i = 0; i < timestampedObjects_.size(); i++) {
+ size +=
+ com.google.protobuf.CodedOutputStream.computeMessageSize(2, timestampedObjects_.get(i));
+ }
+ for (int i = 0; i < attributes_.size(); i++) {
+ size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, attributes_.get(i));
+ }
+ if (confidence_ != 0F) {
+ size += com.google.protobuf.CodedOutputStream.computeFloatSize(4, confidence_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof com.google.cloud.videointelligence.v1.Track)) {
+ return super.equals(obj);
+ }
+ com.google.cloud.videointelligence.v1.Track other =
+ (com.google.cloud.videointelligence.v1.Track) obj;
+
+ if (hasSegment() != other.hasSegment()) return false;
+ if (hasSegment()) {
+ if (!getSegment().equals(other.getSegment())) return false;
+ }
+ if (!getTimestampedObjectsList().equals(other.getTimestampedObjectsList())) return false;
+ if (!getAttributesList().equals(other.getAttributesList())) return false;
+ if (java.lang.Float.floatToIntBits(getConfidence())
+ != java.lang.Float.floatToIntBits(other.getConfidence())) return false;
+ if (!unknownFields.equals(other.unknownFields)) return false;
+ return true;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasSegment()) {
+ hash = (37 * hash) + SEGMENT_FIELD_NUMBER;
+ hash = (53 * hash) + getSegment().hashCode();
+ }
+ if (getTimestampedObjectsCount() > 0) {
+ hash = (37 * hash) + TIMESTAMPED_OBJECTS_FIELD_NUMBER;
+ hash = (53 * hash) + getTimestampedObjectsList().hashCode();
+ }
+ if (getAttributesCount() > 0) {
+ hash = (37 * hash) + ATTRIBUTES_FIELD_NUMBER;
+ hash = (53 * hash) + getAttributesList().hashCode();
+ }
+ hash = (37 * hash) + CONFIDENCE_FIELD_NUMBER;
+ hash = (53 * hash) + java.lang.Float.floatToIntBits(getConfidence());
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.google.cloud.videointelligence.v1.Track parseFrom(java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.cloud.videointelligence.v1.Track parseFrom(
+ java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.cloud.videointelligence.v1.Track parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.cloud.videointelligence.v1.Track parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.cloud.videointelligence.v1.Track parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.cloud.videointelligence.v1.Track parseFrom(
+ byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.cloud.videointelligence.v1.Track parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.cloud.videointelligence.v1.Track parseFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.cloud.videointelligence.v1.Track parseDelimitedFrom(
+ java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
+ }
+
+ public static com.google.cloud.videointelligence.v1.Track parseDelimitedFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.cloud.videointelligence.v1.Track parseFrom(
+ com.google.protobuf.CodedInputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.cloud.videointelligence.v1.Track parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ @java.lang.Override
+ public Builder newBuilderForType() {
+ return newBuilder();
+ }
+
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+
+ public static Builder newBuilder(com.google.cloud.videointelligence.v1.Track prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+
+ @java.lang.Override
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ *
+ *
+ * + * A track of an object instance. + *+ * + * Protobuf type {@code google.cloud.videointelligence.v1.Track} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder
+ * Video segment of a track. + *+ * + *
.google.cloud.videointelligence.v1.VideoSegment segment = 1;
+ *
+ * @return Whether the segment field is set.
+ */
+ public boolean hasSegment() {
+ return segmentBuilder_ != null || segment_ != null;
+ }
+ /**
+ *
+ *
+ * + * Video segment of a track. + *+ * + *
.google.cloud.videointelligence.v1.VideoSegment segment = 1;
+ *
+ * @return The segment.
+ */
+ public com.google.cloud.videointelligence.v1.VideoSegment getSegment() {
+ if (segmentBuilder_ == null) {
+ return segment_ == null
+ ? com.google.cloud.videointelligence.v1.VideoSegment.getDefaultInstance()
+ : segment_;
+ } else {
+ return segmentBuilder_.getMessage();
+ }
+ }
+ /**
+ *
+ *
+ * + * Video segment of a track. + *+ * + *
.google.cloud.videointelligence.v1.VideoSegment segment = 1;
+ */
+ public Builder setSegment(com.google.cloud.videointelligence.v1.VideoSegment value) {
+ if (segmentBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ segment_ = value;
+ onChanged();
+ } else {
+ segmentBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Video segment of a track. + *+ * + *
.google.cloud.videointelligence.v1.VideoSegment segment = 1;
+ */
+ public Builder setSegment(
+ com.google.cloud.videointelligence.v1.VideoSegment.Builder builderForValue) {
+ if (segmentBuilder_ == null) {
+ segment_ = builderForValue.build();
+ onChanged();
+ } else {
+ segmentBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Video segment of a track. + *+ * + *
.google.cloud.videointelligence.v1.VideoSegment segment = 1;
+ */
+ public Builder mergeSegment(com.google.cloud.videointelligence.v1.VideoSegment value) {
+ if (segmentBuilder_ == null) {
+ if (segment_ != null) {
+ segment_ =
+ com.google.cloud.videointelligence.v1.VideoSegment.newBuilder(segment_)
+ .mergeFrom(value)
+ .buildPartial();
+ } else {
+ segment_ = value;
+ }
+ onChanged();
+ } else {
+ segmentBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Video segment of a track. + *+ * + *
.google.cloud.videointelligence.v1.VideoSegment segment = 1;
+ */
+ public Builder clearSegment() {
+ if (segmentBuilder_ == null) {
+ segment_ = null;
+ onChanged();
+ } else {
+ segment_ = null;
+ segmentBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Video segment of a track. + *+ * + *
.google.cloud.videointelligence.v1.VideoSegment segment = 1;
+ */
+ public com.google.cloud.videointelligence.v1.VideoSegment.Builder getSegmentBuilder() {
+
+ onChanged();
+ return getSegmentFieldBuilder().getBuilder();
+ }
+ /**
+ *
+ *
+ * + * Video segment of a track. + *+ * + *
.google.cloud.videointelligence.v1.VideoSegment segment = 1;
+ */
+ public com.google.cloud.videointelligence.v1.VideoSegmentOrBuilder getSegmentOrBuilder() {
+ if (segmentBuilder_ != null) {
+ return segmentBuilder_.getMessageOrBuilder();
+ } else {
+ return segment_ == null
+ ? com.google.cloud.videointelligence.v1.VideoSegment.getDefaultInstance()
+ : segment_;
+ }
+ }
+ /**
+ *
+ *
+ * + * Video segment of a track. + *+ * + *
.google.cloud.videointelligence.v1.VideoSegment segment = 1;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.cloud.videointelligence.v1.VideoSegment,
+ com.google.cloud.videointelligence.v1.VideoSegment.Builder,
+ com.google.cloud.videointelligence.v1.VideoSegmentOrBuilder>
+ getSegmentFieldBuilder() {
+ if (segmentBuilder_ == null) {
+ segmentBuilder_ =
+ new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.cloud.videointelligence.v1.VideoSegment,
+ com.google.cloud.videointelligence.v1.VideoSegment.Builder,
+ com.google.cloud.videointelligence.v1.VideoSegmentOrBuilder>(
+ getSegment(), getParentForChildren(), isClean());
+ segment_ = null;
+ }
+ return segmentBuilder_;
+ }
+
+ private java.util.List+ * The object with timestamp and attributes per frame in the track. + *+ * + *
repeated .google.cloud.videointelligence.v1.TimestampedObject timestamped_objects = 2;
+ *
+ */
+ public java.util.List+ * The object with timestamp and attributes per frame in the track. + *+ * + *
repeated .google.cloud.videointelligence.v1.TimestampedObject timestamped_objects = 2;
+ *
+ */
+ public int getTimestampedObjectsCount() {
+ if (timestampedObjectsBuilder_ == null) {
+ return timestampedObjects_.size();
+ } else {
+ return timestampedObjectsBuilder_.getCount();
+ }
+ }
+ /**
+ *
+ *
+ * + * The object with timestamp and attributes per frame in the track. + *+ * + *
repeated .google.cloud.videointelligence.v1.TimestampedObject timestamped_objects = 2;
+ *
+ */
+ public com.google.cloud.videointelligence.v1.TimestampedObject getTimestampedObjects(
+ int index) {
+ if (timestampedObjectsBuilder_ == null) {
+ return timestampedObjects_.get(index);
+ } else {
+ return timestampedObjectsBuilder_.getMessage(index);
+ }
+ }
+ /**
+ *
+ *
+ * + * The object with timestamp and attributes per frame in the track. + *+ * + *
repeated .google.cloud.videointelligence.v1.TimestampedObject timestamped_objects = 2;
+ *
+ */
+ public Builder setTimestampedObjects(
+ int index, com.google.cloud.videointelligence.v1.TimestampedObject value) {
+ if (timestampedObjectsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureTimestampedObjectsIsMutable();
+ timestampedObjects_.set(index, value);
+ onChanged();
+ } else {
+ timestampedObjectsBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * The object with timestamp and attributes per frame in the track. + *+ * + *
repeated .google.cloud.videointelligence.v1.TimestampedObject timestamped_objects = 2;
+ *
+ */
+ public Builder setTimestampedObjects(
+ int index,
+ com.google.cloud.videointelligence.v1.TimestampedObject.Builder builderForValue) {
+ if (timestampedObjectsBuilder_ == null) {
+ ensureTimestampedObjectsIsMutable();
+ timestampedObjects_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ timestampedObjectsBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * The object with timestamp and attributes per frame in the track. + *+ * + *
repeated .google.cloud.videointelligence.v1.TimestampedObject timestamped_objects = 2;
+ *
+ */
+ public Builder addTimestampedObjects(
+ com.google.cloud.videointelligence.v1.TimestampedObject value) {
+ if (timestampedObjectsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureTimestampedObjectsIsMutable();
+ timestampedObjects_.add(value);
+ onChanged();
+ } else {
+ timestampedObjectsBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * The object with timestamp and attributes per frame in the track. + *+ * + *
repeated .google.cloud.videointelligence.v1.TimestampedObject timestamped_objects = 2;
+ *
+ */
+ public Builder addTimestampedObjects(
+ int index, com.google.cloud.videointelligence.v1.TimestampedObject value) {
+ if (timestampedObjectsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureTimestampedObjectsIsMutable();
+ timestampedObjects_.add(index, value);
+ onChanged();
+ } else {
+ timestampedObjectsBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * The object with timestamp and attributes per frame in the track. + *+ * + *
repeated .google.cloud.videointelligence.v1.TimestampedObject timestamped_objects = 2;
+ *
+ */
+ public Builder addTimestampedObjects(
+ com.google.cloud.videointelligence.v1.TimestampedObject.Builder builderForValue) {
+ if (timestampedObjectsBuilder_ == null) {
+ ensureTimestampedObjectsIsMutable();
+ timestampedObjects_.add(builderForValue.build());
+ onChanged();
+ } else {
+ timestampedObjectsBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * The object with timestamp and attributes per frame in the track. + *+ * + *
repeated .google.cloud.videointelligence.v1.TimestampedObject timestamped_objects = 2;
+ *
+ */
+ public Builder addTimestampedObjects(
+ int index,
+ com.google.cloud.videointelligence.v1.TimestampedObject.Builder builderForValue) {
+ if (timestampedObjectsBuilder_ == null) {
+ ensureTimestampedObjectsIsMutable();
+ timestampedObjects_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ timestampedObjectsBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * The object with timestamp and attributes per frame in the track. + *+ * + *
repeated .google.cloud.videointelligence.v1.TimestampedObject timestamped_objects = 2;
+ *
+ */
+ public Builder addAllTimestampedObjects(
+ java.lang.Iterable extends com.google.cloud.videointelligence.v1.TimestampedObject>
+ values) {
+ if (timestampedObjectsBuilder_ == null) {
+ ensureTimestampedObjectsIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(values, timestampedObjects_);
+ onChanged();
+ } else {
+ timestampedObjectsBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * The object with timestamp and attributes per frame in the track. + *+ * + *
repeated .google.cloud.videointelligence.v1.TimestampedObject timestamped_objects = 2;
+ *
+ */
+ public Builder clearTimestampedObjects() {
+ if (timestampedObjectsBuilder_ == null) {
+ timestampedObjects_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000001);
+ onChanged();
+ } else {
+ timestampedObjectsBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * The object with timestamp and attributes per frame in the track. + *+ * + *
repeated .google.cloud.videointelligence.v1.TimestampedObject timestamped_objects = 2;
+ *
+ */
+ public Builder removeTimestampedObjects(int index) {
+ if (timestampedObjectsBuilder_ == null) {
+ ensureTimestampedObjectsIsMutable();
+ timestampedObjects_.remove(index);
+ onChanged();
+ } else {
+ timestampedObjectsBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * The object with timestamp and attributes per frame in the track. + *+ * + *
repeated .google.cloud.videointelligence.v1.TimestampedObject timestamped_objects = 2;
+ *
+ */
+ public com.google.cloud.videointelligence.v1.TimestampedObject.Builder
+ getTimestampedObjectsBuilder(int index) {
+ return getTimestampedObjectsFieldBuilder().getBuilder(index);
+ }
+ /**
+ *
+ *
+ * + * The object with timestamp and attributes per frame in the track. + *+ * + *
repeated .google.cloud.videointelligence.v1.TimestampedObject timestamped_objects = 2;
+ *
+ */
+ public com.google.cloud.videointelligence.v1.TimestampedObjectOrBuilder
+ getTimestampedObjectsOrBuilder(int index) {
+ if (timestampedObjectsBuilder_ == null) {
+ return timestampedObjects_.get(index);
+ } else {
+ return timestampedObjectsBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ *
+ *
+ * + * The object with timestamp and attributes per frame in the track. + *+ * + *
repeated .google.cloud.videointelligence.v1.TimestampedObject timestamped_objects = 2;
+ *
+ */
+ public java.util.List<
+ ? extends com.google.cloud.videointelligence.v1.TimestampedObjectOrBuilder>
+ getTimestampedObjectsOrBuilderList() {
+ if (timestampedObjectsBuilder_ != null) {
+ return timestampedObjectsBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(timestampedObjects_);
+ }
+ }
+ /**
+ *
+ *
+ * + * The object with timestamp and attributes per frame in the track. + *+ * + *
repeated .google.cloud.videointelligence.v1.TimestampedObject timestamped_objects = 2;
+ *
+ */
+ public com.google.cloud.videointelligence.v1.TimestampedObject.Builder
+ addTimestampedObjectsBuilder() {
+ return getTimestampedObjectsFieldBuilder()
+ .addBuilder(com.google.cloud.videointelligence.v1.TimestampedObject.getDefaultInstance());
+ }
+ /**
+ *
+ *
+ * + * The object with timestamp and attributes per frame in the track. + *+ * + *
repeated .google.cloud.videointelligence.v1.TimestampedObject timestamped_objects = 2;
+ *
+ */
+ public com.google.cloud.videointelligence.v1.TimestampedObject.Builder
+ addTimestampedObjectsBuilder(int index) {
+ return getTimestampedObjectsFieldBuilder()
+ .addBuilder(
+ index, com.google.cloud.videointelligence.v1.TimestampedObject.getDefaultInstance());
+ }
+ /**
+ *
+ *
+ * + * The object with timestamp and attributes per frame in the track. + *+ * + *
repeated .google.cloud.videointelligence.v1.TimestampedObject timestamped_objects = 2;
+ *
+ */
+ public java.util.List+ * Optional. Attributes in the track level. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public java.util.List+ * Optional. Attributes in the track level. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public int getAttributesCount() {
+ if (attributesBuilder_ == null) {
+ return attributes_.size();
+ } else {
+ return attributesBuilder_.getCount();
+ }
+ }
+ /**
+ *
+ *
+ * + * Optional. Attributes in the track level. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public com.google.cloud.videointelligence.v1.DetectedAttribute getAttributes(int index) {
+ if (attributesBuilder_ == null) {
+ return attributes_.get(index);
+ } else {
+ return attributesBuilder_.getMessage(index);
+ }
+ }
+ /**
+ *
+ *
+ * + * Optional. Attributes in the track level. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder setAttributes(
+ int index, com.google.cloud.videointelligence.v1.DetectedAttribute value) {
+ if (attributesBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureAttributesIsMutable();
+ attributes_.set(index, value);
+ onChanged();
+ } else {
+ attributesBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Optional. Attributes in the track level. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder setAttributes(
+ int index,
+ com.google.cloud.videointelligence.v1.DetectedAttribute.Builder builderForValue) {
+ if (attributesBuilder_ == null) {
+ ensureAttributesIsMutable();
+ attributes_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ attributesBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Optional. Attributes in the track level. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder addAttributes(com.google.cloud.videointelligence.v1.DetectedAttribute value) {
+ if (attributesBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureAttributesIsMutable();
+ attributes_.add(value);
+ onChanged();
+ } else {
+ attributesBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Optional. Attributes in the track level. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder addAttributes(
+ int index, com.google.cloud.videointelligence.v1.DetectedAttribute value) {
+ if (attributesBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureAttributesIsMutable();
+ attributes_.add(index, value);
+ onChanged();
+ } else {
+ attributesBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Optional. Attributes in the track level. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder addAttributes(
+ com.google.cloud.videointelligence.v1.DetectedAttribute.Builder builderForValue) {
+ if (attributesBuilder_ == null) {
+ ensureAttributesIsMutable();
+ attributes_.add(builderForValue.build());
+ onChanged();
+ } else {
+ attributesBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Optional. Attributes in the track level. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder addAttributes(
+ int index,
+ com.google.cloud.videointelligence.v1.DetectedAttribute.Builder builderForValue) {
+ if (attributesBuilder_ == null) {
+ ensureAttributesIsMutable();
+ attributes_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ attributesBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Optional. Attributes in the track level. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder addAllAttributes(
+ java.lang.Iterable extends com.google.cloud.videointelligence.v1.DetectedAttribute>
+ values) {
+ if (attributesBuilder_ == null) {
+ ensureAttributesIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(values, attributes_);
+ onChanged();
+ } else {
+ attributesBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Optional. Attributes in the track level. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder clearAttributes() {
+ if (attributesBuilder_ == null) {
+ attributes_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000002);
+ onChanged();
+ } else {
+ attributesBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Optional. Attributes in the track level. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder removeAttributes(int index) {
+ if (attributesBuilder_ == null) {
+ ensureAttributesIsMutable();
+ attributes_.remove(index);
+ onChanged();
+ } else {
+ attributesBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Optional. Attributes in the track level. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public com.google.cloud.videointelligence.v1.DetectedAttribute.Builder getAttributesBuilder(
+ int index) {
+ return getAttributesFieldBuilder().getBuilder(index);
+ }
+ /**
+ *
+ *
+ * + * Optional. Attributes in the track level. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public com.google.cloud.videointelligence.v1.DetectedAttributeOrBuilder getAttributesOrBuilder(
+ int index) {
+ if (attributesBuilder_ == null) {
+ return attributes_.get(index);
+ } else {
+ return attributesBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ *
+ *
+ * + * Optional. Attributes in the track level. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public java.util.List<
+ ? extends com.google.cloud.videointelligence.v1.DetectedAttributeOrBuilder>
+ getAttributesOrBuilderList() {
+ if (attributesBuilder_ != null) {
+ return attributesBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(attributes_);
+ }
+ }
+ /**
+ *
+ *
+ * + * Optional. Attributes in the track level. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public com.google.cloud.videointelligence.v1.DetectedAttribute.Builder addAttributesBuilder() {
+ return getAttributesFieldBuilder()
+ .addBuilder(com.google.cloud.videointelligence.v1.DetectedAttribute.getDefaultInstance());
+ }
+ /**
+ *
+ *
+ * + * Optional. Attributes in the track level. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public com.google.cloud.videointelligence.v1.DetectedAttribute.Builder addAttributesBuilder(
+ int index) {
+ return getAttributesFieldBuilder()
+ .addBuilder(
+ index, com.google.cloud.videointelligence.v1.DetectedAttribute.getDefaultInstance());
+ }
+ /**
+ *
+ *
+ * + * Optional. Attributes in the track level. + *+ * + *
+ * repeated .google.cloud.videointelligence.v1.DetectedAttribute attributes = 3 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public java.util.List+ * Optional. The confidence score of the tracked object. + *+ * + *
float confidence = 4 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The confidence.
+ */
+ public float getConfidence() {
+ return confidence_;
+ }
+ /**
+ *
+ *
+ * + * Optional. The confidence score of the tracked object. + *+ * + *
float confidence = 4 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @param value The confidence to set.
+ * @return This builder for chaining.
+ */
+ public Builder setConfidence(float value) {
+
+ confidence_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Optional. The confidence score of the tracked object. + *+ * + *
float confidence = 4 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearConfidence() {
+
+ confidence_ = 0F;
+ onChanged();
+ return this;
+ }
+
+ @java.lang.Override
+ public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ @java.lang.Override
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+ // @@protoc_insertion_point(builder_scope:google.cloud.videointelligence.v1.Track)
+ }
+
+ // @@protoc_insertion_point(class_scope:google.cloud.videointelligence.v1.Track)
+ private static final com.google.cloud.videointelligence.v1.Track DEFAULT_INSTANCE;
+
+ static {
+ DEFAULT_INSTANCE = new com.google.cloud.videointelligence.v1.Track();
+ }
+
+ public static com.google.cloud.videointelligence.v1.Track getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser