diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index 31b02730dda..ee2c7666fd5 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -66,6 +66,7 @@
"packages/google-cloud-talent": "5.0.1",
"packages/google-cloud-texttospeech": "4.0.4",
"packages/google-cloud-translate": "7.0.4",
+ "packages/google-cloud-video-livestream": "0.3.4",
"packages/google-cloud-video-transcoder": "2.2.3",
"packages/google-cloud-videointelligence": "4.1.1",
"packages/google-cloud-websecurityscanner": "2.1.3",
diff --git a/packages/google-cloud-video-livestream/.OwlBot.yaml b/packages/google-cloud-video-livestream/.OwlBot.yaml
new file mode 100644
index 00000000000..50845e34846
--- /dev/null
+++ b/packages/google-cloud-video-livestream/.OwlBot.yaml
@@ -0,0 +1,20 @@
+# Copyright 2021 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
+#
+# http://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.
+
+deep-remove-regex:
+ - /owl-bot-staging
+
+deep-copy-regex:
+ - source: /google/cloud/video/livestream/(.*)/.*-nodejs
+ dest: /owl-bot-staging/google-cloud-video-livestream/$1
diff --git a/packages/google-cloud-video-livestream/.eslintignore b/packages/google-cloud-video-livestream/.eslintignore
new file mode 100644
index 00000000000..ea5b04aebe6
--- /dev/null
+++ b/packages/google-cloud-video-livestream/.eslintignore
@@ -0,0 +1,7 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
+samples/generated/
diff --git a/packages/google-cloud-video-livestream/.eslintrc.json b/packages/google-cloud-video-livestream/.eslintrc.json
new file mode 100644
index 00000000000..78215349546
--- /dev/null
+++ b/packages/google-cloud-video-livestream/.eslintrc.json
@@ -0,0 +1,3 @@
+{
+ "extends": "./node_modules/gts"
+}
diff --git a/packages/google-cloud-video-livestream/.gitattributes b/packages/google-cloud-video-livestream/.gitattributes
new file mode 100644
index 00000000000..33739cb74e4
--- /dev/null
+++ b/packages/google-cloud-video-livestream/.gitattributes
@@ -0,0 +1,4 @@
+*.ts text eol=lf
+*.js text eol=lf
+protos/* linguist-generated
+**/api-extractor.json linguist-language=JSON-with-Comments
diff --git a/packages/google-cloud-video-livestream/.gitignore b/packages/google-cloud-video-livestream/.gitignore
new file mode 100644
index 00000000000..5d32b23782f
--- /dev/null
+++ b/packages/google-cloud-video-livestream/.gitignore
@@ -0,0 +1,14 @@
+**/*.log
+**/node_modules
+.coverage
+coverage
+.nyc_output
+docs/
+out/
+build/
+system-test/secrets.js
+system-test/*key.json
+*.lock
+.DS_Store
+package-lock.json
+__pycache__
diff --git a/packages/google-cloud-video-livestream/.jsdoc.js b/packages/google-cloud-video-livestream/.jsdoc.js
new file mode 100644
index 00000000000..171deca004f
--- /dev/null
+++ b/packages/google-cloud-video-livestream/.jsdoc.js
@@ -0,0 +1,55 @@
+// Copyright 2022 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.
+//
+// ** This file is automatically generated by gapic-generator-typescript. **
+// ** https://github.com/googleapis/gapic-generator-typescript **
+// ** All changes to this file may be overwritten. **
+
+'use strict';
+
+module.exports = {
+ opts: {
+ readme: './README.md',
+ package: './package.json',
+ template: './node_modules/jsdoc-fresh',
+ recurse: true,
+ verbose: true,
+ destination: './docs/'
+ },
+ plugins: [
+ 'plugins/markdown',
+ 'jsdoc-region-tag'
+ ],
+ source: {
+ excludePattern: '(^|\\/|\\\\)[._]',
+ include: [
+ 'build/src',
+ 'protos'
+ ],
+ includePattern: '\\.js$'
+ },
+ templates: {
+ copyright: 'Copyright 2022 Google LLC',
+ includeDate: false,
+ sourceFiles: false,
+ systemName: '@google-cloud/livestream',
+ theme: 'lumen',
+ default: {
+ outputSourceFiles: false
+ }
+ },
+ markdown: {
+ idInHeadings: true
+ }
+};
diff --git a/packages/google-cloud-video-livestream/.mocharc.js b/packages/google-cloud-video-livestream/.mocharc.js
new file mode 100644
index 00000000000..cdb7b752160
--- /dev/null
+++ b/packages/google-cloud-video-livestream/.mocharc.js
@@ -0,0 +1,29 @@
+// Copyright 2022 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
+//
+// http://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.
+const config = {
+ "enable-source-maps": true,
+ "throw-deprecation": true,
+ "timeout": 10000,
+ "recursive": true
+}
+if (process.env.MOCHA_THROW_DEPRECATION === 'false') {
+ delete config['throw-deprecation'];
+}
+if (process.env.MOCHA_REPORTER) {
+ config.reporter = process.env.MOCHA_REPORTER;
+}
+if (process.env.MOCHA_REPORTER_OUTPUT) {
+ config['reporter-option'] = `output=${process.env.MOCHA_REPORTER_OUTPUT}`;
+}
+module.exports = config
diff --git a/packages/google-cloud-video-livestream/.nycrc b/packages/google-cloud-video-livestream/.nycrc
new file mode 100644
index 00000000000..b18d5472b62
--- /dev/null
+++ b/packages/google-cloud-video-livestream/.nycrc
@@ -0,0 +1,24 @@
+{
+ "report-dir": "./.coverage",
+ "reporter": ["text", "lcov"],
+ "exclude": [
+ "**/*-test",
+ "**/.coverage",
+ "**/apis",
+ "**/benchmark",
+ "**/conformance",
+ "**/docs",
+ "**/samples",
+ "**/scripts",
+ "**/protos",
+ "**/test",
+ "**/*.d.ts",
+ ".jsdoc.js",
+ "**/.jsdoc.js",
+ "karma.conf.js",
+ "webpack-tests.config.js",
+ "webpack.config.js"
+ ],
+ "exclude-after-remap": false,
+ "all": true
+}
diff --git a/packages/google-cloud-video-livestream/.prettierignore b/packages/google-cloud-video-livestream/.prettierignore
new file mode 100644
index 00000000000..9340ad9b86d
--- /dev/null
+++ b/packages/google-cloud-video-livestream/.prettierignore
@@ -0,0 +1,6 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
diff --git a/packages/google-cloud-video-livestream/.prettierrc.js b/packages/google-cloud-video-livestream/.prettierrc.js
new file mode 100644
index 00000000000..d546a4ad546
--- /dev/null
+++ b/packages/google-cloud-video-livestream/.prettierrc.js
@@ -0,0 +1,17 @@
+// Copyright 2022 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.
+
+module.exports = {
+ ...require('gts/.prettierrc.json')
+}
diff --git a/packages/google-cloud-video-livestream/.repo-metadata.json b/packages/google-cloud-video-livestream/.repo-metadata.json
new file mode 100644
index 00000000000..24656279f54
--- /dev/null
+++ b/packages/google-cloud-video-livestream/.repo-metadata.json
@@ -0,0 +1,17 @@
+{
+ "name": "livestream",
+ "api_shortname": "livestream",
+ "name_pretty": "Live Stream API",
+ "product_documentation": "https://cloud.google.com/livestream/",
+ "client_documentation": "https://cloud.google.com/nodejs/docs/reference/livestream/latest",
+ "issue_tracker": "https://github.com/googleapis/google-cloud-node/issues",
+ "release_level": "stable",
+ "language": "nodejs",
+ "repo": "googleapis/google-cloud-node",
+ "codeowner_team": "@googleapis/cloud-media-team",
+ "distribution_name": "@google-cloud/livestream",
+ "api_id": "livestream.googleapis.com",
+ "default_version": "v1",
+ "requires_billing": true,
+ "library_type": "GAPIC_AUTO"
+}
diff --git a/packages/google-cloud-video-livestream/CHANGELOG.md b/packages/google-cloud-video-livestream/CHANGELOG.md
new file mode 100644
index 00000000000..6f07eaf16a9
--- /dev/null
+++ b/packages/google-cloud-video-livestream/CHANGELOG.md
@@ -0,0 +1,69 @@
+# Changelog
+
+## [0.3.4](https://github.com/googleapis/nodejs-video-live-stream/compare/v0.3.3...v0.3.4) (2022-11-11)
+
+
+### Bug Fixes
+
+* **deps:** Use google-gax v3.5.2 ([#82](https://github.com/googleapis/nodejs-video-live-stream/issues/82)) ([f032c54](https://github.com/googleapis/nodejs-video-live-stream/commit/f032c546a3e61f4064439ed2a452c5d3fbeae8e8))
+* Regenerated protos JS and TS definitions ([#86](https://github.com/googleapis/nodejs-video-live-stream/issues/86)) ([9942fd4](https://github.com/googleapis/nodejs-video-live-stream/commit/9942fd4f62d287df3e3d02d75f3eccb698edc62e))
+
+## [0.3.3](https://github.com/googleapis/nodejs-video-live-stream/compare/v0.3.2...v0.3.3) (2022-09-14)
+
+
+### Bug Fixes
+
+* Preserve default values in x-goog-request-params header ([#65](https://github.com/googleapis/nodejs-video-live-stream/issues/65)) ([a612a49](https://github.com/googleapis/nodejs-video-live-stream/commit/a612a492a4d4016b913b97431a741c95a0cdd09d))
+
+## [0.3.2](https://github.com/googleapis/nodejs-video-live-stream/compare/v0.3.1...v0.3.2) (2022-09-01)
+
+
+### Bug Fixes
+
+* Allow passing gax instance to client constructor ([#62](https://github.com/googleapis/nodejs-video-live-stream/issues/62)) ([293e4f7](https://github.com/googleapis/nodejs-video-live-stream/commit/293e4f737d59273d11b2fb53a5c953363a3a6f0c))
+* Do not import the whole google-gax from proto JS ([#1553](https://github.com/googleapis/nodejs-video-live-stream/issues/1553)) ([#61](https://github.com/googleapis/nodejs-video-live-stream/issues/61)) ([02076df](https://github.com/googleapis/nodejs-video-live-stream/commit/02076dfd0649ebd504cbda86ac58a63fc9f2da5f))
+
+## [0.3.1](https://github.com/googleapis/nodejs-video-live-stream/compare/v0.3.0...v0.3.1) (2022-08-23)
+
+
+### Bug Fixes
+
+* better support for fallback mode ([#50](https://github.com/googleapis/nodejs-video-live-stream/issues/50)) ([b816f7f](https://github.com/googleapis/nodejs-video-live-stream/commit/b816f7f2b9898e78c504d30a5d83ae5701174346))
+* change import long to require ([#51](https://github.com/googleapis/nodejs-video-live-stream/issues/51)) ([9bcb06a](https://github.com/googleapis/nodejs-video-live-stream/commit/9bcb06af177b5d49f3d731183e1ee077874fd0db))
+* remove pip install statements ([#1546](https://github.com/googleapis/nodejs-video-live-stream/issues/1546)) ([#53](https://github.com/googleapis/nodejs-video-live-stream/issues/53)) ([018602e](https://github.com/googleapis/nodejs-video-live-stream/commit/018602e7994dc37ba8b08df2547a3048ac0a493c))
+
+## [0.3.0](https://github.com/googleapis/nodejs-video-live-stream/compare/v0.2.0...v0.3.0) (2022-06-29)
+
+
+### Features
+
+* support regapic LRO ([#45](https://github.com/googleapis/nodejs-video-live-stream/issues/45)) ([fc3c1b4](https://github.com/googleapis/nodejs-video-live-stream/commit/fc3c1b426407d6ff8b825483c0ab892e25a28d09))
+
+## [0.2.0](https://github.com/googleapis/nodejs-video-live-stream/compare/v0.1.0...v0.2.0) (2022-06-03)
+
+
+### ⚠ BREAKING CHANGES
+
+* upgrade library to stable (#35)
+* update library to use Node 12 (#34)
+
+### Features
+
+* upgrade library to stable ([#35](https://github.com/googleapis/nodejs-video-live-stream/issues/35)) ([ab9935b](https://github.com/googleapis/nodejs-video-live-stream/commit/ab9935b560bda6a047dbfa64cc7357e5647c272e))
+
+
+### Build System
+
+* update library to use Node 12 ([#34](https://github.com/googleapis/nodejs-video-live-stream/issues/34)) ([ce13574](https://github.com/googleapis/nodejs-video-live-stream/commit/ce13574050cc1cf510275737cf351660a2495f6b))
+
+
+### Miscellaneous Chores
+
+* release as v0.2.0 ([#38](https://github.com/googleapis/nodejs-video-live-stream/issues/38)) ([f068c7b](https://github.com/googleapis/nodejs-video-live-stream/commit/f068c7bdee9b877b53230df7a64b1d4ea30da8a1))
+
+## 0.1.0 (2022-02-11)
+
+
+### Features
+
+* initial generation of video livestream library ([#4](https://github.com/googleapis/nodejs-video-live-stream/issues/4)) ([1e1e570](https://github.com/googleapis/nodejs-video-live-stream/commit/1e1e570cf9e8a11458c35b9e2b6b5ecde6a140a3))
diff --git a/packages/google-cloud-video-livestream/CODE_OF_CONDUCT.md b/packages/google-cloud-video-livestream/CODE_OF_CONDUCT.md
new file mode 100644
index 00000000000..2add2547a81
--- /dev/null
+++ b/packages/google-cloud-video-livestream/CODE_OF_CONDUCT.md
@@ -0,0 +1,94 @@
+
+# Code of Conduct
+
+## Our Pledge
+
+In the interest of fostering an open and welcoming environment, we as
+contributors and maintainers pledge to making participation in our project and
+our community a harassment-free experience for everyone, regardless of age, body
+size, disability, ethnicity, gender identity and expression, level of
+experience, education, socio-economic status, nationality, personal appearance,
+race, religion, or sexual identity and orientation.
+
+## Our Standards
+
+Examples of behavior that contributes to creating a positive environment
+include:
+
+* Using welcoming and inclusive language
+* Being respectful of differing viewpoints and experiences
+* Gracefully accepting constructive criticism
+* Focusing on what is best for the community
+* Showing empathy towards other community members
+
+Examples of unacceptable behavior by participants include:
+
+* The use of sexualized language or imagery and unwelcome sexual attention or
+ advances
+* Trolling, insulting/derogatory comments, and personal or political attacks
+* Public or private harassment
+* Publishing others' private information, such as a physical or electronic
+ address, without explicit permission
+* Other conduct which could reasonably be considered inappropriate in a
+ professional setting
+
+## Our Responsibilities
+
+Project maintainers are responsible for clarifying the standards of acceptable
+behavior and are expected to take appropriate and fair corrective action in
+response to any instances of unacceptable behavior.
+
+Project maintainers have the right and responsibility to remove, edit, or reject
+comments, commits, code, wiki edits, issues, and other contributions that are
+not aligned to this Code of Conduct, or to ban temporarily or permanently any
+contributor for other behaviors that they deem inappropriate, threatening,
+offensive, or harmful.
+
+## Scope
+
+This Code of Conduct applies both within project spaces and in public spaces
+when an individual is representing the project or its community. Examples of
+representing a project or community include using an official project e-mail
+address, posting via an official social media account, or acting as an appointed
+representative at an online or offline event. Representation of a project may be
+further defined and clarified by project maintainers.
+
+This Code of Conduct also applies outside the project spaces when the Project
+Steward has a reasonable belief that an individual's behavior may have a
+negative impact on the project or its community.
+
+## Conflict Resolution
+
+We do not believe that all conflict is bad; healthy debate and disagreement
+often yield positive results. However, it is never okay to be disrespectful or
+to engage in behavior that violates the project’s code of conduct.
+
+If you see someone violating the code of conduct, you are encouraged to address
+the behavior directly with those involved. Many issues can be resolved quickly
+and easily, and this gives people more control over the outcome of their
+dispute. If you are unable to resolve the matter for any reason, or if the
+behavior is threatening or harassing, report it. We are dedicated to providing
+an environment where participants feel welcome and safe.
+
+Reports should be directed to *googleapis-stewards@google.com*, the
+Project Steward(s) for *Google Cloud Client Libraries*. It is the Project Steward’s duty to
+receive and address reported violations of the code of conduct. They will then
+work with a committee consisting of representatives from the Open Source
+Programs Office and the Google Open Source Strategy team. If for any reason you
+are uncomfortable reaching out to the Project Steward, please email
+opensource@google.com.
+
+We will investigate every complaint, but you may not receive a direct response.
+We will use our discretion in determining when and how to follow up on reported
+incidents, which may range from not taking action to permanent expulsion from
+the project and project-sponsored spaces. We will notify the accused of the
+report and provide them an opportunity to discuss it before any action is taken.
+The identity of the reporter will be omitted from the details of the report
+supplied to the accused. In potentially harmful situations, such as ongoing
+harassment or threats to anyone's safety, we may take action without notice.
+
+## Attribution
+
+This Code of Conduct is adapted from the Contributor Covenant, version 1.4,
+available at
+https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
\ No newline at end of file
diff --git a/packages/google-cloud-video-livestream/CONTRIBUTING.md b/packages/google-cloud-video-livestream/CONTRIBUTING.md
new file mode 100644
index 00000000000..d55ec0e71fa
--- /dev/null
+++ b/packages/google-cloud-video-livestream/CONTRIBUTING.md
@@ -0,0 +1,76 @@
+# How to become a contributor and submit your own code
+
+**Table of contents**
+
+* [Contributor License Agreements](#contributor-license-agreements)
+* [Contributing a patch](#contributing-a-patch)
+* [Running the tests](#running-the-tests)
+* [Releasing the library](#releasing-the-library)
+
+## Contributor License Agreements
+
+We'd love to accept your sample apps and patches! Before we can take them, we
+have to jump a couple of legal hurdles.
+
+Please fill out either the individual or corporate Contributor License Agreement
+(CLA).
+
+ * If you are an individual writing original source code and you're sure you
+ own the intellectual property, then you'll need to sign an [individual CLA](https://developers.google.com/open-source/cla/individual).
+ * If you work for a company that wants to allow you to contribute your work,
+ then you'll need to sign a [corporate CLA](https://developers.google.com/open-source/cla/corporate).
+
+Follow either of the two links above to access the appropriate CLA and
+instructions for how to sign and return it. Once we receive it, we'll be able to
+accept your pull requests.
+
+## Contributing A Patch
+
+1. Submit an issue describing your proposed change to the repo in question.
+1. The repo owner will respond to your issue promptly.
+1. If your proposed change is accepted, and you haven't already done so, sign a
+ Contributor License Agreement (see details above).
+1. Fork the desired repo, develop and test your code changes.
+1. Ensure that your code adheres to the existing style in the code to which
+ you are contributing.
+1. Ensure that your code has an appropriate set of tests which all pass.
+1. Title your pull request following [Conventional Commits](https://www.conventionalcommits.org/) styling.
+1. Submit a pull request.
+
+### Before you begin
+
+1. [Select or create a Cloud Platform project][projects].
+1. [Enable billing for your project][billing].
+1. [Enable the Live Stream API API][enable_api].
+1. [Set up authentication with a service account][auth] so you can access the
+ API from your local workstation.
+
+
+## Running the tests
+
+1. [Prepare your environment for Node.js setup][setup].
+
+1. Install dependencies:
+
+ npm install
+
+1. Run the tests:
+
+ # Run unit tests.
+ npm test
+
+ # Run sample integration tests.
+ npm run samples-test
+
+ # Run all system tests.
+ npm run system-test
+
+1. Lint (and maybe fix) any changes:
+
+ npm run fix
+
+[setup]: https://cloud.google.com/nodejs/docs/setup
+[projects]: https://console.cloud.google.com/project
+[billing]: https://support.google.com/cloud/answer/6293499#enable-billing
+[enable_api]: https://console.cloud.google.com/flows/enableapi?apiid=livestream.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
\ No newline at end of file
diff --git a/packages/google-cloud-video-livestream/LICENSE b/packages/google-cloud-video-livestream/LICENSE
new file mode 100644
index 00000000000..d6456956733
--- /dev/null
+++ b/packages/google-cloud-video-livestream/LICENSE
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ 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
+
+ http://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.
diff --git a/packages/google-cloud-video-livestream/README.md b/packages/google-cloud-video-livestream/README.md
new file mode 100644
index 00000000000..da6856f56ce
--- /dev/null
+++ b/packages/google-cloud-video-livestream/README.md
@@ -0,0 +1,208 @@
+[//]: # "This README.md file is auto-generated, all changes to this file will be lost."
+[//]: # "To regenerate it, use `python -m synthtool`."
+
+
+# [Live Stream API: Node.js Client](https://github.com/googleapis/google-cloud-node)
+
+[![release level](https://img.shields.io/badge/release%20level-stable-brightgreen.svg?style=flat)](https://cloud.google.com/terms/launch-stages)
+[![npm version](https://img.shields.io/npm/v/@google-cloud/livestream.svg)](https://www.npmjs.org/package/@google-cloud/livestream)
+
+
+
+
+livestream client for Node.js
+
+
+A comprehensive list of changes in each version may be found in
+[the CHANGELOG](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-video-livestream/CHANGELOG.md).
+
+* [Live Stream API Node.js Client API Reference][client-docs]
+* [Live Stream API Documentation][product-docs]
+* [github.com/googleapis/google-cloud-node/packages/google-cloud-video-livestream](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-video-livestream)
+
+Read more about the client libraries for Cloud APIs, including the older
+Google APIs Client Libraries, in [Client Libraries Explained][explained].
+
+[explained]: https://cloud.google.com/apis/docs/client-libraries-explained
+
+**Table of contents:**
+
+
+* [Quickstart](#quickstart)
+ * [Before you begin](#before-you-begin)
+ * [Installing the client library](#installing-the-client-library)
+ * [Using the client library](#using-the-client-library)
+* [Samples](#samples)
+* [Versioning](#versioning)
+* [Contributing](#contributing)
+* [License](#license)
+
+## Quickstart
+
+### Before you begin
+
+1. [Select or create a Cloud Platform project][projects].
+1. [Enable billing for your project][billing].
+1. [Enable the Live Stream API API][enable_api].
+1. [Set up authentication with a service account][auth] so you can access the
+ API from your local workstation.
+
+### Installing the client library
+
+```bash
+npm install @google-cloud/livestream
+```
+
+
+### Using the client library
+
+```javascript
+/**
+ * TODO(developer): Uncomment these variables before running the sample.
+ */
+/**
+ * Required. The parent location for the resource, in the form of:
+ * `projects/{project}/locations/{location}`.
+ */
+// const parent = 'abc123'
+/**
+ * The maximum number of items to return. If unspecified, server
+ * will pick an appropriate default. Server may return fewer items than
+ * requested. A caller should only rely on response's
+ * next_page_token google.cloud.video.livestream.v1.ListChannelsResponse.next_page_token to
+ * determine if there are more items left to be queried.
+ */
+// const pageSize = 1234
+/**
+ * The next_page_token value returned from a previous List request, if any.
+ */
+// const pageToken = 'abc123'
+/**
+ * The filter to apply to list results.
+ */
+// const filter = 'abc123'
+/**
+ * Specifies the ordering of results following syntax at
+ * https://cloud.google.com/apis/design/design_patterns#sorting_order.
+ */
+// const orderBy = 'abc123'
+
+// Imports the Livestream library
+const {LivestreamServiceClient} = require('@google-cloud/livestream').v1;
+
+// Instantiates a client
+const livestreamClient = new LivestreamServiceClient();
+
+async function callListChannels() {
+ // Construct request
+ const request = {
+ parent,
+ };
+
+ // Run request
+ const iterable = await livestreamClient.listChannelsAsync(request);
+ for await (const response of iterable) {
+ console.log(response);
+ }
+}
+
+callListChannels();
+
+```
+
+
+
+## Samples
+
+Samples are in the [`samples/`](https://github.com/googleapis/google-cloud-node/tree/main/samples) directory. Each sample's `README.md` has instructions for running its sample.
+
+| Sample | Source Code | Try it |
+| --------------------------- | --------------------------------- | ------ |
+| Livestream_service.create_channel | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-video-livestream/samples/generated/v1/livestream_service.create_channel.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-video-livestream/samples/generated/v1/livestream_service.create_channel.js,samples/README.md) |
+| Livestream_service.create_event | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-video-livestream/samples/generated/v1/livestream_service.create_event.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-video-livestream/samples/generated/v1/livestream_service.create_event.js,samples/README.md) |
+| Livestream_service.create_input | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-video-livestream/samples/generated/v1/livestream_service.create_input.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-video-livestream/samples/generated/v1/livestream_service.create_input.js,samples/README.md) |
+| Livestream_service.delete_channel | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-video-livestream/samples/generated/v1/livestream_service.delete_channel.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-video-livestream/samples/generated/v1/livestream_service.delete_channel.js,samples/README.md) |
+| Livestream_service.delete_event | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-video-livestream/samples/generated/v1/livestream_service.delete_event.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-video-livestream/samples/generated/v1/livestream_service.delete_event.js,samples/README.md) |
+| Livestream_service.delete_input | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-video-livestream/samples/generated/v1/livestream_service.delete_input.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-video-livestream/samples/generated/v1/livestream_service.delete_input.js,samples/README.md) |
+| Livestream_service.get_channel | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-video-livestream/samples/generated/v1/livestream_service.get_channel.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-video-livestream/samples/generated/v1/livestream_service.get_channel.js,samples/README.md) |
+| Livestream_service.get_event | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-video-livestream/samples/generated/v1/livestream_service.get_event.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-video-livestream/samples/generated/v1/livestream_service.get_event.js,samples/README.md) |
+| Livestream_service.get_input | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-video-livestream/samples/generated/v1/livestream_service.get_input.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-video-livestream/samples/generated/v1/livestream_service.get_input.js,samples/README.md) |
+| Livestream_service.list_channels | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-video-livestream/samples/generated/v1/livestream_service.list_channels.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-video-livestream/samples/generated/v1/livestream_service.list_channels.js,samples/README.md) |
+| Livestream_service.list_events | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-video-livestream/samples/generated/v1/livestream_service.list_events.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-video-livestream/samples/generated/v1/livestream_service.list_events.js,samples/README.md) |
+| Livestream_service.list_inputs | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-video-livestream/samples/generated/v1/livestream_service.list_inputs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-video-livestream/samples/generated/v1/livestream_service.list_inputs.js,samples/README.md) |
+| Livestream_service.start_channel | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-video-livestream/samples/generated/v1/livestream_service.start_channel.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-video-livestream/samples/generated/v1/livestream_service.start_channel.js,samples/README.md) |
+| Livestream_service.stop_channel | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-video-livestream/samples/generated/v1/livestream_service.stop_channel.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-video-livestream/samples/generated/v1/livestream_service.stop_channel.js,samples/README.md) |
+| Livestream_service.update_channel | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-video-livestream/samples/generated/v1/livestream_service.update_channel.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-video-livestream/samples/generated/v1/livestream_service.update_channel.js,samples/README.md) |
+| Livestream_service.update_input | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-video-livestream/samples/generated/v1/livestream_service.update_input.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-video-livestream/samples/generated/v1/livestream_service.update_input.js,samples/README.md) |
+| Quickstart | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-video-livestream/samples/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-video-livestream/samples/quickstart.js,samples/README.md) |
+| Quickstart | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-video-livestream/samples/test/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-video-livestream/samples/test/quickstart.js,samples/README.md) |
+
+
+
+The [Live Stream API Node.js Client API Reference][client-docs] documentation
+also contains samples.
+
+## Supported Node.js Versions
+
+Our client libraries follow the [Node.js release schedule](https://nodejs.org/en/about/releases/).
+Libraries are compatible with all current _active_ and _maintenance_ versions of
+Node.js.
+If you are using an end-of-life version of Node.js, we recommend that you update
+as soon as possible to an actively supported LTS version.
+
+Google's client libraries support legacy versions of Node.js runtimes on a
+best-efforts basis with the following warnings:
+
+* Legacy versions are not tested in continuous integration.
+* Some security patches and features cannot be backported.
+* Dependencies cannot be kept up-to-date.
+
+Client libraries targeting some end-of-life versions of Node.js are available, and
+can be installed through npm [dist-tags](https://docs.npmjs.com/cli/dist-tag).
+The dist-tags follow the naming convention `legacy-(version)`.
+For example, `npm install @google-cloud/livestream@legacy-8` installs client libraries
+for versions compatible with Node.js 8.
+
+## Versioning
+
+This library follows [Semantic Versioning](http://semver.org/).
+
+
+
+This library is considered to be **stable**. The code surface will not change in backwards-incompatible ways
+unless absolutely necessary (e.g. because of critical security issues) or with
+an extensive deprecation period. Issues and requests against **stable** libraries
+are addressed with the highest priority.
+
+
+
+
+
+
+More Information: [Google Cloud Platform Launch Stages][launch_stages]
+
+[launch_stages]: https://cloud.google.com/terms/launch-stages
+
+## Contributing
+
+Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/google-cloud-node/blob/main/CONTRIBUTING.md).
+
+Please note that this `README.md`, the `samples/README.md`,
+and a variety of configuration files in this repository (including `.nycrc` and `tsconfig.json`)
+are generated from a central template. To edit one of these files, make an edit
+to its templates in
+[directory](https://github.com/googleapis/synthtool).
+
+## License
+
+Apache Version 2.0
+
+See [LICENSE](https://github.com/googleapis/google-cloud-node/blob/main/LICENSE)
+
+[client-docs]: https://cloud.google.com/nodejs/docs/reference/livestream/latest
+[product-docs]: https://cloud.google.com/livestream/
+[shell_img]: https://gstatic.com/cloudssh/images/open-btn.png
+[projects]: https://console.cloud.google.com/project
+[billing]: https://support.google.com/cloud/answer/6293499#enable-billing
+[enable_api]: https://console.cloud.google.com/flows/enableapi?apiid=livestream.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
diff --git a/packages/google-cloud-video-livestream/linkinator.config.json b/packages/google-cloud-video-livestream/linkinator.config.json
new file mode 100644
index 00000000000..befd23c8633
--- /dev/null
+++ b/packages/google-cloud-video-livestream/linkinator.config.json
@@ -0,0 +1,16 @@
+{
+ "recurse": true,
+ "skip": [
+ "https://codecov.io/gh/googleapis/",
+ "www.googleapis.com",
+ "img.shields.io",
+ "https://console.cloud.google.com/cloudshell",
+ "https://support.google.com"
+ ],
+ "silent": true,
+ "concurrency": 5,
+ "retry": true,
+ "retryErrors": true,
+ "retryErrorsCount": 5,
+ "retryErrorsJitter": 3000
+}
diff --git a/packages/google-cloud-video-livestream/package.json b/packages/google-cloud-video-livestream/package.json
new file mode 100644
index 00000000000..40f585ce099
--- /dev/null
+++ b/packages/google-cloud-video-livestream/package.json
@@ -0,0 +1,71 @@
+{
+ "name": "@google-cloud/livestream",
+ "version": "0.3.4",
+ "description": "livestream client for Node.js",
+ "repository": {
+ "type": "git",
+ "directory": "packages/google-cloud-video-livestream",
+ "url": "https://github.com/googleapis/google-cloud-node.git"
+ },
+ "license": "Apache-2.0",
+ "author": "Google LLC",
+ "main": "build/src/index.js",
+ "files": [
+ "build/src",
+ "build/protos"
+ ],
+ "keywords": [
+ "google apis client",
+ "google api client",
+ "google apis",
+ "google api",
+ "google",
+ "google cloud platform",
+ "google cloud",
+ "cloud",
+ "google livestream",
+ "livestream",
+ "livestream service"
+ ],
+ "scripts": {
+ "clean": "gts clean",
+ "compile": "tsc -p . && cp -r protos build/",
+ "compile-protos": "compileProtos src",
+ "docs": "jsdoc -c .jsdoc.js",
+ "predocs-test": "npm run docs",
+ "docs-test": "linkinator docs",
+ "fix": "gts fix",
+ "lint": "gts check",
+ "prelint": "cd samples; npm link ../; npm install",
+ "prepare": "npm run compile-protos && npm run compile",
+ "system-test": "npm run compile && c8 mocha build/system-test",
+ "test": "c8 mocha build/test",
+ "samples-test": "npm run compile && cd samples/ && npm link ../ && npm i && npm test"
+ },
+ "dependencies": {
+ "google-gax": "^3.5.2"
+ },
+ "devDependencies": {
+ "@types/mocha": "^9.0.0",
+ "@types/node": "^18.0.0",
+ "@types/sinon": "^10.0.0",
+ "c8": "^7.7.2",
+ "gts": "^3.1.0",
+ "jsdoc": "^4.0.0",
+ "jsdoc-fresh": "^2.0.0",
+ "jsdoc-region-tag": "^2.0.0",
+ "linkinator": "^4.0.0",
+ "mocha": "^9.2.2",
+ "null-loader": "^4.0.1",
+ "pack-n-play": "^1.0.0-2",
+ "sinon": "^14.0.0",
+ "ts-loader": "^9.1.2",
+ "typescript": "^4.6.4",
+ "webpack": "^5.67.0",
+ "webpack-cli": "^4.7.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "homepage": "https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-video-livestream"
+}
diff --git a/packages/google-cloud-video-livestream/protos/google/cloud/video/livestream/v1/outputs.proto b/packages/google-cloud-video-livestream/protos/google/cloud/video/livestream/v1/outputs.proto
new file mode 100644
index 00000000000..90ab85b4f7c
--- /dev/null
+++ b/packages/google-cloud-video-livestream/protos/google/cloud/video/livestream/v1/outputs.proto
@@ -0,0 +1,397 @@
+// Copyright 2022 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
+//
+// http://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.
+
+syntax = "proto3";
+
+package google.cloud.video.livestream.v1;
+
+import "google/api/field_behavior.proto";
+import "google/protobuf/duration.proto";
+
+option csharp_namespace = "Google.Cloud.Video.LiveStream.V1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/video/livestream/v1;livestream";
+option java_multiple_files = true;
+option java_outer_classname = "OutputsProto";
+option java_package = "com.google.cloud.video.livestream.v1";
+option php_namespace = "Google\\Cloud\\Video\\LiveStream\\V1";
+option ruby_package = "Google::Cloud::Video::LiveStream::V1";
+
+// Encoding of an input element such as an audio, video, or text track.
+// Elementary streams must be packaged before mapping and sharing between
+// different output formats.
+message ElementaryStream {
+ // A unique key for this elementary stream.
+ string key = 4;
+
+ // Required. Encoding of an audio, video, or text track.
+ oneof elementary_stream {
+ // Encoding of a video stream.
+ VideoStream video_stream = 1;
+
+ // Encoding of an audio stream.
+ AudioStream audio_stream = 2;
+
+ // Encoding of a text stream. For example, closed captions or subtitles.
+ TextStream text_stream = 3;
+ }
+}
+
+// Multiplexing settings for output stream.
+message MuxStream {
+ // A unique key for this multiplexed stream.
+ string key = 1;
+
+ // The container format. The default is `fmp4`.
+ //
+ // Supported container formats:
+ //
+ // - `fmp4` - the corresponding file extension is `.m4s`
+ // - `ts` - the corresponding file extension is `.ts`
+ string container = 3;
+
+ // List of `ElementaryStream` [key][google.cloud.video.livestream.v1.ElementaryStream.key]s multiplexed in this
+ // stream.
+ //
+ // - For `fmp4` container, must contain either one video or one audio stream.
+ // - For `ts` container, must contain exactly one audio stream and up to one
+ // video stream.
+ repeated string elementary_streams = 4;
+
+ // Segment settings for `fmp4` and `ts`.
+ SegmentSettings segment_settings = 5;
+}
+
+// Manifest configuration.
+message Manifest {
+ // The manifest type can be either `HLS` or `DASH`.
+ enum ManifestType {
+ // The manifest type is not specified.
+ MANIFEST_TYPE_UNSPECIFIED = 0;
+
+ // Create an `HLS` manifest. The corresponding file extension is `.m3u8`.
+ HLS = 1;
+
+ // Create a `DASH` manifest. The corresponding file extension is `.mpd`.
+ DASH = 2;
+ }
+
+ // The name of the generated file. The default is `manifest` with the
+ // extension suffix corresponding to the `Manifest` [type][google.cloud.video.livestream.v1.Manifest.type]. If multiple
+ // manifests are added to the channel, each must have a unique file name.
+ string file_name = 1;
+
+ // Required. Type of the manifest, can be `HLS` or `DASH`.
+ ManifestType type = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. List of `MuxStream` [key][google.cloud.video.livestream.v1.MuxStream.key]s that should appear in this
+ // manifest.
+ //
+ // - For HLS, either `fmp4` or `ts` mux streams can be specified but not
+ // mixed.
+ // - For DASH, only `fmp4` mux streams can be specified.
+ repeated string mux_streams = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Maximum number of segments that this manifest holds. Once the manifest
+ // reaches this maximum number of segments, whenever a new segment is added to
+ // the manifest, the oldest segment will be removed from the manifest.
+ // The minimum value is 3 and the default value is 5.
+ int32 max_segment_count = 4;
+
+ // How long to keep a segment on the output Google Cloud Storage bucket after
+ // it is removed from the manifest. This field should be large enough to cover
+ // the manifest propagation delay. Otherwise, a player could receive 404
+ // errors while accessing segments which are listed in the manifest that the
+ // player has, but were already deleted from the output Google Cloud Storage
+ // bucket. Default value is `60s`.
+ google.protobuf.Duration segment_keep_duration = 5;
+}
+
+// Sprite sheet configuration.
+message SpriteSheet {
+ // Format type. The default is `jpeg`.
+ //
+ // Supported formats:
+ //
+ // - `jpeg`
+ string format = 1;
+
+ // Required. File name prefix for the generated sprite sheets. If multiple
+ // sprite sheets are added to the channel, each must have a unique file
+ // prefix.
+ // Each sprite sheet has an incremental 10-digit zero-padded suffix starting
+ // from 0 before the extension, such as `sprite_sheet0000000123.jpeg`.
+ string file_prefix = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The width of the sprite in pixels. Must be an even integer.
+ int32 sprite_width_pixels = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The height of the sprite in pixels. Must be an even integer.
+ int32 sprite_height_pixels = 4 [(google.api.field_behavior) = REQUIRED];
+
+ // The maximum number of sprites per row in a sprite sheet. Valid range is
+ // [1, 10] and the default value is 1.
+ int32 column_count = 5;
+
+ // The maximum number of rows per sprite sheet. When the sprite sheet is full,
+ // a new sprite sheet is created. Valid range is [1, 10] and the default value
+ // is 1.
+ int32 row_count = 6;
+
+ // Create sprites at regular intervals. Valid range is [1 second, 1 hour] and
+ // the default value is `10s`.
+ google.protobuf.Duration interval = 7;
+
+ // The quality of the generated sprite sheet. Enter a value between 1
+ // and 100, where 1 is the lowest quality and 100 is the highest quality.
+ // The default is 100. A high quality value corresponds to a low image data
+ // compression ratio.
+ int32 quality = 8;
+}
+
+// Preprocessing configurations.
+message PreprocessingConfig {
+ // Video cropping configuration for the input video. The cropped input video
+ // is scaled to match the output resolution.
+ message Crop {
+ // The number of pixels to crop from the top. The default is 0.
+ int32 top_pixels = 1;
+
+ // The number of pixels to crop from the bottom. The default is 0.
+ int32 bottom_pixels = 2;
+
+ // The number of pixels to crop from the left. The default is 0.
+ int32 left_pixels = 3;
+
+ // The number of pixels to crop from the right. The default is 0.
+ int32 right_pixels = 4;
+ }
+
+ // Pad filter configuration for the input video. The padded input video
+ // is scaled after padding with black to match the output resolution.
+ message Pad {
+ // The number of pixels to add to the top. The default is 0.
+ int32 top_pixels = 1;
+
+ // The number of pixels to add to the bottom. The default is 0.
+ int32 bottom_pixels = 2;
+
+ // The number of pixels to add to the left. The default is 0.
+ int32 left_pixels = 3;
+
+ // The number of pixels to add to the right. The default is 0.
+ int32 right_pixels = 4;
+ }
+
+ // Specify the video cropping configuration.
+ Crop crop = 2;
+
+ // Specify the video pad filter configuration.
+ Pad pad = 3;
+}
+
+// Video stream resource.
+message VideoStream {
+ // H264 codec settings.
+ message H264CodecSettings {
+ // Required. The width of the video in pixels. Must be an even integer.
+ // Valid range is [320, 1920].
+ int32 width_pixels = 1;
+
+ // Required. The height of the video in pixels. Must be an even integer.
+ // Valid range is [180, 1080].
+ int32 height_pixels = 2;
+
+ // Required. The target video frame rate in frames per second (FPS). Must be less
+ // than or equal to 60. Will default to the input frame rate if larger
+ // than the input frame rate. The API will generate an output FPS that is
+ // divisible by the input FPS, and smaller or equal to the target FPS. See
+ // [Calculating frame
+ // rate](https://cloud.google.com/transcoder/docs/concepts/frame-rate) for
+ // more information.
+ double frame_rate = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The video bitrate in bits per second. Minimum value is 10,000.
+ //
+ // - For SD resolution (< 720p), must be <= 3,000,000 (3 Mbps).
+ // - For HD resolution (<= 1080p), must be <= 15,000,000 (15 Mbps).
+ int32 bitrate_bps = 4 [(google.api.field_behavior) = REQUIRED];
+
+ // Specifies whether an open Group of Pictures (GOP) structure should be
+ // allowed or not. The default is `false`.
+ bool allow_open_gop = 6;
+
+ // GOP mode can be either by frame count or duration.
+ oneof gop_mode {
+ // Select the GOP size based on the specified frame count.
+ // If GOP frame count is set instead of GOP duration, GOP duration will be
+ // calculated by `gopFrameCount`/`frameRate`. The calculated GOP duration
+ // must satisfy the limitations on `gopDuration` as well.
+ // Valid range is [60, 600].
+ int32 gop_frame_count = 7;
+
+ // Select the GOP size based on the specified duration. The default is
+ // `2s`. Note that `gopDuration` must be less than or equal to
+ // [segment_duration][google.cloud.video.livestream.v1.SegmentSettings.segment_duration], and
+ // [segment_duration][google.cloud.video.livestream.v1.SegmentSettings.segment_duration] must be divisible
+ // by `gopDuration`. Valid range is [2s, 20s].
+ //
+ // All video streams in the same channel must have the same GOP size.
+ google.protobuf.Duration gop_duration = 8;
+ }
+
+ // Size of the Video Buffering Verifier (VBV) buffer in bits. Must be
+ // greater than zero. The default is equal to [bitrate_bps][google.cloud.video.livestream.v1.VideoStream.H264CodecSettings.bitrate_bps].
+ int32 vbv_size_bits = 9;
+
+ // Initial fullness of the Video Buffering Verifier (VBV) buffer in bits.
+ // Must be greater than zero. The default is equal to 90% of
+ // [vbv_size_bits][google.cloud.video.livestream.v1.VideoStream.H264CodecSettings.vbv_size_bits].
+ int32 vbv_fullness_bits = 10;
+
+ // The entropy coder to use. The default is `cabac`.
+ //
+ // Supported entropy coders:
+ //
+ // - `cavlc`
+ // - `cabac`
+ string entropy_coder = 11;
+
+ // Allow B-pyramid for reference frame selection. This may not be supported
+ // on all decoders. The default is `false`.
+ bool b_pyramid = 12;
+
+ // The number of consecutive B-frames. Must be greater than or equal to
+ // zero. Must be less than [gop_frame_count][google.cloud.video.livestream.v1.VideoStream.H264CodecSettings.gop_frame_count] if set. The default
+ // is 0.
+ int32 b_frame_count = 13;
+
+ // Specify the intensity of the adaptive quantizer (AQ). Must be between 0
+ // and 1, where 0 disables the quantizer and 1 maximizes the quantizer. A
+ // higher value equals a lower bitrate but smoother image. The default is 0.
+ double aq_strength = 14;
+
+ // Enforces the specified codec profile. The following profiles are
+ // supported:
+ //
+ // * `baseline`
+ // * `main` (default)
+ // * `high`
+ //
+ // The available options are [FFmpeg-compatible Profile
+ // Options](https://trac.ffmpeg.org/wiki/Encode/H.264#Profile).
+ // Note that certain values for this field may cause the
+ // transcoder to override other fields you set in the [H264CodecSettings][google.cloud.video.livestream.v1.VideoStream.H264CodecSettings]
+ // message.
+ string profile = 15;
+
+ // Enforces the specified codec tune. The available options are
+ // [FFmpeg-compatible Encode
+ // Options](https://trac.ffmpeg.org/wiki/Encode/H.264#Tune)
+ // Note that certain values for this field may cause the transcoder to
+ // override other fields you set in the [H264CodecSettings][google.cloud.video.livestream.v1.VideoStream.H264CodecSettings] message.
+ string tune = 16;
+ }
+
+ // Codec settings.
+ oneof codec_settings {
+ // H264 codec settings.
+ H264CodecSettings h264 = 20;
+ }
+}
+
+// Audio stream resource.
+message AudioStream {
+ // The mapping for the input streams and audio channels.
+ message AudioMapping {
+ // Required. The `Channel` [InputAttachment.key][google.cloud.video.livestream.v1.InputAttachment.key] that identifies the input that this
+ // audio mapping applies to. If an active input doesn't have an audio
+ // mapping, the primary audio track in the input stream will be selected.
+ string input_key = 6 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The zero-based index of the track in the input stream.
+ // All [mapping][google.cloud.video.livestream.v1.AudioStream.mapping]s in the same [AudioStream][google.cloud.video.livestream.v1.AudioStream]
+ // must have the same input track.
+ int32 input_track = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The zero-based index of the channel in the input stream.
+ int32 input_channel = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The zero-based index of the channel in the output audio stream.
+ // Must be consistent with the [input_channel][google.cloud.video.livestream.v1.AudioStream.AudioMapping.input_channel].
+ int32 output_channel = 4 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // Specifies whether pass through (transmuxing) is enabled or not.
+ // If set to `true`, the rest of the settings, other than `mapping`, will be
+ // ignored. The default is `false`.
+ bool transmux = 8;
+
+ // The codec for this audio stream. The default is `aac`.
+ //
+ // Supported audio codecs:
+ //
+ // - `aac`
+ string codec = 1;
+
+ // Required. Audio bitrate in bits per second. Must be between 1 and 10,000,000.
+ int32 bitrate_bps = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Number of audio channels. Must be between 1 and 6. The default is 2.
+ int32 channel_count = 3;
+
+ // A list of channel names specifying layout of the audio channels.
+ // This only affects the metadata embedded in the container headers, if
+ // supported by the specified format. The default is `[fl, fr]`.
+ //
+ // Supported channel names:
+ //
+ // - `fl` - Front left channel
+ // - `fr` - Front right channel
+ // - `sl` - Side left channel
+ // - `sr` - Side right channel
+ // - `fc` - Front center channel
+ // - `lfe` - Low frequency
+ repeated string channel_layout = 4;
+
+ // The mapping for the input streams and audio channels.
+ repeated AudioMapping mapping = 5;
+
+ // The audio sample rate in Hertz. The default is 48000 Hertz.
+ int32 sample_rate_hertz = 6;
+}
+
+// Encoding of a text stream. For example, closed captions or subtitles.
+message TextStream {
+ // Required. The codec for this text stream.
+ //
+ // Supported text codecs:
+ //
+ // - `cea608`
+ // - `cea708`
+ string codec = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Segment settings for `fmp4` and `ts`.
+message SegmentSettings {
+ // Duration of the segments in seconds. The default is `6s`. Note that
+ // `segmentDuration` must be greater than or equal to
+ // [gop_duration][google.cloud.video.livestream.v1.VideoStream.H264CodecSettings.gop_duration], and
+ // `segmentDuration` must be divisible by
+ // [gop_duration][google.cloud.video.livestream.v1.VideoStream.H264CodecSettings.gop_duration].
+ // Valid range is [2s, 20s].
+ //
+ // All [mux_streams][google.cloud.video.livestream.v1.Manifest.mux_streams] in the same manifest must have the
+ // same segment duration.
+ google.protobuf.Duration segment_duration = 1;
+}
diff --git a/packages/google-cloud-video-livestream/protos/google/cloud/video/livestream/v1/resources.proto b/packages/google-cloud-video-livestream/protos/google/cloud/video/livestream/v1/resources.proto
new file mode 100644
index 00000000000..b9159ec9744
--- /dev/null
+++ b/packages/google-cloud-video-livestream/protos/google/cloud/video/livestream/v1/resources.proto
@@ -0,0 +1,408 @@
+// Copyright 2022 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
+//
+// http://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.
+
+syntax = "proto3";
+
+package google.cloud.video.livestream.v1;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/video/livestream/v1/outputs.proto";
+import "google/protobuf/duration.proto";
+import "google/protobuf/timestamp.proto";
+import "google/rpc/status.proto";
+
+option csharp_namespace = "Google.Cloud.Video.LiveStream.V1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/video/livestream/v1;livestream";
+option java_multiple_files = true;
+option java_outer_classname = "ResourcesProto";
+option java_package = "com.google.cloud.video.livestream.v1";
+option php_namespace = "Google\\Cloud\\Video\\LiveStream\\V1";
+option ruby_package = "Google::Cloud::Video::LiveStream::V1";
+
+// Input resource represents the endpoint from which the channel ingests
+// the input stream.
+message Input {
+ option (google.api.resource) = {
+ type: "livestream.googleapis.com/Input"
+ pattern: "projects/{project}/locations/{location}/inputs/{input}"
+ };
+
+ // The type of the input.
+ enum Type {
+ // Input type is not specified.
+ TYPE_UNSPECIFIED = 0;
+
+ // Input will take an rtmp input stream.
+ RTMP_PUSH = 1;
+
+ // Input will take an srt (Secure Reliable Transport) input stream.
+ SRT_PUSH = 2;
+ }
+
+ // Tier of the input specification.
+ enum Tier {
+ // Tier is not specified.
+ TIER_UNSPECIFIED = 0;
+
+ // Resolution < 1280x720. Bitrate <= 6 Mbps. FPS <= 60.
+ SD = 1;
+
+ // Resolution <= 1920x1080. Bitrate <= 25 Mbps. FPS <= 60.
+ HD = 2;
+
+ // Resolution <= 4096x2160. Not supported yet.
+ UHD = 3;
+ }
+
+ // Security rules for access control. Each field represents one security rule.
+ // Only when the source of the input stream satisfies all the fields, this
+ // input stream can be accepted.
+ message SecurityRule {
+ // At least one ip range must match unless none specified. The IP range is
+ // defined by CIDR block: for example, `192.0.1.0/24` for a range and
+ // `192.0.1.0/32` for a single IP address.
+ repeated string ip_ranges = 1;
+ }
+
+ // The resource name of the input, in the form of:
+ // `projects/{project}/locations/{location}/inputs/{inputId}`.
+ string name = 1;
+
+ // Output only. The creation time.
+ google.protobuf.Timestamp create_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The update time.
+ google.protobuf.Timestamp update_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // User-defined key/value metadata.
+ map labels = 4;
+
+ // Source type.
+ Type type = 5;
+
+ // Tier defines the maximum input specification that is accepted by the
+ // video pipeline. The billing is charged based on the tier specified here.
+ // See [Pricing](https://cloud.google.com/livestream/pricing) for more detail.
+ // The default is `HD`.
+ Tier tier = 14;
+
+ // Output only. URI to push the input stream to.
+ // Its format depends on the input [type][google.cloud.video.livestream.v1.Input.type], for example:
+ //
+ // * `RTMP_PUSH`: `rtmp://1.2.3.4/live/{STREAM-ID}`
+ // * `SRT_PUSH`: `srt://1.2.3.4:4201?streamid={STREAM-ID}`
+ string uri = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Preprocessing configurations.
+ PreprocessingConfig preprocessing_config = 9;
+
+ // Security rule for access control.
+ SecurityRule security_rules = 12;
+
+ // Output only. The information for the input stream. This field will be present only when
+ // this input receives the input stream.
+ InputStreamProperty input_stream_property = 15 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// Channel resource represents the processor that does a user-defined
+// "streaming" operation, which includes getting an input stream through an
+// input, transcoding it to multiple renditions, and publishing output live
+// streams in certain formats (for example, HLS or DASH) to the specified
+// location.
+message Channel {
+ option (google.api.resource) = {
+ type: "livestream.googleapis.com/Channel"
+ pattern: "projects/{project}/locations/{location}/channels/{channel}"
+ };
+
+ // Location of output file(s) in a Google Cloud Storage bucket.
+ message Output {
+ // URI for the output file(s). For example, `gs://my-bucket/outputs/`.
+ string uri = 1;
+ }
+
+ // State of streaming operation that the channel is running.
+ enum StreamingState {
+ // Streaming state is not specified.
+ STREAMING_STATE_UNSPECIFIED = 0;
+
+ // Channel is getting the input stream, generating the live streams to the
+ // specified output location.
+ STREAMING = 1;
+
+ // Channel is waiting for the input stream through the input.
+ AWAITING_INPUT = 2;
+
+ // Channel is running, but has trouble publishing the live streams onto the
+ // specified output location (for example, the specified Cloud Storage
+ // bucket is not writable).
+ STREAMING_ERROR = 4;
+
+ // Channel is generating live streams with no input stream. Live streams are
+ // filled out with black screen, while input stream is missing.
+ // Not supported yet.
+ STREAMING_NO_INPUT = 5;
+
+ // Channel is stopped, finishing live streams.
+ STOPPED = 6;
+
+ // Channel is starting.
+ STARTING = 7;
+
+ // Channel is stopping.
+ STOPPING = 8;
+ }
+
+ // The resource name of the channel, in the form of:
+ // `projects/{project}/locations/{location}/channels/{channelId}`.
+ string name = 1;
+
+ // Output only. The creation time.
+ google.protobuf.Timestamp create_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The update time.
+ google.protobuf.Timestamp update_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // User-defined key/value metadata.
+ map labels = 4;
+
+ // A list of input attachments that this channel uses.
+ // One channel can have multiple inputs as the input sources. Only one
+ // input can be selected as the input source at one time.
+ repeated InputAttachment input_attachments = 16;
+
+ // Output only. The [InputAttachment.key][google.cloud.video.livestream.v1.InputAttachment.key] that serves as the current input source. The
+ // first input in the [input_attachments][google.cloud.video.livestream.v1.Channel.input_attachments] is the initial input source.
+ string active_input = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Required. Information about the output (that is, the Cloud Storage bucket to store
+ // the generated live stream).
+ Output output = 9 [(google.api.field_behavior) = REQUIRED];
+
+ // List of elementary streams.
+ repeated ElementaryStream elementary_streams = 10;
+
+ // List of multiplexing settings for output streams.
+ repeated MuxStream mux_streams = 11;
+
+ // List of output manifests.
+ repeated Manifest manifests = 12;
+
+ // List of output sprite sheets.
+ repeated SpriteSheet sprite_sheets = 13;
+
+ // Output only. State of the streaming operation.
+ StreamingState streaming_state = 14 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. A description of the reason for the streaming error. This property is
+ // always present when [streaming_state][google.cloud.video.livestream.v1.Channel.streaming_state] is
+ // [STREAMING_ERROR][google.cloud.video.livestream.v1.Channel.StreamingState.STREAMING_ERROR].
+ google.rpc.Status streaming_error = 18 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Configuration of platform logs for this channel.
+ LogConfig log_config = 19;
+}
+
+// Configuration of platform logs.
+// See [Using and managing platform
+// logs](https://cloud.google.com/logging/docs/api/platform-logs#managing-logs)
+// for more information about how to view platform logs through Cloud Logging.
+message LogConfig {
+ // The severity level of platform logging for this channel. Logs with a
+ // severity level higher than or equal to the chosen severity level will be
+ // logged and can be viewed through Cloud Logging.
+ // The severity level of a log is ranked as followed from low to high: DEBUG <
+ // INFO < NOTICE < WARNING < ERROR < CRITICAL < ALERT < EMERGENCY.
+ // See
+ // [LogSeverity](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logseverity)
+ // for more information.
+ enum LogSeverity {
+ // Log severity is not specified. This is the same as log severity is OFF.
+ LOG_SEVERITY_UNSPECIFIED = 0;
+
+ // Log is turned off.
+ OFF = 1;
+
+ // Log with severity higher than or equal to DEBUG are logged.
+ DEBUG = 100;
+
+ // Logs with severity higher than or equal to INFO are logged.
+ INFO = 200;
+
+ // Logs with severity higher than or equal to WARNING are logged.
+ WARNING = 400;
+
+ // Logs with severity higher than or equal to ERROR are logged.
+ ERROR = 500;
+ }
+
+ // The severity level of platform logging for this resource.
+ LogSeverity log_severity = 1;
+}
+
+// Properties of the input stream.
+message InputStreamProperty {
+ // The time that the current input stream is accepted and the connection is
+ // established.
+ google.protobuf.Timestamp last_establish_time = 1;
+
+ // Properties of the video streams.
+ repeated VideoStreamProperty video_streams = 2;
+
+ // Properties of the audio streams.
+ repeated AudioStreamProperty audio_streams = 3;
+}
+
+// Properties of the video stream.
+message VideoStreamProperty {
+ // Index of this video stream.
+ int32 index = 1;
+
+ // Properties of the video format.
+ VideoFormat video_format = 2;
+}
+
+// Properties of the video format.
+message VideoFormat {
+ // Video codec used in this video stream.
+ string codec = 1;
+
+ // The width of the video stream in pixels.
+ int32 width_pixels = 2;
+
+ // The height of the video stream in pixels.
+ int32 height_pixels = 3;
+
+ // The frame rate of the input video stream.
+ double frame_rate = 4;
+}
+
+// Properties of the audio stream.
+message AudioStreamProperty {
+ // Index of this audio stream.
+ int32 index = 1;
+
+ // Properties of the audio format.
+ AudioFormat audio_format = 2;
+}
+
+// Properties of the audio format.
+message AudioFormat {
+ // Audio codec used in this audio stream.
+ string codec = 1;
+
+ // The number of audio channels.
+ int32 channel_count = 2;
+
+ // A list of channel names specifying the layout of the audio channels.
+ repeated string channel_layout = 3;
+}
+
+// A group of information for attaching an input resource to this channel.
+message InputAttachment {
+ // Configurations to follow when automatic failover happens.
+ message AutomaticFailover {
+ // The [InputAttachment.key][google.cloud.video.livestream.v1.InputAttachment.key]s of inputs to failover to when this input is
+ // disconnected. Currently, only up to one backup input is supported.
+ repeated string input_keys = 1;
+ }
+
+ // A unique key for this input attachment.
+ string key = 1;
+
+ // The resource name of an existing input, in the form of:
+ // `projects/{project}/locations/{location}/inputs/{inputId}`.
+ string input = 2 [(google.api.resource_reference) = {
+ type: "livestream.googleapis.com/Input"
+ }];
+
+ // Automatic failover configurations.
+ AutomaticFailover automatic_failover = 3;
+}
+
+// Event is a sub-resource of a channel, which can be scheduled by the user to
+// execute operations on a channel resource without having to stop the channel.
+message Event {
+ option (google.api.resource) = {
+ type: "livestream.googleapis.com/Event"
+ pattern: "projects/{project}/locations/{location}/channels/{channel}/events/{event}"
+ };
+
+ // Inserts a new ad opportunity.
+ message AdBreakTask {
+ // Duration of an ad opportunity. Must be greater than 0.
+ google.protobuf.Duration duration = 1;
+ }
+
+ // State of the event
+ enum State {
+ // Event state is not specified.
+ STATE_UNSPECIFIED = 0;
+
+ // Event is scheduled but not executed yet.
+ SCHEDULED = 1;
+
+ // Event is being executed.
+ RUNNING = 2;
+
+ // Event has been successfully executed.
+ SUCCEEDED = 3;
+
+ // Event fails to be executed.
+ FAILED = 4;
+
+ // Event has been created but not scheduled yet.
+ PENDING = 5;
+
+ // Event was stopped before running for its full duration.
+ STOPPED = 6;
+ }
+
+ // The resource name of the event, in the form of:
+ // `projects/{project}/locations/{location}/channels/{channelId}/events/{eventId}`.
+ string name = 1;
+
+ // Output only. The creation time.
+ google.protobuf.Timestamp create_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The update time.
+ google.protobuf.Timestamp update_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // User-defined key/value metadata.
+ map labels = 4;
+
+ // Required. Operation to be executed by this event.
+ oneof task {
+ // Required. Inserts a new ad opportunity.
+ AdBreakTask ad_break = 6 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // When this field is set to true, the event will be executed at the earliest
+ // time that the server can schedule the event and [execution_time][google.cloud.video.livestream.v1.Event.execution_time] will be
+ // populated with the time that the server actually schedules the event.
+ bool execute_now = 9;
+
+ // The time when the event should be executed. When [execute_now][google.cloud.video.livestream.v1.Event.execute_now] is set to
+ // `true`, this field should not be set in `CreateEvent` request and will be
+ // populated with the time that the server schedules the event.
+ google.protobuf.Timestamp execution_time = 10;
+
+ // Output only. The state of the event.
+ State state = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. An error object that describes the reason for the failure.
+ // This property is always present when `state` is `FAILED`.
+ google.rpc.Status error = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
diff --git a/packages/google-cloud-video-livestream/protos/google/cloud/video/livestream/v1/service.proto b/packages/google-cloud-video-livestream/protos/google/cloud/video/livestream/v1/service.proto
new file mode 100644
index 00000000000..8ef65d80814
--- /dev/null
+++ b/packages/google-cloud-video-livestream/protos/google/cloud/video/livestream/v1/service.proto
@@ -0,0 +1,719 @@
+// Copyright 2022 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
+//
+// http://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.
+
+syntax = "proto3";
+
+package google.cloud.video.livestream.v1;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/video/livestream/v1/resources.proto";
+import "google/longrunning/operations.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+import "google/protobuf/timestamp.proto";
+
+option csharp_namespace = "Google.Cloud.Video.LiveStream.V1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/video/livestream/v1;livestream";
+option java_multiple_files = true;
+option java_outer_classname = "ServiceProto";
+option java_package = "com.google.cloud.video.livestream.v1";
+option php_namespace = "Google\\Cloud\\Video\\LiveStream\\V1";
+option ruby_package = "Google::Cloud::Video::LiveStream::V1";
+
+// Using Live Stream API, you can generate live streams in the various
+// renditions and streaming formats. The streaming format include HTTP Live
+// Streaming (HLS) and Dynamic Adaptive Streaming over HTTP (DASH). You can send
+// a source stream in the various ways, including Real-Time Messaging
+// Protocol (RTMP) and Secure Reliable Transport (SRT).
+service LivestreamService {
+ option (google.api.default_host) = "livestream.googleapis.com";
+ option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
+
+ // Creates a channel with the provided unique ID in the specified
+ // region.
+ rpc CreateChannel(CreateChannelRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{parent=projects/*/locations/*}/channels"
+ body: "channel"
+ };
+ option (google.api.method_signature) = "parent,channel,channel_id";
+ option (google.longrunning.operation_info) = {
+ response_type: "Channel"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Returns a list of all channels in the specified region.
+ rpc ListChannels(ListChannelsRequest) returns (ListChannelsResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=projects/*/locations/*}/channels"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Returns the specified channel.
+ rpc GetChannel(GetChannelRequest) returns (Channel) {
+ option (google.api.http) = {
+ get: "/v1/{name=projects/*/locations/*/channels/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Deletes the specified channel.
+ rpc DeleteChannel(DeleteChannelRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ delete: "/v1/{name=projects/*/locations/*/channels/*}"
+ };
+ option (google.api.method_signature) = "name";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.protobuf.Empty"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Updates the specified channel.
+ rpc UpdateChannel(UpdateChannelRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ patch: "/v1/{channel.name=projects/*/locations/*/channels/*}"
+ body: "channel"
+ };
+ option (google.api.method_signature) = "channel,update_mask";
+ option (google.longrunning.operation_info) = {
+ response_type: "Channel"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Starts the specified channel. Part of the video pipeline will be created
+ // only when the StartChannel request is received by the server.
+ rpc StartChannel(StartChannelRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{name=projects/*/locations/*/channels/*}:start"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name";
+ option (google.longrunning.operation_info) = {
+ response_type: "ChannelOperationResponse"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Stops the specified channel. Part of the video pipeline will be released
+ // when the StopChannel request is received by the server.
+ rpc StopChannel(StopChannelRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{name=projects/*/locations/*/channels/*}:stop"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name";
+ option (google.longrunning.operation_info) = {
+ response_type: "ChannelOperationResponse"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Creates an input with the provided unique ID in the specified region.
+ rpc CreateInput(CreateInputRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{parent=projects/*/locations/*}/inputs"
+ body: "input"
+ };
+ option (google.api.method_signature) = "parent,input,input_id";
+ option (google.longrunning.operation_info) = {
+ response_type: "Input"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Returns a list of all inputs in the specified region.
+ rpc ListInputs(ListInputsRequest) returns (ListInputsResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=projects/*/locations/*}/inputs"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Returns the specified input.
+ rpc GetInput(GetInputRequest) returns (Input) {
+ option (google.api.http) = {
+ get: "/v1/{name=projects/*/locations/*/inputs/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Deletes the specified input.
+ rpc DeleteInput(DeleteInputRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ delete: "/v1/{name=projects/*/locations/*/inputs/*}"
+ };
+ option (google.api.method_signature) = "name";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.protobuf.Empty"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Updates the specified input.
+ rpc UpdateInput(UpdateInputRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ patch: "/v1/{input.name=projects/*/locations/*/inputs/*}"
+ body: "input"
+ };
+ option (google.api.method_signature) = "input,update_mask";
+ option (google.longrunning.operation_info) = {
+ response_type: "Input"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Creates an event with the provided unique ID in the specified channel.
+ rpc CreateEvent(CreateEventRequest) returns (Event) {
+ option (google.api.http) = {
+ post: "/v1/{parent=projects/*/locations/*/channels/*}/events"
+ body: "event"
+ };
+ option (google.api.method_signature) = "parent,event,event_id";
+ }
+
+ // Returns a list of all events in the specified channel.
+ rpc ListEvents(ListEventsRequest) returns (ListEventsResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=projects/*/locations/*/channels/*}/events"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Returns the specified event.
+ rpc GetEvent(GetEventRequest) returns (Event) {
+ option (google.api.http) = {
+ get: "/v1/{name=projects/*/locations/*/channels/*/events/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Deletes the specified event.
+ rpc DeleteEvent(DeleteEventRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v1/{name=projects/*/locations/*/channels/*/events/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+}
+
+// Request message for "LivestreamService.CreateChannel".
+message CreateChannelRequest {
+ // Required. The parent location for the resource, in the form of:
+ // `projects/{project}/locations/{location}`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "livestream.googleapis.com/Channel"
+ }
+ ];
+
+ // Required. The channel resource to be created.
+ Channel channel = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The ID of the channel resource to be created.
+ // This value must be 1-63 characters, begin and end with `[a-z0-9]`,
+ // could contain dashes (-) in between.
+ string channel_id = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // A request ID to identify requests. Specify a unique request ID
+ // so that if you must retry your request, the server will know to ignore
+ // the request if it has already been completed. The server will guarantee
+ // that for at least 60 minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and the
+ // request times out. If you make the request again with the same request ID,
+ // the server can check if original operation with the same request ID was
+ // received, and if so, will ignore the second request. This prevents clients
+ // from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported `(00000000-0000-0000-0000-000000000000)`.
+ string request_id = 4;
+}
+
+// Request message for "LivestreamService.ListChannels".
+message ListChannelsRequest {
+ // Required. The parent location for the resource, in the form of:
+ // `projects/{project}/locations/{location}`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "livestream.googleapis.com/Channel"
+ }
+ ];
+
+ // The maximum number of items to return. If unspecified, server
+ // will pick an appropriate default. Server may return fewer items than
+ // requested. A caller should only rely on response's
+ // [next_page_token][google.cloud.video.livestream.v1.ListChannelsResponse.next_page_token] to
+ // determine if there are more items left to be queried.
+ int32 page_size = 2;
+
+ // The next_page_token value returned from a previous List request, if any.
+ string page_token = 3;
+
+ // The filter to apply to list results.
+ string filter = 4;
+
+ // Specifies the ordering of results following syntax at
+ // https://cloud.google.com/apis/design/design_patterns#sorting_order.
+ string order_by = 5;
+}
+
+// Response message for "LivestreamService.ListChannels".
+message ListChannelsResponse {
+ // A list of channels.
+ repeated Channel channels = 1;
+
+ // Token to retrieve the next page of results, or empty if there are no more
+ // results in the list.
+ string next_page_token = 2;
+
+ // Locations that could not be reached.
+ repeated string unreachable = 3;
+}
+
+// Request message for "LivestreamService.GetChannel".
+message GetChannelRequest {
+ // Required. The name of the channel resource, in the form of:
+ // `projects/{project}/locations/{location}/channels/{channelId}`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "livestream.googleapis.com/Channel"
+ }
+ ];
+}
+
+// Request message for "LivestreamService.DeleteChannel".
+message DeleteChannelRequest {
+ // Required. The name of the channel resource, in the form of:
+ // `projects/{project}/locations/{location}/channels/{channelId}`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "livestream.googleapis.com/Channel"
+ }
+ ];
+
+ // A request ID to identify requests. Specify a unique request ID
+ // so that if you must retry your request, the server will know to ignore
+ // the request if it has already been completed. The server will guarantee
+ // that for at least 60 minutes after the first request.
+ //
+ // For example, consider a situation where you make an initial request and the
+ // request times out. If you make the request again with the same request ID,
+ // the server can check if original operation with the same request ID was
+ // received, and if so, will ignore the second request. This prevents clients
+ // from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported `(00000000-0000-0000-0000-000000000000)`.
+ string request_id = 2;
+
+ // If the `force` field is set to the default value of `false`, you must
+ // delete all of a channel's events before you can delete the channel itself.
+ // If the field is set to `true`, requests to delete a channel also delete
+ // associated channel events.
+ bool force = 3;
+}
+
+// Request message for "LivestreamService.UpdateChannel".
+message UpdateChannelRequest {
+ // Field mask is used to specify the fields to be overwritten in the Channel
+ // resource by the update. You can only update the following fields:
+ //
+ // * [`inputAttachments`](https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels#inputattachment)
+ // * [`output`](https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels#output)
+ // * [`elementaryStreams`](https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels#ElementaryStream)
+ // * [`muxStreams`](https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels#muxstream)
+ // * [`manifests`](https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels#Manifest)
+ // * [`spritesheets`](https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels#spritesheet)
+ //
+ // The fields specified in the update_mask are relative to the resource, not
+ // the full request. A field will be overwritten if it is in the mask.
+ google.protobuf.FieldMask update_mask = 1;
+
+ // Required. The channel resource to be updated.
+ Channel channel = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // A request ID to identify requests. Specify a unique request ID
+ // so that if you must retry your request, the server will know to ignore
+ // the request if it has already been completed. The server will guarantee
+ // that for at least 60 minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and the
+ // request times out. If you make the request again with the same request ID,
+ // the server can check if original operation with the same request ID was
+ // received, and if so, will ignore the second request. This prevents clients
+ // from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported `(00000000-0000-0000-0000-000000000000)`.
+ string request_id = 3;
+}
+
+// Request message for "LivestreamService.StartChannel".
+message StartChannelRequest {
+ // Required. The name of the channel resource, in the form of:
+ // `projects/{project}/locations/{location}/channels/{channelId}`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "livestream.googleapis.com/Channel"
+ }
+ ];
+
+ // A request ID to identify requests. Specify a unique request ID
+ // so that if you must retry your request, the server will know to ignore
+ // the request if it has already been completed. The server will guarantee
+ // that for at least 60 minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and the
+ // request times out. If you make the request again with the same request ID,
+ // the server can check if original operation with the same request ID was
+ // received, and if so, will ignore the second request. This prevents clients
+ // from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported `(00000000-0000-0000-0000-000000000000)`.
+ string request_id = 2;
+}
+
+// Request message for "LivestreamService.StopChannel".
+message StopChannelRequest {
+ // Required. The name of the channel resource, in the form of:
+ // `projects/{project}/locations/{location}/channels/{channelId}`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "livestream.googleapis.com/Channel"
+ }
+ ];
+
+ // A request ID to identify requests. Specify a unique request ID
+ // so that if you must retry your request, the server will know to ignore
+ // the request if it has already been completed. The server will guarantee
+ // that for at least 60 minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and the
+ // request times out. If you make the request again with the same request ID,
+ // the server can check if original operation with the same request ID was
+ // received, and if so, will ignore the second request. This prevents clients
+ // from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported `(00000000-0000-0000-0000-000000000000)`.
+ string request_id = 2;
+}
+
+// Request message for "LivestreamService.CreateInput".
+message CreateInputRequest {
+ // Required. The parent location for the resource, in the form of:
+ // `projects/{project}/locations/{location}`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "livestream.googleapis.com/Input"
+ }
+ ];
+
+ // Required. The input resource to be created.
+ Input input = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The ID of the input resource to be created.
+ // This value must be 1-63 characters, begin and end with `[a-z0-9]`,
+ // could contain dashes (-) in between.
+ string input_id = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // A request ID to identify requests. Specify a unique request ID
+ // so that if you must retry your request, the server will know to ignore
+ // the request if it has already been completed. The server will guarantee
+ // that for at least 60 minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and the
+ // request times out. If you make the request again with the same request ID,
+ // the server can check if original operation with the same request ID was
+ // received, and if so, will ignore the second request. This prevents clients
+ // from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported `(00000000-0000-0000-0000-000000000000)`.
+ string request_id = 4;
+}
+
+// Request message for "LivestreamService.ListInputs".
+message ListInputsRequest {
+ // Required. The parent location for the resource, in the form of:
+ // `projects/{project}/locations/{location}`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "livestream.googleapis.com/Input"
+ }
+ ];
+
+ // The maximum number of items to return. If unspecified, server
+ // will pick an appropriate default. Server may return fewer items than
+ // requested. A caller should only rely on response's
+ // [next_page_token][google.cloud.video.livestream.v1.ListInputsResponse.next_page_token] to
+ // determine if there are more items left to be queried.
+ int32 page_size = 2;
+
+ // The next_page_token value returned from a previous List request, if any.
+ string page_token = 3;
+
+ // The filter to apply to list results.
+ string filter = 4;
+
+ // Specifies the ordering of results following syntax at [Sorting
+ // Order](https://cloud.google.com/apis/design/design_patterns#sorting_order).
+ string order_by = 5;
+}
+
+// Response message for "LivestreamService.ListInputs".
+message ListInputsResponse {
+ // A list of inputs.
+ repeated Input inputs = 1;
+
+ // Token to retrieve the next page of results, or empty if there are no more
+ // results in the list.
+ string next_page_token = 2;
+
+ // Locations that could not be reached.
+ repeated string unreachable = 3;
+}
+
+// Request message for "LivestreamService.GetInput".
+message GetInputRequest {
+ // Required. The name of the input resource, in the form of:
+ // `projects/{project}/locations/{location}/inputs/{inputId}`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "livestream.googleapis.com/Input"
+ }
+ ];
+}
+
+// Request message for "LivestreamService.DeleteInput".
+message DeleteInputRequest {
+ // Required. The name of the input resource, in the form of:
+ // `projects/{project}/locations/{location}/inputs/{inputId}`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "livestream.googleapis.com/Input"
+ }
+ ];
+
+ // A request ID to identify requests. Specify a unique request ID
+ // so that if you must retry your request, the server will know to ignore
+ // the request if it has already been completed. The server will guarantee
+ // that for at least 60 minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and the
+ // request times out. If you make the request again with the same request ID,
+ // the server can check if original operation with the same request ID was
+ // received, and if so, will ignore the second request. This prevents clients
+ // from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported `(00000000-0000-0000-0000-000000000000)`.
+ string request_id = 2;
+}
+
+// Request message for "LivestreamService.UpdateInput".
+message UpdateInputRequest {
+ // Field mask is used to specify the fields to be overwritten in the Input
+ // resource by the update. You can only update the following fields:
+ //
+ // * [`preprocessingConfig`](https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.inputs#PreprocessingConfig)
+ // * [`securityRules`](https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.inputs#SecurityRule)
+ //
+ // The fields specified in the update_mask are relative to the resource, not
+ // the full request. A field will be overwritten if it is in the mask.
+ google.protobuf.FieldMask update_mask = 1;
+
+ // Required. The input resource to be updated.
+ Input input = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // A request ID to identify requests. Specify a unique request ID
+ // so that if you must retry your request, the server will know to ignore
+ // the request if it has already been completed. The server will guarantee
+ // that for at least 60 minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and the
+ // request times out. If you make the request again with the same request ID,
+ // the server can check if original operation with the same request ID was
+ // received, and if so, will ignore the second request. This prevents clients
+ // from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported `(00000000-0000-0000-0000-000000000000)`.
+ string request_id = 3;
+}
+
+// Request message for "LivestreamService.CreateEvent".
+message CreateEventRequest {
+ // Required. The parent channel for the resource, in the form of:
+ // `projects/{project}/locations/{location}/channels/{channelId}`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "livestream.googleapis.com/Event"
+ }
+ ];
+
+ // Required. The event resource to be created.
+ Event event = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The ID of the event resource to be created.
+ // This value must be 1-63 characters, begin and end with `[a-z0-9]`,
+ // could contain dashes (-) in between.
+ string event_id = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // A request ID to identify requests. Specify a unique request ID
+ // so that if you must retry your request, the server will know to ignore
+ // the request if it has already been completed. The server will guarantee
+ // that for at least 60 minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and the
+ // request times out. If you make the request again with the same request ID,
+ // the server can check if original operation with the same request ID was
+ // received, and if so, will ignore the second request. This prevents clients
+ // from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported `(00000000-0000-0000-0000-000000000000)`.
+ string request_id = 4;
+}
+
+// Request message for "LivestreamService.ListEvents".
+message ListEventsRequest {
+ // Required. The parent channel for the resource, in the form of:
+ // `projects/{project}/locations/{location}/channels/{channelId}`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "livestream.googleapis.com/Event"
+ }
+ ];
+
+ // The maximum number of items to return. If unspecified, server
+ // will pick an appropriate default. Server may return fewer items than
+ // requested. A caller should only rely on response's
+ // [next_page_token][google.cloud.video.livestream.v1.ListEventsResponse.next_page_token] to
+ // determine if there are more items left to be queried.
+ int32 page_size = 2;
+
+ // The next_page_token value returned from a previous List request, if any.
+ string page_token = 3;
+
+ // The filter to apply to list results.
+ string filter = 4;
+
+ // Specifies the ordering of results following syntax at
+ // https://cloud.google.com/apis/design/design_patterns#sorting_order.
+ string order_by = 5;
+}
+
+// Response message for "LivestreamService.ListEvents".
+message ListEventsResponse {
+ // A list of events.
+ repeated Event events = 1;
+
+ // Token to retrieve the next page of results, or empty if there are no more
+ // results in the list.
+ string next_page_token = 2;
+
+ // Locations that could not be reached.
+ repeated string unreachable = 3;
+}
+
+// Request message for "LivestreamService.GetEvent".
+message GetEventRequest {
+ // Required. The name of the event resource, in the form of:
+ // `projects/{project}/locations/{location}/channels/{channelId}/events/{eventId}`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "livestream.googleapis.com/Event"
+ }
+ ];
+}
+
+// Request message for "LivestreamService.DeleteEvent".
+message DeleteEventRequest {
+ // Required. The name of the event resource, in the form of:
+ // `projects/{project}/locations/{location}/channels/{channelId}/events/{eventId}`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "livestream.googleapis.com/Event"
+ }
+ ];
+
+ // A request ID to identify requests. Specify a unique request ID
+ // so that if you must retry your request, the server will know to ignore
+ // the request if it has already been completed. The server will guarantee
+ // that for at least 60 minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and the
+ // request times out. If you make the request again with the same request ID,
+ // the server can check if original operation with the same request ID was
+ // received, and if so, will ignore the second request. This prevents clients
+ // from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported `(00000000-0000-0000-0000-000000000000)`.
+ string request_id = 2;
+}
+
+// Response message for Start/Stop Channel long-running operations.
+message ChannelOperationResponse {
+
+}
+
+// Represents the metadata of the long-running operation.
+message OperationMetadata {
+ // Output only. The time the operation was created.
+ google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The time the operation finished running.
+ google.protobuf.Timestamp end_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Server-defined resource path for the target of the operation.
+ string target = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Name of the verb executed by the operation.
+ string verb = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Identifies whether the user has requested cancellation
+ // of the operation. Operations that have successfully been cancelled
+ // have [Operation.error][] value with a
+ // [google.rpc.Status.code][google.rpc.Status.code] of 1, corresponding to
+ // `Code.CANCELLED`.
+ bool requested_cancellation = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. API version used to start the operation.
+ string api_version = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
diff --git a/packages/google-cloud-video-livestream/protos/protos.d.ts b/packages/google-cloud-video-livestream/protos/protos.d.ts
new file mode 100644
index 00000000000..ead893d7f21
--- /dev/null
+++ b/packages/google-cloud-video-livestream/protos/protos.d.ts
@@ -0,0 +1,11479 @@
+// Copyright 2022 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
+//
+// http://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.
+
+import type {protobuf as $protobuf} from "google-gax";
+import Long = require("long");
+/** Namespace google. */
+export namespace google {
+
+ /** Namespace cloud. */
+ namespace cloud {
+
+ /** Namespace video. */
+ namespace video {
+
+ /** Namespace livestream. */
+ namespace livestream {
+
+ /** Namespace v1. */
+ namespace v1 {
+
+ /** Properties of an ElementaryStream. */
+ interface IElementaryStream {
+
+ /** ElementaryStream key */
+ key?: (string|null);
+
+ /** ElementaryStream videoStream */
+ videoStream?: (google.cloud.video.livestream.v1.IVideoStream|null);
+
+ /** ElementaryStream audioStream */
+ audioStream?: (google.cloud.video.livestream.v1.IAudioStream|null);
+
+ /** ElementaryStream textStream */
+ textStream?: (google.cloud.video.livestream.v1.ITextStream|null);
+ }
+
+ /** Represents an ElementaryStream. */
+ class ElementaryStream implements IElementaryStream {
+
+ /**
+ * Constructs a new ElementaryStream.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.IElementaryStream);
+
+ /** ElementaryStream key. */
+ public key: string;
+
+ /** ElementaryStream videoStream. */
+ public videoStream?: (google.cloud.video.livestream.v1.IVideoStream|null);
+
+ /** ElementaryStream audioStream. */
+ public audioStream?: (google.cloud.video.livestream.v1.IAudioStream|null);
+
+ /** ElementaryStream textStream. */
+ public textStream?: (google.cloud.video.livestream.v1.ITextStream|null);
+
+ /** ElementaryStream elementaryStream. */
+ public elementaryStream?: ("videoStream"|"audioStream"|"textStream");
+
+ /**
+ * Creates a new ElementaryStream instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ElementaryStream instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.IElementaryStream): google.cloud.video.livestream.v1.ElementaryStream;
+
+ /**
+ * Encodes the specified ElementaryStream message. Does not implicitly {@link google.cloud.video.livestream.v1.ElementaryStream.verify|verify} messages.
+ * @param message ElementaryStream message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.IElementaryStream, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ElementaryStream message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.ElementaryStream.verify|verify} messages.
+ * @param message ElementaryStream message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.IElementaryStream, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ElementaryStream message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ElementaryStream
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.ElementaryStream;
+
+ /**
+ * Decodes an ElementaryStream message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ElementaryStream
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.ElementaryStream;
+
+ /**
+ * Verifies an ElementaryStream message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an ElementaryStream message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ElementaryStream
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.ElementaryStream;
+
+ /**
+ * Creates a plain object from an ElementaryStream message. Also converts values to other types if specified.
+ * @param message ElementaryStream
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.ElementaryStream, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ElementaryStream to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ElementaryStream
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MuxStream. */
+ interface IMuxStream {
+
+ /** MuxStream key */
+ key?: (string|null);
+
+ /** MuxStream container */
+ container?: (string|null);
+
+ /** MuxStream elementaryStreams */
+ elementaryStreams?: (string[]|null);
+
+ /** MuxStream segmentSettings */
+ segmentSettings?: (google.cloud.video.livestream.v1.ISegmentSettings|null);
+ }
+
+ /** Represents a MuxStream. */
+ class MuxStream implements IMuxStream {
+
+ /**
+ * Constructs a new MuxStream.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.IMuxStream);
+
+ /** MuxStream key. */
+ public key: string;
+
+ /** MuxStream container. */
+ public container: string;
+
+ /** MuxStream elementaryStreams. */
+ public elementaryStreams: string[];
+
+ /** MuxStream segmentSettings. */
+ public segmentSettings?: (google.cloud.video.livestream.v1.ISegmentSettings|null);
+
+ /**
+ * Creates a new MuxStream instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MuxStream instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.IMuxStream): google.cloud.video.livestream.v1.MuxStream;
+
+ /**
+ * Encodes the specified MuxStream message. Does not implicitly {@link google.cloud.video.livestream.v1.MuxStream.verify|verify} messages.
+ * @param message MuxStream message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.IMuxStream, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MuxStream message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.MuxStream.verify|verify} messages.
+ * @param message MuxStream message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.IMuxStream, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MuxStream message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MuxStream
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.MuxStream;
+
+ /**
+ * Decodes a MuxStream message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MuxStream
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.MuxStream;
+
+ /**
+ * Verifies a MuxStream message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MuxStream message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MuxStream
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.MuxStream;
+
+ /**
+ * Creates a plain object from a MuxStream message. Also converts values to other types if specified.
+ * @param message MuxStream
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.MuxStream, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MuxStream to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MuxStream
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Manifest. */
+ interface IManifest {
+
+ /** Manifest fileName */
+ fileName?: (string|null);
+
+ /** Manifest type */
+ type?: (google.cloud.video.livestream.v1.Manifest.ManifestType|keyof typeof google.cloud.video.livestream.v1.Manifest.ManifestType|null);
+
+ /** Manifest muxStreams */
+ muxStreams?: (string[]|null);
+
+ /** Manifest maxSegmentCount */
+ maxSegmentCount?: (number|null);
+
+ /** Manifest segmentKeepDuration */
+ segmentKeepDuration?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents a Manifest. */
+ class Manifest implements IManifest {
+
+ /**
+ * Constructs a new Manifest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.IManifest);
+
+ /** Manifest fileName. */
+ public fileName: string;
+
+ /** Manifest type. */
+ public type: (google.cloud.video.livestream.v1.Manifest.ManifestType|keyof typeof google.cloud.video.livestream.v1.Manifest.ManifestType);
+
+ /** Manifest muxStreams. */
+ public muxStreams: string[];
+
+ /** Manifest maxSegmentCount. */
+ public maxSegmentCount: number;
+
+ /** Manifest segmentKeepDuration. */
+ public segmentKeepDuration?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new Manifest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Manifest instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.IManifest): google.cloud.video.livestream.v1.Manifest;
+
+ /**
+ * Encodes the specified Manifest message. Does not implicitly {@link google.cloud.video.livestream.v1.Manifest.verify|verify} messages.
+ * @param message Manifest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.IManifest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Manifest message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.Manifest.verify|verify} messages.
+ * @param message Manifest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.IManifest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Manifest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Manifest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.Manifest;
+
+ /**
+ * Decodes a Manifest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Manifest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.Manifest;
+
+ /**
+ * Verifies a Manifest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Manifest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Manifest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.Manifest;
+
+ /**
+ * Creates a plain object from a Manifest message. Also converts values to other types if specified.
+ * @param message Manifest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.Manifest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Manifest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Manifest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Manifest {
+
+ /** ManifestType enum. */
+ enum ManifestType {
+ MANIFEST_TYPE_UNSPECIFIED = 0,
+ HLS = 1,
+ DASH = 2
+ }
+ }
+
+ /** Properties of a SpriteSheet. */
+ interface ISpriteSheet {
+
+ /** SpriteSheet format */
+ format?: (string|null);
+
+ /** SpriteSheet filePrefix */
+ filePrefix?: (string|null);
+
+ /** SpriteSheet spriteWidthPixels */
+ spriteWidthPixels?: (number|null);
+
+ /** SpriteSheet spriteHeightPixels */
+ spriteHeightPixels?: (number|null);
+
+ /** SpriteSheet columnCount */
+ columnCount?: (number|null);
+
+ /** SpriteSheet rowCount */
+ rowCount?: (number|null);
+
+ /** SpriteSheet interval */
+ interval?: (google.protobuf.IDuration|null);
+
+ /** SpriteSheet quality */
+ quality?: (number|null);
+ }
+
+ /** Represents a SpriteSheet. */
+ class SpriteSheet implements ISpriteSheet {
+
+ /**
+ * Constructs a new SpriteSheet.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.ISpriteSheet);
+
+ /** SpriteSheet format. */
+ public format: string;
+
+ /** SpriteSheet filePrefix. */
+ public filePrefix: string;
+
+ /** SpriteSheet spriteWidthPixels. */
+ public spriteWidthPixels: number;
+
+ /** SpriteSheet spriteHeightPixels. */
+ public spriteHeightPixels: number;
+
+ /** SpriteSheet columnCount. */
+ public columnCount: number;
+
+ /** SpriteSheet rowCount. */
+ public rowCount: number;
+
+ /** SpriteSheet interval. */
+ public interval?: (google.protobuf.IDuration|null);
+
+ /** SpriteSheet quality. */
+ public quality: number;
+
+ /**
+ * Creates a new SpriteSheet instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SpriteSheet instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.ISpriteSheet): google.cloud.video.livestream.v1.SpriteSheet;
+
+ /**
+ * Encodes the specified SpriteSheet message. Does not implicitly {@link google.cloud.video.livestream.v1.SpriteSheet.verify|verify} messages.
+ * @param message SpriteSheet message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.ISpriteSheet, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SpriteSheet message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.SpriteSheet.verify|verify} messages.
+ * @param message SpriteSheet message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.ISpriteSheet, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SpriteSheet message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SpriteSheet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.SpriteSheet;
+
+ /**
+ * Decodes a SpriteSheet message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SpriteSheet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.SpriteSheet;
+
+ /**
+ * Verifies a SpriteSheet message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SpriteSheet message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SpriteSheet
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.SpriteSheet;
+
+ /**
+ * Creates a plain object from a SpriteSheet message. Also converts values to other types if specified.
+ * @param message SpriteSheet
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.SpriteSheet, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SpriteSheet to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SpriteSheet
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PreprocessingConfig. */
+ interface IPreprocessingConfig {
+
+ /** PreprocessingConfig crop */
+ crop?: (google.cloud.video.livestream.v1.PreprocessingConfig.ICrop|null);
+
+ /** PreprocessingConfig pad */
+ pad?: (google.cloud.video.livestream.v1.PreprocessingConfig.IPad|null);
+ }
+
+ /** Represents a PreprocessingConfig. */
+ class PreprocessingConfig implements IPreprocessingConfig {
+
+ /**
+ * Constructs a new PreprocessingConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.IPreprocessingConfig);
+
+ /** PreprocessingConfig crop. */
+ public crop?: (google.cloud.video.livestream.v1.PreprocessingConfig.ICrop|null);
+
+ /** PreprocessingConfig pad. */
+ public pad?: (google.cloud.video.livestream.v1.PreprocessingConfig.IPad|null);
+
+ /**
+ * Creates a new PreprocessingConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PreprocessingConfig instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.IPreprocessingConfig): google.cloud.video.livestream.v1.PreprocessingConfig;
+
+ /**
+ * Encodes the specified PreprocessingConfig message. Does not implicitly {@link google.cloud.video.livestream.v1.PreprocessingConfig.verify|verify} messages.
+ * @param message PreprocessingConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.IPreprocessingConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PreprocessingConfig message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.PreprocessingConfig.verify|verify} messages.
+ * @param message PreprocessingConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.IPreprocessingConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PreprocessingConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PreprocessingConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.PreprocessingConfig;
+
+ /**
+ * Decodes a PreprocessingConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PreprocessingConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.PreprocessingConfig;
+
+ /**
+ * Verifies a PreprocessingConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PreprocessingConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PreprocessingConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.PreprocessingConfig;
+
+ /**
+ * Creates a plain object from a PreprocessingConfig message. Also converts values to other types if specified.
+ * @param message PreprocessingConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.PreprocessingConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PreprocessingConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PreprocessingConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace PreprocessingConfig {
+
+ /** Properties of a Crop. */
+ interface ICrop {
+
+ /** Crop topPixels */
+ topPixels?: (number|null);
+
+ /** Crop bottomPixels */
+ bottomPixels?: (number|null);
+
+ /** Crop leftPixels */
+ leftPixels?: (number|null);
+
+ /** Crop rightPixels */
+ rightPixels?: (number|null);
+ }
+
+ /** Represents a Crop. */
+ class Crop implements ICrop {
+
+ /**
+ * Constructs a new Crop.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.PreprocessingConfig.ICrop);
+
+ /** Crop topPixels. */
+ public topPixels: number;
+
+ /** Crop bottomPixels. */
+ public bottomPixels: number;
+
+ /** Crop leftPixels. */
+ public leftPixels: number;
+
+ /** Crop rightPixels. */
+ public rightPixels: number;
+
+ /**
+ * Creates a new Crop instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Crop instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.PreprocessingConfig.ICrop): google.cloud.video.livestream.v1.PreprocessingConfig.Crop;
+
+ /**
+ * Encodes the specified Crop message. Does not implicitly {@link google.cloud.video.livestream.v1.PreprocessingConfig.Crop.verify|verify} messages.
+ * @param message Crop message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.PreprocessingConfig.ICrop, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Crop message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.PreprocessingConfig.Crop.verify|verify} messages.
+ * @param message Crop message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.PreprocessingConfig.ICrop, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Crop message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Crop
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.PreprocessingConfig.Crop;
+
+ /**
+ * Decodes a Crop message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Crop
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.PreprocessingConfig.Crop;
+
+ /**
+ * Verifies a Crop message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Crop message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Crop
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.PreprocessingConfig.Crop;
+
+ /**
+ * Creates a plain object from a Crop message. Also converts values to other types if specified.
+ * @param message Crop
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.PreprocessingConfig.Crop, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Crop to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Crop
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Pad. */
+ interface IPad {
+
+ /** Pad topPixels */
+ topPixels?: (number|null);
+
+ /** Pad bottomPixels */
+ bottomPixels?: (number|null);
+
+ /** Pad leftPixels */
+ leftPixels?: (number|null);
+
+ /** Pad rightPixels */
+ rightPixels?: (number|null);
+ }
+
+ /** Represents a Pad. */
+ class Pad implements IPad {
+
+ /**
+ * Constructs a new Pad.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.PreprocessingConfig.IPad);
+
+ /** Pad topPixels. */
+ public topPixels: number;
+
+ /** Pad bottomPixels. */
+ public bottomPixels: number;
+
+ /** Pad leftPixels. */
+ public leftPixels: number;
+
+ /** Pad rightPixels. */
+ public rightPixels: number;
+
+ /**
+ * Creates a new Pad instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Pad instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.PreprocessingConfig.IPad): google.cloud.video.livestream.v1.PreprocessingConfig.Pad;
+
+ /**
+ * Encodes the specified Pad message. Does not implicitly {@link google.cloud.video.livestream.v1.PreprocessingConfig.Pad.verify|verify} messages.
+ * @param message Pad message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.PreprocessingConfig.IPad, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Pad message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.PreprocessingConfig.Pad.verify|verify} messages.
+ * @param message Pad message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.PreprocessingConfig.IPad, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Pad message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Pad
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.PreprocessingConfig.Pad;
+
+ /**
+ * Decodes a Pad message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Pad
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.PreprocessingConfig.Pad;
+
+ /**
+ * Verifies a Pad message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Pad message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Pad
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.PreprocessingConfig.Pad;
+
+ /**
+ * Creates a plain object from a Pad message. Also converts values to other types if specified.
+ * @param message Pad
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.PreprocessingConfig.Pad, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Pad to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Pad
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a VideoStream. */
+ interface IVideoStream {
+
+ /** VideoStream h264 */
+ h264?: (google.cloud.video.livestream.v1.VideoStream.IH264CodecSettings|null);
+ }
+
+ /** Represents a VideoStream. */
+ class VideoStream implements IVideoStream {
+
+ /**
+ * Constructs a new VideoStream.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.IVideoStream);
+
+ /** VideoStream h264. */
+ public h264?: (google.cloud.video.livestream.v1.VideoStream.IH264CodecSettings|null);
+
+ /** VideoStream codecSettings. */
+ public codecSettings?: "h264";
+
+ /**
+ * Creates a new VideoStream instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns VideoStream instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.IVideoStream): google.cloud.video.livestream.v1.VideoStream;
+
+ /**
+ * Encodes the specified VideoStream message. Does not implicitly {@link google.cloud.video.livestream.v1.VideoStream.verify|verify} messages.
+ * @param message VideoStream message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.IVideoStream, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified VideoStream message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.VideoStream.verify|verify} messages.
+ * @param message VideoStream message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.IVideoStream, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a VideoStream message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns VideoStream
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.VideoStream;
+
+ /**
+ * Decodes a VideoStream message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns VideoStream
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.VideoStream;
+
+ /**
+ * Verifies a VideoStream message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a VideoStream message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns VideoStream
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.VideoStream;
+
+ /**
+ * Creates a plain object from a VideoStream message. Also converts values to other types if specified.
+ * @param message VideoStream
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.VideoStream, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this VideoStream to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for VideoStream
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace VideoStream {
+
+ /** Properties of a H264CodecSettings. */
+ interface IH264CodecSettings {
+
+ /** H264CodecSettings widthPixels */
+ widthPixels?: (number|null);
+
+ /** H264CodecSettings heightPixels */
+ heightPixels?: (number|null);
+
+ /** H264CodecSettings frameRate */
+ frameRate?: (number|null);
+
+ /** H264CodecSettings bitrateBps */
+ bitrateBps?: (number|null);
+
+ /** H264CodecSettings allowOpenGop */
+ allowOpenGop?: (boolean|null);
+
+ /** H264CodecSettings gopFrameCount */
+ gopFrameCount?: (number|null);
+
+ /** H264CodecSettings gopDuration */
+ gopDuration?: (google.protobuf.IDuration|null);
+
+ /** H264CodecSettings vbvSizeBits */
+ vbvSizeBits?: (number|null);
+
+ /** H264CodecSettings vbvFullnessBits */
+ vbvFullnessBits?: (number|null);
+
+ /** H264CodecSettings entropyCoder */
+ entropyCoder?: (string|null);
+
+ /** H264CodecSettings bPyramid */
+ bPyramid?: (boolean|null);
+
+ /** H264CodecSettings bFrameCount */
+ bFrameCount?: (number|null);
+
+ /** H264CodecSettings aqStrength */
+ aqStrength?: (number|null);
+
+ /** H264CodecSettings profile */
+ profile?: (string|null);
+
+ /** H264CodecSettings tune */
+ tune?: (string|null);
+ }
+
+ /** Represents a H264CodecSettings. */
+ class H264CodecSettings implements IH264CodecSettings {
+
+ /**
+ * Constructs a new H264CodecSettings.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.VideoStream.IH264CodecSettings);
+
+ /** H264CodecSettings widthPixels. */
+ public widthPixels: number;
+
+ /** H264CodecSettings heightPixels. */
+ public heightPixels: number;
+
+ /** H264CodecSettings frameRate. */
+ public frameRate: number;
+
+ /** H264CodecSettings bitrateBps. */
+ public bitrateBps: number;
+
+ /** H264CodecSettings allowOpenGop. */
+ public allowOpenGop: boolean;
+
+ /** H264CodecSettings gopFrameCount. */
+ public gopFrameCount?: (number|null);
+
+ /** H264CodecSettings gopDuration. */
+ public gopDuration?: (google.protobuf.IDuration|null);
+
+ /** H264CodecSettings vbvSizeBits. */
+ public vbvSizeBits: number;
+
+ /** H264CodecSettings vbvFullnessBits. */
+ public vbvFullnessBits: number;
+
+ /** H264CodecSettings entropyCoder. */
+ public entropyCoder: string;
+
+ /** H264CodecSettings bPyramid. */
+ public bPyramid: boolean;
+
+ /** H264CodecSettings bFrameCount. */
+ public bFrameCount: number;
+
+ /** H264CodecSettings aqStrength. */
+ public aqStrength: number;
+
+ /** H264CodecSettings profile. */
+ public profile: string;
+
+ /** H264CodecSettings tune. */
+ public tune: string;
+
+ /** H264CodecSettings gopMode. */
+ public gopMode?: ("gopFrameCount"|"gopDuration");
+
+ /**
+ * Creates a new H264CodecSettings instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns H264CodecSettings instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.VideoStream.IH264CodecSettings): google.cloud.video.livestream.v1.VideoStream.H264CodecSettings;
+
+ /**
+ * Encodes the specified H264CodecSettings message. Does not implicitly {@link google.cloud.video.livestream.v1.VideoStream.H264CodecSettings.verify|verify} messages.
+ * @param message H264CodecSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.VideoStream.IH264CodecSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified H264CodecSettings message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.VideoStream.H264CodecSettings.verify|verify} messages.
+ * @param message H264CodecSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.VideoStream.IH264CodecSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a H264CodecSettings message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns H264CodecSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.VideoStream.H264CodecSettings;
+
+ /**
+ * Decodes a H264CodecSettings message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns H264CodecSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.VideoStream.H264CodecSettings;
+
+ /**
+ * Verifies a H264CodecSettings message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a H264CodecSettings message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns H264CodecSettings
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.VideoStream.H264CodecSettings;
+
+ /**
+ * Creates a plain object from a H264CodecSettings message. Also converts values to other types if specified.
+ * @param message H264CodecSettings
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.VideoStream.H264CodecSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this H264CodecSettings to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for H264CodecSettings
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of an AudioStream. */
+ interface IAudioStream {
+
+ /** AudioStream transmux */
+ transmux?: (boolean|null);
+
+ /** AudioStream codec */
+ codec?: (string|null);
+
+ /** AudioStream bitrateBps */
+ bitrateBps?: (number|null);
+
+ /** AudioStream channelCount */
+ channelCount?: (number|null);
+
+ /** AudioStream channelLayout */
+ channelLayout?: (string[]|null);
+
+ /** AudioStream mapping */
+ mapping?: (google.cloud.video.livestream.v1.AudioStream.IAudioMapping[]|null);
+
+ /** AudioStream sampleRateHertz */
+ sampleRateHertz?: (number|null);
+ }
+
+ /** Represents an AudioStream. */
+ class AudioStream implements IAudioStream {
+
+ /**
+ * Constructs a new AudioStream.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.IAudioStream);
+
+ /** AudioStream transmux. */
+ public transmux: boolean;
+
+ /** AudioStream codec. */
+ public codec: string;
+
+ /** AudioStream bitrateBps. */
+ public bitrateBps: number;
+
+ /** AudioStream channelCount. */
+ public channelCount: number;
+
+ /** AudioStream channelLayout. */
+ public channelLayout: string[];
+
+ /** AudioStream mapping. */
+ public mapping: google.cloud.video.livestream.v1.AudioStream.IAudioMapping[];
+
+ /** AudioStream sampleRateHertz. */
+ public sampleRateHertz: number;
+
+ /**
+ * Creates a new AudioStream instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AudioStream instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.IAudioStream): google.cloud.video.livestream.v1.AudioStream;
+
+ /**
+ * Encodes the specified AudioStream message. Does not implicitly {@link google.cloud.video.livestream.v1.AudioStream.verify|verify} messages.
+ * @param message AudioStream message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.IAudioStream, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AudioStream message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.AudioStream.verify|verify} messages.
+ * @param message AudioStream message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.IAudioStream, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AudioStream message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AudioStream
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.AudioStream;
+
+ /**
+ * Decodes an AudioStream message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AudioStream
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.AudioStream;
+
+ /**
+ * Verifies an AudioStream message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an AudioStream message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AudioStream
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.AudioStream;
+
+ /**
+ * Creates a plain object from an AudioStream message. Also converts values to other types if specified.
+ * @param message AudioStream
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.AudioStream, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AudioStream to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AudioStream
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace AudioStream {
+
+ /** Properties of an AudioMapping. */
+ interface IAudioMapping {
+
+ /** AudioMapping inputKey */
+ inputKey?: (string|null);
+
+ /** AudioMapping inputTrack */
+ inputTrack?: (number|null);
+
+ /** AudioMapping inputChannel */
+ inputChannel?: (number|null);
+
+ /** AudioMapping outputChannel */
+ outputChannel?: (number|null);
+ }
+
+ /** Represents an AudioMapping. */
+ class AudioMapping implements IAudioMapping {
+
+ /**
+ * Constructs a new AudioMapping.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.AudioStream.IAudioMapping);
+
+ /** AudioMapping inputKey. */
+ public inputKey: string;
+
+ /** AudioMapping inputTrack. */
+ public inputTrack: number;
+
+ /** AudioMapping inputChannel. */
+ public inputChannel: number;
+
+ /** AudioMapping outputChannel. */
+ public outputChannel: number;
+
+ /**
+ * Creates a new AudioMapping instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AudioMapping instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.AudioStream.IAudioMapping): google.cloud.video.livestream.v1.AudioStream.AudioMapping;
+
+ /**
+ * Encodes the specified AudioMapping message. Does not implicitly {@link google.cloud.video.livestream.v1.AudioStream.AudioMapping.verify|verify} messages.
+ * @param message AudioMapping message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.AudioStream.IAudioMapping, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AudioMapping message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.AudioStream.AudioMapping.verify|verify} messages.
+ * @param message AudioMapping message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.AudioStream.IAudioMapping, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AudioMapping message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AudioMapping
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.AudioStream.AudioMapping;
+
+ /**
+ * Decodes an AudioMapping message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AudioMapping
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.AudioStream.AudioMapping;
+
+ /**
+ * Verifies an AudioMapping message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an AudioMapping message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AudioMapping
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.AudioStream.AudioMapping;
+
+ /**
+ * Creates a plain object from an AudioMapping message. Also converts values to other types if specified.
+ * @param message AudioMapping
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.AudioStream.AudioMapping, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AudioMapping to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AudioMapping
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a TextStream. */
+ interface ITextStream {
+
+ /** TextStream codec */
+ codec?: (string|null);
+ }
+
+ /** Represents a TextStream. */
+ class TextStream implements ITextStream {
+
+ /**
+ * Constructs a new TextStream.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.ITextStream);
+
+ /** TextStream codec. */
+ public codec: string;
+
+ /**
+ * Creates a new TextStream instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TextStream instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.ITextStream): google.cloud.video.livestream.v1.TextStream;
+
+ /**
+ * Encodes the specified TextStream message. Does not implicitly {@link google.cloud.video.livestream.v1.TextStream.verify|verify} messages.
+ * @param message TextStream message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.ITextStream, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TextStream message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.TextStream.verify|verify} messages.
+ * @param message TextStream message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.ITextStream, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TextStream message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TextStream
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.TextStream;
+
+ /**
+ * Decodes a TextStream message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TextStream
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.TextStream;
+
+ /**
+ * Verifies a TextStream message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TextStream message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TextStream
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.TextStream;
+
+ /**
+ * Creates a plain object from a TextStream message. Also converts values to other types if specified.
+ * @param message TextStream
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.TextStream, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TextStream to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TextStream
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SegmentSettings. */
+ interface ISegmentSettings {
+
+ /** SegmentSettings segmentDuration */
+ segmentDuration?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents a SegmentSettings. */
+ class SegmentSettings implements ISegmentSettings {
+
+ /**
+ * Constructs a new SegmentSettings.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.ISegmentSettings);
+
+ /** SegmentSettings segmentDuration. */
+ public segmentDuration?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new SegmentSettings instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SegmentSettings instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.ISegmentSettings): google.cloud.video.livestream.v1.SegmentSettings;
+
+ /**
+ * Encodes the specified SegmentSettings message. Does not implicitly {@link google.cloud.video.livestream.v1.SegmentSettings.verify|verify} messages.
+ * @param message SegmentSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.ISegmentSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SegmentSettings message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.SegmentSettings.verify|verify} messages.
+ * @param message SegmentSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.ISegmentSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SegmentSettings message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SegmentSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.SegmentSettings;
+
+ /**
+ * Decodes a SegmentSettings message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SegmentSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.SegmentSettings;
+
+ /**
+ * Verifies a SegmentSettings message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SegmentSettings message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SegmentSettings
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.SegmentSettings;
+
+ /**
+ * Creates a plain object from a SegmentSettings message. Also converts values to other types if specified.
+ * @param message SegmentSettings
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.SegmentSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SegmentSettings to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SegmentSettings
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Input. */
+ interface IInput {
+
+ /** Input name */
+ name?: (string|null);
+
+ /** Input createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Input updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Input labels */
+ labels?: ({ [k: string]: string }|null);
+
+ /** Input type */
+ type?: (google.cloud.video.livestream.v1.Input.Type|keyof typeof google.cloud.video.livestream.v1.Input.Type|null);
+
+ /** Input tier */
+ tier?: (google.cloud.video.livestream.v1.Input.Tier|keyof typeof google.cloud.video.livestream.v1.Input.Tier|null);
+
+ /** Input uri */
+ uri?: (string|null);
+
+ /** Input preprocessingConfig */
+ preprocessingConfig?: (google.cloud.video.livestream.v1.IPreprocessingConfig|null);
+
+ /** Input securityRules */
+ securityRules?: (google.cloud.video.livestream.v1.Input.ISecurityRule|null);
+
+ /** Input inputStreamProperty */
+ inputStreamProperty?: (google.cloud.video.livestream.v1.IInputStreamProperty|null);
+ }
+
+ /** Represents an Input. */
+ class Input implements IInput {
+
+ /**
+ * Constructs a new Input.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.IInput);
+
+ /** Input name. */
+ public name: string;
+
+ /** Input createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Input updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Input labels. */
+ public labels: { [k: string]: string };
+
+ /** Input type. */
+ public type: (google.cloud.video.livestream.v1.Input.Type|keyof typeof google.cloud.video.livestream.v1.Input.Type);
+
+ /** Input tier. */
+ public tier: (google.cloud.video.livestream.v1.Input.Tier|keyof typeof google.cloud.video.livestream.v1.Input.Tier);
+
+ /** Input uri. */
+ public uri: string;
+
+ /** Input preprocessingConfig. */
+ public preprocessingConfig?: (google.cloud.video.livestream.v1.IPreprocessingConfig|null);
+
+ /** Input securityRules. */
+ public securityRules?: (google.cloud.video.livestream.v1.Input.ISecurityRule|null);
+
+ /** Input inputStreamProperty. */
+ public inputStreamProperty?: (google.cloud.video.livestream.v1.IInputStreamProperty|null);
+
+ /**
+ * Creates a new Input instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Input instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.IInput): google.cloud.video.livestream.v1.Input;
+
+ /**
+ * Encodes the specified Input message. Does not implicitly {@link google.cloud.video.livestream.v1.Input.verify|verify} messages.
+ * @param message Input message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.IInput, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Input message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.Input.verify|verify} messages.
+ * @param message Input message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.IInput, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Input message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Input
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.Input;
+
+ /**
+ * Decodes an Input message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Input
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.Input;
+
+ /**
+ * Verifies an Input message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Input message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Input
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.Input;
+
+ /**
+ * Creates a plain object from an Input message. Also converts values to other types if specified.
+ * @param message Input
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.Input, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Input to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Input
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Input {
+
+ /** Type enum. */
+ enum Type {
+ TYPE_UNSPECIFIED = 0,
+ RTMP_PUSH = 1,
+ SRT_PUSH = 2
+ }
+
+ /** Tier enum. */
+ enum Tier {
+ TIER_UNSPECIFIED = 0,
+ SD = 1,
+ HD = 2,
+ UHD = 3
+ }
+
+ /** Properties of a SecurityRule. */
+ interface ISecurityRule {
+
+ /** SecurityRule ipRanges */
+ ipRanges?: (string[]|null);
+ }
+
+ /** Represents a SecurityRule. */
+ class SecurityRule implements ISecurityRule {
+
+ /**
+ * Constructs a new SecurityRule.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.Input.ISecurityRule);
+
+ /** SecurityRule ipRanges. */
+ public ipRanges: string[];
+
+ /**
+ * Creates a new SecurityRule instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SecurityRule instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.Input.ISecurityRule): google.cloud.video.livestream.v1.Input.SecurityRule;
+
+ /**
+ * Encodes the specified SecurityRule message. Does not implicitly {@link google.cloud.video.livestream.v1.Input.SecurityRule.verify|verify} messages.
+ * @param message SecurityRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.Input.ISecurityRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SecurityRule message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.Input.SecurityRule.verify|verify} messages.
+ * @param message SecurityRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.Input.ISecurityRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SecurityRule message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SecurityRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.Input.SecurityRule;
+
+ /**
+ * Decodes a SecurityRule message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SecurityRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.Input.SecurityRule;
+
+ /**
+ * Verifies a SecurityRule message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SecurityRule message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SecurityRule
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.Input.SecurityRule;
+
+ /**
+ * Creates a plain object from a SecurityRule message. Also converts values to other types if specified.
+ * @param message SecurityRule
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.Input.SecurityRule, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SecurityRule to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SecurityRule
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a Channel. */
+ interface IChannel {
+
+ /** Channel name */
+ name?: (string|null);
+
+ /** Channel createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Channel updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Channel labels */
+ labels?: ({ [k: string]: string }|null);
+
+ /** Channel inputAttachments */
+ inputAttachments?: (google.cloud.video.livestream.v1.IInputAttachment[]|null);
+
+ /** Channel activeInput */
+ activeInput?: (string|null);
+
+ /** Channel output */
+ output?: (google.cloud.video.livestream.v1.Channel.IOutput|null);
+
+ /** Channel elementaryStreams */
+ elementaryStreams?: (google.cloud.video.livestream.v1.IElementaryStream[]|null);
+
+ /** Channel muxStreams */
+ muxStreams?: (google.cloud.video.livestream.v1.IMuxStream[]|null);
+
+ /** Channel manifests */
+ manifests?: (google.cloud.video.livestream.v1.IManifest[]|null);
+
+ /** Channel spriteSheets */
+ spriteSheets?: (google.cloud.video.livestream.v1.ISpriteSheet[]|null);
+
+ /** Channel streamingState */
+ streamingState?: (google.cloud.video.livestream.v1.Channel.StreamingState|keyof typeof google.cloud.video.livestream.v1.Channel.StreamingState|null);
+
+ /** Channel streamingError */
+ streamingError?: (google.rpc.IStatus|null);
+
+ /** Channel logConfig */
+ logConfig?: (google.cloud.video.livestream.v1.ILogConfig|null);
+ }
+
+ /** Represents a Channel. */
+ class Channel implements IChannel {
+
+ /**
+ * Constructs a new Channel.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.IChannel);
+
+ /** Channel name. */
+ public name: string;
+
+ /** Channel createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Channel updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Channel labels. */
+ public labels: { [k: string]: string };
+
+ /** Channel inputAttachments. */
+ public inputAttachments: google.cloud.video.livestream.v1.IInputAttachment[];
+
+ /** Channel activeInput. */
+ public activeInput: string;
+
+ /** Channel output. */
+ public output?: (google.cloud.video.livestream.v1.Channel.IOutput|null);
+
+ /** Channel elementaryStreams. */
+ public elementaryStreams: google.cloud.video.livestream.v1.IElementaryStream[];
+
+ /** Channel muxStreams. */
+ public muxStreams: google.cloud.video.livestream.v1.IMuxStream[];
+
+ /** Channel manifests. */
+ public manifests: google.cloud.video.livestream.v1.IManifest[];
+
+ /** Channel spriteSheets. */
+ public spriteSheets: google.cloud.video.livestream.v1.ISpriteSheet[];
+
+ /** Channel streamingState. */
+ public streamingState: (google.cloud.video.livestream.v1.Channel.StreamingState|keyof typeof google.cloud.video.livestream.v1.Channel.StreamingState);
+
+ /** Channel streamingError. */
+ public streamingError?: (google.rpc.IStatus|null);
+
+ /** Channel logConfig. */
+ public logConfig?: (google.cloud.video.livestream.v1.ILogConfig|null);
+
+ /**
+ * Creates a new Channel instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Channel instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.IChannel): google.cloud.video.livestream.v1.Channel;
+
+ /**
+ * Encodes the specified Channel message. Does not implicitly {@link google.cloud.video.livestream.v1.Channel.verify|verify} messages.
+ * @param message Channel message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.IChannel, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Channel message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.Channel.verify|verify} messages.
+ * @param message Channel message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.IChannel, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Channel message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Channel
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.Channel;
+
+ /**
+ * Decodes a Channel message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Channel
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.Channel;
+
+ /**
+ * Verifies a Channel message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Channel message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Channel
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.Channel;
+
+ /**
+ * Creates a plain object from a Channel message. Also converts values to other types if specified.
+ * @param message Channel
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.Channel, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Channel to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Channel
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Channel {
+
+ /** Properties of an Output. */
+ interface IOutput {
+
+ /** Output uri */
+ uri?: (string|null);
+ }
+
+ /** Represents an Output. */
+ class Output implements IOutput {
+
+ /**
+ * Constructs a new Output.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.Channel.IOutput);
+
+ /** Output uri. */
+ public uri: string;
+
+ /**
+ * Creates a new Output instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Output instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.Channel.IOutput): google.cloud.video.livestream.v1.Channel.Output;
+
+ /**
+ * Encodes the specified Output message. Does not implicitly {@link google.cloud.video.livestream.v1.Channel.Output.verify|verify} messages.
+ * @param message Output message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.Channel.IOutput, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Output message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.Channel.Output.verify|verify} messages.
+ * @param message Output message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.Channel.IOutput, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Output message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Output
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.Channel.Output;
+
+ /**
+ * Decodes an Output message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Output
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.Channel.Output;
+
+ /**
+ * Verifies an Output message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Output message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Output
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.Channel.Output;
+
+ /**
+ * Creates a plain object from an Output message. Also converts values to other types if specified.
+ * @param message Output
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.Channel.Output, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Output to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Output
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** StreamingState enum. */
+ enum StreamingState {
+ STREAMING_STATE_UNSPECIFIED = 0,
+ STREAMING = 1,
+ AWAITING_INPUT = 2,
+ STREAMING_ERROR = 4,
+ STREAMING_NO_INPUT = 5,
+ STOPPED = 6,
+ STARTING = 7,
+ STOPPING = 8
+ }
+ }
+
+ /** Properties of a LogConfig. */
+ interface ILogConfig {
+
+ /** LogConfig logSeverity */
+ logSeverity?: (google.cloud.video.livestream.v1.LogConfig.LogSeverity|keyof typeof google.cloud.video.livestream.v1.LogConfig.LogSeverity|null);
+ }
+
+ /** Represents a LogConfig. */
+ class LogConfig implements ILogConfig {
+
+ /**
+ * Constructs a new LogConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.ILogConfig);
+
+ /** LogConfig logSeverity. */
+ public logSeverity: (google.cloud.video.livestream.v1.LogConfig.LogSeverity|keyof typeof google.cloud.video.livestream.v1.LogConfig.LogSeverity);
+
+ /**
+ * Creates a new LogConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LogConfig instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.ILogConfig): google.cloud.video.livestream.v1.LogConfig;
+
+ /**
+ * Encodes the specified LogConfig message. Does not implicitly {@link google.cloud.video.livestream.v1.LogConfig.verify|verify} messages.
+ * @param message LogConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.ILogConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LogConfig message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.LogConfig.verify|verify} messages.
+ * @param message LogConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.ILogConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LogConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LogConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.LogConfig;
+
+ /**
+ * Decodes a LogConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LogConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.LogConfig;
+
+ /**
+ * Verifies a LogConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LogConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LogConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.LogConfig;
+
+ /**
+ * Creates a plain object from a LogConfig message. Also converts values to other types if specified.
+ * @param message LogConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.LogConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LogConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LogConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace LogConfig {
+
+ /** LogSeverity enum. */
+ enum LogSeverity {
+ LOG_SEVERITY_UNSPECIFIED = 0,
+ OFF = 1,
+ DEBUG = 100,
+ INFO = 200,
+ WARNING = 400,
+ ERROR = 500
+ }
+ }
+
+ /** Properties of an InputStreamProperty. */
+ interface IInputStreamProperty {
+
+ /** InputStreamProperty lastEstablishTime */
+ lastEstablishTime?: (google.protobuf.ITimestamp|null);
+
+ /** InputStreamProperty videoStreams */
+ videoStreams?: (google.cloud.video.livestream.v1.IVideoStreamProperty[]|null);
+
+ /** InputStreamProperty audioStreams */
+ audioStreams?: (google.cloud.video.livestream.v1.IAudioStreamProperty[]|null);
+ }
+
+ /** Represents an InputStreamProperty. */
+ class InputStreamProperty implements IInputStreamProperty {
+
+ /**
+ * Constructs a new InputStreamProperty.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.IInputStreamProperty);
+
+ /** InputStreamProperty lastEstablishTime. */
+ public lastEstablishTime?: (google.protobuf.ITimestamp|null);
+
+ /** InputStreamProperty videoStreams. */
+ public videoStreams: google.cloud.video.livestream.v1.IVideoStreamProperty[];
+
+ /** InputStreamProperty audioStreams. */
+ public audioStreams: google.cloud.video.livestream.v1.IAudioStreamProperty[];
+
+ /**
+ * Creates a new InputStreamProperty instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns InputStreamProperty instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.IInputStreamProperty): google.cloud.video.livestream.v1.InputStreamProperty;
+
+ /**
+ * Encodes the specified InputStreamProperty message. Does not implicitly {@link google.cloud.video.livestream.v1.InputStreamProperty.verify|verify} messages.
+ * @param message InputStreamProperty message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.IInputStreamProperty, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified InputStreamProperty message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.InputStreamProperty.verify|verify} messages.
+ * @param message InputStreamProperty message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.IInputStreamProperty, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an InputStreamProperty message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns InputStreamProperty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.InputStreamProperty;
+
+ /**
+ * Decodes an InputStreamProperty message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns InputStreamProperty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.InputStreamProperty;
+
+ /**
+ * Verifies an InputStreamProperty message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an InputStreamProperty message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns InputStreamProperty
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.InputStreamProperty;
+
+ /**
+ * Creates a plain object from an InputStreamProperty message. Also converts values to other types if specified.
+ * @param message InputStreamProperty
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.InputStreamProperty, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this InputStreamProperty to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for InputStreamProperty
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a VideoStreamProperty. */
+ interface IVideoStreamProperty {
+
+ /** VideoStreamProperty index */
+ index?: (number|null);
+
+ /** VideoStreamProperty videoFormat */
+ videoFormat?: (google.cloud.video.livestream.v1.IVideoFormat|null);
+ }
+
+ /** Represents a VideoStreamProperty. */
+ class VideoStreamProperty implements IVideoStreamProperty {
+
+ /**
+ * Constructs a new VideoStreamProperty.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.IVideoStreamProperty);
+
+ /** VideoStreamProperty index. */
+ public index: number;
+
+ /** VideoStreamProperty videoFormat. */
+ public videoFormat?: (google.cloud.video.livestream.v1.IVideoFormat|null);
+
+ /**
+ * Creates a new VideoStreamProperty instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns VideoStreamProperty instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.IVideoStreamProperty): google.cloud.video.livestream.v1.VideoStreamProperty;
+
+ /**
+ * Encodes the specified VideoStreamProperty message. Does not implicitly {@link google.cloud.video.livestream.v1.VideoStreamProperty.verify|verify} messages.
+ * @param message VideoStreamProperty message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.IVideoStreamProperty, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified VideoStreamProperty message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.VideoStreamProperty.verify|verify} messages.
+ * @param message VideoStreamProperty message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.IVideoStreamProperty, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a VideoStreamProperty message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns VideoStreamProperty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.VideoStreamProperty;
+
+ /**
+ * Decodes a VideoStreamProperty message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns VideoStreamProperty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.VideoStreamProperty;
+
+ /**
+ * Verifies a VideoStreamProperty message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a VideoStreamProperty message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns VideoStreamProperty
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.VideoStreamProperty;
+
+ /**
+ * Creates a plain object from a VideoStreamProperty message. Also converts values to other types if specified.
+ * @param message VideoStreamProperty
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.VideoStreamProperty, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this VideoStreamProperty to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for VideoStreamProperty
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a VideoFormat. */
+ interface IVideoFormat {
+
+ /** VideoFormat codec */
+ codec?: (string|null);
+
+ /** VideoFormat widthPixels */
+ widthPixels?: (number|null);
+
+ /** VideoFormat heightPixels */
+ heightPixels?: (number|null);
+
+ /** VideoFormat frameRate */
+ frameRate?: (number|null);
+ }
+
+ /** Represents a VideoFormat. */
+ class VideoFormat implements IVideoFormat {
+
+ /**
+ * Constructs a new VideoFormat.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.IVideoFormat);
+
+ /** VideoFormat codec. */
+ public codec: string;
+
+ /** VideoFormat widthPixels. */
+ public widthPixels: number;
+
+ /** VideoFormat heightPixels. */
+ public heightPixels: number;
+
+ /** VideoFormat frameRate. */
+ public frameRate: number;
+
+ /**
+ * Creates a new VideoFormat instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns VideoFormat instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.IVideoFormat): google.cloud.video.livestream.v1.VideoFormat;
+
+ /**
+ * Encodes the specified VideoFormat message. Does not implicitly {@link google.cloud.video.livestream.v1.VideoFormat.verify|verify} messages.
+ * @param message VideoFormat message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.IVideoFormat, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified VideoFormat message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.VideoFormat.verify|verify} messages.
+ * @param message VideoFormat message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.IVideoFormat, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a VideoFormat message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns VideoFormat
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.VideoFormat;
+
+ /**
+ * Decodes a VideoFormat message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns VideoFormat
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.VideoFormat;
+
+ /**
+ * Verifies a VideoFormat message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a VideoFormat message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns VideoFormat
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.VideoFormat;
+
+ /**
+ * Creates a plain object from a VideoFormat message. Also converts values to other types if specified.
+ * @param message VideoFormat
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.VideoFormat, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this VideoFormat to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for VideoFormat
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AudioStreamProperty. */
+ interface IAudioStreamProperty {
+
+ /** AudioStreamProperty index */
+ index?: (number|null);
+
+ /** AudioStreamProperty audioFormat */
+ audioFormat?: (google.cloud.video.livestream.v1.IAudioFormat|null);
+ }
+
+ /** Represents an AudioStreamProperty. */
+ class AudioStreamProperty implements IAudioStreamProperty {
+
+ /**
+ * Constructs a new AudioStreamProperty.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.IAudioStreamProperty);
+
+ /** AudioStreamProperty index. */
+ public index: number;
+
+ /** AudioStreamProperty audioFormat. */
+ public audioFormat?: (google.cloud.video.livestream.v1.IAudioFormat|null);
+
+ /**
+ * Creates a new AudioStreamProperty instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AudioStreamProperty instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.IAudioStreamProperty): google.cloud.video.livestream.v1.AudioStreamProperty;
+
+ /**
+ * Encodes the specified AudioStreamProperty message. Does not implicitly {@link google.cloud.video.livestream.v1.AudioStreamProperty.verify|verify} messages.
+ * @param message AudioStreamProperty message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.IAudioStreamProperty, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AudioStreamProperty message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.AudioStreamProperty.verify|verify} messages.
+ * @param message AudioStreamProperty message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.IAudioStreamProperty, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AudioStreamProperty message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AudioStreamProperty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.AudioStreamProperty;
+
+ /**
+ * Decodes an AudioStreamProperty message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AudioStreamProperty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.AudioStreamProperty;
+
+ /**
+ * Verifies an AudioStreamProperty message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an AudioStreamProperty message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AudioStreamProperty
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.AudioStreamProperty;
+
+ /**
+ * Creates a plain object from an AudioStreamProperty message. Also converts values to other types if specified.
+ * @param message AudioStreamProperty
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.AudioStreamProperty, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AudioStreamProperty to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AudioStreamProperty
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AudioFormat. */
+ interface IAudioFormat {
+
+ /** AudioFormat codec */
+ codec?: (string|null);
+
+ /** AudioFormat channelCount */
+ channelCount?: (number|null);
+
+ /** AudioFormat channelLayout */
+ channelLayout?: (string[]|null);
+ }
+
+ /** Represents an AudioFormat. */
+ class AudioFormat implements IAudioFormat {
+
+ /**
+ * Constructs a new AudioFormat.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.IAudioFormat);
+
+ /** AudioFormat codec. */
+ public codec: string;
+
+ /** AudioFormat channelCount. */
+ public channelCount: number;
+
+ /** AudioFormat channelLayout. */
+ public channelLayout: string[];
+
+ /**
+ * Creates a new AudioFormat instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AudioFormat instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.IAudioFormat): google.cloud.video.livestream.v1.AudioFormat;
+
+ /**
+ * Encodes the specified AudioFormat message. Does not implicitly {@link google.cloud.video.livestream.v1.AudioFormat.verify|verify} messages.
+ * @param message AudioFormat message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.IAudioFormat, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AudioFormat message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.AudioFormat.verify|verify} messages.
+ * @param message AudioFormat message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.IAudioFormat, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AudioFormat message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AudioFormat
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.AudioFormat;
+
+ /**
+ * Decodes an AudioFormat message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AudioFormat
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.AudioFormat;
+
+ /**
+ * Verifies an AudioFormat message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an AudioFormat message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AudioFormat
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.AudioFormat;
+
+ /**
+ * Creates a plain object from an AudioFormat message. Also converts values to other types if specified.
+ * @param message AudioFormat
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.AudioFormat, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AudioFormat to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AudioFormat
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an InputAttachment. */
+ interface IInputAttachment {
+
+ /** InputAttachment key */
+ key?: (string|null);
+
+ /** InputAttachment input */
+ input?: (string|null);
+
+ /** InputAttachment automaticFailover */
+ automaticFailover?: (google.cloud.video.livestream.v1.InputAttachment.IAutomaticFailover|null);
+ }
+
+ /** Represents an InputAttachment. */
+ class InputAttachment implements IInputAttachment {
+
+ /**
+ * Constructs a new InputAttachment.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.IInputAttachment);
+
+ /** InputAttachment key. */
+ public key: string;
+
+ /** InputAttachment input. */
+ public input: string;
+
+ /** InputAttachment automaticFailover. */
+ public automaticFailover?: (google.cloud.video.livestream.v1.InputAttachment.IAutomaticFailover|null);
+
+ /**
+ * Creates a new InputAttachment instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns InputAttachment instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.IInputAttachment): google.cloud.video.livestream.v1.InputAttachment;
+
+ /**
+ * Encodes the specified InputAttachment message. Does not implicitly {@link google.cloud.video.livestream.v1.InputAttachment.verify|verify} messages.
+ * @param message InputAttachment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.IInputAttachment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified InputAttachment message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.InputAttachment.verify|verify} messages.
+ * @param message InputAttachment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.IInputAttachment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an InputAttachment message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns InputAttachment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.InputAttachment;
+
+ /**
+ * Decodes an InputAttachment message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns InputAttachment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.InputAttachment;
+
+ /**
+ * Verifies an InputAttachment message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an InputAttachment message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns InputAttachment
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.InputAttachment;
+
+ /**
+ * Creates a plain object from an InputAttachment message. Also converts values to other types if specified.
+ * @param message InputAttachment
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.InputAttachment, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this InputAttachment to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for InputAttachment
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace InputAttachment {
+
+ /** Properties of an AutomaticFailover. */
+ interface IAutomaticFailover {
+
+ /** AutomaticFailover inputKeys */
+ inputKeys?: (string[]|null);
+ }
+
+ /** Represents an AutomaticFailover. */
+ class AutomaticFailover implements IAutomaticFailover {
+
+ /**
+ * Constructs a new AutomaticFailover.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.InputAttachment.IAutomaticFailover);
+
+ /** AutomaticFailover inputKeys. */
+ public inputKeys: string[];
+
+ /**
+ * Creates a new AutomaticFailover instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AutomaticFailover instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.InputAttachment.IAutomaticFailover): google.cloud.video.livestream.v1.InputAttachment.AutomaticFailover;
+
+ /**
+ * Encodes the specified AutomaticFailover message. Does not implicitly {@link google.cloud.video.livestream.v1.InputAttachment.AutomaticFailover.verify|verify} messages.
+ * @param message AutomaticFailover message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.InputAttachment.IAutomaticFailover, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AutomaticFailover message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.InputAttachment.AutomaticFailover.verify|verify} messages.
+ * @param message AutomaticFailover message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.InputAttachment.IAutomaticFailover, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AutomaticFailover message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AutomaticFailover
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.InputAttachment.AutomaticFailover;
+
+ /**
+ * Decodes an AutomaticFailover message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AutomaticFailover
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.InputAttachment.AutomaticFailover;
+
+ /**
+ * Verifies an AutomaticFailover message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an AutomaticFailover message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AutomaticFailover
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.InputAttachment.AutomaticFailover;
+
+ /**
+ * Creates a plain object from an AutomaticFailover message. Also converts values to other types if specified.
+ * @param message AutomaticFailover
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.InputAttachment.AutomaticFailover, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AutomaticFailover to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AutomaticFailover
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of an Event. */
+ interface IEvent {
+
+ /** Event name */
+ name?: (string|null);
+
+ /** Event createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Event updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Event labels */
+ labels?: ({ [k: string]: string }|null);
+
+ /** Event adBreak */
+ adBreak?: (google.cloud.video.livestream.v1.Event.IAdBreakTask|null);
+
+ /** Event executeNow */
+ executeNow?: (boolean|null);
+
+ /** Event executionTime */
+ executionTime?: (google.protobuf.ITimestamp|null);
+
+ /** Event state */
+ state?: (google.cloud.video.livestream.v1.Event.State|keyof typeof google.cloud.video.livestream.v1.Event.State|null);
+
+ /** Event error */
+ error?: (google.rpc.IStatus|null);
+ }
+
+ /** Represents an Event. */
+ class Event implements IEvent {
+
+ /**
+ * Constructs a new Event.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.IEvent);
+
+ /** Event name. */
+ public name: string;
+
+ /** Event createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Event updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Event labels. */
+ public labels: { [k: string]: string };
+
+ /** Event adBreak. */
+ public adBreak?: (google.cloud.video.livestream.v1.Event.IAdBreakTask|null);
+
+ /** Event executeNow. */
+ public executeNow: boolean;
+
+ /** Event executionTime. */
+ public executionTime?: (google.protobuf.ITimestamp|null);
+
+ /** Event state. */
+ public state: (google.cloud.video.livestream.v1.Event.State|keyof typeof google.cloud.video.livestream.v1.Event.State);
+
+ /** Event error. */
+ public error?: (google.rpc.IStatus|null);
+
+ /** Event task. */
+ public task?: "adBreak";
+
+ /**
+ * Creates a new Event instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Event instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.IEvent): google.cloud.video.livestream.v1.Event;
+
+ /**
+ * Encodes the specified Event message. Does not implicitly {@link google.cloud.video.livestream.v1.Event.verify|verify} messages.
+ * @param message Event message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.IEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Event message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.Event.verify|verify} messages.
+ * @param message Event message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.IEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Event message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Event
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.Event;
+
+ /**
+ * Decodes an Event message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Event
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.Event;
+
+ /**
+ * Verifies an Event message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Event message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Event
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.Event;
+
+ /**
+ * Creates a plain object from an Event message. Also converts values to other types if specified.
+ * @param message Event
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.Event, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Event to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Event
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Event {
+
+ /** Properties of an AdBreakTask. */
+ interface IAdBreakTask {
+
+ /** AdBreakTask duration */
+ duration?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents an AdBreakTask. */
+ class AdBreakTask implements IAdBreakTask {
+
+ /**
+ * Constructs a new AdBreakTask.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.Event.IAdBreakTask);
+
+ /** AdBreakTask duration. */
+ public duration?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new AdBreakTask instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AdBreakTask instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.Event.IAdBreakTask): google.cloud.video.livestream.v1.Event.AdBreakTask;
+
+ /**
+ * Encodes the specified AdBreakTask message. Does not implicitly {@link google.cloud.video.livestream.v1.Event.AdBreakTask.verify|verify} messages.
+ * @param message AdBreakTask message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.Event.IAdBreakTask, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AdBreakTask message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.Event.AdBreakTask.verify|verify} messages.
+ * @param message AdBreakTask message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.Event.IAdBreakTask, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AdBreakTask message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AdBreakTask
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.Event.AdBreakTask;
+
+ /**
+ * Decodes an AdBreakTask message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AdBreakTask
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.Event.AdBreakTask;
+
+ /**
+ * Verifies an AdBreakTask message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an AdBreakTask message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AdBreakTask
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.Event.AdBreakTask;
+
+ /**
+ * Creates a plain object from an AdBreakTask message. Also converts values to other types if specified.
+ * @param message AdBreakTask
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.Event.AdBreakTask, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AdBreakTask to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AdBreakTask
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** State enum. */
+ enum State {
+ STATE_UNSPECIFIED = 0,
+ SCHEDULED = 1,
+ RUNNING = 2,
+ SUCCEEDED = 3,
+ FAILED = 4,
+ PENDING = 5,
+ STOPPED = 6
+ }
+ }
+
+ /** Represents a LivestreamService */
+ class LivestreamService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new LivestreamService service.
+ * @param rpcImpl RPC implementation
+ * @param [requestDelimited=false] Whether requests are length-delimited
+ * @param [responseDelimited=false] Whether responses are length-delimited
+ */
+ constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);
+
+ /**
+ * Creates new LivestreamService service using the specified rpc implementation.
+ * @param rpcImpl RPC implementation
+ * @param [requestDelimited=false] Whether requests are length-delimited
+ * @param [responseDelimited=false] Whether responses are length-delimited
+ * @returns RPC service. Useful where requests and/or responses are streamed.
+ */
+ public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): LivestreamService;
+
+ /**
+ * Calls CreateChannel.
+ * @param request CreateChannelRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public createChannel(request: google.cloud.video.livestream.v1.ICreateChannelRequest, callback: google.cloud.video.livestream.v1.LivestreamService.CreateChannelCallback): void;
+
+ /**
+ * Calls CreateChannel.
+ * @param request CreateChannelRequest message or plain object
+ * @returns Promise
+ */
+ public createChannel(request: google.cloud.video.livestream.v1.ICreateChannelRequest): Promise;
+
+ /**
+ * Calls ListChannels.
+ * @param request ListChannelsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListChannelsResponse
+ */
+ public listChannels(request: google.cloud.video.livestream.v1.IListChannelsRequest, callback: google.cloud.video.livestream.v1.LivestreamService.ListChannelsCallback): void;
+
+ /**
+ * Calls ListChannels.
+ * @param request ListChannelsRequest message or plain object
+ * @returns Promise
+ */
+ public listChannels(request: google.cloud.video.livestream.v1.IListChannelsRequest): Promise;
+
+ /**
+ * Calls GetChannel.
+ * @param request GetChannelRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Channel
+ */
+ public getChannel(request: google.cloud.video.livestream.v1.IGetChannelRequest, callback: google.cloud.video.livestream.v1.LivestreamService.GetChannelCallback): void;
+
+ /**
+ * Calls GetChannel.
+ * @param request GetChannelRequest message or plain object
+ * @returns Promise
+ */
+ public getChannel(request: google.cloud.video.livestream.v1.IGetChannelRequest): Promise;
+
+ /**
+ * Calls DeleteChannel.
+ * @param request DeleteChannelRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public deleteChannel(request: google.cloud.video.livestream.v1.IDeleteChannelRequest, callback: google.cloud.video.livestream.v1.LivestreamService.DeleteChannelCallback): void;
+
+ /**
+ * Calls DeleteChannel.
+ * @param request DeleteChannelRequest message or plain object
+ * @returns Promise
+ */
+ public deleteChannel(request: google.cloud.video.livestream.v1.IDeleteChannelRequest): Promise;
+
+ /**
+ * Calls UpdateChannel.
+ * @param request UpdateChannelRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public updateChannel(request: google.cloud.video.livestream.v1.IUpdateChannelRequest, callback: google.cloud.video.livestream.v1.LivestreamService.UpdateChannelCallback): void;
+
+ /**
+ * Calls UpdateChannel.
+ * @param request UpdateChannelRequest message or plain object
+ * @returns Promise
+ */
+ public updateChannel(request: google.cloud.video.livestream.v1.IUpdateChannelRequest): Promise;
+
+ /**
+ * Calls StartChannel.
+ * @param request StartChannelRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public startChannel(request: google.cloud.video.livestream.v1.IStartChannelRequest, callback: google.cloud.video.livestream.v1.LivestreamService.StartChannelCallback): void;
+
+ /**
+ * Calls StartChannel.
+ * @param request StartChannelRequest message or plain object
+ * @returns Promise
+ */
+ public startChannel(request: google.cloud.video.livestream.v1.IStartChannelRequest): Promise;
+
+ /**
+ * Calls StopChannel.
+ * @param request StopChannelRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public stopChannel(request: google.cloud.video.livestream.v1.IStopChannelRequest, callback: google.cloud.video.livestream.v1.LivestreamService.StopChannelCallback): void;
+
+ /**
+ * Calls StopChannel.
+ * @param request StopChannelRequest message or plain object
+ * @returns Promise
+ */
+ public stopChannel(request: google.cloud.video.livestream.v1.IStopChannelRequest): Promise;
+
+ /**
+ * Calls CreateInput.
+ * @param request CreateInputRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public createInput(request: google.cloud.video.livestream.v1.ICreateInputRequest, callback: google.cloud.video.livestream.v1.LivestreamService.CreateInputCallback): void;
+
+ /**
+ * Calls CreateInput.
+ * @param request CreateInputRequest message or plain object
+ * @returns Promise
+ */
+ public createInput(request: google.cloud.video.livestream.v1.ICreateInputRequest): Promise;
+
+ /**
+ * Calls ListInputs.
+ * @param request ListInputsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListInputsResponse
+ */
+ public listInputs(request: google.cloud.video.livestream.v1.IListInputsRequest, callback: google.cloud.video.livestream.v1.LivestreamService.ListInputsCallback): void;
+
+ /**
+ * Calls ListInputs.
+ * @param request ListInputsRequest message or plain object
+ * @returns Promise
+ */
+ public listInputs(request: google.cloud.video.livestream.v1.IListInputsRequest): Promise;
+
+ /**
+ * Calls GetInput.
+ * @param request GetInputRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Input
+ */
+ public getInput(request: google.cloud.video.livestream.v1.IGetInputRequest, callback: google.cloud.video.livestream.v1.LivestreamService.GetInputCallback): void;
+
+ /**
+ * Calls GetInput.
+ * @param request GetInputRequest message or plain object
+ * @returns Promise
+ */
+ public getInput(request: google.cloud.video.livestream.v1.IGetInputRequest): Promise;
+
+ /**
+ * Calls DeleteInput.
+ * @param request DeleteInputRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public deleteInput(request: google.cloud.video.livestream.v1.IDeleteInputRequest, callback: google.cloud.video.livestream.v1.LivestreamService.DeleteInputCallback): void;
+
+ /**
+ * Calls DeleteInput.
+ * @param request DeleteInputRequest message or plain object
+ * @returns Promise
+ */
+ public deleteInput(request: google.cloud.video.livestream.v1.IDeleteInputRequest): Promise;
+
+ /**
+ * Calls UpdateInput.
+ * @param request UpdateInputRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public updateInput(request: google.cloud.video.livestream.v1.IUpdateInputRequest, callback: google.cloud.video.livestream.v1.LivestreamService.UpdateInputCallback): void;
+
+ /**
+ * Calls UpdateInput.
+ * @param request UpdateInputRequest message or plain object
+ * @returns Promise
+ */
+ public updateInput(request: google.cloud.video.livestream.v1.IUpdateInputRequest): Promise;
+
+ /**
+ * Calls CreateEvent.
+ * @param request CreateEventRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Event
+ */
+ public createEvent(request: google.cloud.video.livestream.v1.ICreateEventRequest, callback: google.cloud.video.livestream.v1.LivestreamService.CreateEventCallback): void;
+
+ /**
+ * Calls CreateEvent.
+ * @param request CreateEventRequest message or plain object
+ * @returns Promise
+ */
+ public createEvent(request: google.cloud.video.livestream.v1.ICreateEventRequest): Promise;
+
+ /**
+ * Calls ListEvents.
+ * @param request ListEventsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListEventsResponse
+ */
+ public listEvents(request: google.cloud.video.livestream.v1.IListEventsRequest, callback: google.cloud.video.livestream.v1.LivestreamService.ListEventsCallback): void;
+
+ /**
+ * Calls ListEvents.
+ * @param request ListEventsRequest message or plain object
+ * @returns Promise
+ */
+ public listEvents(request: google.cloud.video.livestream.v1.IListEventsRequest): Promise;
+
+ /**
+ * Calls GetEvent.
+ * @param request GetEventRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Event
+ */
+ public getEvent(request: google.cloud.video.livestream.v1.IGetEventRequest, callback: google.cloud.video.livestream.v1.LivestreamService.GetEventCallback): void;
+
+ /**
+ * Calls GetEvent.
+ * @param request GetEventRequest message or plain object
+ * @returns Promise
+ */
+ public getEvent(request: google.cloud.video.livestream.v1.IGetEventRequest): Promise;
+
+ /**
+ * Calls DeleteEvent.
+ * @param request DeleteEventRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteEvent(request: google.cloud.video.livestream.v1.IDeleteEventRequest, callback: google.cloud.video.livestream.v1.LivestreamService.DeleteEventCallback): void;
+
+ /**
+ * Calls DeleteEvent.
+ * @param request DeleteEventRequest message or plain object
+ * @returns Promise
+ */
+ public deleteEvent(request: google.cloud.video.livestream.v1.IDeleteEventRequest): Promise;
+ }
+
+ namespace LivestreamService {
+
+ /**
+ * Callback as used by {@link google.cloud.video.livestream.v1.LivestreamService|createChannel}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type CreateChannelCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.video.livestream.v1.LivestreamService|listChannels}.
+ * @param error Error, if any
+ * @param [response] ListChannelsResponse
+ */
+ type ListChannelsCallback = (error: (Error|null), response?: google.cloud.video.livestream.v1.ListChannelsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.video.livestream.v1.LivestreamService|getChannel}.
+ * @param error Error, if any
+ * @param [response] Channel
+ */
+ type GetChannelCallback = (error: (Error|null), response?: google.cloud.video.livestream.v1.Channel) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.video.livestream.v1.LivestreamService|deleteChannel}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type DeleteChannelCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.video.livestream.v1.LivestreamService|updateChannel}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type UpdateChannelCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.video.livestream.v1.LivestreamService|startChannel}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type StartChannelCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.video.livestream.v1.LivestreamService|stopChannel}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type StopChannelCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.video.livestream.v1.LivestreamService|createInput}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type CreateInputCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.video.livestream.v1.LivestreamService|listInputs}.
+ * @param error Error, if any
+ * @param [response] ListInputsResponse
+ */
+ type ListInputsCallback = (error: (Error|null), response?: google.cloud.video.livestream.v1.ListInputsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.video.livestream.v1.LivestreamService|getInput}.
+ * @param error Error, if any
+ * @param [response] Input
+ */
+ type GetInputCallback = (error: (Error|null), response?: google.cloud.video.livestream.v1.Input) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.video.livestream.v1.LivestreamService|deleteInput}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type DeleteInputCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.video.livestream.v1.LivestreamService|updateInput}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type UpdateInputCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.video.livestream.v1.LivestreamService|createEvent}.
+ * @param error Error, if any
+ * @param [response] Event
+ */
+ type CreateEventCallback = (error: (Error|null), response?: google.cloud.video.livestream.v1.Event) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.video.livestream.v1.LivestreamService|listEvents}.
+ * @param error Error, if any
+ * @param [response] ListEventsResponse
+ */
+ type ListEventsCallback = (error: (Error|null), response?: google.cloud.video.livestream.v1.ListEventsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.video.livestream.v1.LivestreamService|getEvent}.
+ * @param error Error, if any
+ * @param [response] Event
+ */
+ type GetEventCallback = (error: (Error|null), response?: google.cloud.video.livestream.v1.Event) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.video.livestream.v1.LivestreamService|deleteEvent}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteEventCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+ }
+
+ /** Properties of a CreateChannelRequest. */
+ interface ICreateChannelRequest {
+
+ /** CreateChannelRequest parent */
+ parent?: (string|null);
+
+ /** CreateChannelRequest channel */
+ channel?: (google.cloud.video.livestream.v1.IChannel|null);
+
+ /** CreateChannelRequest channelId */
+ channelId?: (string|null);
+
+ /** CreateChannelRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a CreateChannelRequest. */
+ class CreateChannelRequest implements ICreateChannelRequest {
+
+ /**
+ * Constructs a new CreateChannelRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.ICreateChannelRequest);
+
+ /** CreateChannelRequest parent. */
+ public parent: string;
+
+ /** CreateChannelRequest channel. */
+ public channel?: (google.cloud.video.livestream.v1.IChannel|null);
+
+ /** CreateChannelRequest channelId. */
+ public channelId: string;
+
+ /** CreateChannelRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new CreateChannelRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateChannelRequest instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.ICreateChannelRequest): google.cloud.video.livestream.v1.CreateChannelRequest;
+
+ /**
+ * Encodes the specified CreateChannelRequest message. Does not implicitly {@link google.cloud.video.livestream.v1.CreateChannelRequest.verify|verify} messages.
+ * @param message CreateChannelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.ICreateChannelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateChannelRequest message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.CreateChannelRequest.verify|verify} messages.
+ * @param message CreateChannelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.ICreateChannelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateChannelRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateChannelRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.CreateChannelRequest;
+
+ /**
+ * Decodes a CreateChannelRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateChannelRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.CreateChannelRequest;
+
+ /**
+ * Verifies a CreateChannelRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateChannelRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateChannelRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.CreateChannelRequest;
+
+ /**
+ * Creates a plain object from a CreateChannelRequest message. Also converts values to other types if specified.
+ * @param message CreateChannelRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.CreateChannelRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateChannelRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateChannelRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListChannelsRequest. */
+ interface IListChannelsRequest {
+
+ /** ListChannelsRequest parent */
+ parent?: (string|null);
+
+ /** ListChannelsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListChannelsRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListChannelsRequest filter */
+ filter?: (string|null);
+
+ /** ListChannelsRequest orderBy */
+ orderBy?: (string|null);
+ }
+
+ /** Represents a ListChannelsRequest. */
+ class ListChannelsRequest implements IListChannelsRequest {
+
+ /**
+ * Constructs a new ListChannelsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.IListChannelsRequest);
+
+ /** ListChannelsRequest parent. */
+ public parent: string;
+
+ /** ListChannelsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListChannelsRequest pageToken. */
+ public pageToken: string;
+
+ /** ListChannelsRequest filter. */
+ public filter: string;
+
+ /** ListChannelsRequest orderBy. */
+ public orderBy: string;
+
+ /**
+ * Creates a new ListChannelsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListChannelsRequest instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.IListChannelsRequest): google.cloud.video.livestream.v1.ListChannelsRequest;
+
+ /**
+ * Encodes the specified ListChannelsRequest message. Does not implicitly {@link google.cloud.video.livestream.v1.ListChannelsRequest.verify|verify} messages.
+ * @param message ListChannelsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.IListChannelsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListChannelsRequest message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.ListChannelsRequest.verify|verify} messages.
+ * @param message ListChannelsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.IListChannelsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListChannelsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListChannelsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.ListChannelsRequest;
+
+ /**
+ * Decodes a ListChannelsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListChannelsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.ListChannelsRequest;
+
+ /**
+ * Verifies a ListChannelsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListChannelsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListChannelsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.ListChannelsRequest;
+
+ /**
+ * Creates a plain object from a ListChannelsRequest message. Also converts values to other types if specified.
+ * @param message ListChannelsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.ListChannelsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListChannelsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListChannelsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListChannelsResponse. */
+ interface IListChannelsResponse {
+
+ /** ListChannelsResponse channels */
+ channels?: (google.cloud.video.livestream.v1.IChannel[]|null);
+
+ /** ListChannelsResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** ListChannelsResponse unreachable */
+ unreachable?: (string[]|null);
+ }
+
+ /** Represents a ListChannelsResponse. */
+ class ListChannelsResponse implements IListChannelsResponse {
+
+ /**
+ * Constructs a new ListChannelsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.IListChannelsResponse);
+
+ /** ListChannelsResponse channels. */
+ public channels: google.cloud.video.livestream.v1.IChannel[];
+
+ /** ListChannelsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** ListChannelsResponse unreachable. */
+ public unreachable: string[];
+
+ /**
+ * Creates a new ListChannelsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListChannelsResponse instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.IListChannelsResponse): google.cloud.video.livestream.v1.ListChannelsResponse;
+
+ /**
+ * Encodes the specified ListChannelsResponse message. Does not implicitly {@link google.cloud.video.livestream.v1.ListChannelsResponse.verify|verify} messages.
+ * @param message ListChannelsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.IListChannelsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListChannelsResponse message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.ListChannelsResponse.verify|verify} messages.
+ * @param message ListChannelsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.IListChannelsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListChannelsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListChannelsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.ListChannelsResponse;
+
+ /**
+ * Decodes a ListChannelsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListChannelsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.ListChannelsResponse;
+
+ /**
+ * Verifies a ListChannelsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListChannelsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListChannelsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.ListChannelsResponse;
+
+ /**
+ * Creates a plain object from a ListChannelsResponse message. Also converts values to other types if specified.
+ * @param message ListChannelsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.ListChannelsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListChannelsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListChannelsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetChannelRequest. */
+ interface IGetChannelRequest {
+
+ /** GetChannelRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetChannelRequest. */
+ class GetChannelRequest implements IGetChannelRequest {
+
+ /**
+ * Constructs a new GetChannelRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.IGetChannelRequest);
+
+ /** GetChannelRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetChannelRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetChannelRequest instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.IGetChannelRequest): google.cloud.video.livestream.v1.GetChannelRequest;
+
+ /**
+ * Encodes the specified GetChannelRequest message. Does not implicitly {@link google.cloud.video.livestream.v1.GetChannelRequest.verify|verify} messages.
+ * @param message GetChannelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.IGetChannelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetChannelRequest message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.GetChannelRequest.verify|verify} messages.
+ * @param message GetChannelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.IGetChannelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetChannelRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetChannelRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.GetChannelRequest;
+
+ /**
+ * Decodes a GetChannelRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetChannelRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.GetChannelRequest;
+
+ /**
+ * Verifies a GetChannelRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetChannelRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetChannelRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.GetChannelRequest;
+
+ /**
+ * Creates a plain object from a GetChannelRequest message. Also converts values to other types if specified.
+ * @param message GetChannelRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.GetChannelRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetChannelRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetChannelRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteChannelRequest. */
+ interface IDeleteChannelRequest {
+
+ /** DeleteChannelRequest name */
+ name?: (string|null);
+
+ /** DeleteChannelRequest requestId */
+ requestId?: (string|null);
+
+ /** DeleteChannelRequest force */
+ force?: (boolean|null);
+ }
+
+ /** Represents a DeleteChannelRequest. */
+ class DeleteChannelRequest implements IDeleteChannelRequest {
+
+ /**
+ * Constructs a new DeleteChannelRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.IDeleteChannelRequest);
+
+ /** DeleteChannelRequest name. */
+ public name: string;
+
+ /** DeleteChannelRequest requestId. */
+ public requestId: string;
+
+ /** DeleteChannelRequest force. */
+ public force: boolean;
+
+ /**
+ * Creates a new DeleteChannelRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteChannelRequest instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.IDeleteChannelRequest): google.cloud.video.livestream.v1.DeleteChannelRequest;
+
+ /**
+ * Encodes the specified DeleteChannelRequest message. Does not implicitly {@link google.cloud.video.livestream.v1.DeleteChannelRequest.verify|verify} messages.
+ * @param message DeleteChannelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.IDeleteChannelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteChannelRequest message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.DeleteChannelRequest.verify|verify} messages.
+ * @param message DeleteChannelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.IDeleteChannelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteChannelRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteChannelRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.DeleteChannelRequest;
+
+ /**
+ * Decodes a DeleteChannelRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteChannelRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.DeleteChannelRequest;
+
+ /**
+ * Verifies a DeleteChannelRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteChannelRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteChannelRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.DeleteChannelRequest;
+
+ /**
+ * Creates a plain object from a DeleteChannelRequest message. Also converts values to other types if specified.
+ * @param message DeleteChannelRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.DeleteChannelRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteChannelRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteChannelRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateChannelRequest. */
+ interface IUpdateChannelRequest {
+
+ /** UpdateChannelRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateChannelRequest channel */
+ channel?: (google.cloud.video.livestream.v1.IChannel|null);
+
+ /** UpdateChannelRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents an UpdateChannelRequest. */
+ class UpdateChannelRequest implements IUpdateChannelRequest {
+
+ /**
+ * Constructs a new UpdateChannelRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.IUpdateChannelRequest);
+
+ /** UpdateChannelRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateChannelRequest channel. */
+ public channel?: (google.cloud.video.livestream.v1.IChannel|null);
+
+ /** UpdateChannelRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new UpdateChannelRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateChannelRequest instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.IUpdateChannelRequest): google.cloud.video.livestream.v1.UpdateChannelRequest;
+
+ /**
+ * Encodes the specified UpdateChannelRequest message. Does not implicitly {@link google.cloud.video.livestream.v1.UpdateChannelRequest.verify|verify} messages.
+ * @param message UpdateChannelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.IUpdateChannelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateChannelRequest message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.UpdateChannelRequest.verify|verify} messages.
+ * @param message UpdateChannelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.IUpdateChannelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateChannelRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateChannelRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.UpdateChannelRequest;
+
+ /**
+ * Decodes an UpdateChannelRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateChannelRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.UpdateChannelRequest;
+
+ /**
+ * Verifies an UpdateChannelRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an UpdateChannelRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateChannelRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.UpdateChannelRequest;
+
+ /**
+ * Creates a plain object from an UpdateChannelRequest message. Also converts values to other types if specified.
+ * @param message UpdateChannelRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.UpdateChannelRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateChannelRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateChannelRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a StartChannelRequest. */
+ interface IStartChannelRequest {
+
+ /** StartChannelRequest name */
+ name?: (string|null);
+
+ /** StartChannelRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a StartChannelRequest. */
+ class StartChannelRequest implements IStartChannelRequest {
+
+ /**
+ * Constructs a new StartChannelRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.IStartChannelRequest);
+
+ /** StartChannelRequest name. */
+ public name: string;
+
+ /** StartChannelRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new StartChannelRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns StartChannelRequest instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.IStartChannelRequest): google.cloud.video.livestream.v1.StartChannelRequest;
+
+ /**
+ * Encodes the specified StartChannelRequest message. Does not implicitly {@link google.cloud.video.livestream.v1.StartChannelRequest.verify|verify} messages.
+ * @param message StartChannelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.IStartChannelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified StartChannelRequest message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.StartChannelRequest.verify|verify} messages.
+ * @param message StartChannelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.IStartChannelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a StartChannelRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns StartChannelRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.StartChannelRequest;
+
+ /**
+ * Decodes a StartChannelRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns StartChannelRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.StartChannelRequest;
+
+ /**
+ * Verifies a StartChannelRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a StartChannelRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns StartChannelRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.StartChannelRequest;
+
+ /**
+ * Creates a plain object from a StartChannelRequest message. Also converts values to other types if specified.
+ * @param message StartChannelRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.StartChannelRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this StartChannelRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for StartChannelRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a StopChannelRequest. */
+ interface IStopChannelRequest {
+
+ /** StopChannelRequest name */
+ name?: (string|null);
+
+ /** StopChannelRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a StopChannelRequest. */
+ class StopChannelRequest implements IStopChannelRequest {
+
+ /**
+ * Constructs a new StopChannelRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.IStopChannelRequest);
+
+ /** StopChannelRequest name. */
+ public name: string;
+
+ /** StopChannelRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new StopChannelRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns StopChannelRequest instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.IStopChannelRequest): google.cloud.video.livestream.v1.StopChannelRequest;
+
+ /**
+ * Encodes the specified StopChannelRequest message. Does not implicitly {@link google.cloud.video.livestream.v1.StopChannelRequest.verify|verify} messages.
+ * @param message StopChannelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.IStopChannelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified StopChannelRequest message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.StopChannelRequest.verify|verify} messages.
+ * @param message StopChannelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.IStopChannelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a StopChannelRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns StopChannelRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.StopChannelRequest;
+
+ /**
+ * Decodes a StopChannelRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns StopChannelRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.StopChannelRequest;
+
+ /**
+ * Verifies a StopChannelRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a StopChannelRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns StopChannelRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.StopChannelRequest;
+
+ /**
+ * Creates a plain object from a StopChannelRequest message. Also converts values to other types if specified.
+ * @param message StopChannelRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.StopChannelRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this StopChannelRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for StopChannelRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateInputRequest. */
+ interface ICreateInputRequest {
+
+ /** CreateInputRequest parent */
+ parent?: (string|null);
+
+ /** CreateInputRequest input */
+ input?: (google.cloud.video.livestream.v1.IInput|null);
+
+ /** CreateInputRequest inputId */
+ inputId?: (string|null);
+
+ /** CreateInputRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a CreateInputRequest. */
+ class CreateInputRequest implements ICreateInputRequest {
+
+ /**
+ * Constructs a new CreateInputRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.ICreateInputRequest);
+
+ /** CreateInputRequest parent. */
+ public parent: string;
+
+ /** CreateInputRequest input. */
+ public input?: (google.cloud.video.livestream.v1.IInput|null);
+
+ /** CreateInputRequest inputId. */
+ public inputId: string;
+
+ /** CreateInputRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new CreateInputRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateInputRequest instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.ICreateInputRequest): google.cloud.video.livestream.v1.CreateInputRequest;
+
+ /**
+ * Encodes the specified CreateInputRequest message. Does not implicitly {@link google.cloud.video.livestream.v1.CreateInputRequest.verify|verify} messages.
+ * @param message CreateInputRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.ICreateInputRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateInputRequest message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.CreateInputRequest.verify|verify} messages.
+ * @param message CreateInputRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.ICreateInputRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateInputRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateInputRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.CreateInputRequest;
+
+ /**
+ * Decodes a CreateInputRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateInputRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.CreateInputRequest;
+
+ /**
+ * Verifies a CreateInputRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateInputRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateInputRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.CreateInputRequest;
+
+ /**
+ * Creates a plain object from a CreateInputRequest message. Also converts values to other types if specified.
+ * @param message CreateInputRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.CreateInputRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateInputRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateInputRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListInputsRequest. */
+ interface IListInputsRequest {
+
+ /** ListInputsRequest parent */
+ parent?: (string|null);
+
+ /** ListInputsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListInputsRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListInputsRequest filter */
+ filter?: (string|null);
+
+ /** ListInputsRequest orderBy */
+ orderBy?: (string|null);
+ }
+
+ /** Represents a ListInputsRequest. */
+ class ListInputsRequest implements IListInputsRequest {
+
+ /**
+ * Constructs a new ListInputsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.IListInputsRequest);
+
+ /** ListInputsRequest parent. */
+ public parent: string;
+
+ /** ListInputsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListInputsRequest pageToken. */
+ public pageToken: string;
+
+ /** ListInputsRequest filter. */
+ public filter: string;
+
+ /** ListInputsRequest orderBy. */
+ public orderBy: string;
+
+ /**
+ * Creates a new ListInputsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListInputsRequest instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.IListInputsRequest): google.cloud.video.livestream.v1.ListInputsRequest;
+
+ /**
+ * Encodes the specified ListInputsRequest message. Does not implicitly {@link google.cloud.video.livestream.v1.ListInputsRequest.verify|verify} messages.
+ * @param message ListInputsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.IListInputsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListInputsRequest message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.ListInputsRequest.verify|verify} messages.
+ * @param message ListInputsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.IListInputsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListInputsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListInputsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.ListInputsRequest;
+
+ /**
+ * Decodes a ListInputsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListInputsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.ListInputsRequest;
+
+ /**
+ * Verifies a ListInputsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListInputsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListInputsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.ListInputsRequest;
+
+ /**
+ * Creates a plain object from a ListInputsRequest message. Also converts values to other types if specified.
+ * @param message ListInputsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.ListInputsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListInputsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListInputsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListInputsResponse. */
+ interface IListInputsResponse {
+
+ /** ListInputsResponse inputs */
+ inputs?: (google.cloud.video.livestream.v1.IInput[]|null);
+
+ /** ListInputsResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** ListInputsResponse unreachable */
+ unreachable?: (string[]|null);
+ }
+
+ /** Represents a ListInputsResponse. */
+ class ListInputsResponse implements IListInputsResponse {
+
+ /**
+ * Constructs a new ListInputsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.IListInputsResponse);
+
+ /** ListInputsResponse inputs. */
+ public inputs: google.cloud.video.livestream.v1.IInput[];
+
+ /** ListInputsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** ListInputsResponse unreachable. */
+ public unreachable: string[];
+
+ /**
+ * Creates a new ListInputsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListInputsResponse instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.IListInputsResponse): google.cloud.video.livestream.v1.ListInputsResponse;
+
+ /**
+ * Encodes the specified ListInputsResponse message. Does not implicitly {@link google.cloud.video.livestream.v1.ListInputsResponse.verify|verify} messages.
+ * @param message ListInputsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.IListInputsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListInputsResponse message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.ListInputsResponse.verify|verify} messages.
+ * @param message ListInputsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.IListInputsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListInputsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListInputsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.ListInputsResponse;
+
+ /**
+ * Decodes a ListInputsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListInputsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.ListInputsResponse;
+
+ /**
+ * Verifies a ListInputsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListInputsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListInputsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.ListInputsResponse;
+
+ /**
+ * Creates a plain object from a ListInputsResponse message. Also converts values to other types if specified.
+ * @param message ListInputsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.ListInputsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListInputsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListInputsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetInputRequest. */
+ interface IGetInputRequest {
+
+ /** GetInputRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetInputRequest. */
+ class GetInputRequest implements IGetInputRequest {
+
+ /**
+ * Constructs a new GetInputRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.IGetInputRequest);
+
+ /** GetInputRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetInputRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetInputRequest instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.IGetInputRequest): google.cloud.video.livestream.v1.GetInputRequest;
+
+ /**
+ * Encodes the specified GetInputRequest message. Does not implicitly {@link google.cloud.video.livestream.v1.GetInputRequest.verify|verify} messages.
+ * @param message GetInputRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.IGetInputRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetInputRequest message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.GetInputRequest.verify|verify} messages.
+ * @param message GetInputRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.IGetInputRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetInputRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetInputRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.GetInputRequest;
+
+ /**
+ * Decodes a GetInputRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetInputRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.GetInputRequest;
+
+ /**
+ * Verifies a GetInputRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetInputRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetInputRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.GetInputRequest;
+
+ /**
+ * Creates a plain object from a GetInputRequest message. Also converts values to other types if specified.
+ * @param message GetInputRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.GetInputRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetInputRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetInputRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteInputRequest. */
+ interface IDeleteInputRequest {
+
+ /** DeleteInputRequest name */
+ name?: (string|null);
+
+ /** DeleteInputRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a DeleteInputRequest. */
+ class DeleteInputRequest implements IDeleteInputRequest {
+
+ /**
+ * Constructs a new DeleteInputRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.IDeleteInputRequest);
+
+ /** DeleteInputRequest name. */
+ public name: string;
+
+ /** DeleteInputRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new DeleteInputRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteInputRequest instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.IDeleteInputRequest): google.cloud.video.livestream.v1.DeleteInputRequest;
+
+ /**
+ * Encodes the specified DeleteInputRequest message. Does not implicitly {@link google.cloud.video.livestream.v1.DeleteInputRequest.verify|verify} messages.
+ * @param message DeleteInputRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.IDeleteInputRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteInputRequest message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.DeleteInputRequest.verify|verify} messages.
+ * @param message DeleteInputRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.IDeleteInputRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteInputRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteInputRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.DeleteInputRequest;
+
+ /**
+ * Decodes a DeleteInputRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteInputRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.DeleteInputRequest;
+
+ /**
+ * Verifies a DeleteInputRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteInputRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteInputRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.DeleteInputRequest;
+
+ /**
+ * Creates a plain object from a DeleteInputRequest message. Also converts values to other types if specified.
+ * @param message DeleteInputRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.DeleteInputRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteInputRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteInputRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateInputRequest. */
+ interface IUpdateInputRequest {
+
+ /** UpdateInputRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateInputRequest input */
+ input?: (google.cloud.video.livestream.v1.IInput|null);
+
+ /** UpdateInputRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents an UpdateInputRequest. */
+ class UpdateInputRequest implements IUpdateInputRequest {
+
+ /**
+ * Constructs a new UpdateInputRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.IUpdateInputRequest);
+
+ /** UpdateInputRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateInputRequest input. */
+ public input?: (google.cloud.video.livestream.v1.IInput|null);
+
+ /** UpdateInputRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new UpdateInputRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateInputRequest instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.IUpdateInputRequest): google.cloud.video.livestream.v1.UpdateInputRequest;
+
+ /**
+ * Encodes the specified UpdateInputRequest message. Does not implicitly {@link google.cloud.video.livestream.v1.UpdateInputRequest.verify|verify} messages.
+ * @param message UpdateInputRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.IUpdateInputRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateInputRequest message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.UpdateInputRequest.verify|verify} messages.
+ * @param message UpdateInputRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.IUpdateInputRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateInputRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateInputRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.UpdateInputRequest;
+
+ /**
+ * Decodes an UpdateInputRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateInputRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.UpdateInputRequest;
+
+ /**
+ * Verifies an UpdateInputRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an UpdateInputRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateInputRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.UpdateInputRequest;
+
+ /**
+ * Creates a plain object from an UpdateInputRequest message. Also converts values to other types if specified.
+ * @param message UpdateInputRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.UpdateInputRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateInputRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateInputRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateEventRequest. */
+ interface ICreateEventRequest {
+
+ /** CreateEventRequest parent */
+ parent?: (string|null);
+
+ /** CreateEventRequest event */
+ event?: (google.cloud.video.livestream.v1.IEvent|null);
+
+ /** CreateEventRequest eventId */
+ eventId?: (string|null);
+
+ /** CreateEventRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a CreateEventRequest. */
+ class CreateEventRequest implements ICreateEventRequest {
+
+ /**
+ * Constructs a new CreateEventRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.ICreateEventRequest);
+
+ /** CreateEventRequest parent. */
+ public parent: string;
+
+ /** CreateEventRequest event. */
+ public event?: (google.cloud.video.livestream.v1.IEvent|null);
+
+ /** CreateEventRequest eventId. */
+ public eventId: string;
+
+ /** CreateEventRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new CreateEventRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateEventRequest instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.ICreateEventRequest): google.cloud.video.livestream.v1.CreateEventRequest;
+
+ /**
+ * Encodes the specified CreateEventRequest message. Does not implicitly {@link google.cloud.video.livestream.v1.CreateEventRequest.verify|verify} messages.
+ * @param message CreateEventRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.ICreateEventRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateEventRequest message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.CreateEventRequest.verify|verify} messages.
+ * @param message CreateEventRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.ICreateEventRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateEventRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateEventRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.CreateEventRequest;
+
+ /**
+ * Decodes a CreateEventRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateEventRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.CreateEventRequest;
+
+ /**
+ * Verifies a CreateEventRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateEventRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateEventRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.CreateEventRequest;
+
+ /**
+ * Creates a plain object from a CreateEventRequest message. Also converts values to other types if specified.
+ * @param message CreateEventRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.CreateEventRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateEventRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateEventRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListEventsRequest. */
+ interface IListEventsRequest {
+
+ /** ListEventsRequest parent */
+ parent?: (string|null);
+
+ /** ListEventsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListEventsRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListEventsRequest filter */
+ filter?: (string|null);
+
+ /** ListEventsRequest orderBy */
+ orderBy?: (string|null);
+ }
+
+ /** Represents a ListEventsRequest. */
+ class ListEventsRequest implements IListEventsRequest {
+
+ /**
+ * Constructs a new ListEventsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.IListEventsRequest);
+
+ /** ListEventsRequest parent. */
+ public parent: string;
+
+ /** ListEventsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListEventsRequest pageToken. */
+ public pageToken: string;
+
+ /** ListEventsRequest filter. */
+ public filter: string;
+
+ /** ListEventsRequest orderBy. */
+ public orderBy: string;
+
+ /**
+ * Creates a new ListEventsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListEventsRequest instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.IListEventsRequest): google.cloud.video.livestream.v1.ListEventsRequest;
+
+ /**
+ * Encodes the specified ListEventsRequest message. Does not implicitly {@link google.cloud.video.livestream.v1.ListEventsRequest.verify|verify} messages.
+ * @param message ListEventsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.IListEventsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListEventsRequest message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.ListEventsRequest.verify|verify} messages.
+ * @param message ListEventsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.IListEventsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListEventsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListEventsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.ListEventsRequest;
+
+ /**
+ * Decodes a ListEventsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListEventsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.ListEventsRequest;
+
+ /**
+ * Verifies a ListEventsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListEventsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListEventsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.ListEventsRequest;
+
+ /**
+ * Creates a plain object from a ListEventsRequest message. Also converts values to other types if specified.
+ * @param message ListEventsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.ListEventsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListEventsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListEventsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListEventsResponse. */
+ interface IListEventsResponse {
+
+ /** ListEventsResponse events */
+ events?: (google.cloud.video.livestream.v1.IEvent[]|null);
+
+ /** ListEventsResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** ListEventsResponse unreachable */
+ unreachable?: (string[]|null);
+ }
+
+ /** Represents a ListEventsResponse. */
+ class ListEventsResponse implements IListEventsResponse {
+
+ /**
+ * Constructs a new ListEventsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.IListEventsResponse);
+
+ /** ListEventsResponse events. */
+ public events: google.cloud.video.livestream.v1.IEvent[];
+
+ /** ListEventsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** ListEventsResponse unreachable. */
+ public unreachable: string[];
+
+ /**
+ * Creates a new ListEventsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListEventsResponse instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.IListEventsResponse): google.cloud.video.livestream.v1.ListEventsResponse;
+
+ /**
+ * Encodes the specified ListEventsResponse message. Does not implicitly {@link google.cloud.video.livestream.v1.ListEventsResponse.verify|verify} messages.
+ * @param message ListEventsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.IListEventsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListEventsResponse message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.ListEventsResponse.verify|verify} messages.
+ * @param message ListEventsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.IListEventsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListEventsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListEventsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.ListEventsResponse;
+
+ /**
+ * Decodes a ListEventsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListEventsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.ListEventsResponse;
+
+ /**
+ * Verifies a ListEventsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListEventsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListEventsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.ListEventsResponse;
+
+ /**
+ * Creates a plain object from a ListEventsResponse message. Also converts values to other types if specified.
+ * @param message ListEventsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.ListEventsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListEventsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListEventsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetEventRequest. */
+ interface IGetEventRequest {
+
+ /** GetEventRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetEventRequest. */
+ class GetEventRequest implements IGetEventRequest {
+
+ /**
+ * Constructs a new GetEventRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.IGetEventRequest);
+
+ /** GetEventRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetEventRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetEventRequest instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.IGetEventRequest): google.cloud.video.livestream.v1.GetEventRequest;
+
+ /**
+ * Encodes the specified GetEventRequest message. Does not implicitly {@link google.cloud.video.livestream.v1.GetEventRequest.verify|verify} messages.
+ * @param message GetEventRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.IGetEventRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetEventRequest message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.GetEventRequest.verify|verify} messages.
+ * @param message GetEventRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.IGetEventRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetEventRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetEventRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.GetEventRequest;
+
+ /**
+ * Decodes a GetEventRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetEventRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.GetEventRequest;
+
+ /**
+ * Verifies a GetEventRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetEventRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetEventRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.GetEventRequest;
+
+ /**
+ * Creates a plain object from a GetEventRequest message. Also converts values to other types if specified.
+ * @param message GetEventRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.GetEventRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetEventRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetEventRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteEventRequest. */
+ interface IDeleteEventRequest {
+
+ /** DeleteEventRequest name */
+ name?: (string|null);
+
+ /** DeleteEventRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a DeleteEventRequest. */
+ class DeleteEventRequest implements IDeleteEventRequest {
+
+ /**
+ * Constructs a new DeleteEventRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.IDeleteEventRequest);
+
+ /** DeleteEventRequest name. */
+ public name: string;
+
+ /** DeleteEventRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new DeleteEventRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteEventRequest instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.IDeleteEventRequest): google.cloud.video.livestream.v1.DeleteEventRequest;
+
+ /**
+ * Encodes the specified DeleteEventRequest message. Does not implicitly {@link google.cloud.video.livestream.v1.DeleteEventRequest.verify|verify} messages.
+ * @param message DeleteEventRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.IDeleteEventRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteEventRequest message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.DeleteEventRequest.verify|verify} messages.
+ * @param message DeleteEventRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.IDeleteEventRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteEventRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteEventRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.DeleteEventRequest;
+
+ /**
+ * Decodes a DeleteEventRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteEventRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.DeleteEventRequest;
+
+ /**
+ * Verifies a DeleteEventRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteEventRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteEventRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.DeleteEventRequest;
+
+ /**
+ * Creates a plain object from a DeleteEventRequest message. Also converts values to other types if specified.
+ * @param message DeleteEventRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.DeleteEventRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteEventRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteEventRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ChannelOperationResponse. */
+ interface IChannelOperationResponse {
+ }
+
+ /** Represents a ChannelOperationResponse. */
+ class ChannelOperationResponse implements IChannelOperationResponse {
+
+ /**
+ * Constructs a new ChannelOperationResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.IChannelOperationResponse);
+
+ /**
+ * Creates a new ChannelOperationResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ChannelOperationResponse instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.IChannelOperationResponse): google.cloud.video.livestream.v1.ChannelOperationResponse;
+
+ /**
+ * Encodes the specified ChannelOperationResponse message. Does not implicitly {@link google.cloud.video.livestream.v1.ChannelOperationResponse.verify|verify} messages.
+ * @param message ChannelOperationResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.IChannelOperationResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ChannelOperationResponse message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.ChannelOperationResponse.verify|verify} messages.
+ * @param message ChannelOperationResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.IChannelOperationResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ChannelOperationResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ChannelOperationResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.ChannelOperationResponse;
+
+ /**
+ * Decodes a ChannelOperationResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ChannelOperationResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.ChannelOperationResponse;
+
+ /**
+ * Verifies a ChannelOperationResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ChannelOperationResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ChannelOperationResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.ChannelOperationResponse;
+
+ /**
+ * Creates a plain object from a ChannelOperationResponse message. Also converts values to other types if specified.
+ * @param message ChannelOperationResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.ChannelOperationResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ChannelOperationResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ChannelOperationResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an OperationMetadata. */
+ interface IOperationMetadata {
+
+ /** OperationMetadata createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** OperationMetadata endTime */
+ endTime?: (google.protobuf.ITimestamp|null);
+
+ /** OperationMetadata target */
+ target?: (string|null);
+
+ /** OperationMetadata verb */
+ verb?: (string|null);
+
+ /** OperationMetadata requestedCancellation */
+ requestedCancellation?: (boolean|null);
+
+ /** OperationMetadata apiVersion */
+ apiVersion?: (string|null);
+ }
+
+ /** Represents an OperationMetadata. */
+ class OperationMetadata implements IOperationMetadata {
+
+ /**
+ * Constructs a new OperationMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.video.livestream.v1.IOperationMetadata);
+
+ /** OperationMetadata createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** OperationMetadata endTime. */
+ public endTime?: (google.protobuf.ITimestamp|null);
+
+ /** OperationMetadata target. */
+ public target: string;
+
+ /** OperationMetadata verb. */
+ public verb: string;
+
+ /** OperationMetadata requestedCancellation. */
+ public requestedCancellation: boolean;
+
+ /** OperationMetadata apiVersion. */
+ public apiVersion: string;
+
+ /**
+ * Creates a new OperationMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OperationMetadata instance
+ */
+ public static create(properties?: google.cloud.video.livestream.v1.IOperationMetadata): google.cloud.video.livestream.v1.OperationMetadata;
+
+ /**
+ * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.video.livestream.v1.OperationMetadata.verify|verify} messages.
+ * @param message OperationMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.video.livestream.v1.IOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.OperationMetadata.verify|verify} messages.
+ * @param message OperationMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.video.livestream.v1.IOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OperationMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OperationMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.video.livestream.v1.OperationMetadata;
+
+ /**
+ * Decodes an OperationMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OperationMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.video.livestream.v1.OperationMetadata;
+
+ /**
+ * Verifies an OperationMetadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an OperationMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OperationMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.video.livestream.v1.OperationMetadata;
+
+ /**
+ * Creates a plain object from an OperationMetadata message. Also converts values to other types if specified.
+ * @param message OperationMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.video.livestream.v1.OperationMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OperationMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OperationMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+ }
+ }
+ }
+
+ /** Namespace api. */
+ namespace api {
+
+ /** FieldBehavior enum. */
+ enum FieldBehavior {
+ FIELD_BEHAVIOR_UNSPECIFIED = 0,
+ OPTIONAL = 1,
+ REQUIRED = 2,
+ OUTPUT_ONLY = 3,
+ INPUT_ONLY = 4,
+ IMMUTABLE = 5,
+ UNORDERED_LIST = 6,
+ NON_EMPTY_DEFAULT = 7
+ }
+
+ /** Properties of a ResourceDescriptor. */
+ interface IResourceDescriptor {
+
+ /** ResourceDescriptor type */
+ type?: (string|null);
+
+ /** ResourceDescriptor pattern */
+ pattern?: (string[]|null);
+
+ /** ResourceDescriptor nameField */
+ nameField?: (string|null);
+
+ /** ResourceDescriptor history */
+ history?: (google.api.ResourceDescriptor.History|keyof typeof google.api.ResourceDescriptor.History|null);
+
+ /** ResourceDescriptor plural */
+ plural?: (string|null);
+
+ /** ResourceDescriptor singular */
+ singular?: (string|null);
+
+ /** ResourceDescriptor style */
+ style?: (google.api.ResourceDescriptor.Style[]|null);
+ }
+
+ /** Represents a ResourceDescriptor. */
+ class ResourceDescriptor implements IResourceDescriptor {
+
+ /**
+ * Constructs a new ResourceDescriptor.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IResourceDescriptor);
+
+ /** ResourceDescriptor type. */
+ public type: string;
+
+ /** ResourceDescriptor pattern. */
+ public pattern: string[];
+
+ /** ResourceDescriptor nameField. */
+ public nameField: string;
+
+ /** ResourceDescriptor history. */
+ public history: (google.api.ResourceDescriptor.History|keyof typeof google.api.ResourceDescriptor.History);
+
+ /** ResourceDescriptor plural. */
+ public plural: string;
+
+ /** ResourceDescriptor singular. */
+ public singular: string;
+
+ /** ResourceDescriptor style. */
+ public style: google.api.ResourceDescriptor.Style[];
+
+ /**
+ * Creates a new ResourceDescriptor instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ResourceDescriptor instance
+ */
+ public static create(properties?: google.api.IResourceDescriptor): google.api.ResourceDescriptor;
+
+ /**
+ * Encodes the specified ResourceDescriptor message. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages.
+ * @param message ResourceDescriptor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IResourceDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ResourceDescriptor message, length delimited. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages.
+ * @param message ResourceDescriptor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IResourceDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ResourceDescriptor message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ResourceDescriptor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.ResourceDescriptor;
+
+ /**
+ * Decodes a ResourceDescriptor message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ResourceDescriptor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.ResourceDescriptor;
+
+ /**
+ * Verifies a ResourceDescriptor message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ResourceDescriptor message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ResourceDescriptor
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.ResourceDescriptor;
+
+ /**
+ * Creates a plain object from a ResourceDescriptor message. Also converts values to other types if specified.
+ * @param message ResourceDescriptor
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.ResourceDescriptor, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ResourceDescriptor to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ResourceDescriptor
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ResourceDescriptor {
+
+ /** History enum. */
+ enum History {
+ HISTORY_UNSPECIFIED = 0,
+ ORIGINALLY_SINGLE_PATTERN = 1,
+ FUTURE_MULTI_PATTERN = 2
+ }
+
+ /** Style enum. */
+ enum Style {
+ STYLE_UNSPECIFIED = 0,
+ DECLARATIVE_FRIENDLY = 1
+ }
+ }
+
+ /** Properties of a ResourceReference. */
+ interface IResourceReference {
+
+ /** ResourceReference type */
+ type?: (string|null);
+
+ /** ResourceReference childType */
+ childType?: (string|null);
+ }
+
+ /** Represents a ResourceReference. */
+ class ResourceReference implements IResourceReference {
+
+ /**
+ * Constructs a new ResourceReference.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IResourceReference);
+
+ /** ResourceReference type. */
+ public type: string;
+
+ /** ResourceReference childType. */
+ public childType: string;
+
+ /**
+ * Creates a new ResourceReference instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ResourceReference instance
+ */
+ public static create(properties?: google.api.IResourceReference): google.api.ResourceReference;
+
+ /**
+ * Encodes the specified ResourceReference message. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages.
+ * @param message ResourceReference message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IResourceReference, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ResourceReference message, length delimited. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages.
+ * @param message ResourceReference message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IResourceReference, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ResourceReference message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ResourceReference
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.ResourceReference;
+
+ /**
+ * Decodes a ResourceReference message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ResourceReference
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.ResourceReference;
+
+ /**
+ * Verifies a ResourceReference message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ResourceReference message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ResourceReference
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.ResourceReference;
+
+ /**
+ * Creates a plain object from a ResourceReference message. Also converts values to other types if specified.
+ * @param message ResourceReference
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.ResourceReference, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ResourceReference to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ResourceReference
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Http. */
+ interface IHttp {
+
+ /** Http rules */
+ rules?: (google.api.IHttpRule[]|null);
+
+ /** Http fullyDecodeReservedExpansion */
+ fullyDecodeReservedExpansion?: (boolean|null);
+ }
+
+ /** Represents a Http. */
+ class Http implements IHttp {
+
+ /**
+ * Constructs a new Http.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IHttp);
+
+ /** Http rules. */
+ public rules: google.api.IHttpRule[];
+
+ /** Http fullyDecodeReservedExpansion. */
+ public fullyDecodeReservedExpansion: boolean;
+
+ /**
+ * Creates a new Http instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Http instance
+ */
+ public static create(properties?: google.api.IHttp): google.api.Http;
+
+ /**
+ * Encodes the specified Http message. Does not implicitly {@link google.api.Http.verify|verify} messages.
+ * @param message Http message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IHttp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Http message, length delimited. Does not implicitly {@link google.api.Http.verify|verify} messages.
+ * @param message Http message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IHttp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Http message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Http
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.Http;
+
+ /**
+ * Decodes a Http message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Http
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.Http;
+
+ /**
+ * Verifies a Http message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Http message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Http
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.Http;
+
+ /**
+ * Creates a plain object from a Http message. Also converts values to other types if specified.
+ * @param message Http
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.Http, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Http to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Http
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a HttpRule. */
+ interface IHttpRule {
+
+ /** HttpRule selector */
+ selector?: (string|null);
+
+ /** HttpRule get */
+ get?: (string|null);
+
+ /** HttpRule put */
+ put?: (string|null);
+
+ /** HttpRule post */
+ post?: (string|null);
+
+ /** HttpRule delete */
+ "delete"?: (string|null);
+
+ /** HttpRule patch */
+ patch?: (string|null);
+
+ /** HttpRule custom */
+ custom?: (google.api.ICustomHttpPattern|null);
+
+ /** HttpRule body */
+ body?: (string|null);
+
+ /** HttpRule responseBody */
+ responseBody?: (string|null);
+
+ /** HttpRule additionalBindings */
+ additionalBindings?: (google.api.IHttpRule[]|null);
+ }
+
+ /** Represents a HttpRule. */
+ class HttpRule implements IHttpRule {
+
+ /**
+ * Constructs a new HttpRule.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IHttpRule);
+
+ /** HttpRule selector. */
+ public selector: string;
+
+ /** HttpRule get. */
+ public get?: (string|null);
+
+ /** HttpRule put. */
+ public put?: (string|null);
+
+ /** HttpRule post. */
+ public post?: (string|null);
+
+ /** HttpRule delete. */
+ public delete?: (string|null);
+
+ /** HttpRule patch. */
+ public patch?: (string|null);
+
+ /** HttpRule custom. */
+ public custom?: (google.api.ICustomHttpPattern|null);
+
+ /** HttpRule body. */
+ public body: string;
+
+ /** HttpRule responseBody. */
+ public responseBody: string;
+
+ /** HttpRule additionalBindings. */
+ public additionalBindings: google.api.IHttpRule[];
+
+ /** HttpRule pattern. */
+ public pattern?: ("get"|"put"|"post"|"delete"|"patch"|"custom");
+
+ /**
+ * Creates a new HttpRule instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns HttpRule instance
+ */
+ public static create(properties?: google.api.IHttpRule): google.api.HttpRule;
+
+ /**
+ * Encodes the specified HttpRule message. Does not implicitly {@link google.api.HttpRule.verify|verify} messages.
+ * @param message HttpRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IHttpRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified HttpRule message, length delimited. Does not implicitly {@link google.api.HttpRule.verify|verify} messages.
+ * @param message HttpRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IHttpRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a HttpRule message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns HttpRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.HttpRule;
+
+ /**
+ * Decodes a HttpRule message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns HttpRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.HttpRule;
+
+ /**
+ * Verifies a HttpRule message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a HttpRule message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns HttpRule
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.HttpRule;
+
+ /**
+ * Creates a plain object from a HttpRule message. Also converts values to other types if specified.
+ * @param message HttpRule
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.HttpRule, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this HttpRule to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for HttpRule
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CustomHttpPattern. */
+ interface ICustomHttpPattern {
+
+ /** CustomHttpPattern kind */
+ kind?: (string|null);
+
+ /** CustomHttpPattern path */
+ path?: (string|null);
+ }
+
+ /** Represents a CustomHttpPattern. */
+ class CustomHttpPattern implements ICustomHttpPattern {
+
+ /**
+ * Constructs a new CustomHttpPattern.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.ICustomHttpPattern);
+
+ /** CustomHttpPattern kind. */
+ public kind: string;
+
+ /** CustomHttpPattern path. */
+ public path: string;
+
+ /**
+ * Creates a new CustomHttpPattern instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CustomHttpPattern instance
+ */
+ public static create(properties?: google.api.ICustomHttpPattern): google.api.CustomHttpPattern;
+
+ /**
+ * Encodes the specified CustomHttpPattern message. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages.
+ * @param message CustomHttpPattern message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.ICustomHttpPattern, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CustomHttpPattern message, length delimited. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages.
+ * @param message CustomHttpPattern message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.ICustomHttpPattern, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CustomHttpPattern message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CustomHttpPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.CustomHttpPattern;
+
+ /**
+ * Decodes a CustomHttpPattern message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CustomHttpPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.CustomHttpPattern;
+
+ /**
+ * Verifies a CustomHttpPattern message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CustomHttpPattern message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CustomHttpPattern
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.CustomHttpPattern;
+
+ /**
+ * Creates a plain object from a CustomHttpPattern message. Also converts values to other types if specified.
+ * @param message CustomHttpPattern
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.CustomHttpPattern, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CustomHttpPattern to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CustomHttpPattern
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace protobuf. */
+ namespace protobuf {
+
+ /** Properties of a FileDescriptorSet. */
+ interface IFileDescriptorSet {
+
+ /** FileDescriptorSet file */
+ file?: (google.protobuf.IFileDescriptorProto[]|null);
+ }
+
+ /** Represents a FileDescriptorSet. */
+ class FileDescriptorSet implements IFileDescriptorSet {
+
+ /**
+ * Constructs a new FileDescriptorSet.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFileDescriptorSet);
+
+ /** FileDescriptorSet file. */
+ public file: google.protobuf.IFileDescriptorProto[];
+
+ /**
+ * Creates a new FileDescriptorSet instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FileDescriptorSet instance
+ */
+ public static create(properties?: google.protobuf.IFileDescriptorSet): google.protobuf.FileDescriptorSet;
+
+ /**
+ * Encodes the specified FileDescriptorSet message. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages.
+ * @param message FileDescriptorSet message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFileDescriptorSet, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FileDescriptorSet message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages.
+ * @param message FileDescriptorSet message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFileDescriptorSet, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FileDescriptorSet message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FileDescriptorSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileDescriptorSet;
+
+ /**
+ * Decodes a FileDescriptorSet message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FileDescriptorSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileDescriptorSet;
+
+ /**
+ * Verifies a FileDescriptorSet message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FileDescriptorSet message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FileDescriptorSet
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FileDescriptorSet;
+
+ /**
+ * Creates a plain object from a FileDescriptorSet message. Also converts values to other types if specified.
+ * @param message FileDescriptorSet
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FileDescriptorSet, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FileDescriptorSet to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FileDescriptorSet
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FileDescriptorProto. */
+ interface IFileDescriptorProto {
+
+ /** FileDescriptorProto name */
+ name?: (string|null);
+
+ /** FileDescriptorProto package */
+ "package"?: (string|null);
+
+ /** FileDescriptorProto dependency */
+ dependency?: (string[]|null);
+
+ /** FileDescriptorProto publicDependency */
+ publicDependency?: (number[]|null);
+
+ /** FileDescriptorProto weakDependency */
+ weakDependency?: (number[]|null);
+
+ /** FileDescriptorProto messageType */
+ messageType?: (google.protobuf.IDescriptorProto[]|null);
+
+ /** FileDescriptorProto enumType */
+ enumType?: (google.protobuf.IEnumDescriptorProto[]|null);
+
+ /** FileDescriptorProto service */
+ service?: (google.protobuf.IServiceDescriptorProto[]|null);
+
+ /** FileDescriptorProto extension */
+ extension?: (google.protobuf.IFieldDescriptorProto[]|null);
+
+ /** FileDescriptorProto options */
+ options?: (google.protobuf.IFileOptions|null);
+
+ /** FileDescriptorProto sourceCodeInfo */
+ sourceCodeInfo?: (google.protobuf.ISourceCodeInfo|null);
+
+ /** FileDescriptorProto syntax */
+ syntax?: (string|null);
+
+ /** FileDescriptorProto edition */
+ edition?: (string|null);
+ }
+
+ /** Represents a FileDescriptorProto. */
+ class FileDescriptorProto implements IFileDescriptorProto {
+
+ /**
+ * Constructs a new FileDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFileDescriptorProto);
+
+ /** FileDescriptorProto name. */
+ public name: string;
+
+ /** FileDescriptorProto package. */
+ public package: string;
+
+ /** FileDescriptorProto dependency. */
+ public dependency: string[];
+
+ /** FileDescriptorProto publicDependency. */
+ public publicDependency: number[];
+
+ /** FileDescriptorProto weakDependency. */
+ public weakDependency: number[];
+
+ /** FileDescriptorProto messageType. */
+ public messageType: google.protobuf.IDescriptorProto[];
+
+ /** FileDescriptorProto enumType. */
+ public enumType: google.protobuf.IEnumDescriptorProto[];
+
+ /** FileDescriptorProto service. */
+ public service: google.protobuf.IServiceDescriptorProto[];
+
+ /** FileDescriptorProto extension. */
+ public extension: google.protobuf.IFieldDescriptorProto[];
+
+ /** FileDescriptorProto options. */
+ public options?: (google.protobuf.IFileOptions|null);
+
+ /** FileDescriptorProto sourceCodeInfo. */
+ public sourceCodeInfo?: (google.protobuf.ISourceCodeInfo|null);
+
+ /** FileDescriptorProto syntax. */
+ public syntax: string;
+
+ /** FileDescriptorProto edition. */
+ public edition: string;
+
+ /**
+ * Creates a new FileDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FileDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IFileDescriptorProto): google.protobuf.FileDescriptorProto;
+
+ /**
+ * Encodes the specified FileDescriptorProto message. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages.
+ * @param message FileDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFileDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FileDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages.
+ * @param message FileDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFileDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FileDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FileDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileDescriptorProto;
+
+ /**
+ * Decodes a FileDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FileDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileDescriptorProto;
+
+ /**
+ * Verifies a FileDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FileDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FileDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FileDescriptorProto;
+
+ /**
+ * Creates a plain object from a FileDescriptorProto message. Also converts values to other types if specified.
+ * @param message FileDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FileDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FileDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FileDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DescriptorProto. */
+ interface IDescriptorProto {
+
+ /** DescriptorProto name */
+ name?: (string|null);
+
+ /** DescriptorProto field */
+ field?: (google.protobuf.IFieldDescriptorProto[]|null);
+
+ /** DescriptorProto extension */
+ extension?: (google.protobuf.IFieldDescriptorProto[]|null);
+
+ /** DescriptorProto nestedType */
+ nestedType?: (google.protobuf.IDescriptorProto[]|null);
+
+ /** DescriptorProto enumType */
+ enumType?: (google.protobuf.IEnumDescriptorProto[]|null);
+
+ /** DescriptorProto extensionRange */
+ extensionRange?: (google.protobuf.DescriptorProto.IExtensionRange[]|null);
+
+ /** DescriptorProto oneofDecl */
+ oneofDecl?: (google.protobuf.IOneofDescriptorProto[]|null);
+
+ /** DescriptorProto options */
+ options?: (google.protobuf.IMessageOptions|null);
+
+ /** DescriptorProto reservedRange */
+ reservedRange?: (google.protobuf.DescriptorProto.IReservedRange[]|null);
+
+ /** DescriptorProto reservedName */
+ reservedName?: (string[]|null);
+ }
+
+ /** Represents a DescriptorProto. */
+ class DescriptorProto implements IDescriptorProto {
+
+ /**
+ * Constructs a new DescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IDescriptorProto);
+
+ /** DescriptorProto name. */
+ public name: string;
+
+ /** DescriptorProto field. */
+ public field: google.protobuf.IFieldDescriptorProto[];
+
+ /** DescriptorProto extension. */
+ public extension: google.protobuf.IFieldDescriptorProto[];
+
+ /** DescriptorProto nestedType. */
+ public nestedType: google.protobuf.IDescriptorProto[];
+
+ /** DescriptorProto enumType. */
+ public enumType: google.protobuf.IEnumDescriptorProto[];
+
+ /** DescriptorProto extensionRange. */
+ public extensionRange: google.protobuf.DescriptorProto.IExtensionRange[];
+
+ /** DescriptorProto oneofDecl. */
+ public oneofDecl: google.protobuf.IOneofDescriptorProto[];
+
+ /** DescriptorProto options. */
+ public options?: (google.protobuf.IMessageOptions|null);
+
+ /** DescriptorProto reservedRange. */
+ public reservedRange: google.protobuf.DescriptorProto.IReservedRange[];
+
+ /** DescriptorProto reservedName. */
+ public reservedName: string[];
+
+ /**
+ * Creates a new DescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IDescriptorProto): google.protobuf.DescriptorProto;
+
+ /**
+ * Encodes the specified DescriptorProto message. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages.
+ * @param message DescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages.
+ * @param message DescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto;
+
+ /**
+ * Decodes a DescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto;
+
+ /**
+ * Verifies a DescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto;
+
+ /**
+ * Creates a plain object from a DescriptorProto message. Also converts values to other types if specified.
+ * @param message DescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.DescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace DescriptorProto {
+
+ /** Properties of an ExtensionRange. */
+ interface IExtensionRange {
+
+ /** ExtensionRange start */
+ start?: (number|null);
+
+ /** ExtensionRange end */
+ end?: (number|null);
+
+ /** ExtensionRange options */
+ options?: (google.protobuf.IExtensionRangeOptions|null);
+ }
+
+ /** Represents an ExtensionRange. */
+ class ExtensionRange implements IExtensionRange {
+
+ /**
+ * Constructs a new ExtensionRange.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.DescriptorProto.IExtensionRange);
+
+ /** ExtensionRange start. */
+ public start: number;
+
+ /** ExtensionRange end. */
+ public end: number;
+
+ /** ExtensionRange options. */
+ public options?: (google.protobuf.IExtensionRangeOptions|null);
+
+ /**
+ * Creates a new ExtensionRange instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExtensionRange instance
+ */
+ public static create(properties?: google.protobuf.DescriptorProto.IExtensionRange): google.protobuf.DescriptorProto.ExtensionRange;
+
+ /**
+ * Encodes the specified ExtensionRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages.
+ * @param message ExtensionRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.DescriptorProto.IExtensionRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExtensionRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages.
+ * @param message ExtensionRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.DescriptorProto.IExtensionRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExtensionRange message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExtensionRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto.ExtensionRange;
+
+ /**
+ * Decodes an ExtensionRange message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExtensionRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto.ExtensionRange;
+
+ /**
+ * Verifies an ExtensionRange message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an ExtensionRange message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExtensionRange
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto.ExtensionRange;
+
+ /**
+ * Creates a plain object from an ExtensionRange message. Also converts values to other types if specified.
+ * @param message ExtensionRange
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.DescriptorProto.ExtensionRange, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExtensionRange to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExtensionRange
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ReservedRange. */
+ interface IReservedRange {
+
+ /** ReservedRange start */
+ start?: (number|null);
+
+ /** ReservedRange end */
+ end?: (number|null);
+ }
+
+ /** Represents a ReservedRange. */
+ class ReservedRange implements IReservedRange {
+
+ /**
+ * Constructs a new ReservedRange.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.DescriptorProto.IReservedRange);
+
+ /** ReservedRange start. */
+ public start: number;
+
+ /** ReservedRange end. */
+ public end: number;
+
+ /**
+ * Creates a new ReservedRange instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ReservedRange instance
+ */
+ public static create(properties?: google.protobuf.DescriptorProto.IReservedRange): google.protobuf.DescriptorProto.ReservedRange;
+
+ /**
+ * Encodes the specified ReservedRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages.
+ * @param message ReservedRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.DescriptorProto.IReservedRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ReservedRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages.
+ * @param message ReservedRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.DescriptorProto.IReservedRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ReservedRange message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto.ReservedRange;
+
+ /**
+ * Decodes a ReservedRange message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto.ReservedRange;
+
+ /**
+ * Verifies a ReservedRange message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ReservedRange message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ReservedRange
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto.ReservedRange;
+
+ /**
+ * Creates a plain object from a ReservedRange message. Also converts values to other types if specified.
+ * @param message ReservedRange
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.DescriptorProto.ReservedRange, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ReservedRange to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ReservedRange
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of an ExtensionRangeOptions. */
+ interface IExtensionRangeOptions {
+
+ /** ExtensionRangeOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+ }
+
+ /** Represents an ExtensionRangeOptions. */
+ class ExtensionRangeOptions implements IExtensionRangeOptions {
+
+ /**
+ * Constructs a new ExtensionRangeOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IExtensionRangeOptions);
+
+ /** ExtensionRangeOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new ExtensionRangeOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExtensionRangeOptions instance
+ */
+ public static create(properties?: google.protobuf.IExtensionRangeOptions): google.protobuf.ExtensionRangeOptions;
+
+ /**
+ * Encodes the specified ExtensionRangeOptions message. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages.
+ * @param message ExtensionRangeOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IExtensionRangeOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExtensionRangeOptions message, length delimited. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages.
+ * @param message ExtensionRangeOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IExtensionRangeOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExtensionRangeOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExtensionRangeOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ExtensionRangeOptions;
+
+ /**
+ * Decodes an ExtensionRangeOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExtensionRangeOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ExtensionRangeOptions;
+
+ /**
+ * Verifies an ExtensionRangeOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an ExtensionRangeOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExtensionRangeOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.ExtensionRangeOptions;
+
+ /**
+ * Creates a plain object from an ExtensionRangeOptions message. Also converts values to other types if specified.
+ * @param message ExtensionRangeOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.ExtensionRangeOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExtensionRangeOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExtensionRangeOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FieldDescriptorProto. */
+ interface IFieldDescriptorProto {
+
+ /** FieldDescriptorProto name */
+ name?: (string|null);
+
+ /** FieldDescriptorProto number */
+ number?: (number|null);
+
+ /** FieldDescriptorProto label */
+ label?: (google.protobuf.FieldDescriptorProto.Label|keyof typeof google.protobuf.FieldDescriptorProto.Label|null);
+
+ /** FieldDescriptorProto type */
+ type?: (google.protobuf.FieldDescriptorProto.Type|keyof typeof google.protobuf.FieldDescriptorProto.Type|null);
+
+ /** FieldDescriptorProto typeName */
+ typeName?: (string|null);
+
+ /** FieldDescriptorProto extendee */
+ extendee?: (string|null);
+
+ /** FieldDescriptorProto defaultValue */
+ defaultValue?: (string|null);
+
+ /** FieldDescriptorProto oneofIndex */
+ oneofIndex?: (number|null);
+
+ /** FieldDescriptorProto jsonName */
+ jsonName?: (string|null);
+
+ /** FieldDescriptorProto options */
+ options?: (google.protobuf.IFieldOptions|null);
+
+ /** FieldDescriptorProto proto3Optional */
+ proto3Optional?: (boolean|null);
+ }
+
+ /** Represents a FieldDescriptorProto. */
+ class FieldDescriptorProto implements IFieldDescriptorProto {
+
+ /**
+ * Constructs a new FieldDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFieldDescriptorProto);
+
+ /** FieldDescriptorProto name. */
+ public name: string;
+
+ /** FieldDescriptorProto number. */
+ public number: number;
+
+ /** FieldDescriptorProto label. */
+ public label: (google.protobuf.FieldDescriptorProto.Label|keyof typeof google.protobuf.FieldDescriptorProto.Label);
+
+ /** FieldDescriptorProto type. */
+ public type: (google.protobuf.FieldDescriptorProto.Type|keyof typeof google.protobuf.FieldDescriptorProto.Type);
+
+ /** FieldDescriptorProto typeName. */
+ public typeName: string;
+
+ /** FieldDescriptorProto extendee. */
+ public extendee: string;
+
+ /** FieldDescriptorProto defaultValue. */
+ public defaultValue: string;
+
+ /** FieldDescriptorProto oneofIndex. */
+ public oneofIndex: number;
+
+ /** FieldDescriptorProto jsonName. */
+ public jsonName: string;
+
+ /** FieldDescriptorProto options. */
+ public options?: (google.protobuf.IFieldOptions|null);
+
+ /** FieldDescriptorProto proto3Optional. */
+ public proto3Optional: boolean;
+
+ /**
+ * Creates a new FieldDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FieldDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IFieldDescriptorProto): google.protobuf.FieldDescriptorProto;
+
+ /**
+ * Encodes the specified FieldDescriptorProto message. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages.
+ * @param message FieldDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFieldDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FieldDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages.
+ * @param message FieldDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFieldDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FieldDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FieldDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldDescriptorProto;
+
+ /**
+ * Decodes a FieldDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FieldDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldDescriptorProto;
+
+ /**
+ * Verifies a FieldDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FieldDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FieldDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FieldDescriptorProto;
+
+ /**
+ * Creates a plain object from a FieldDescriptorProto message. Also converts values to other types if specified.
+ * @param message FieldDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FieldDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FieldDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FieldDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace FieldDescriptorProto {
+
+ /** Type enum. */
+ enum Type {
+ TYPE_DOUBLE = 1,
+ TYPE_FLOAT = 2,
+ TYPE_INT64 = 3,
+ TYPE_UINT64 = 4,
+ TYPE_INT32 = 5,
+ TYPE_FIXED64 = 6,
+ TYPE_FIXED32 = 7,
+ TYPE_BOOL = 8,
+ TYPE_STRING = 9,
+ TYPE_GROUP = 10,
+ TYPE_MESSAGE = 11,
+ TYPE_BYTES = 12,
+ TYPE_UINT32 = 13,
+ TYPE_ENUM = 14,
+ TYPE_SFIXED32 = 15,
+ TYPE_SFIXED64 = 16,
+ TYPE_SINT32 = 17,
+ TYPE_SINT64 = 18
+ }
+
+ /** Label enum. */
+ enum Label {
+ LABEL_OPTIONAL = 1,
+ LABEL_REQUIRED = 2,
+ LABEL_REPEATED = 3
+ }
+ }
+
+ /** Properties of an OneofDescriptorProto. */
+ interface IOneofDescriptorProto {
+
+ /** OneofDescriptorProto name */
+ name?: (string|null);
+
+ /** OneofDescriptorProto options */
+ options?: (google.protobuf.IOneofOptions|null);
+ }
+
+ /** Represents an OneofDescriptorProto. */
+ class OneofDescriptorProto implements IOneofDescriptorProto {
+
+ /**
+ * Constructs a new OneofDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IOneofDescriptorProto);
+
+ /** OneofDescriptorProto name. */
+ public name: string;
+
+ /** OneofDescriptorProto options. */
+ public options?: (google.protobuf.IOneofOptions|null);
+
+ /**
+ * Creates a new OneofDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OneofDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IOneofDescriptorProto): google.protobuf.OneofDescriptorProto;
+
+ /**
+ * Encodes the specified OneofDescriptorProto message. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages.
+ * @param message OneofDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IOneofDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OneofDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages.
+ * @param message OneofDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IOneofDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OneofDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OneofDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.OneofDescriptorProto;
+
+ /**
+ * Decodes an OneofDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OneofDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.OneofDescriptorProto;
+
+ /**
+ * Verifies an OneofDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an OneofDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OneofDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.OneofDescriptorProto;
+
+ /**
+ * Creates a plain object from an OneofDescriptorProto message. Also converts values to other types if specified.
+ * @param message OneofDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.OneofDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OneofDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OneofDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an EnumDescriptorProto. */
+ interface IEnumDescriptorProto {
+
+ /** EnumDescriptorProto name */
+ name?: (string|null);
+
+ /** EnumDescriptorProto value */
+ value?: (google.protobuf.IEnumValueDescriptorProto[]|null);
+
+ /** EnumDescriptorProto options */
+ options?: (google.protobuf.IEnumOptions|null);
+
+ /** EnumDescriptorProto reservedRange */
+ reservedRange?: (google.protobuf.EnumDescriptorProto.IEnumReservedRange[]|null);
+
+ /** EnumDescriptorProto reservedName */
+ reservedName?: (string[]|null);
+ }
+
+ /** Represents an EnumDescriptorProto. */
+ class EnumDescriptorProto implements IEnumDescriptorProto {
+
+ /**
+ * Constructs a new EnumDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEnumDescriptorProto);
+
+ /** EnumDescriptorProto name. */
+ public name: string;
+
+ /** EnumDescriptorProto value. */
+ public value: google.protobuf.IEnumValueDescriptorProto[];
+
+ /** EnumDescriptorProto options. */
+ public options?: (google.protobuf.IEnumOptions|null);
+
+ /** EnumDescriptorProto reservedRange. */
+ public reservedRange: google.protobuf.EnumDescriptorProto.IEnumReservedRange[];
+
+ /** EnumDescriptorProto reservedName. */
+ public reservedName: string[];
+
+ /**
+ * Creates a new EnumDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IEnumDescriptorProto): google.protobuf.EnumDescriptorProto;
+
+ /**
+ * Encodes the specified EnumDescriptorProto message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages.
+ * @param message EnumDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEnumDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages.
+ * @param message EnumDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEnumDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumDescriptorProto;
+
+ /**
+ * Decodes an EnumDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumDescriptorProto;
+
+ /**
+ * Verifies an EnumDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumDescriptorProto;
+
+ /**
+ * Creates a plain object from an EnumDescriptorProto message. Also converts values to other types if specified.
+ * @param message EnumDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace EnumDescriptorProto {
+
+ /** Properties of an EnumReservedRange. */
+ interface IEnumReservedRange {
+
+ /** EnumReservedRange start */
+ start?: (number|null);
+
+ /** EnumReservedRange end */
+ end?: (number|null);
+ }
+
+ /** Represents an EnumReservedRange. */
+ class EnumReservedRange implements IEnumReservedRange {
+
+ /**
+ * Constructs a new EnumReservedRange.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.EnumDescriptorProto.IEnumReservedRange);
+
+ /** EnumReservedRange start. */
+ public start: number;
+
+ /** EnumReservedRange end. */
+ public end: number;
+
+ /**
+ * Creates a new EnumReservedRange instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumReservedRange instance
+ */
+ public static create(properties?: google.protobuf.EnumDescriptorProto.IEnumReservedRange): google.protobuf.EnumDescriptorProto.EnumReservedRange;
+
+ /**
+ * Encodes the specified EnumReservedRange message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages.
+ * @param message EnumReservedRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.EnumDescriptorProto.IEnumReservedRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumReservedRange message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages.
+ * @param message EnumReservedRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.EnumDescriptorProto.IEnumReservedRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumReservedRange message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumDescriptorProto.EnumReservedRange;
+
+ /**
+ * Decodes an EnumReservedRange message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumDescriptorProto.EnumReservedRange;
+
+ /**
+ * Verifies an EnumReservedRange message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumReservedRange message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumReservedRange
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumDescriptorProto.EnumReservedRange;
+
+ /**
+ * Creates a plain object from an EnumReservedRange message. Also converts values to other types if specified.
+ * @param message EnumReservedRange
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumDescriptorProto.EnumReservedRange, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumReservedRange to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumReservedRange
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of an EnumValueDescriptorProto. */
+ interface IEnumValueDescriptorProto {
+
+ /** EnumValueDescriptorProto name */
+ name?: (string|null);
+
+ /** EnumValueDescriptorProto number */
+ number?: (number|null);
+
+ /** EnumValueDescriptorProto options */
+ options?: (google.protobuf.IEnumValueOptions|null);
+ }
+
+ /** Represents an EnumValueDescriptorProto. */
+ class EnumValueDescriptorProto implements IEnumValueDescriptorProto {
+
+ /**
+ * Constructs a new EnumValueDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEnumValueDescriptorProto);
+
+ /** EnumValueDescriptorProto name. */
+ public name: string;
+
+ /** EnumValueDescriptorProto number. */
+ public number: number;
+
+ /** EnumValueDescriptorProto options. */
+ public options?: (google.protobuf.IEnumValueOptions|null);
+
+ /**
+ * Creates a new EnumValueDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumValueDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IEnumValueDescriptorProto): google.protobuf.EnumValueDescriptorProto;
+
+ /**
+ * Encodes the specified EnumValueDescriptorProto message. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages.
+ * @param message EnumValueDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEnumValueDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumValueDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages.
+ * @param message EnumValueDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEnumValueDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumValueDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumValueDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumValueDescriptorProto;
+
+ /**
+ * Decodes an EnumValueDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumValueDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumValueDescriptorProto;
+
+ /**
+ * Verifies an EnumValueDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumValueDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumValueDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumValueDescriptorProto;
+
+ /**
+ * Creates a plain object from an EnumValueDescriptorProto message. Also converts values to other types if specified.
+ * @param message EnumValueDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumValueDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumValueDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumValueDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ServiceDescriptorProto. */
+ interface IServiceDescriptorProto {
+
+ /** ServiceDescriptorProto name */
+ name?: (string|null);
+
+ /** ServiceDescriptorProto method */
+ method?: (google.protobuf.IMethodDescriptorProto[]|null);
+
+ /** ServiceDescriptorProto options */
+ options?: (google.protobuf.IServiceOptions|null);
+ }
+
+ /** Represents a ServiceDescriptorProto. */
+ class ServiceDescriptorProto implements IServiceDescriptorProto {
+
+ /**
+ * Constructs a new ServiceDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IServiceDescriptorProto);
+
+ /** ServiceDescriptorProto name. */
+ public name: string;
+
+ /** ServiceDescriptorProto method. */
+ public method: google.protobuf.IMethodDescriptorProto[];
+
+ /** ServiceDescriptorProto options. */
+ public options?: (google.protobuf.IServiceOptions|null);
+
+ /**
+ * Creates a new ServiceDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ServiceDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IServiceDescriptorProto): google.protobuf.ServiceDescriptorProto;
+
+ /**
+ * Encodes the specified ServiceDescriptorProto message. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages.
+ * @param message ServiceDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IServiceDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ServiceDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages.
+ * @param message ServiceDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IServiceDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ServiceDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ServiceDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ServiceDescriptorProto;
+
+ /**
+ * Decodes a ServiceDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ServiceDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ServiceDescriptorProto;
+
+ /**
+ * Verifies a ServiceDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ServiceDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ServiceDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.ServiceDescriptorProto;
+
+ /**
+ * Creates a plain object from a ServiceDescriptorProto message. Also converts values to other types if specified.
+ * @param message ServiceDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.ServiceDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ServiceDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ServiceDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MethodDescriptorProto. */
+ interface IMethodDescriptorProto {
+
+ /** MethodDescriptorProto name */
+ name?: (string|null);
+
+ /** MethodDescriptorProto inputType */
+ inputType?: (string|null);
+
+ /** MethodDescriptorProto outputType */
+ outputType?: (string|null);
+
+ /** MethodDescriptorProto options */
+ options?: (google.protobuf.IMethodOptions|null);
+
+ /** MethodDescriptorProto clientStreaming */
+ clientStreaming?: (boolean|null);
+
+ /** MethodDescriptorProto serverStreaming */
+ serverStreaming?: (boolean|null);
+ }
+
+ /** Represents a MethodDescriptorProto. */
+ class MethodDescriptorProto implements IMethodDescriptorProto {
+
+ /**
+ * Constructs a new MethodDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IMethodDescriptorProto);
+
+ /** MethodDescriptorProto name. */
+ public name: string;
+
+ /** MethodDescriptorProto inputType. */
+ public inputType: string;
+
+ /** MethodDescriptorProto outputType. */
+ public outputType: string;
+
+ /** MethodDescriptorProto options. */
+ public options?: (google.protobuf.IMethodOptions|null);
+
+ /** MethodDescriptorProto clientStreaming. */
+ public clientStreaming: boolean;
+
+ /** MethodDescriptorProto serverStreaming. */
+ public serverStreaming: boolean;
+
+ /**
+ * Creates a new MethodDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MethodDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IMethodDescriptorProto): google.protobuf.MethodDescriptorProto;
+
+ /**
+ * Encodes the specified MethodDescriptorProto message. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages.
+ * @param message MethodDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IMethodDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MethodDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages.
+ * @param message MethodDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IMethodDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MethodDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MethodDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MethodDescriptorProto;
+
+ /**
+ * Decodes a MethodDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MethodDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MethodDescriptorProto;
+
+ /**
+ * Verifies a MethodDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MethodDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MethodDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.MethodDescriptorProto;
+
+ /**
+ * Creates a plain object from a MethodDescriptorProto message. Also converts values to other types if specified.
+ * @param message MethodDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.MethodDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MethodDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MethodDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FileOptions. */
+ interface IFileOptions {
+
+ /** FileOptions javaPackage */
+ javaPackage?: (string|null);
+
+ /** FileOptions javaOuterClassname */
+ javaOuterClassname?: (string|null);
+
+ /** FileOptions javaMultipleFiles */
+ javaMultipleFiles?: (boolean|null);
+
+ /** FileOptions javaGenerateEqualsAndHash */
+ javaGenerateEqualsAndHash?: (boolean|null);
+
+ /** FileOptions javaStringCheckUtf8 */
+ javaStringCheckUtf8?: (boolean|null);
+
+ /** FileOptions optimizeFor */
+ optimizeFor?: (google.protobuf.FileOptions.OptimizeMode|keyof typeof google.protobuf.FileOptions.OptimizeMode|null);
+
+ /** FileOptions goPackage */
+ goPackage?: (string|null);
+
+ /** FileOptions ccGenericServices */
+ ccGenericServices?: (boolean|null);
+
+ /** FileOptions javaGenericServices */
+ javaGenericServices?: (boolean|null);
+
+ /** FileOptions pyGenericServices */
+ pyGenericServices?: (boolean|null);
+
+ /** FileOptions phpGenericServices */
+ phpGenericServices?: (boolean|null);
+
+ /** FileOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** FileOptions ccEnableArenas */
+ ccEnableArenas?: (boolean|null);
+
+ /** FileOptions objcClassPrefix */
+ objcClassPrefix?: (string|null);
+
+ /** FileOptions csharpNamespace */
+ csharpNamespace?: (string|null);
+
+ /** FileOptions swiftPrefix */
+ swiftPrefix?: (string|null);
+
+ /** FileOptions phpClassPrefix */
+ phpClassPrefix?: (string|null);
+
+ /** FileOptions phpNamespace */
+ phpNamespace?: (string|null);
+
+ /** FileOptions phpMetadataNamespace */
+ phpMetadataNamespace?: (string|null);
+
+ /** FileOptions rubyPackage */
+ rubyPackage?: (string|null);
+
+ /** FileOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** FileOptions .google.api.resourceDefinition */
+ ".google.api.resourceDefinition"?: (google.api.IResourceDescriptor[]|null);
+ }
+
+ /** Represents a FileOptions. */
+ class FileOptions implements IFileOptions {
+
+ /**
+ * Constructs a new FileOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFileOptions);
+
+ /** FileOptions javaPackage. */
+ public javaPackage: string;
+
+ /** FileOptions javaOuterClassname. */
+ public javaOuterClassname: string;
+
+ /** FileOptions javaMultipleFiles. */
+ public javaMultipleFiles: boolean;
+
+ /** FileOptions javaGenerateEqualsAndHash. */
+ public javaGenerateEqualsAndHash: boolean;
+
+ /** FileOptions javaStringCheckUtf8. */
+ public javaStringCheckUtf8: boolean;
+
+ /** FileOptions optimizeFor. */
+ public optimizeFor: (google.protobuf.FileOptions.OptimizeMode|keyof typeof google.protobuf.FileOptions.OptimizeMode);
+
+ /** FileOptions goPackage. */
+ public goPackage: string;
+
+ /** FileOptions ccGenericServices. */
+ public ccGenericServices: boolean;
+
+ /** FileOptions javaGenericServices. */
+ public javaGenericServices: boolean;
+
+ /** FileOptions pyGenericServices. */
+ public pyGenericServices: boolean;
+
+ /** FileOptions phpGenericServices. */
+ public phpGenericServices: boolean;
+
+ /** FileOptions deprecated. */
+ public deprecated: boolean;
+
+ /** FileOptions ccEnableArenas. */
+ public ccEnableArenas: boolean;
+
+ /** FileOptions objcClassPrefix. */
+ public objcClassPrefix: string;
+
+ /** FileOptions csharpNamespace. */
+ public csharpNamespace: string;
+
+ /** FileOptions swiftPrefix. */
+ public swiftPrefix: string;
+
+ /** FileOptions phpClassPrefix. */
+ public phpClassPrefix: string;
+
+ /** FileOptions phpNamespace. */
+ public phpNamespace: string;
+
+ /** FileOptions phpMetadataNamespace. */
+ public phpMetadataNamespace: string;
+
+ /** FileOptions rubyPackage. */
+ public rubyPackage: string;
+
+ /** FileOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new FileOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FileOptions instance
+ */
+ public static create(properties?: google.protobuf.IFileOptions): google.protobuf.FileOptions;
+
+ /**
+ * Encodes the specified FileOptions message. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages.
+ * @param message FileOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFileOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FileOptions message, length delimited. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages.
+ * @param message FileOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFileOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FileOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FileOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileOptions;
+
+ /**
+ * Decodes a FileOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FileOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileOptions;
+
+ /**
+ * Verifies a FileOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FileOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FileOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FileOptions;
+
+ /**
+ * Creates a plain object from a FileOptions message. Also converts values to other types if specified.
+ * @param message FileOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FileOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FileOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FileOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace FileOptions {
+
+ /** OptimizeMode enum. */
+ enum OptimizeMode {
+ SPEED = 1,
+ CODE_SIZE = 2,
+ LITE_RUNTIME = 3
+ }
+ }
+
+ /** Properties of a MessageOptions. */
+ interface IMessageOptions {
+
+ /** MessageOptions messageSetWireFormat */
+ messageSetWireFormat?: (boolean|null);
+
+ /** MessageOptions noStandardDescriptorAccessor */
+ noStandardDescriptorAccessor?: (boolean|null);
+
+ /** MessageOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** MessageOptions mapEntry */
+ mapEntry?: (boolean|null);
+
+ /** MessageOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** MessageOptions .google.api.resource */
+ ".google.api.resource"?: (google.api.IResourceDescriptor|null);
+ }
+
+ /** Represents a MessageOptions. */
+ class MessageOptions implements IMessageOptions {
+
+ /**
+ * Constructs a new MessageOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IMessageOptions);
+
+ /** MessageOptions messageSetWireFormat. */
+ public messageSetWireFormat: boolean;
+
+ /** MessageOptions noStandardDescriptorAccessor. */
+ public noStandardDescriptorAccessor: boolean;
+
+ /** MessageOptions deprecated. */
+ public deprecated: boolean;
+
+ /** MessageOptions mapEntry. */
+ public mapEntry: boolean;
+
+ /** MessageOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new MessageOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MessageOptions instance
+ */
+ public static create(properties?: google.protobuf.IMessageOptions): google.protobuf.MessageOptions;
+
+ /**
+ * Encodes the specified MessageOptions message. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages.
+ * @param message MessageOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IMessageOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MessageOptions message, length delimited. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages.
+ * @param message MessageOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IMessageOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MessageOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MessageOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MessageOptions;
+
+ /**
+ * Decodes a MessageOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MessageOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MessageOptions;
+
+ /**
+ * Verifies a MessageOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MessageOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MessageOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.MessageOptions;
+
+ /**
+ * Creates a plain object from a MessageOptions message. Also converts values to other types if specified.
+ * @param message MessageOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.MessageOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MessageOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MessageOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FieldOptions. */
+ interface IFieldOptions {
+
+ /** FieldOptions ctype */
+ ctype?: (google.protobuf.FieldOptions.CType|keyof typeof google.protobuf.FieldOptions.CType|null);
+
+ /** FieldOptions packed */
+ packed?: (boolean|null);
+
+ /** FieldOptions jstype */
+ jstype?: (google.protobuf.FieldOptions.JSType|keyof typeof google.protobuf.FieldOptions.JSType|null);
+
+ /** FieldOptions lazy */
+ lazy?: (boolean|null);
+
+ /** FieldOptions unverifiedLazy */
+ unverifiedLazy?: (boolean|null);
+
+ /** FieldOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** FieldOptions weak */
+ weak?: (boolean|null);
+
+ /** FieldOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** FieldOptions .google.api.fieldBehavior */
+ ".google.api.fieldBehavior"?: (google.api.FieldBehavior[]|null);
+
+ /** FieldOptions .google.api.resourceReference */
+ ".google.api.resourceReference"?: (google.api.IResourceReference|null);
+ }
+
+ /** Represents a FieldOptions. */
+ class FieldOptions implements IFieldOptions {
+
+ /**
+ * Constructs a new FieldOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFieldOptions);
+
+ /** FieldOptions ctype. */
+ public ctype: (google.protobuf.FieldOptions.CType|keyof typeof google.protobuf.FieldOptions.CType);
+
+ /** FieldOptions packed. */
+ public packed: boolean;
+
+ /** FieldOptions jstype. */
+ public jstype: (google.protobuf.FieldOptions.JSType|keyof typeof google.protobuf.FieldOptions.JSType);
+
+ /** FieldOptions lazy. */
+ public lazy: boolean;
+
+ /** FieldOptions unverifiedLazy. */
+ public unverifiedLazy: boolean;
+
+ /** FieldOptions deprecated. */
+ public deprecated: boolean;
+
+ /** FieldOptions weak. */
+ public weak: boolean;
+
+ /** FieldOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new FieldOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FieldOptions instance
+ */
+ public static create(properties?: google.protobuf.IFieldOptions): google.protobuf.FieldOptions;
+
+ /**
+ * Encodes the specified FieldOptions message. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages.
+ * @param message FieldOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFieldOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FieldOptions message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages.
+ * @param message FieldOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFieldOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FieldOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FieldOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldOptions;
+
+ /**
+ * Decodes a FieldOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FieldOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldOptions;
+
+ /**
+ * Verifies a FieldOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FieldOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FieldOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FieldOptions;
+
+ /**
+ * Creates a plain object from a FieldOptions message. Also converts values to other types if specified.
+ * @param message FieldOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FieldOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FieldOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FieldOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace FieldOptions {
+
+ /** CType enum. */
+ enum CType {
+ STRING = 0,
+ CORD = 1,
+ STRING_PIECE = 2
+ }
+
+ /** JSType enum. */
+ enum JSType {
+ JS_NORMAL = 0,
+ JS_STRING = 1,
+ JS_NUMBER = 2
+ }
+ }
+
+ /** Properties of an OneofOptions. */
+ interface IOneofOptions {
+
+ /** OneofOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+ }
+
+ /** Represents an OneofOptions. */
+ class OneofOptions implements IOneofOptions {
+
+ /**
+ * Constructs a new OneofOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IOneofOptions);
+
+ /** OneofOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new OneofOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OneofOptions instance
+ */
+ public static create(properties?: google.protobuf.IOneofOptions): google.protobuf.OneofOptions;
+
+ /**
+ * Encodes the specified OneofOptions message. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages.
+ * @param message OneofOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IOneofOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OneofOptions message, length delimited. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages.
+ * @param message OneofOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IOneofOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OneofOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OneofOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.OneofOptions;
+
+ /**
+ * Decodes an OneofOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OneofOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.OneofOptions;
+
+ /**
+ * Verifies an OneofOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an OneofOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OneofOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.OneofOptions;
+
+ /**
+ * Creates a plain object from an OneofOptions message. Also converts values to other types if specified.
+ * @param message OneofOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.OneofOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OneofOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OneofOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an EnumOptions. */
+ interface IEnumOptions {
+
+ /** EnumOptions allowAlias */
+ allowAlias?: (boolean|null);
+
+ /** EnumOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** EnumOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+ }
+
+ /** Represents an EnumOptions. */
+ class EnumOptions implements IEnumOptions {
+
+ /**
+ * Constructs a new EnumOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEnumOptions);
+
+ /** EnumOptions allowAlias. */
+ public allowAlias: boolean;
+
+ /** EnumOptions deprecated. */
+ public deprecated: boolean;
+
+ /** EnumOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new EnumOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumOptions instance
+ */
+ public static create(properties?: google.protobuf.IEnumOptions): google.protobuf.EnumOptions;
+
+ /**
+ * Encodes the specified EnumOptions message. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages.
+ * @param message EnumOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEnumOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages.
+ * @param message EnumOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEnumOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumOptions;
+
+ /**
+ * Decodes an EnumOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumOptions;
+
+ /**
+ * Verifies an EnumOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumOptions;
+
+ /**
+ * Creates a plain object from an EnumOptions message. Also converts values to other types if specified.
+ * @param message EnumOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an EnumValueOptions. */
+ interface IEnumValueOptions {
+
+ /** EnumValueOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** EnumValueOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+ }
+
+ /** Represents an EnumValueOptions. */
+ class EnumValueOptions implements IEnumValueOptions {
+
+ /**
+ * Constructs a new EnumValueOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEnumValueOptions);
+
+ /** EnumValueOptions deprecated. */
+ public deprecated: boolean;
+
+ /** EnumValueOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new EnumValueOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumValueOptions instance
+ */
+ public static create(properties?: google.protobuf.IEnumValueOptions): google.protobuf.EnumValueOptions;
+
+ /**
+ * Encodes the specified EnumValueOptions message. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages.
+ * @param message EnumValueOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEnumValueOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumValueOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages.
+ * @param message EnumValueOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEnumValueOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumValueOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumValueOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumValueOptions;
+
+ /**
+ * Decodes an EnumValueOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumValueOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumValueOptions;
+
+ /**
+ * Verifies an EnumValueOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumValueOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumValueOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumValueOptions;
+
+ /**
+ * Creates a plain object from an EnumValueOptions message. Also converts values to other types if specified.
+ * @param message EnumValueOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumValueOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumValueOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumValueOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ServiceOptions. */
+ interface IServiceOptions {
+
+ /** ServiceOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** ServiceOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** ServiceOptions .google.api.defaultHost */
+ ".google.api.defaultHost"?: (string|null);
+
+ /** ServiceOptions .google.api.oauthScopes */
+ ".google.api.oauthScopes"?: (string|null);
+ }
+
+ /** Represents a ServiceOptions. */
+ class ServiceOptions implements IServiceOptions {
+
+ /**
+ * Constructs a new ServiceOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IServiceOptions);
+
+ /** ServiceOptions deprecated. */
+ public deprecated: boolean;
+
+ /** ServiceOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new ServiceOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ServiceOptions instance
+ */
+ public static create(properties?: google.protobuf.IServiceOptions): google.protobuf.ServiceOptions;
+
+ /**
+ * Encodes the specified ServiceOptions message. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages.
+ * @param message ServiceOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IServiceOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ServiceOptions message, length delimited. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages.
+ * @param message ServiceOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IServiceOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ServiceOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ServiceOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ServiceOptions;
+
+ /**
+ * Decodes a ServiceOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ServiceOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ServiceOptions;
+
+ /**
+ * Verifies a ServiceOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ServiceOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ServiceOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.ServiceOptions;
+
+ /**
+ * Creates a plain object from a ServiceOptions message. Also converts values to other types if specified.
+ * @param message ServiceOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.ServiceOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ServiceOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ServiceOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MethodOptions. */
+ interface IMethodOptions {
+
+ /** MethodOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** MethodOptions idempotencyLevel */
+ idempotencyLevel?: (google.protobuf.MethodOptions.IdempotencyLevel|keyof typeof google.protobuf.MethodOptions.IdempotencyLevel|null);
+
+ /** MethodOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** MethodOptions .google.api.http */
+ ".google.api.http"?: (google.api.IHttpRule|null);
+
+ /** MethodOptions .google.api.methodSignature */
+ ".google.api.methodSignature"?: (string[]|null);
+
+ /** MethodOptions .google.longrunning.operationInfo */
+ ".google.longrunning.operationInfo"?: (google.longrunning.IOperationInfo|null);
+ }
+
+ /** Represents a MethodOptions. */
+ class MethodOptions implements IMethodOptions {
+
+ /**
+ * Constructs a new MethodOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IMethodOptions);
+
+ /** MethodOptions deprecated. */
+ public deprecated: boolean;
+
+ /** MethodOptions idempotencyLevel. */
+ public idempotencyLevel: (google.protobuf.MethodOptions.IdempotencyLevel|keyof typeof google.protobuf.MethodOptions.IdempotencyLevel);
+
+ /** MethodOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new MethodOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MethodOptions instance
+ */
+ public static create(properties?: google.protobuf.IMethodOptions): google.protobuf.MethodOptions;
+
+ /**
+ * Encodes the specified MethodOptions message. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages.
+ * @param message MethodOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IMethodOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MethodOptions message, length delimited. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages.
+ * @param message MethodOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IMethodOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MethodOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MethodOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MethodOptions;
+
+ /**
+ * Decodes a MethodOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MethodOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MethodOptions;
+
+ /**
+ * Verifies a MethodOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MethodOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MethodOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.MethodOptions;
+
+ /**
+ * Creates a plain object from a MethodOptions message. Also converts values to other types if specified.
+ * @param message MethodOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.MethodOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MethodOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MethodOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace MethodOptions {
+
+ /** IdempotencyLevel enum. */
+ enum IdempotencyLevel {
+ IDEMPOTENCY_UNKNOWN = 0,
+ NO_SIDE_EFFECTS = 1,
+ IDEMPOTENT = 2
+ }
+ }
+
+ /** Properties of an UninterpretedOption. */
+ interface IUninterpretedOption {
+
+ /** UninterpretedOption name */
+ name?: (google.protobuf.UninterpretedOption.INamePart[]|null);
+
+ /** UninterpretedOption identifierValue */
+ identifierValue?: (string|null);
+
+ /** UninterpretedOption positiveIntValue */
+ positiveIntValue?: (number|Long|string|null);
+
+ /** UninterpretedOption negativeIntValue */
+ negativeIntValue?: (number|Long|string|null);
+
+ /** UninterpretedOption doubleValue */
+ doubleValue?: (number|null);
+
+ /** UninterpretedOption stringValue */
+ stringValue?: (Uint8Array|string|null);
+
+ /** UninterpretedOption aggregateValue */
+ aggregateValue?: (string|null);
+ }
+
+ /** Represents an UninterpretedOption. */
+ class UninterpretedOption implements IUninterpretedOption {
+
+ /**
+ * Constructs a new UninterpretedOption.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IUninterpretedOption);
+
+ /** UninterpretedOption name. */
+ public name: google.protobuf.UninterpretedOption.INamePart[];
+
+ /** UninterpretedOption identifierValue. */
+ public identifierValue: string;
+
+ /** UninterpretedOption positiveIntValue. */
+ public positiveIntValue: (number|Long|string);
+
+ /** UninterpretedOption negativeIntValue. */
+ public negativeIntValue: (number|Long|string);
+
+ /** UninterpretedOption doubleValue. */
+ public doubleValue: number;
+
+ /** UninterpretedOption stringValue. */
+ public stringValue: (Uint8Array|string);
+
+ /** UninterpretedOption aggregateValue. */
+ public aggregateValue: string;
+
+ /**
+ * Creates a new UninterpretedOption instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UninterpretedOption instance
+ */
+ public static create(properties?: google.protobuf.IUninterpretedOption): google.protobuf.UninterpretedOption;
+
+ /**
+ * Encodes the specified UninterpretedOption message. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages.
+ * @param message UninterpretedOption message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IUninterpretedOption, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UninterpretedOption message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages.
+ * @param message UninterpretedOption message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IUninterpretedOption, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UninterpretedOption message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UninterpretedOption
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UninterpretedOption;
+
+ /**
+ * Decodes an UninterpretedOption message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UninterpretedOption
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UninterpretedOption;
+
+ /**
+ * Verifies an UninterpretedOption message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an UninterpretedOption message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UninterpretedOption
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.UninterpretedOption;
+
+ /**
+ * Creates a plain object from an UninterpretedOption message. Also converts values to other types if specified.
+ * @param message UninterpretedOption
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.UninterpretedOption, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UninterpretedOption to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UninterpretedOption
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace UninterpretedOption {
+
+ /** Properties of a NamePart. */
+ interface INamePart {
+
+ /** NamePart namePart */
+ namePart: string;
+
+ /** NamePart isExtension */
+ isExtension: boolean;
+ }
+
+ /** Represents a NamePart. */
+ class NamePart implements INamePart {
+
+ /**
+ * Constructs a new NamePart.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.UninterpretedOption.INamePart);
+
+ /** NamePart namePart. */
+ public namePart: string;
+
+ /** NamePart isExtension. */
+ public isExtension: boolean;
+
+ /**
+ * Creates a new NamePart instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns NamePart instance
+ */
+ public static create(properties?: google.protobuf.UninterpretedOption.INamePart): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Encodes the specified NamePart message. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages.
+ * @param message NamePart message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.UninterpretedOption.INamePart, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified NamePart message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages.
+ * @param message NamePart message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.UninterpretedOption.INamePart, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a NamePart message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns NamePart
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Decodes a NamePart message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns NamePart
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Verifies a NamePart message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a NamePart message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns NamePart
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Creates a plain object from a NamePart message. Also converts values to other types if specified.
+ * @param message NamePart
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.UninterpretedOption.NamePart, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this NamePart to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for NamePart
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a SourceCodeInfo. */
+ interface ISourceCodeInfo {
+
+ /** SourceCodeInfo location */
+ location?: (google.protobuf.SourceCodeInfo.ILocation[]|null);
+ }
+
+ /** Represents a SourceCodeInfo. */
+ class SourceCodeInfo implements ISourceCodeInfo {
+
+ /**
+ * Constructs a new SourceCodeInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.ISourceCodeInfo);
+
+ /** SourceCodeInfo location. */
+ public location: google.protobuf.SourceCodeInfo.ILocation[];
+
+ /**
+ * Creates a new SourceCodeInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SourceCodeInfo instance
+ */
+ public static create(properties?: google.protobuf.ISourceCodeInfo): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Encodes the specified SourceCodeInfo message. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages.
+ * @param message SourceCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.ISourceCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SourceCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages.
+ * @param message SourceCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.ISourceCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SourceCodeInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SourceCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Decodes a SourceCodeInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SourceCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Verifies a SourceCodeInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SourceCodeInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SourceCodeInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Creates a plain object from a SourceCodeInfo message. Also converts values to other types if specified.
+ * @param message SourceCodeInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.SourceCodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SourceCodeInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SourceCodeInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace SourceCodeInfo {
+
+ /** Properties of a Location. */
+ interface ILocation {
+
+ /** Location path */
+ path?: (number[]|null);
+
+ /** Location span */
+ span?: (number[]|null);
+
+ /** Location leadingComments */
+ leadingComments?: (string|null);
+
+ /** Location trailingComments */
+ trailingComments?: (string|null);
+
+ /** Location leadingDetachedComments */
+ leadingDetachedComments?: (string[]|null);
+ }
+
+ /** Represents a Location. */
+ class Location implements ILocation {
+
+ /**
+ * Constructs a new Location.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.SourceCodeInfo.ILocation);
+
+ /** Location path. */
+ public path: number[];
+
+ /** Location span. */
+ public span: number[];
+
+ /** Location leadingComments. */
+ public leadingComments: string;
+
+ /** Location trailingComments. */
+ public trailingComments: string;
+
+ /** Location leadingDetachedComments. */
+ public leadingDetachedComments: string[];
+
+ /**
+ * Creates a new Location instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Location instance
+ */
+ public static create(properties?: google.protobuf.SourceCodeInfo.ILocation): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Encodes the specified Location message. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages.
+ * @param message Location message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.SourceCodeInfo.ILocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Location message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages.
+ * @param message Location message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.SourceCodeInfo.ILocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Location message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Location
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Decodes a Location message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Location
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Verifies a Location message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Location message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Location
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Creates a plain object from a Location message. Also converts values to other types if specified.
+ * @param message Location
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.SourceCodeInfo.Location, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Location to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Location
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a GeneratedCodeInfo. */
+ interface IGeneratedCodeInfo {
+
+ /** GeneratedCodeInfo annotation */
+ annotation?: (google.protobuf.GeneratedCodeInfo.IAnnotation[]|null);
+ }
+
+ /** Represents a GeneratedCodeInfo. */
+ class GeneratedCodeInfo implements IGeneratedCodeInfo {
+
+ /**
+ * Constructs a new GeneratedCodeInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IGeneratedCodeInfo);
+
+ /** GeneratedCodeInfo annotation. */
+ public annotation: google.protobuf.GeneratedCodeInfo.IAnnotation[];
+
+ /**
+ * Creates a new GeneratedCodeInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GeneratedCodeInfo instance
+ */
+ public static create(properties?: google.protobuf.IGeneratedCodeInfo): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Encodes the specified GeneratedCodeInfo message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages.
+ * @param message GeneratedCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IGeneratedCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GeneratedCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages.
+ * @param message GeneratedCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IGeneratedCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GeneratedCodeInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GeneratedCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Decodes a GeneratedCodeInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GeneratedCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Verifies a GeneratedCodeInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GeneratedCodeInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GeneratedCodeInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Creates a plain object from a GeneratedCodeInfo message. Also converts values to other types if specified.
+ * @param message GeneratedCodeInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.GeneratedCodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GeneratedCodeInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GeneratedCodeInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace GeneratedCodeInfo {
+
+ /** Properties of an Annotation. */
+ interface IAnnotation {
+
+ /** Annotation path */
+ path?: (number[]|null);
+
+ /** Annotation sourceFile */
+ sourceFile?: (string|null);
+
+ /** Annotation begin */
+ begin?: (number|null);
+
+ /** Annotation end */
+ end?: (number|null);
+
+ /** Annotation semantic */
+ semantic?: (google.protobuf.GeneratedCodeInfo.Annotation.Semantic|keyof typeof google.protobuf.GeneratedCodeInfo.Annotation.Semantic|null);
+ }
+
+ /** Represents an Annotation. */
+ class Annotation implements IAnnotation {
+
+ /**
+ * Constructs a new Annotation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.GeneratedCodeInfo.IAnnotation);
+
+ /** Annotation path. */
+ public path: number[];
+
+ /** Annotation sourceFile. */
+ public sourceFile: string;
+
+ /** Annotation begin. */
+ public begin: number;
+
+ /** Annotation end. */
+ public end: number;
+
+ /** Annotation semantic. */
+ public semantic: (google.protobuf.GeneratedCodeInfo.Annotation.Semantic|keyof typeof google.protobuf.GeneratedCodeInfo.Annotation.Semantic);
+
+ /**
+ * Creates a new Annotation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Annotation instance
+ */
+ public static create(properties?: google.protobuf.GeneratedCodeInfo.IAnnotation): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Encodes the specified Annotation message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages.
+ * @param message Annotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.GeneratedCodeInfo.IAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Annotation message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages.
+ * @param message Annotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.GeneratedCodeInfo.IAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Annotation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Annotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Decodes an Annotation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Annotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Verifies an Annotation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Annotation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Annotation
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Creates a plain object from an Annotation message. Also converts values to other types if specified.
+ * @param message Annotation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.GeneratedCodeInfo.Annotation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Annotation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Annotation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Annotation {
+
+ /** Semantic enum. */
+ enum Semantic {
+ NONE = 0,
+ SET = 1,
+ ALIAS = 2
+ }
+ }
+ }
+
+ /** Properties of a Duration. */
+ interface IDuration {
+
+ /** Duration seconds */
+ seconds?: (number|Long|string|null);
+
+ /** Duration nanos */
+ nanos?: (number|null);
+ }
+
+ /** Represents a Duration. */
+ class Duration implements IDuration {
+
+ /**
+ * Constructs a new Duration.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IDuration);
+
+ /** Duration seconds. */
+ public seconds: (number|Long|string);
+
+ /** Duration nanos. */
+ public nanos: number;
+
+ /**
+ * Creates a new Duration instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Duration instance
+ */
+ public static create(properties?: google.protobuf.IDuration): google.protobuf.Duration;
+
+ /**
+ * Encodes the specified Duration message. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages.
+ * @param message Duration message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Duration message, length delimited. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages.
+ * @param message Duration message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Duration message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Duration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Duration;
+
+ /**
+ * Decodes a Duration message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Duration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Duration;
+
+ /**
+ * Verifies a Duration message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Duration message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Duration
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Duration;
+
+ /**
+ * Creates a plain object from a Duration message. Also converts values to other types if specified.
+ * @param message Duration
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Duration, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Duration to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Duration
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Timestamp. */
+ interface ITimestamp {
+
+ /** Timestamp seconds */
+ seconds?: (number|Long|string|null);
+
+ /** Timestamp nanos */
+ nanos?: (number|null);
+ }
+
+ /** Represents a Timestamp. */
+ class Timestamp implements ITimestamp {
+
+ /**
+ * Constructs a new Timestamp.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.ITimestamp);
+
+ /** Timestamp seconds. */
+ public seconds: (number|Long|string);
+
+ /** Timestamp nanos. */
+ public nanos: number;
+
+ /**
+ * Creates a new Timestamp instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Timestamp instance
+ */
+ public static create(properties?: google.protobuf.ITimestamp): google.protobuf.Timestamp;
+
+ /**
+ * Encodes the specified Timestamp message. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages.
+ * @param message Timestamp message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Timestamp message, length delimited. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages.
+ * @param message Timestamp message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Timestamp message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Timestamp
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Timestamp;
+
+ /**
+ * Decodes a Timestamp message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Timestamp
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Timestamp;
+
+ /**
+ * Verifies a Timestamp message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Timestamp message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Timestamp
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Timestamp;
+
+ /**
+ * Creates a plain object from a Timestamp message. Also converts values to other types if specified.
+ * @param message Timestamp
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Timestamp, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Timestamp to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Timestamp
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Any. */
+ interface IAny {
+
+ /** Any type_url */
+ type_url?: (string|null);
+
+ /** Any value */
+ value?: (Uint8Array|string|null);
+ }
+
+ /** Represents an Any. */
+ class Any implements IAny {
+
+ /**
+ * Constructs a new Any.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IAny);
+
+ /** Any type_url. */
+ public type_url: string;
+
+ /** Any value. */
+ public value: (Uint8Array|string);
+
+ /**
+ * Creates a new Any instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Any instance
+ */
+ public static create(properties?: google.protobuf.IAny): google.protobuf.Any;
+
+ /**
+ * Encodes the specified Any message. Does not implicitly {@link google.protobuf.Any.verify|verify} messages.
+ * @param message Any message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IAny, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Any message, length delimited. Does not implicitly {@link google.protobuf.Any.verify|verify} messages.
+ * @param message Any message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IAny, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Any message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Any
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Any;
+
+ /**
+ * Decodes an Any message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Any
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Any;
+
+ /**
+ * Verifies an Any message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Any message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Any
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Any;
+
+ /**
+ * Creates a plain object from an Any message. Also converts values to other types if specified.
+ * @param message Any
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Any, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Any to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Any
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Empty. */
+ interface IEmpty {
+ }
+
+ /** Represents an Empty. */
+ class Empty implements IEmpty {
+
+ /**
+ * Constructs a new Empty.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEmpty);
+
+ /**
+ * Creates a new Empty instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Empty instance
+ */
+ public static create(properties?: google.protobuf.IEmpty): google.protobuf.Empty;
+
+ /**
+ * Encodes the specified Empty message. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages.
+ * @param message Empty message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEmpty, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Empty message, length delimited. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages.
+ * @param message Empty message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEmpty, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Empty message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Empty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Empty;
+
+ /**
+ * Decodes an Empty message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Empty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Empty;
+
+ /**
+ * Verifies an Empty message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Empty message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Empty
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Empty;
+
+ /**
+ * Creates a plain object from an Empty message. Also converts values to other types if specified.
+ * @param message Empty
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Empty, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Empty to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Empty
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FieldMask. */
+ interface IFieldMask {
+
+ /** FieldMask paths */
+ paths?: (string[]|null);
+ }
+
+ /** Represents a FieldMask. */
+ class FieldMask implements IFieldMask {
+
+ /**
+ * Constructs a new FieldMask.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFieldMask);
+
+ /** FieldMask paths. */
+ public paths: string[];
+
+ /**
+ * Creates a new FieldMask instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FieldMask instance
+ */
+ public static create(properties?: google.protobuf.IFieldMask): google.protobuf.FieldMask;
+
+ /**
+ * Encodes the specified FieldMask message. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages.
+ * @param message FieldMask message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFieldMask, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FieldMask message, length delimited. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages.
+ * @param message FieldMask message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFieldMask, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FieldMask message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FieldMask
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldMask;
+
+ /**
+ * Decodes a FieldMask message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FieldMask
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldMask;
+
+ /**
+ * Verifies a FieldMask message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FieldMask message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FieldMask
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FieldMask;
+
+ /**
+ * Creates a plain object from a FieldMask message. Also converts values to other types if specified.
+ * @param message FieldMask
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FieldMask, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FieldMask to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FieldMask
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace rpc. */
+ namespace rpc {
+
+ /** Properties of a Status. */
+ interface IStatus {
+
+ /** Status code */
+ code?: (number|null);
+
+ /** Status message */
+ message?: (string|null);
+
+ /** Status details */
+ details?: (google.protobuf.IAny[]|null);
+ }
+
+ /** Represents a Status. */
+ class Status implements IStatus {
+
+ /**
+ * Constructs a new Status.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.rpc.IStatus);
+
+ /** Status code. */
+ public code: number;
+
+ /** Status message. */
+ public message: string;
+
+ /** Status details. */
+ public details: google.protobuf.IAny[];
+
+ /**
+ * Creates a new Status instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Status instance
+ */
+ public static create(properties?: google.rpc.IStatus): google.rpc.Status;
+
+ /**
+ * Encodes the specified Status message. Does not implicitly {@link google.rpc.Status.verify|verify} messages.
+ * @param message Status message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.rpc.IStatus, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Status message, length delimited. Does not implicitly {@link google.rpc.Status.verify|verify} messages.
+ * @param message Status message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.rpc.IStatus, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Status message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Status
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.rpc.Status;
+
+ /**
+ * Decodes a Status message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Status
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.rpc.Status;
+
+ /**
+ * Verifies a Status message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Status message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Status
+ */
+ public static fromObject(object: { [k: string]: any }): google.rpc.Status;
+
+ /**
+ * Creates a plain object from a Status message. Also converts values to other types if specified.
+ * @param message Status
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.rpc.Status, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Status to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Status
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace longrunning. */
+ namespace longrunning {
+
+ /** Represents an Operations */
+ class Operations extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new Operations service.
+ * @param rpcImpl RPC implementation
+ * @param [requestDelimited=false] Whether requests are length-delimited
+ * @param [responseDelimited=false] Whether responses are length-delimited
+ */
+ constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);
+
+ /**
+ * Creates new Operations service using the specified rpc implementation.
+ * @param rpcImpl RPC implementation
+ * @param [requestDelimited=false] Whether requests are length-delimited
+ * @param [responseDelimited=false] Whether responses are length-delimited
+ * @returns RPC service. Useful where requests and/or responses are streamed.
+ */
+ public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): Operations;
+
+ /**
+ * Calls ListOperations.
+ * @param request ListOperationsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListOperationsResponse
+ */
+ public listOperations(request: google.longrunning.IListOperationsRequest, callback: google.longrunning.Operations.ListOperationsCallback): void;
+
+ /**
+ * Calls ListOperations.
+ * @param request ListOperationsRequest message or plain object
+ * @returns Promise
+ */
+ public listOperations(request: google.longrunning.IListOperationsRequest): Promise;
+
+ /**
+ * Calls GetOperation.
+ * @param request GetOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public getOperation(request: google.longrunning.IGetOperationRequest, callback: google.longrunning.Operations.GetOperationCallback): void;
+
+ /**
+ * Calls GetOperation.
+ * @param request GetOperationRequest message or plain object
+ * @returns Promise
+ */
+ public getOperation(request: google.longrunning.IGetOperationRequest): Promise;
+
+ /**
+ * Calls DeleteOperation.
+ * @param request DeleteOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteOperation(request: google.longrunning.IDeleteOperationRequest, callback: google.longrunning.Operations.DeleteOperationCallback): void;
+
+ /**
+ * Calls DeleteOperation.
+ * @param request DeleteOperationRequest message or plain object
+ * @returns Promise
+ */
+ public deleteOperation(request: google.longrunning.IDeleteOperationRequest): Promise;
+
+ /**
+ * Calls CancelOperation.
+ * @param request CancelOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public cancelOperation(request: google.longrunning.ICancelOperationRequest, callback: google.longrunning.Operations.CancelOperationCallback): void;
+
+ /**
+ * Calls CancelOperation.
+ * @param request CancelOperationRequest message or plain object
+ * @returns Promise
+ */
+ public cancelOperation(request: google.longrunning.ICancelOperationRequest): Promise;
+
+ /**
+ * Calls WaitOperation.
+ * @param request WaitOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public waitOperation(request: google.longrunning.IWaitOperationRequest, callback: google.longrunning.Operations.WaitOperationCallback): void;
+
+ /**
+ * Calls WaitOperation.
+ * @param request WaitOperationRequest message or plain object
+ * @returns Promise
+ */
+ public waitOperation(request: google.longrunning.IWaitOperationRequest): Promise;
+ }
+
+ namespace Operations {
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|listOperations}.
+ * @param error Error, if any
+ * @param [response] ListOperationsResponse
+ */
+ type ListOperationsCallback = (error: (Error|null), response?: google.longrunning.ListOperationsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|getOperation}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type GetOperationCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|deleteOperation}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteOperationCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|cancelOperation}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type CancelOperationCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|waitOperation}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type WaitOperationCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+ }
+
+ /** Properties of an Operation. */
+ interface IOperation {
+
+ /** Operation name */
+ name?: (string|null);
+
+ /** Operation metadata */
+ metadata?: (google.protobuf.IAny|null);
+
+ /** Operation done */
+ done?: (boolean|null);
+
+ /** Operation error */
+ error?: (google.rpc.IStatus|null);
+
+ /** Operation response */
+ response?: (google.protobuf.IAny|null);
+ }
+
+ /** Represents an Operation. */
+ class Operation implements IOperation {
+
+ /**
+ * Constructs a new Operation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IOperation);
+
+ /** Operation name. */
+ public name: string;
+
+ /** Operation metadata. */
+ public metadata?: (google.protobuf.IAny|null);
+
+ /** Operation done. */
+ public done: boolean;
+
+ /** Operation error. */
+ public error?: (google.rpc.IStatus|null);
+
+ /** Operation response. */
+ public response?: (google.protobuf.IAny|null);
+
+ /** Operation result. */
+ public result?: ("error"|"response");
+
+ /**
+ * Creates a new Operation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Operation instance
+ */
+ public static create(properties?: google.longrunning.IOperation): google.longrunning.Operation;
+
+ /**
+ * Encodes the specified Operation message. Does not implicitly {@link google.longrunning.Operation.verify|verify} messages.
+ * @param message Operation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IOperation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Operation message, length delimited. Does not implicitly {@link google.longrunning.Operation.verify|verify} messages.
+ * @param message Operation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IOperation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Operation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Operation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.Operation;
+
+ /**
+ * Decodes an Operation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Operation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.Operation;
+
+ /**
+ * Verifies an Operation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Operation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Operation
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.Operation;
+
+ /**
+ * Creates a plain object from an Operation message. Also converts values to other types if specified.
+ * @param message Operation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.Operation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Operation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Operation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetOperationRequest. */
+ interface IGetOperationRequest {
+
+ /** GetOperationRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetOperationRequest. */
+ class GetOperationRequest implements IGetOperationRequest {
+
+ /**
+ * Constructs a new GetOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IGetOperationRequest);
+
+ /** GetOperationRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.IGetOperationRequest): google.longrunning.GetOperationRequest;
+
+ /**
+ * Encodes the specified GetOperationRequest message. Does not implicitly {@link google.longrunning.GetOperationRequest.verify|verify} messages.
+ * @param message GetOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IGetOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.GetOperationRequest.verify|verify} messages.
+ * @param message GetOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IGetOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.GetOperationRequest;
+
+ /**
+ * Decodes a GetOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.GetOperationRequest;
+
+ /**
+ * Verifies a GetOperationRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.GetOperationRequest;
+
+ /**
+ * Creates a plain object from a GetOperationRequest message. Also converts values to other types if specified.
+ * @param message GetOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.GetOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListOperationsRequest. */
+ interface IListOperationsRequest {
+
+ /** ListOperationsRequest name */
+ name?: (string|null);
+
+ /** ListOperationsRequest filter */
+ filter?: (string|null);
+
+ /** ListOperationsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListOperationsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListOperationsRequest. */
+ class ListOperationsRequest implements IListOperationsRequest {
+
+ /**
+ * Constructs a new ListOperationsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IListOperationsRequest);
+
+ /** ListOperationsRequest name. */
+ public name: string;
+
+ /** ListOperationsRequest filter. */
+ public filter: string;
+
+ /** ListOperationsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListOperationsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListOperationsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListOperationsRequest instance
+ */
+ public static create(properties?: google.longrunning.IListOperationsRequest): google.longrunning.ListOperationsRequest;
+
+ /**
+ * Encodes the specified ListOperationsRequest message. Does not implicitly {@link google.longrunning.ListOperationsRequest.verify|verify} messages.
+ * @param message ListOperationsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IListOperationsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListOperationsRequest message, length delimited. Does not implicitly {@link google.longrunning.ListOperationsRequest.verify|verify} messages.
+ * @param message ListOperationsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IListOperationsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListOperationsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListOperationsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.ListOperationsRequest;
+
+ /**
+ * Decodes a ListOperationsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListOperationsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.ListOperationsRequest;
+
+ /**
+ * Verifies a ListOperationsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListOperationsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListOperationsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.ListOperationsRequest;
+
+ /**
+ * Creates a plain object from a ListOperationsRequest message. Also converts values to other types if specified.
+ * @param message ListOperationsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.ListOperationsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListOperationsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListOperationsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListOperationsResponse. */
+ interface IListOperationsResponse {
+
+ /** ListOperationsResponse operations */
+ operations?: (google.longrunning.IOperation[]|null);
+
+ /** ListOperationsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListOperationsResponse. */
+ class ListOperationsResponse implements IListOperationsResponse {
+
+ /**
+ * Constructs a new ListOperationsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IListOperationsResponse);
+
+ /** ListOperationsResponse operations. */
+ public operations: google.longrunning.IOperation[];
+
+ /** ListOperationsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListOperationsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListOperationsResponse instance
+ */
+ public static create(properties?: google.longrunning.IListOperationsResponse): google.longrunning.ListOperationsResponse;
+
+ /**
+ * Encodes the specified ListOperationsResponse message. Does not implicitly {@link google.longrunning.ListOperationsResponse.verify|verify} messages.
+ * @param message ListOperationsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IListOperationsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListOperationsResponse message, length delimited. Does not implicitly {@link google.longrunning.ListOperationsResponse.verify|verify} messages.
+ * @param message ListOperationsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IListOperationsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListOperationsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListOperationsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.ListOperationsResponse;
+
+ /**
+ * Decodes a ListOperationsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListOperationsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.ListOperationsResponse;
+
+ /**
+ * Verifies a ListOperationsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListOperationsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListOperationsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.ListOperationsResponse;
+
+ /**
+ * Creates a plain object from a ListOperationsResponse message. Also converts values to other types if specified.
+ * @param message ListOperationsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.ListOperationsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListOperationsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListOperationsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CancelOperationRequest. */
+ interface ICancelOperationRequest {
+
+ /** CancelOperationRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a CancelOperationRequest. */
+ class CancelOperationRequest implements ICancelOperationRequest {
+
+ /**
+ * Constructs a new CancelOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.ICancelOperationRequest);
+
+ /** CancelOperationRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new CancelOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CancelOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.ICancelOperationRequest): google.longrunning.CancelOperationRequest;
+
+ /**
+ * Encodes the specified CancelOperationRequest message. Does not implicitly {@link google.longrunning.CancelOperationRequest.verify|verify} messages.
+ * @param message CancelOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.ICancelOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CancelOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.CancelOperationRequest.verify|verify} messages.
+ * @param message CancelOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.ICancelOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CancelOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CancelOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.CancelOperationRequest;
+
+ /**
+ * Decodes a CancelOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CancelOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.CancelOperationRequest;
+
+ /**
+ * Verifies a CancelOperationRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CancelOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CancelOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.CancelOperationRequest;
+
+ /**
+ * Creates a plain object from a CancelOperationRequest message. Also converts values to other types if specified.
+ * @param message CancelOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.CancelOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CancelOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CancelOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteOperationRequest. */
+ interface IDeleteOperationRequest {
+
+ /** DeleteOperationRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteOperationRequest. */
+ class DeleteOperationRequest implements IDeleteOperationRequest {
+
+ /**
+ * Constructs a new DeleteOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IDeleteOperationRequest);
+
+ /** DeleteOperationRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.IDeleteOperationRequest): google.longrunning.DeleteOperationRequest;
+
+ /**
+ * Encodes the specified DeleteOperationRequest message. Does not implicitly {@link google.longrunning.DeleteOperationRequest.verify|verify} messages.
+ * @param message DeleteOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IDeleteOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.DeleteOperationRequest.verify|verify} messages.
+ * @param message DeleteOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IDeleteOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.DeleteOperationRequest;
+
+ /**
+ * Decodes a DeleteOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.DeleteOperationRequest;
+
+ /**
+ * Verifies a DeleteOperationRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.DeleteOperationRequest;
+
+ /**
+ * Creates a plain object from a DeleteOperationRequest message. Also converts values to other types if specified.
+ * @param message DeleteOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.DeleteOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a WaitOperationRequest. */
+ interface IWaitOperationRequest {
+
+ /** WaitOperationRequest name */
+ name?: (string|null);
+
+ /** WaitOperationRequest timeout */
+ timeout?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents a WaitOperationRequest. */
+ class WaitOperationRequest implements IWaitOperationRequest {
+
+ /**
+ * Constructs a new WaitOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IWaitOperationRequest);
+
+ /** WaitOperationRequest name. */
+ public name: string;
+
+ /** WaitOperationRequest timeout. */
+ public timeout?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new WaitOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns WaitOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.IWaitOperationRequest): google.longrunning.WaitOperationRequest;
+
+ /**
+ * Encodes the specified WaitOperationRequest message. Does not implicitly {@link google.longrunning.WaitOperationRequest.verify|verify} messages.
+ * @param message WaitOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IWaitOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified WaitOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.WaitOperationRequest.verify|verify} messages.
+ * @param message WaitOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IWaitOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a WaitOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns WaitOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.WaitOperationRequest;
+
+ /**
+ * Decodes a WaitOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns WaitOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.WaitOperationRequest;
+
+ /**
+ * Verifies a WaitOperationRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a WaitOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns WaitOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.WaitOperationRequest;
+
+ /**
+ * Creates a plain object from a WaitOperationRequest message. Also converts values to other types if specified.
+ * @param message WaitOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.WaitOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this WaitOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for WaitOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an OperationInfo. */
+ interface IOperationInfo {
+
+ /** OperationInfo responseType */
+ responseType?: (string|null);
+
+ /** OperationInfo metadataType */
+ metadataType?: (string|null);
+ }
+
+ /** Represents an OperationInfo. */
+ class OperationInfo implements IOperationInfo {
+
+ /**
+ * Constructs a new OperationInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IOperationInfo);
+
+ /** OperationInfo responseType. */
+ public responseType: string;
+
+ /** OperationInfo metadataType. */
+ public metadataType: string;
+
+ /**
+ * Creates a new OperationInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OperationInfo instance
+ */
+ public static create(properties?: google.longrunning.IOperationInfo): google.longrunning.OperationInfo;
+
+ /**
+ * Encodes the specified OperationInfo message. Does not implicitly {@link google.longrunning.OperationInfo.verify|verify} messages.
+ * @param message OperationInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IOperationInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OperationInfo message, length delimited. Does not implicitly {@link google.longrunning.OperationInfo.verify|verify} messages.
+ * @param message OperationInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IOperationInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OperationInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OperationInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.OperationInfo;
+
+ /**
+ * Decodes an OperationInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OperationInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.OperationInfo;
+
+ /**
+ * Verifies an OperationInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an OperationInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OperationInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.OperationInfo;
+
+ /**
+ * Creates a plain object from an OperationInfo message. Also converts values to other types if specified.
+ * @param message OperationInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.OperationInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OperationInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OperationInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+}
diff --git a/packages/google-cloud-video-livestream/protos/protos.js b/packages/google-cloud-video-livestream/protos/protos.js
new file mode 100644
index 00000000000..e0568481596
--- /dev/null
+++ b/packages/google-cloud-video-livestream/protos/protos.js
@@ -0,0 +1,29154 @@
+// Copyright 2022 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
+//
+// http://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.
+
+/*eslint-disable block-scoped-var, id-length, no-control-regex, no-magic-numbers, no-prototype-builtins, no-redeclare, no-shadow, no-var, sort-vars*/
+(function(global, factory) { /* global define, require, module */
+
+ /* AMD */ if (typeof define === 'function' && define.amd)
+ define(["protobufjs/minimal"], factory);
+
+ /* CommonJS */ else if (typeof require === 'function' && typeof module === 'object' && module && module.exports)
+ module.exports = factory(require("google-gax/build/src/protobuf").protobufMinimal);
+
+})(this, function($protobuf) {
+ "use strict";
+
+ // Common aliases
+ var $Reader = $protobuf.Reader, $Writer = $protobuf.Writer, $util = $protobuf.util;
+
+ // Exported root namespace
+ var $root = $protobuf.roots._google_cloud_livestream_protos || ($protobuf.roots._google_cloud_livestream_protos = {});
+
+ $root.google = (function() {
+
+ /**
+ * Namespace google.
+ * @exports google
+ * @namespace
+ */
+ var google = {};
+
+ google.cloud = (function() {
+
+ /**
+ * Namespace cloud.
+ * @memberof google
+ * @namespace
+ */
+ var cloud = {};
+
+ cloud.video = (function() {
+
+ /**
+ * Namespace video.
+ * @memberof google.cloud
+ * @namespace
+ */
+ var video = {};
+
+ video.livestream = (function() {
+
+ /**
+ * Namespace livestream.
+ * @memberof google.cloud.video
+ * @namespace
+ */
+ var livestream = {};
+
+ livestream.v1 = (function() {
+
+ /**
+ * Namespace v1.
+ * @memberof google.cloud.video.livestream
+ * @namespace
+ */
+ var v1 = {};
+
+ v1.ElementaryStream = (function() {
+
+ /**
+ * Properties of an ElementaryStream.
+ * @memberof google.cloud.video.livestream.v1
+ * @interface IElementaryStream
+ * @property {string|null} [key] ElementaryStream key
+ * @property {google.cloud.video.livestream.v1.IVideoStream|null} [videoStream] ElementaryStream videoStream
+ * @property {google.cloud.video.livestream.v1.IAudioStream|null} [audioStream] ElementaryStream audioStream
+ * @property {google.cloud.video.livestream.v1.ITextStream|null} [textStream] ElementaryStream textStream
+ */
+
+ /**
+ * Constructs a new ElementaryStream.
+ * @memberof google.cloud.video.livestream.v1
+ * @classdesc Represents an ElementaryStream.
+ * @implements IElementaryStream
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.IElementaryStream=} [properties] Properties to set
+ */
+ function ElementaryStream(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ElementaryStream key.
+ * @member {string} key
+ * @memberof google.cloud.video.livestream.v1.ElementaryStream
+ * @instance
+ */
+ ElementaryStream.prototype.key = "";
+
+ /**
+ * ElementaryStream videoStream.
+ * @member {google.cloud.video.livestream.v1.IVideoStream|null|undefined} videoStream
+ * @memberof google.cloud.video.livestream.v1.ElementaryStream
+ * @instance
+ */
+ ElementaryStream.prototype.videoStream = null;
+
+ /**
+ * ElementaryStream audioStream.
+ * @member {google.cloud.video.livestream.v1.IAudioStream|null|undefined} audioStream
+ * @memberof google.cloud.video.livestream.v1.ElementaryStream
+ * @instance
+ */
+ ElementaryStream.prototype.audioStream = null;
+
+ /**
+ * ElementaryStream textStream.
+ * @member {google.cloud.video.livestream.v1.ITextStream|null|undefined} textStream
+ * @memberof google.cloud.video.livestream.v1.ElementaryStream
+ * @instance
+ */
+ ElementaryStream.prototype.textStream = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * ElementaryStream elementaryStream.
+ * @member {"videoStream"|"audioStream"|"textStream"|undefined} elementaryStream
+ * @memberof google.cloud.video.livestream.v1.ElementaryStream
+ * @instance
+ */
+ Object.defineProperty(ElementaryStream.prototype, "elementaryStream", {
+ get: $util.oneOfGetter($oneOfFields = ["videoStream", "audioStream", "textStream"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new ElementaryStream instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.ElementaryStream
+ * @static
+ * @param {google.cloud.video.livestream.v1.IElementaryStream=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.ElementaryStream} ElementaryStream instance
+ */
+ ElementaryStream.create = function create(properties) {
+ return new ElementaryStream(properties);
+ };
+
+ /**
+ * Encodes the specified ElementaryStream message. Does not implicitly {@link google.cloud.video.livestream.v1.ElementaryStream.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.ElementaryStream
+ * @static
+ * @param {google.cloud.video.livestream.v1.IElementaryStream} message ElementaryStream message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ElementaryStream.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.videoStream != null && Object.hasOwnProperty.call(message, "videoStream"))
+ $root.google.cloud.video.livestream.v1.VideoStream.encode(message.videoStream, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.audioStream != null && Object.hasOwnProperty.call(message, "audioStream"))
+ $root.google.cloud.video.livestream.v1.AudioStream.encode(message.audioStream, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.textStream != null && Object.hasOwnProperty.call(message, "textStream"))
+ $root.google.cloud.video.livestream.v1.TextStream.encode(message.textStream, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.key != null && Object.hasOwnProperty.call(message, "key"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.key);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ElementaryStream message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.ElementaryStream.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.ElementaryStream
+ * @static
+ * @param {google.cloud.video.livestream.v1.IElementaryStream} message ElementaryStream message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ElementaryStream.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an ElementaryStream message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.ElementaryStream
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.ElementaryStream} ElementaryStream
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ElementaryStream.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.ElementaryStream();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 4: {
+ message.key = reader.string();
+ break;
+ }
+ case 1: {
+ message.videoStream = $root.google.cloud.video.livestream.v1.VideoStream.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.audioStream = $root.google.cloud.video.livestream.v1.AudioStream.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.textStream = $root.google.cloud.video.livestream.v1.TextStream.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an ElementaryStream message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.ElementaryStream
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.ElementaryStream} ElementaryStream
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ElementaryStream.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an ElementaryStream message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.ElementaryStream
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ElementaryStream.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.key != null && message.hasOwnProperty("key"))
+ if (!$util.isString(message.key))
+ return "key: string expected";
+ if (message.videoStream != null && message.hasOwnProperty("videoStream")) {
+ properties.elementaryStream = 1;
+ {
+ var error = $root.google.cloud.video.livestream.v1.VideoStream.verify(message.videoStream);
+ if (error)
+ return "videoStream." + error;
+ }
+ }
+ if (message.audioStream != null && message.hasOwnProperty("audioStream")) {
+ if (properties.elementaryStream === 1)
+ return "elementaryStream: multiple values";
+ properties.elementaryStream = 1;
+ {
+ var error = $root.google.cloud.video.livestream.v1.AudioStream.verify(message.audioStream);
+ if (error)
+ return "audioStream." + error;
+ }
+ }
+ if (message.textStream != null && message.hasOwnProperty("textStream")) {
+ if (properties.elementaryStream === 1)
+ return "elementaryStream: multiple values";
+ properties.elementaryStream = 1;
+ {
+ var error = $root.google.cloud.video.livestream.v1.TextStream.verify(message.textStream);
+ if (error)
+ return "textStream." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates an ElementaryStream message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.ElementaryStream
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.ElementaryStream} ElementaryStream
+ */
+ ElementaryStream.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.ElementaryStream)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.ElementaryStream();
+ if (object.key != null)
+ message.key = String(object.key);
+ if (object.videoStream != null) {
+ if (typeof object.videoStream !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.ElementaryStream.videoStream: object expected");
+ message.videoStream = $root.google.cloud.video.livestream.v1.VideoStream.fromObject(object.videoStream);
+ }
+ if (object.audioStream != null) {
+ if (typeof object.audioStream !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.ElementaryStream.audioStream: object expected");
+ message.audioStream = $root.google.cloud.video.livestream.v1.AudioStream.fromObject(object.audioStream);
+ }
+ if (object.textStream != null) {
+ if (typeof object.textStream !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.ElementaryStream.textStream: object expected");
+ message.textStream = $root.google.cloud.video.livestream.v1.TextStream.fromObject(object.textStream);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an ElementaryStream message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.ElementaryStream
+ * @static
+ * @param {google.cloud.video.livestream.v1.ElementaryStream} message ElementaryStream
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ElementaryStream.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.key = "";
+ if (message.videoStream != null && message.hasOwnProperty("videoStream")) {
+ object.videoStream = $root.google.cloud.video.livestream.v1.VideoStream.toObject(message.videoStream, options);
+ if (options.oneofs)
+ object.elementaryStream = "videoStream";
+ }
+ if (message.audioStream != null && message.hasOwnProperty("audioStream")) {
+ object.audioStream = $root.google.cloud.video.livestream.v1.AudioStream.toObject(message.audioStream, options);
+ if (options.oneofs)
+ object.elementaryStream = "audioStream";
+ }
+ if (message.textStream != null && message.hasOwnProperty("textStream")) {
+ object.textStream = $root.google.cloud.video.livestream.v1.TextStream.toObject(message.textStream, options);
+ if (options.oneofs)
+ object.elementaryStream = "textStream";
+ }
+ if (message.key != null && message.hasOwnProperty("key"))
+ object.key = message.key;
+ return object;
+ };
+
+ /**
+ * Converts this ElementaryStream to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.ElementaryStream
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ElementaryStream.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ElementaryStream
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.ElementaryStream
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ElementaryStream.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.ElementaryStream";
+ };
+
+ return ElementaryStream;
+ })();
+
+ v1.MuxStream = (function() {
+
+ /**
+ * Properties of a MuxStream.
+ * @memberof google.cloud.video.livestream.v1
+ * @interface IMuxStream
+ * @property {string|null} [key] MuxStream key
+ * @property {string|null} [container] MuxStream container
+ * @property {Array.|null} [elementaryStreams] MuxStream elementaryStreams
+ * @property {google.cloud.video.livestream.v1.ISegmentSettings|null} [segmentSettings] MuxStream segmentSettings
+ */
+
+ /**
+ * Constructs a new MuxStream.
+ * @memberof google.cloud.video.livestream.v1
+ * @classdesc Represents a MuxStream.
+ * @implements IMuxStream
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.IMuxStream=} [properties] Properties to set
+ */
+ function MuxStream(properties) {
+ this.elementaryStreams = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * MuxStream key.
+ * @member {string} key
+ * @memberof google.cloud.video.livestream.v1.MuxStream
+ * @instance
+ */
+ MuxStream.prototype.key = "";
+
+ /**
+ * MuxStream container.
+ * @member {string} container
+ * @memberof google.cloud.video.livestream.v1.MuxStream
+ * @instance
+ */
+ MuxStream.prototype.container = "";
+
+ /**
+ * MuxStream elementaryStreams.
+ * @member {Array.} elementaryStreams
+ * @memberof google.cloud.video.livestream.v1.MuxStream
+ * @instance
+ */
+ MuxStream.prototype.elementaryStreams = $util.emptyArray;
+
+ /**
+ * MuxStream segmentSettings.
+ * @member {google.cloud.video.livestream.v1.ISegmentSettings|null|undefined} segmentSettings
+ * @memberof google.cloud.video.livestream.v1.MuxStream
+ * @instance
+ */
+ MuxStream.prototype.segmentSettings = null;
+
+ /**
+ * Creates a new MuxStream instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.MuxStream
+ * @static
+ * @param {google.cloud.video.livestream.v1.IMuxStream=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.MuxStream} MuxStream instance
+ */
+ MuxStream.create = function create(properties) {
+ return new MuxStream(properties);
+ };
+
+ /**
+ * Encodes the specified MuxStream message. Does not implicitly {@link google.cloud.video.livestream.v1.MuxStream.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.MuxStream
+ * @static
+ * @param {google.cloud.video.livestream.v1.IMuxStream} message MuxStream message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MuxStream.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.key != null && Object.hasOwnProperty.call(message, "key"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.key);
+ if (message.container != null && Object.hasOwnProperty.call(message, "container"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.container);
+ if (message.elementaryStreams != null && message.elementaryStreams.length)
+ for (var i = 0; i < message.elementaryStreams.length; ++i)
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.elementaryStreams[i]);
+ if (message.segmentSettings != null && Object.hasOwnProperty.call(message, "segmentSettings"))
+ $root.google.cloud.video.livestream.v1.SegmentSettings.encode(message.segmentSettings, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified MuxStream message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.MuxStream.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.MuxStream
+ * @static
+ * @param {google.cloud.video.livestream.v1.IMuxStream} message MuxStream message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MuxStream.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a MuxStream message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.MuxStream
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.MuxStream} MuxStream
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MuxStream.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.MuxStream();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.key = reader.string();
+ break;
+ }
+ case 3: {
+ message.container = reader.string();
+ break;
+ }
+ case 4: {
+ if (!(message.elementaryStreams && message.elementaryStreams.length))
+ message.elementaryStreams = [];
+ message.elementaryStreams.push(reader.string());
+ break;
+ }
+ case 5: {
+ message.segmentSettings = $root.google.cloud.video.livestream.v1.SegmentSettings.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a MuxStream message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.MuxStream
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.MuxStream} MuxStream
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MuxStream.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a MuxStream message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.MuxStream
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ MuxStream.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.key != null && message.hasOwnProperty("key"))
+ if (!$util.isString(message.key))
+ return "key: string expected";
+ if (message.container != null && message.hasOwnProperty("container"))
+ if (!$util.isString(message.container))
+ return "container: string expected";
+ if (message.elementaryStreams != null && message.hasOwnProperty("elementaryStreams")) {
+ if (!Array.isArray(message.elementaryStreams))
+ return "elementaryStreams: array expected";
+ for (var i = 0; i < message.elementaryStreams.length; ++i)
+ if (!$util.isString(message.elementaryStreams[i]))
+ return "elementaryStreams: string[] expected";
+ }
+ if (message.segmentSettings != null && message.hasOwnProperty("segmentSettings")) {
+ var error = $root.google.cloud.video.livestream.v1.SegmentSettings.verify(message.segmentSettings);
+ if (error)
+ return "segmentSettings." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a MuxStream message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.MuxStream
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.MuxStream} MuxStream
+ */
+ MuxStream.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.MuxStream)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.MuxStream();
+ if (object.key != null)
+ message.key = String(object.key);
+ if (object.container != null)
+ message.container = String(object.container);
+ if (object.elementaryStreams) {
+ if (!Array.isArray(object.elementaryStreams))
+ throw TypeError(".google.cloud.video.livestream.v1.MuxStream.elementaryStreams: array expected");
+ message.elementaryStreams = [];
+ for (var i = 0; i < object.elementaryStreams.length; ++i)
+ message.elementaryStreams[i] = String(object.elementaryStreams[i]);
+ }
+ if (object.segmentSettings != null) {
+ if (typeof object.segmentSettings !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.MuxStream.segmentSettings: object expected");
+ message.segmentSettings = $root.google.cloud.video.livestream.v1.SegmentSettings.fromObject(object.segmentSettings);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a MuxStream message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.MuxStream
+ * @static
+ * @param {google.cloud.video.livestream.v1.MuxStream} message MuxStream
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ MuxStream.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.elementaryStreams = [];
+ if (options.defaults) {
+ object.key = "";
+ object.container = "";
+ object.segmentSettings = null;
+ }
+ if (message.key != null && message.hasOwnProperty("key"))
+ object.key = message.key;
+ if (message.container != null && message.hasOwnProperty("container"))
+ object.container = message.container;
+ if (message.elementaryStreams && message.elementaryStreams.length) {
+ object.elementaryStreams = [];
+ for (var j = 0; j < message.elementaryStreams.length; ++j)
+ object.elementaryStreams[j] = message.elementaryStreams[j];
+ }
+ if (message.segmentSettings != null && message.hasOwnProperty("segmentSettings"))
+ object.segmentSettings = $root.google.cloud.video.livestream.v1.SegmentSettings.toObject(message.segmentSettings, options);
+ return object;
+ };
+
+ /**
+ * Converts this MuxStream to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.MuxStream
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ MuxStream.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for MuxStream
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.MuxStream
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ MuxStream.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.MuxStream";
+ };
+
+ return MuxStream;
+ })();
+
+ v1.Manifest = (function() {
+
+ /**
+ * Properties of a Manifest.
+ * @memberof google.cloud.video.livestream.v1
+ * @interface IManifest
+ * @property {string|null} [fileName] Manifest fileName
+ * @property {google.cloud.video.livestream.v1.Manifest.ManifestType|null} [type] Manifest type
+ * @property {Array.|null} [muxStreams] Manifest muxStreams
+ * @property {number|null} [maxSegmentCount] Manifest maxSegmentCount
+ * @property {google.protobuf.IDuration|null} [segmentKeepDuration] Manifest segmentKeepDuration
+ */
+
+ /**
+ * Constructs a new Manifest.
+ * @memberof google.cloud.video.livestream.v1
+ * @classdesc Represents a Manifest.
+ * @implements IManifest
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.IManifest=} [properties] Properties to set
+ */
+ function Manifest(properties) {
+ this.muxStreams = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Manifest fileName.
+ * @member {string} fileName
+ * @memberof google.cloud.video.livestream.v1.Manifest
+ * @instance
+ */
+ Manifest.prototype.fileName = "";
+
+ /**
+ * Manifest type.
+ * @member {google.cloud.video.livestream.v1.Manifest.ManifestType} type
+ * @memberof google.cloud.video.livestream.v1.Manifest
+ * @instance
+ */
+ Manifest.prototype.type = 0;
+
+ /**
+ * Manifest muxStreams.
+ * @member {Array.} muxStreams
+ * @memberof google.cloud.video.livestream.v1.Manifest
+ * @instance
+ */
+ Manifest.prototype.muxStreams = $util.emptyArray;
+
+ /**
+ * Manifest maxSegmentCount.
+ * @member {number} maxSegmentCount
+ * @memberof google.cloud.video.livestream.v1.Manifest
+ * @instance
+ */
+ Manifest.prototype.maxSegmentCount = 0;
+
+ /**
+ * Manifest segmentKeepDuration.
+ * @member {google.protobuf.IDuration|null|undefined} segmentKeepDuration
+ * @memberof google.cloud.video.livestream.v1.Manifest
+ * @instance
+ */
+ Manifest.prototype.segmentKeepDuration = null;
+
+ /**
+ * Creates a new Manifest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.Manifest
+ * @static
+ * @param {google.cloud.video.livestream.v1.IManifest=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.Manifest} Manifest instance
+ */
+ Manifest.create = function create(properties) {
+ return new Manifest(properties);
+ };
+
+ /**
+ * Encodes the specified Manifest message. Does not implicitly {@link google.cloud.video.livestream.v1.Manifest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.Manifest
+ * @static
+ * @param {google.cloud.video.livestream.v1.IManifest} message Manifest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Manifest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.fileName != null && Object.hasOwnProperty.call(message, "fileName"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.fileName);
+ if (message.type != null && Object.hasOwnProperty.call(message, "type"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.type);
+ if (message.muxStreams != null && message.muxStreams.length)
+ for (var i = 0; i < message.muxStreams.length; ++i)
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.muxStreams[i]);
+ if (message.maxSegmentCount != null && Object.hasOwnProperty.call(message, "maxSegmentCount"))
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.maxSegmentCount);
+ if (message.segmentKeepDuration != null && Object.hasOwnProperty.call(message, "segmentKeepDuration"))
+ $root.google.protobuf.Duration.encode(message.segmentKeepDuration, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Manifest message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.Manifest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.Manifest
+ * @static
+ * @param {google.cloud.video.livestream.v1.IManifest} message Manifest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Manifest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Manifest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.Manifest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.Manifest} Manifest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Manifest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.Manifest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.fileName = reader.string();
+ break;
+ }
+ case 2: {
+ message.type = reader.int32();
+ break;
+ }
+ case 3: {
+ if (!(message.muxStreams && message.muxStreams.length))
+ message.muxStreams = [];
+ message.muxStreams.push(reader.string());
+ break;
+ }
+ case 4: {
+ message.maxSegmentCount = reader.int32();
+ break;
+ }
+ case 5: {
+ message.segmentKeepDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Manifest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.Manifest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.Manifest} Manifest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Manifest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Manifest message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.Manifest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Manifest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.fileName != null && message.hasOwnProperty("fileName"))
+ if (!$util.isString(message.fileName))
+ return "fileName: string expected";
+ if (message.type != null && message.hasOwnProperty("type"))
+ switch (message.type) {
+ default:
+ return "type: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.muxStreams != null && message.hasOwnProperty("muxStreams")) {
+ if (!Array.isArray(message.muxStreams))
+ return "muxStreams: array expected";
+ for (var i = 0; i < message.muxStreams.length; ++i)
+ if (!$util.isString(message.muxStreams[i]))
+ return "muxStreams: string[] expected";
+ }
+ if (message.maxSegmentCount != null && message.hasOwnProperty("maxSegmentCount"))
+ if (!$util.isInteger(message.maxSegmentCount))
+ return "maxSegmentCount: integer expected";
+ if (message.segmentKeepDuration != null && message.hasOwnProperty("segmentKeepDuration")) {
+ var error = $root.google.protobuf.Duration.verify(message.segmentKeepDuration);
+ if (error)
+ return "segmentKeepDuration." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Manifest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.Manifest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.Manifest} Manifest
+ */
+ Manifest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.Manifest)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.Manifest();
+ if (object.fileName != null)
+ message.fileName = String(object.fileName);
+ switch (object.type) {
+ default:
+ if (typeof object.type === "number") {
+ message.type = object.type;
+ break;
+ }
+ break;
+ case "MANIFEST_TYPE_UNSPECIFIED":
+ case 0:
+ message.type = 0;
+ break;
+ case "HLS":
+ case 1:
+ message.type = 1;
+ break;
+ case "DASH":
+ case 2:
+ message.type = 2;
+ break;
+ }
+ if (object.muxStreams) {
+ if (!Array.isArray(object.muxStreams))
+ throw TypeError(".google.cloud.video.livestream.v1.Manifest.muxStreams: array expected");
+ message.muxStreams = [];
+ for (var i = 0; i < object.muxStreams.length; ++i)
+ message.muxStreams[i] = String(object.muxStreams[i]);
+ }
+ if (object.maxSegmentCount != null)
+ message.maxSegmentCount = object.maxSegmentCount | 0;
+ if (object.segmentKeepDuration != null) {
+ if (typeof object.segmentKeepDuration !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.Manifest.segmentKeepDuration: object expected");
+ message.segmentKeepDuration = $root.google.protobuf.Duration.fromObject(object.segmentKeepDuration);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Manifest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.Manifest
+ * @static
+ * @param {google.cloud.video.livestream.v1.Manifest} message Manifest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Manifest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.muxStreams = [];
+ if (options.defaults) {
+ object.fileName = "";
+ object.type = options.enums === String ? "MANIFEST_TYPE_UNSPECIFIED" : 0;
+ object.maxSegmentCount = 0;
+ object.segmentKeepDuration = null;
+ }
+ if (message.fileName != null && message.hasOwnProperty("fileName"))
+ object.fileName = message.fileName;
+ if (message.type != null && message.hasOwnProperty("type"))
+ object.type = options.enums === String ? $root.google.cloud.video.livestream.v1.Manifest.ManifestType[message.type] === undefined ? message.type : $root.google.cloud.video.livestream.v1.Manifest.ManifestType[message.type] : message.type;
+ if (message.muxStreams && message.muxStreams.length) {
+ object.muxStreams = [];
+ for (var j = 0; j < message.muxStreams.length; ++j)
+ object.muxStreams[j] = message.muxStreams[j];
+ }
+ if (message.maxSegmentCount != null && message.hasOwnProperty("maxSegmentCount"))
+ object.maxSegmentCount = message.maxSegmentCount;
+ if (message.segmentKeepDuration != null && message.hasOwnProperty("segmentKeepDuration"))
+ object.segmentKeepDuration = $root.google.protobuf.Duration.toObject(message.segmentKeepDuration, options);
+ return object;
+ };
+
+ /**
+ * Converts this Manifest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.Manifest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Manifest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Manifest
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.Manifest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Manifest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.Manifest";
+ };
+
+ /**
+ * ManifestType enum.
+ * @name google.cloud.video.livestream.v1.Manifest.ManifestType
+ * @enum {number}
+ * @property {number} MANIFEST_TYPE_UNSPECIFIED=0 MANIFEST_TYPE_UNSPECIFIED value
+ * @property {number} HLS=1 HLS value
+ * @property {number} DASH=2 DASH value
+ */
+ Manifest.ManifestType = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "MANIFEST_TYPE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "HLS"] = 1;
+ values[valuesById[2] = "DASH"] = 2;
+ return values;
+ })();
+
+ return Manifest;
+ })();
+
+ v1.SpriteSheet = (function() {
+
+ /**
+ * Properties of a SpriteSheet.
+ * @memberof google.cloud.video.livestream.v1
+ * @interface ISpriteSheet
+ * @property {string|null} [format] SpriteSheet format
+ * @property {string|null} [filePrefix] SpriteSheet filePrefix
+ * @property {number|null} [spriteWidthPixels] SpriteSheet spriteWidthPixels
+ * @property {number|null} [spriteHeightPixels] SpriteSheet spriteHeightPixels
+ * @property {number|null} [columnCount] SpriteSheet columnCount
+ * @property {number|null} [rowCount] SpriteSheet rowCount
+ * @property {google.protobuf.IDuration|null} [interval] SpriteSheet interval
+ * @property {number|null} [quality] SpriteSheet quality
+ */
+
+ /**
+ * Constructs a new SpriteSheet.
+ * @memberof google.cloud.video.livestream.v1
+ * @classdesc Represents a SpriteSheet.
+ * @implements ISpriteSheet
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.ISpriteSheet=} [properties] Properties to set
+ */
+ function SpriteSheet(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * SpriteSheet format.
+ * @member {string} format
+ * @memberof google.cloud.video.livestream.v1.SpriteSheet
+ * @instance
+ */
+ SpriteSheet.prototype.format = "";
+
+ /**
+ * SpriteSheet filePrefix.
+ * @member {string} filePrefix
+ * @memberof google.cloud.video.livestream.v1.SpriteSheet
+ * @instance
+ */
+ SpriteSheet.prototype.filePrefix = "";
+
+ /**
+ * SpriteSheet spriteWidthPixels.
+ * @member {number} spriteWidthPixels
+ * @memberof google.cloud.video.livestream.v1.SpriteSheet
+ * @instance
+ */
+ SpriteSheet.prototype.spriteWidthPixels = 0;
+
+ /**
+ * SpriteSheet spriteHeightPixels.
+ * @member {number} spriteHeightPixels
+ * @memberof google.cloud.video.livestream.v1.SpriteSheet
+ * @instance
+ */
+ SpriteSheet.prototype.spriteHeightPixels = 0;
+
+ /**
+ * SpriteSheet columnCount.
+ * @member {number} columnCount
+ * @memberof google.cloud.video.livestream.v1.SpriteSheet
+ * @instance
+ */
+ SpriteSheet.prototype.columnCount = 0;
+
+ /**
+ * SpriteSheet rowCount.
+ * @member {number} rowCount
+ * @memberof google.cloud.video.livestream.v1.SpriteSheet
+ * @instance
+ */
+ SpriteSheet.prototype.rowCount = 0;
+
+ /**
+ * SpriteSheet interval.
+ * @member {google.protobuf.IDuration|null|undefined} interval
+ * @memberof google.cloud.video.livestream.v1.SpriteSheet
+ * @instance
+ */
+ SpriteSheet.prototype.interval = null;
+
+ /**
+ * SpriteSheet quality.
+ * @member {number} quality
+ * @memberof google.cloud.video.livestream.v1.SpriteSheet
+ * @instance
+ */
+ SpriteSheet.prototype.quality = 0;
+
+ /**
+ * Creates a new SpriteSheet instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.SpriteSheet
+ * @static
+ * @param {google.cloud.video.livestream.v1.ISpriteSheet=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.SpriteSheet} SpriteSheet instance
+ */
+ SpriteSheet.create = function create(properties) {
+ return new SpriteSheet(properties);
+ };
+
+ /**
+ * Encodes the specified SpriteSheet message. Does not implicitly {@link google.cloud.video.livestream.v1.SpriteSheet.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.SpriteSheet
+ * @static
+ * @param {google.cloud.video.livestream.v1.ISpriteSheet} message SpriteSheet message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SpriteSheet.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.format != null && Object.hasOwnProperty.call(message, "format"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.format);
+ if (message.filePrefix != null && Object.hasOwnProperty.call(message, "filePrefix"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.filePrefix);
+ if (message.spriteWidthPixels != null && Object.hasOwnProperty.call(message, "spriteWidthPixels"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.spriteWidthPixels);
+ if (message.spriteHeightPixels != null && Object.hasOwnProperty.call(message, "spriteHeightPixels"))
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.spriteHeightPixels);
+ if (message.columnCount != null && Object.hasOwnProperty.call(message, "columnCount"))
+ writer.uint32(/* id 5, wireType 0 =*/40).int32(message.columnCount);
+ if (message.rowCount != null && Object.hasOwnProperty.call(message, "rowCount"))
+ writer.uint32(/* id 6, wireType 0 =*/48).int32(message.rowCount);
+ if (message.interval != null && Object.hasOwnProperty.call(message, "interval"))
+ $root.google.protobuf.Duration.encode(message.interval, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
+ if (message.quality != null && Object.hasOwnProperty.call(message, "quality"))
+ writer.uint32(/* id 8, wireType 0 =*/64).int32(message.quality);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified SpriteSheet message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.SpriteSheet.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.SpriteSheet
+ * @static
+ * @param {google.cloud.video.livestream.v1.ISpriteSheet} message SpriteSheet message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SpriteSheet.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a SpriteSheet message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.SpriteSheet
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.SpriteSheet} SpriteSheet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SpriteSheet.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.SpriteSheet();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.format = reader.string();
+ break;
+ }
+ case 2: {
+ message.filePrefix = reader.string();
+ break;
+ }
+ case 3: {
+ message.spriteWidthPixels = reader.int32();
+ break;
+ }
+ case 4: {
+ message.spriteHeightPixels = reader.int32();
+ break;
+ }
+ case 5: {
+ message.columnCount = reader.int32();
+ break;
+ }
+ case 6: {
+ message.rowCount = reader.int32();
+ break;
+ }
+ case 7: {
+ message.interval = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+ break;
+ }
+ case 8: {
+ message.quality = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a SpriteSheet message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.SpriteSheet
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.SpriteSheet} SpriteSheet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SpriteSheet.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a SpriteSheet message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.SpriteSheet
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ SpriteSheet.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.format != null && message.hasOwnProperty("format"))
+ if (!$util.isString(message.format))
+ return "format: string expected";
+ if (message.filePrefix != null && message.hasOwnProperty("filePrefix"))
+ if (!$util.isString(message.filePrefix))
+ return "filePrefix: string expected";
+ if (message.spriteWidthPixels != null && message.hasOwnProperty("spriteWidthPixels"))
+ if (!$util.isInteger(message.spriteWidthPixels))
+ return "spriteWidthPixels: integer expected";
+ if (message.spriteHeightPixels != null && message.hasOwnProperty("spriteHeightPixels"))
+ if (!$util.isInteger(message.spriteHeightPixels))
+ return "spriteHeightPixels: integer expected";
+ if (message.columnCount != null && message.hasOwnProperty("columnCount"))
+ if (!$util.isInteger(message.columnCount))
+ return "columnCount: integer expected";
+ if (message.rowCount != null && message.hasOwnProperty("rowCount"))
+ if (!$util.isInteger(message.rowCount))
+ return "rowCount: integer expected";
+ if (message.interval != null && message.hasOwnProperty("interval")) {
+ var error = $root.google.protobuf.Duration.verify(message.interval);
+ if (error)
+ return "interval." + error;
+ }
+ if (message.quality != null && message.hasOwnProperty("quality"))
+ if (!$util.isInteger(message.quality))
+ return "quality: integer expected";
+ return null;
+ };
+
+ /**
+ * Creates a SpriteSheet message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.SpriteSheet
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.SpriteSheet} SpriteSheet
+ */
+ SpriteSheet.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.SpriteSheet)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.SpriteSheet();
+ if (object.format != null)
+ message.format = String(object.format);
+ if (object.filePrefix != null)
+ message.filePrefix = String(object.filePrefix);
+ if (object.spriteWidthPixels != null)
+ message.spriteWidthPixels = object.spriteWidthPixels | 0;
+ if (object.spriteHeightPixels != null)
+ message.spriteHeightPixels = object.spriteHeightPixels | 0;
+ if (object.columnCount != null)
+ message.columnCount = object.columnCount | 0;
+ if (object.rowCount != null)
+ message.rowCount = object.rowCount | 0;
+ if (object.interval != null) {
+ if (typeof object.interval !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.SpriteSheet.interval: object expected");
+ message.interval = $root.google.protobuf.Duration.fromObject(object.interval);
+ }
+ if (object.quality != null)
+ message.quality = object.quality | 0;
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a SpriteSheet message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.SpriteSheet
+ * @static
+ * @param {google.cloud.video.livestream.v1.SpriteSheet} message SpriteSheet
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ SpriteSheet.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.format = "";
+ object.filePrefix = "";
+ object.spriteWidthPixels = 0;
+ object.spriteHeightPixels = 0;
+ object.columnCount = 0;
+ object.rowCount = 0;
+ object.interval = null;
+ object.quality = 0;
+ }
+ if (message.format != null && message.hasOwnProperty("format"))
+ object.format = message.format;
+ if (message.filePrefix != null && message.hasOwnProperty("filePrefix"))
+ object.filePrefix = message.filePrefix;
+ if (message.spriteWidthPixels != null && message.hasOwnProperty("spriteWidthPixels"))
+ object.spriteWidthPixels = message.spriteWidthPixels;
+ if (message.spriteHeightPixels != null && message.hasOwnProperty("spriteHeightPixels"))
+ object.spriteHeightPixels = message.spriteHeightPixels;
+ if (message.columnCount != null && message.hasOwnProperty("columnCount"))
+ object.columnCount = message.columnCount;
+ if (message.rowCount != null && message.hasOwnProperty("rowCount"))
+ object.rowCount = message.rowCount;
+ if (message.interval != null && message.hasOwnProperty("interval"))
+ object.interval = $root.google.protobuf.Duration.toObject(message.interval, options);
+ if (message.quality != null && message.hasOwnProperty("quality"))
+ object.quality = message.quality;
+ return object;
+ };
+
+ /**
+ * Converts this SpriteSheet to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.SpriteSheet
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ SpriteSheet.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for SpriteSheet
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.SpriteSheet
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ SpriteSheet.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.SpriteSheet";
+ };
+
+ return SpriteSheet;
+ })();
+
+ v1.PreprocessingConfig = (function() {
+
+ /**
+ * Properties of a PreprocessingConfig.
+ * @memberof google.cloud.video.livestream.v1
+ * @interface IPreprocessingConfig
+ * @property {google.cloud.video.livestream.v1.PreprocessingConfig.ICrop|null} [crop] PreprocessingConfig crop
+ * @property {google.cloud.video.livestream.v1.PreprocessingConfig.IPad|null} [pad] PreprocessingConfig pad
+ */
+
+ /**
+ * Constructs a new PreprocessingConfig.
+ * @memberof google.cloud.video.livestream.v1
+ * @classdesc Represents a PreprocessingConfig.
+ * @implements IPreprocessingConfig
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.IPreprocessingConfig=} [properties] Properties to set
+ */
+ function PreprocessingConfig(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * PreprocessingConfig crop.
+ * @member {google.cloud.video.livestream.v1.PreprocessingConfig.ICrop|null|undefined} crop
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig
+ * @instance
+ */
+ PreprocessingConfig.prototype.crop = null;
+
+ /**
+ * PreprocessingConfig pad.
+ * @member {google.cloud.video.livestream.v1.PreprocessingConfig.IPad|null|undefined} pad
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig
+ * @instance
+ */
+ PreprocessingConfig.prototype.pad = null;
+
+ /**
+ * Creates a new PreprocessingConfig instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig
+ * @static
+ * @param {google.cloud.video.livestream.v1.IPreprocessingConfig=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.PreprocessingConfig} PreprocessingConfig instance
+ */
+ PreprocessingConfig.create = function create(properties) {
+ return new PreprocessingConfig(properties);
+ };
+
+ /**
+ * Encodes the specified PreprocessingConfig message. Does not implicitly {@link google.cloud.video.livestream.v1.PreprocessingConfig.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig
+ * @static
+ * @param {google.cloud.video.livestream.v1.IPreprocessingConfig} message PreprocessingConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PreprocessingConfig.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.crop != null && Object.hasOwnProperty.call(message, "crop"))
+ $root.google.cloud.video.livestream.v1.PreprocessingConfig.Crop.encode(message.crop, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.pad != null && Object.hasOwnProperty.call(message, "pad"))
+ $root.google.cloud.video.livestream.v1.PreprocessingConfig.Pad.encode(message.pad, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified PreprocessingConfig message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.PreprocessingConfig.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig
+ * @static
+ * @param {google.cloud.video.livestream.v1.IPreprocessingConfig} message PreprocessingConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PreprocessingConfig.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a PreprocessingConfig message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.PreprocessingConfig} PreprocessingConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PreprocessingConfig.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.PreprocessingConfig();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 2: {
+ message.crop = $root.google.cloud.video.livestream.v1.PreprocessingConfig.Crop.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.pad = $root.google.cloud.video.livestream.v1.PreprocessingConfig.Pad.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a PreprocessingConfig message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.PreprocessingConfig} PreprocessingConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PreprocessingConfig.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a PreprocessingConfig message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ PreprocessingConfig.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.crop != null && message.hasOwnProperty("crop")) {
+ var error = $root.google.cloud.video.livestream.v1.PreprocessingConfig.Crop.verify(message.crop);
+ if (error)
+ return "crop." + error;
+ }
+ if (message.pad != null && message.hasOwnProperty("pad")) {
+ var error = $root.google.cloud.video.livestream.v1.PreprocessingConfig.Pad.verify(message.pad);
+ if (error)
+ return "pad." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a PreprocessingConfig message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.PreprocessingConfig} PreprocessingConfig
+ */
+ PreprocessingConfig.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.PreprocessingConfig)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.PreprocessingConfig();
+ if (object.crop != null) {
+ if (typeof object.crop !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.PreprocessingConfig.crop: object expected");
+ message.crop = $root.google.cloud.video.livestream.v1.PreprocessingConfig.Crop.fromObject(object.crop);
+ }
+ if (object.pad != null) {
+ if (typeof object.pad !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.PreprocessingConfig.pad: object expected");
+ message.pad = $root.google.cloud.video.livestream.v1.PreprocessingConfig.Pad.fromObject(object.pad);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a PreprocessingConfig message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig
+ * @static
+ * @param {google.cloud.video.livestream.v1.PreprocessingConfig} message PreprocessingConfig
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ PreprocessingConfig.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.crop = null;
+ object.pad = null;
+ }
+ if (message.crop != null && message.hasOwnProperty("crop"))
+ object.crop = $root.google.cloud.video.livestream.v1.PreprocessingConfig.Crop.toObject(message.crop, options);
+ if (message.pad != null && message.hasOwnProperty("pad"))
+ object.pad = $root.google.cloud.video.livestream.v1.PreprocessingConfig.Pad.toObject(message.pad, options);
+ return object;
+ };
+
+ /**
+ * Converts this PreprocessingConfig to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ PreprocessingConfig.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for PreprocessingConfig
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ PreprocessingConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.PreprocessingConfig";
+ };
+
+ PreprocessingConfig.Crop = (function() {
+
+ /**
+ * Properties of a Crop.
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig
+ * @interface ICrop
+ * @property {number|null} [topPixels] Crop topPixels
+ * @property {number|null} [bottomPixels] Crop bottomPixels
+ * @property {number|null} [leftPixels] Crop leftPixels
+ * @property {number|null} [rightPixels] Crop rightPixels
+ */
+
+ /**
+ * Constructs a new Crop.
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig
+ * @classdesc Represents a Crop.
+ * @implements ICrop
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.PreprocessingConfig.ICrop=} [properties] Properties to set
+ */
+ function Crop(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Crop topPixels.
+ * @member {number} topPixels
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig.Crop
+ * @instance
+ */
+ Crop.prototype.topPixels = 0;
+
+ /**
+ * Crop bottomPixels.
+ * @member {number} bottomPixels
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig.Crop
+ * @instance
+ */
+ Crop.prototype.bottomPixels = 0;
+
+ /**
+ * Crop leftPixels.
+ * @member {number} leftPixels
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig.Crop
+ * @instance
+ */
+ Crop.prototype.leftPixels = 0;
+
+ /**
+ * Crop rightPixels.
+ * @member {number} rightPixels
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig.Crop
+ * @instance
+ */
+ Crop.prototype.rightPixels = 0;
+
+ /**
+ * Creates a new Crop instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig.Crop
+ * @static
+ * @param {google.cloud.video.livestream.v1.PreprocessingConfig.ICrop=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.PreprocessingConfig.Crop} Crop instance
+ */
+ Crop.create = function create(properties) {
+ return new Crop(properties);
+ };
+
+ /**
+ * Encodes the specified Crop message. Does not implicitly {@link google.cloud.video.livestream.v1.PreprocessingConfig.Crop.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig.Crop
+ * @static
+ * @param {google.cloud.video.livestream.v1.PreprocessingConfig.ICrop} message Crop message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Crop.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.topPixels != null && Object.hasOwnProperty.call(message, "topPixels"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.topPixels);
+ if (message.bottomPixels != null && Object.hasOwnProperty.call(message, "bottomPixels"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.bottomPixels);
+ if (message.leftPixels != null && Object.hasOwnProperty.call(message, "leftPixels"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.leftPixels);
+ if (message.rightPixels != null && Object.hasOwnProperty.call(message, "rightPixels"))
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.rightPixels);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Crop message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.PreprocessingConfig.Crop.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig.Crop
+ * @static
+ * @param {google.cloud.video.livestream.v1.PreprocessingConfig.ICrop} message Crop message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Crop.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Crop message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig.Crop
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.PreprocessingConfig.Crop} Crop
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Crop.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.PreprocessingConfig.Crop();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.topPixels = reader.int32();
+ break;
+ }
+ case 2: {
+ message.bottomPixels = reader.int32();
+ break;
+ }
+ case 3: {
+ message.leftPixels = reader.int32();
+ break;
+ }
+ case 4: {
+ message.rightPixels = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Crop message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig.Crop
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.PreprocessingConfig.Crop} Crop
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Crop.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Crop message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig.Crop
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Crop.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.topPixels != null && message.hasOwnProperty("topPixels"))
+ if (!$util.isInteger(message.topPixels))
+ return "topPixels: integer expected";
+ if (message.bottomPixels != null && message.hasOwnProperty("bottomPixels"))
+ if (!$util.isInteger(message.bottomPixels))
+ return "bottomPixels: integer expected";
+ if (message.leftPixels != null && message.hasOwnProperty("leftPixels"))
+ if (!$util.isInteger(message.leftPixels))
+ return "leftPixels: integer expected";
+ if (message.rightPixels != null && message.hasOwnProperty("rightPixels"))
+ if (!$util.isInteger(message.rightPixels))
+ return "rightPixels: integer expected";
+ return null;
+ };
+
+ /**
+ * Creates a Crop message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig.Crop
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.PreprocessingConfig.Crop} Crop
+ */
+ Crop.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.PreprocessingConfig.Crop)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.PreprocessingConfig.Crop();
+ if (object.topPixels != null)
+ message.topPixels = object.topPixels | 0;
+ if (object.bottomPixels != null)
+ message.bottomPixels = object.bottomPixels | 0;
+ if (object.leftPixels != null)
+ message.leftPixels = object.leftPixels | 0;
+ if (object.rightPixels != null)
+ message.rightPixels = object.rightPixels | 0;
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Crop message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig.Crop
+ * @static
+ * @param {google.cloud.video.livestream.v1.PreprocessingConfig.Crop} message Crop
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Crop.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.topPixels = 0;
+ object.bottomPixels = 0;
+ object.leftPixels = 0;
+ object.rightPixels = 0;
+ }
+ if (message.topPixels != null && message.hasOwnProperty("topPixels"))
+ object.topPixels = message.topPixels;
+ if (message.bottomPixels != null && message.hasOwnProperty("bottomPixels"))
+ object.bottomPixels = message.bottomPixels;
+ if (message.leftPixels != null && message.hasOwnProperty("leftPixels"))
+ object.leftPixels = message.leftPixels;
+ if (message.rightPixels != null && message.hasOwnProperty("rightPixels"))
+ object.rightPixels = message.rightPixels;
+ return object;
+ };
+
+ /**
+ * Converts this Crop to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig.Crop
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Crop.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Crop
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig.Crop
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Crop.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.PreprocessingConfig.Crop";
+ };
+
+ return Crop;
+ })();
+
+ PreprocessingConfig.Pad = (function() {
+
+ /**
+ * Properties of a Pad.
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig
+ * @interface IPad
+ * @property {number|null} [topPixels] Pad topPixels
+ * @property {number|null} [bottomPixels] Pad bottomPixels
+ * @property {number|null} [leftPixels] Pad leftPixels
+ * @property {number|null} [rightPixels] Pad rightPixels
+ */
+
+ /**
+ * Constructs a new Pad.
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig
+ * @classdesc Represents a Pad.
+ * @implements IPad
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.PreprocessingConfig.IPad=} [properties] Properties to set
+ */
+ function Pad(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Pad topPixels.
+ * @member {number} topPixels
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig.Pad
+ * @instance
+ */
+ Pad.prototype.topPixels = 0;
+
+ /**
+ * Pad bottomPixels.
+ * @member {number} bottomPixels
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig.Pad
+ * @instance
+ */
+ Pad.prototype.bottomPixels = 0;
+
+ /**
+ * Pad leftPixels.
+ * @member {number} leftPixels
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig.Pad
+ * @instance
+ */
+ Pad.prototype.leftPixels = 0;
+
+ /**
+ * Pad rightPixels.
+ * @member {number} rightPixels
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig.Pad
+ * @instance
+ */
+ Pad.prototype.rightPixels = 0;
+
+ /**
+ * Creates a new Pad instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig.Pad
+ * @static
+ * @param {google.cloud.video.livestream.v1.PreprocessingConfig.IPad=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.PreprocessingConfig.Pad} Pad instance
+ */
+ Pad.create = function create(properties) {
+ return new Pad(properties);
+ };
+
+ /**
+ * Encodes the specified Pad message. Does not implicitly {@link google.cloud.video.livestream.v1.PreprocessingConfig.Pad.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig.Pad
+ * @static
+ * @param {google.cloud.video.livestream.v1.PreprocessingConfig.IPad} message Pad message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Pad.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.topPixels != null && Object.hasOwnProperty.call(message, "topPixels"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.topPixels);
+ if (message.bottomPixels != null && Object.hasOwnProperty.call(message, "bottomPixels"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.bottomPixels);
+ if (message.leftPixels != null && Object.hasOwnProperty.call(message, "leftPixels"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.leftPixels);
+ if (message.rightPixels != null && Object.hasOwnProperty.call(message, "rightPixels"))
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.rightPixels);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Pad message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.PreprocessingConfig.Pad.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig.Pad
+ * @static
+ * @param {google.cloud.video.livestream.v1.PreprocessingConfig.IPad} message Pad message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Pad.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Pad message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig.Pad
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.PreprocessingConfig.Pad} Pad
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Pad.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.PreprocessingConfig.Pad();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.topPixels = reader.int32();
+ break;
+ }
+ case 2: {
+ message.bottomPixels = reader.int32();
+ break;
+ }
+ case 3: {
+ message.leftPixels = reader.int32();
+ break;
+ }
+ case 4: {
+ message.rightPixels = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Pad message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig.Pad
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.PreprocessingConfig.Pad} Pad
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Pad.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Pad message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig.Pad
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Pad.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.topPixels != null && message.hasOwnProperty("topPixels"))
+ if (!$util.isInteger(message.topPixels))
+ return "topPixels: integer expected";
+ if (message.bottomPixels != null && message.hasOwnProperty("bottomPixels"))
+ if (!$util.isInteger(message.bottomPixels))
+ return "bottomPixels: integer expected";
+ if (message.leftPixels != null && message.hasOwnProperty("leftPixels"))
+ if (!$util.isInteger(message.leftPixels))
+ return "leftPixels: integer expected";
+ if (message.rightPixels != null && message.hasOwnProperty("rightPixels"))
+ if (!$util.isInteger(message.rightPixels))
+ return "rightPixels: integer expected";
+ return null;
+ };
+
+ /**
+ * Creates a Pad message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig.Pad
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.PreprocessingConfig.Pad} Pad
+ */
+ Pad.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.PreprocessingConfig.Pad)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.PreprocessingConfig.Pad();
+ if (object.topPixels != null)
+ message.topPixels = object.topPixels | 0;
+ if (object.bottomPixels != null)
+ message.bottomPixels = object.bottomPixels | 0;
+ if (object.leftPixels != null)
+ message.leftPixels = object.leftPixels | 0;
+ if (object.rightPixels != null)
+ message.rightPixels = object.rightPixels | 0;
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Pad message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig.Pad
+ * @static
+ * @param {google.cloud.video.livestream.v1.PreprocessingConfig.Pad} message Pad
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Pad.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.topPixels = 0;
+ object.bottomPixels = 0;
+ object.leftPixels = 0;
+ object.rightPixels = 0;
+ }
+ if (message.topPixels != null && message.hasOwnProperty("topPixels"))
+ object.topPixels = message.topPixels;
+ if (message.bottomPixels != null && message.hasOwnProperty("bottomPixels"))
+ object.bottomPixels = message.bottomPixels;
+ if (message.leftPixels != null && message.hasOwnProperty("leftPixels"))
+ object.leftPixels = message.leftPixels;
+ if (message.rightPixels != null && message.hasOwnProperty("rightPixels"))
+ object.rightPixels = message.rightPixels;
+ return object;
+ };
+
+ /**
+ * Converts this Pad to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig.Pad
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Pad.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Pad
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.PreprocessingConfig.Pad
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Pad.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.PreprocessingConfig.Pad";
+ };
+
+ return Pad;
+ })();
+
+ return PreprocessingConfig;
+ })();
+
+ v1.VideoStream = (function() {
+
+ /**
+ * Properties of a VideoStream.
+ * @memberof google.cloud.video.livestream.v1
+ * @interface IVideoStream
+ * @property {google.cloud.video.livestream.v1.VideoStream.IH264CodecSettings|null} [h264] VideoStream h264
+ */
+
+ /**
+ * Constructs a new VideoStream.
+ * @memberof google.cloud.video.livestream.v1
+ * @classdesc Represents a VideoStream.
+ * @implements IVideoStream
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.IVideoStream=} [properties] Properties to set
+ */
+ function VideoStream(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * VideoStream h264.
+ * @member {google.cloud.video.livestream.v1.VideoStream.IH264CodecSettings|null|undefined} h264
+ * @memberof google.cloud.video.livestream.v1.VideoStream
+ * @instance
+ */
+ VideoStream.prototype.h264 = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * VideoStream codecSettings.
+ * @member {"h264"|undefined} codecSettings
+ * @memberof google.cloud.video.livestream.v1.VideoStream
+ * @instance
+ */
+ Object.defineProperty(VideoStream.prototype, "codecSettings", {
+ get: $util.oneOfGetter($oneOfFields = ["h264"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new VideoStream instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.VideoStream
+ * @static
+ * @param {google.cloud.video.livestream.v1.IVideoStream=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.VideoStream} VideoStream instance
+ */
+ VideoStream.create = function create(properties) {
+ return new VideoStream(properties);
+ };
+
+ /**
+ * Encodes the specified VideoStream message. Does not implicitly {@link google.cloud.video.livestream.v1.VideoStream.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.VideoStream
+ * @static
+ * @param {google.cloud.video.livestream.v1.IVideoStream} message VideoStream message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ VideoStream.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.h264 != null && Object.hasOwnProperty.call(message, "h264"))
+ $root.google.cloud.video.livestream.v1.VideoStream.H264CodecSettings.encode(message.h264, writer.uint32(/* id 20, wireType 2 =*/162).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified VideoStream message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.VideoStream.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.VideoStream
+ * @static
+ * @param {google.cloud.video.livestream.v1.IVideoStream} message VideoStream message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ VideoStream.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a VideoStream message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.VideoStream
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.VideoStream} VideoStream
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ VideoStream.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.VideoStream();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 20: {
+ message.h264 = $root.google.cloud.video.livestream.v1.VideoStream.H264CodecSettings.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a VideoStream message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.VideoStream
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.VideoStream} VideoStream
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ VideoStream.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a VideoStream message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.VideoStream
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ VideoStream.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.h264 != null && message.hasOwnProperty("h264")) {
+ properties.codecSettings = 1;
+ {
+ var error = $root.google.cloud.video.livestream.v1.VideoStream.H264CodecSettings.verify(message.h264);
+ if (error)
+ return "h264." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a VideoStream message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.VideoStream
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.VideoStream} VideoStream
+ */
+ VideoStream.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.VideoStream)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.VideoStream();
+ if (object.h264 != null) {
+ if (typeof object.h264 !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.VideoStream.h264: object expected");
+ message.h264 = $root.google.cloud.video.livestream.v1.VideoStream.H264CodecSettings.fromObject(object.h264);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a VideoStream message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.VideoStream
+ * @static
+ * @param {google.cloud.video.livestream.v1.VideoStream} message VideoStream
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ VideoStream.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (message.h264 != null && message.hasOwnProperty("h264")) {
+ object.h264 = $root.google.cloud.video.livestream.v1.VideoStream.H264CodecSettings.toObject(message.h264, options);
+ if (options.oneofs)
+ object.codecSettings = "h264";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this VideoStream to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.VideoStream
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ VideoStream.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for VideoStream
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.VideoStream
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ VideoStream.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.VideoStream";
+ };
+
+ VideoStream.H264CodecSettings = (function() {
+
+ /**
+ * Properties of a H264CodecSettings.
+ * @memberof google.cloud.video.livestream.v1.VideoStream
+ * @interface IH264CodecSettings
+ * @property {number|null} [widthPixels] H264CodecSettings widthPixels
+ * @property {number|null} [heightPixels] H264CodecSettings heightPixels
+ * @property {number|null} [frameRate] H264CodecSettings frameRate
+ * @property {number|null} [bitrateBps] H264CodecSettings bitrateBps
+ * @property {boolean|null} [allowOpenGop] H264CodecSettings allowOpenGop
+ * @property {number|null} [gopFrameCount] H264CodecSettings gopFrameCount
+ * @property {google.protobuf.IDuration|null} [gopDuration] H264CodecSettings gopDuration
+ * @property {number|null} [vbvSizeBits] H264CodecSettings vbvSizeBits
+ * @property {number|null} [vbvFullnessBits] H264CodecSettings vbvFullnessBits
+ * @property {string|null} [entropyCoder] H264CodecSettings entropyCoder
+ * @property {boolean|null} [bPyramid] H264CodecSettings bPyramid
+ * @property {number|null} [bFrameCount] H264CodecSettings bFrameCount
+ * @property {number|null} [aqStrength] H264CodecSettings aqStrength
+ * @property {string|null} [profile] H264CodecSettings profile
+ * @property {string|null} [tune] H264CodecSettings tune
+ */
+
+ /**
+ * Constructs a new H264CodecSettings.
+ * @memberof google.cloud.video.livestream.v1.VideoStream
+ * @classdesc Represents a H264CodecSettings.
+ * @implements IH264CodecSettings
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.VideoStream.IH264CodecSettings=} [properties] Properties to set
+ */
+ function H264CodecSettings(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * H264CodecSettings widthPixels.
+ * @member {number} widthPixels
+ * @memberof google.cloud.video.livestream.v1.VideoStream.H264CodecSettings
+ * @instance
+ */
+ H264CodecSettings.prototype.widthPixels = 0;
+
+ /**
+ * H264CodecSettings heightPixels.
+ * @member {number} heightPixels
+ * @memberof google.cloud.video.livestream.v1.VideoStream.H264CodecSettings
+ * @instance
+ */
+ H264CodecSettings.prototype.heightPixels = 0;
+
+ /**
+ * H264CodecSettings frameRate.
+ * @member {number} frameRate
+ * @memberof google.cloud.video.livestream.v1.VideoStream.H264CodecSettings
+ * @instance
+ */
+ H264CodecSettings.prototype.frameRate = 0;
+
+ /**
+ * H264CodecSettings bitrateBps.
+ * @member {number} bitrateBps
+ * @memberof google.cloud.video.livestream.v1.VideoStream.H264CodecSettings
+ * @instance
+ */
+ H264CodecSettings.prototype.bitrateBps = 0;
+
+ /**
+ * H264CodecSettings allowOpenGop.
+ * @member {boolean} allowOpenGop
+ * @memberof google.cloud.video.livestream.v1.VideoStream.H264CodecSettings
+ * @instance
+ */
+ H264CodecSettings.prototype.allowOpenGop = false;
+
+ /**
+ * H264CodecSettings gopFrameCount.
+ * @member {number|null|undefined} gopFrameCount
+ * @memberof google.cloud.video.livestream.v1.VideoStream.H264CodecSettings
+ * @instance
+ */
+ H264CodecSettings.prototype.gopFrameCount = null;
+
+ /**
+ * H264CodecSettings gopDuration.
+ * @member {google.protobuf.IDuration|null|undefined} gopDuration
+ * @memberof google.cloud.video.livestream.v1.VideoStream.H264CodecSettings
+ * @instance
+ */
+ H264CodecSettings.prototype.gopDuration = null;
+
+ /**
+ * H264CodecSettings vbvSizeBits.
+ * @member {number} vbvSizeBits
+ * @memberof google.cloud.video.livestream.v1.VideoStream.H264CodecSettings
+ * @instance
+ */
+ H264CodecSettings.prototype.vbvSizeBits = 0;
+
+ /**
+ * H264CodecSettings vbvFullnessBits.
+ * @member {number} vbvFullnessBits
+ * @memberof google.cloud.video.livestream.v1.VideoStream.H264CodecSettings
+ * @instance
+ */
+ H264CodecSettings.prototype.vbvFullnessBits = 0;
+
+ /**
+ * H264CodecSettings entropyCoder.
+ * @member {string} entropyCoder
+ * @memberof google.cloud.video.livestream.v1.VideoStream.H264CodecSettings
+ * @instance
+ */
+ H264CodecSettings.prototype.entropyCoder = "";
+
+ /**
+ * H264CodecSettings bPyramid.
+ * @member {boolean} bPyramid
+ * @memberof google.cloud.video.livestream.v1.VideoStream.H264CodecSettings
+ * @instance
+ */
+ H264CodecSettings.prototype.bPyramid = false;
+
+ /**
+ * H264CodecSettings bFrameCount.
+ * @member {number} bFrameCount
+ * @memberof google.cloud.video.livestream.v1.VideoStream.H264CodecSettings
+ * @instance
+ */
+ H264CodecSettings.prototype.bFrameCount = 0;
+
+ /**
+ * H264CodecSettings aqStrength.
+ * @member {number} aqStrength
+ * @memberof google.cloud.video.livestream.v1.VideoStream.H264CodecSettings
+ * @instance
+ */
+ H264CodecSettings.prototype.aqStrength = 0;
+
+ /**
+ * H264CodecSettings profile.
+ * @member {string} profile
+ * @memberof google.cloud.video.livestream.v1.VideoStream.H264CodecSettings
+ * @instance
+ */
+ H264CodecSettings.prototype.profile = "";
+
+ /**
+ * H264CodecSettings tune.
+ * @member {string} tune
+ * @memberof google.cloud.video.livestream.v1.VideoStream.H264CodecSettings
+ * @instance
+ */
+ H264CodecSettings.prototype.tune = "";
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * H264CodecSettings gopMode.
+ * @member {"gopFrameCount"|"gopDuration"|undefined} gopMode
+ * @memberof google.cloud.video.livestream.v1.VideoStream.H264CodecSettings
+ * @instance
+ */
+ Object.defineProperty(H264CodecSettings.prototype, "gopMode", {
+ get: $util.oneOfGetter($oneOfFields = ["gopFrameCount", "gopDuration"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new H264CodecSettings instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.VideoStream.H264CodecSettings
+ * @static
+ * @param {google.cloud.video.livestream.v1.VideoStream.IH264CodecSettings=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.VideoStream.H264CodecSettings} H264CodecSettings instance
+ */
+ H264CodecSettings.create = function create(properties) {
+ return new H264CodecSettings(properties);
+ };
+
+ /**
+ * Encodes the specified H264CodecSettings message. Does not implicitly {@link google.cloud.video.livestream.v1.VideoStream.H264CodecSettings.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.VideoStream.H264CodecSettings
+ * @static
+ * @param {google.cloud.video.livestream.v1.VideoStream.IH264CodecSettings} message H264CodecSettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ H264CodecSettings.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.widthPixels != null && Object.hasOwnProperty.call(message, "widthPixels"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.widthPixels);
+ if (message.heightPixels != null && Object.hasOwnProperty.call(message, "heightPixels"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.heightPixels);
+ if (message.frameRate != null && Object.hasOwnProperty.call(message, "frameRate"))
+ writer.uint32(/* id 3, wireType 1 =*/25).double(message.frameRate);
+ if (message.bitrateBps != null && Object.hasOwnProperty.call(message, "bitrateBps"))
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.bitrateBps);
+ if (message.allowOpenGop != null && Object.hasOwnProperty.call(message, "allowOpenGop"))
+ writer.uint32(/* id 6, wireType 0 =*/48).bool(message.allowOpenGop);
+ if (message.gopFrameCount != null && Object.hasOwnProperty.call(message, "gopFrameCount"))
+ writer.uint32(/* id 7, wireType 0 =*/56).int32(message.gopFrameCount);
+ if (message.gopDuration != null && Object.hasOwnProperty.call(message, "gopDuration"))
+ $root.google.protobuf.Duration.encode(message.gopDuration, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
+ if (message.vbvSizeBits != null && Object.hasOwnProperty.call(message, "vbvSizeBits"))
+ writer.uint32(/* id 9, wireType 0 =*/72).int32(message.vbvSizeBits);
+ if (message.vbvFullnessBits != null && Object.hasOwnProperty.call(message, "vbvFullnessBits"))
+ writer.uint32(/* id 10, wireType 0 =*/80).int32(message.vbvFullnessBits);
+ if (message.entropyCoder != null && Object.hasOwnProperty.call(message, "entropyCoder"))
+ writer.uint32(/* id 11, wireType 2 =*/90).string(message.entropyCoder);
+ if (message.bPyramid != null && Object.hasOwnProperty.call(message, "bPyramid"))
+ writer.uint32(/* id 12, wireType 0 =*/96).bool(message.bPyramid);
+ if (message.bFrameCount != null && Object.hasOwnProperty.call(message, "bFrameCount"))
+ writer.uint32(/* id 13, wireType 0 =*/104).int32(message.bFrameCount);
+ if (message.aqStrength != null && Object.hasOwnProperty.call(message, "aqStrength"))
+ writer.uint32(/* id 14, wireType 1 =*/113).double(message.aqStrength);
+ if (message.profile != null && Object.hasOwnProperty.call(message, "profile"))
+ writer.uint32(/* id 15, wireType 2 =*/122).string(message.profile);
+ if (message.tune != null && Object.hasOwnProperty.call(message, "tune"))
+ writer.uint32(/* id 16, wireType 2 =*/130).string(message.tune);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified H264CodecSettings message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.VideoStream.H264CodecSettings.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.VideoStream.H264CodecSettings
+ * @static
+ * @param {google.cloud.video.livestream.v1.VideoStream.IH264CodecSettings} message H264CodecSettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ H264CodecSettings.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a H264CodecSettings message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.VideoStream.H264CodecSettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.VideoStream.H264CodecSettings} H264CodecSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ H264CodecSettings.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.VideoStream.H264CodecSettings();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.widthPixels = reader.int32();
+ break;
+ }
+ case 2: {
+ message.heightPixels = reader.int32();
+ break;
+ }
+ case 3: {
+ message.frameRate = reader.double();
+ break;
+ }
+ case 4: {
+ message.bitrateBps = reader.int32();
+ break;
+ }
+ case 6: {
+ message.allowOpenGop = reader.bool();
+ break;
+ }
+ case 7: {
+ message.gopFrameCount = reader.int32();
+ break;
+ }
+ case 8: {
+ message.gopDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+ break;
+ }
+ case 9: {
+ message.vbvSizeBits = reader.int32();
+ break;
+ }
+ case 10: {
+ message.vbvFullnessBits = reader.int32();
+ break;
+ }
+ case 11: {
+ message.entropyCoder = reader.string();
+ break;
+ }
+ case 12: {
+ message.bPyramid = reader.bool();
+ break;
+ }
+ case 13: {
+ message.bFrameCount = reader.int32();
+ break;
+ }
+ case 14: {
+ message.aqStrength = reader.double();
+ break;
+ }
+ case 15: {
+ message.profile = reader.string();
+ break;
+ }
+ case 16: {
+ message.tune = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a H264CodecSettings message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.VideoStream.H264CodecSettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.VideoStream.H264CodecSettings} H264CodecSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ H264CodecSettings.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a H264CodecSettings message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.VideoStream.H264CodecSettings
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ H264CodecSettings.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.widthPixels != null && message.hasOwnProperty("widthPixels"))
+ if (!$util.isInteger(message.widthPixels))
+ return "widthPixels: integer expected";
+ if (message.heightPixels != null && message.hasOwnProperty("heightPixels"))
+ if (!$util.isInteger(message.heightPixels))
+ return "heightPixels: integer expected";
+ if (message.frameRate != null && message.hasOwnProperty("frameRate"))
+ if (typeof message.frameRate !== "number")
+ return "frameRate: number expected";
+ if (message.bitrateBps != null && message.hasOwnProperty("bitrateBps"))
+ if (!$util.isInteger(message.bitrateBps))
+ return "bitrateBps: integer expected";
+ if (message.allowOpenGop != null && message.hasOwnProperty("allowOpenGop"))
+ if (typeof message.allowOpenGop !== "boolean")
+ return "allowOpenGop: boolean expected";
+ if (message.gopFrameCount != null && message.hasOwnProperty("gopFrameCount")) {
+ properties.gopMode = 1;
+ if (!$util.isInteger(message.gopFrameCount))
+ return "gopFrameCount: integer expected";
+ }
+ if (message.gopDuration != null && message.hasOwnProperty("gopDuration")) {
+ if (properties.gopMode === 1)
+ return "gopMode: multiple values";
+ properties.gopMode = 1;
+ {
+ var error = $root.google.protobuf.Duration.verify(message.gopDuration);
+ if (error)
+ return "gopDuration." + error;
+ }
+ }
+ if (message.vbvSizeBits != null && message.hasOwnProperty("vbvSizeBits"))
+ if (!$util.isInteger(message.vbvSizeBits))
+ return "vbvSizeBits: integer expected";
+ if (message.vbvFullnessBits != null && message.hasOwnProperty("vbvFullnessBits"))
+ if (!$util.isInteger(message.vbvFullnessBits))
+ return "vbvFullnessBits: integer expected";
+ if (message.entropyCoder != null && message.hasOwnProperty("entropyCoder"))
+ if (!$util.isString(message.entropyCoder))
+ return "entropyCoder: string expected";
+ if (message.bPyramid != null && message.hasOwnProperty("bPyramid"))
+ if (typeof message.bPyramid !== "boolean")
+ return "bPyramid: boolean expected";
+ if (message.bFrameCount != null && message.hasOwnProperty("bFrameCount"))
+ if (!$util.isInteger(message.bFrameCount))
+ return "bFrameCount: integer expected";
+ if (message.aqStrength != null && message.hasOwnProperty("aqStrength"))
+ if (typeof message.aqStrength !== "number")
+ return "aqStrength: number expected";
+ if (message.profile != null && message.hasOwnProperty("profile"))
+ if (!$util.isString(message.profile))
+ return "profile: string expected";
+ if (message.tune != null && message.hasOwnProperty("tune"))
+ if (!$util.isString(message.tune))
+ return "tune: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a H264CodecSettings message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.VideoStream.H264CodecSettings
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.VideoStream.H264CodecSettings} H264CodecSettings
+ */
+ H264CodecSettings.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.VideoStream.H264CodecSettings)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.VideoStream.H264CodecSettings();
+ if (object.widthPixels != null)
+ message.widthPixels = object.widthPixels | 0;
+ if (object.heightPixels != null)
+ message.heightPixels = object.heightPixels | 0;
+ if (object.frameRate != null)
+ message.frameRate = Number(object.frameRate);
+ if (object.bitrateBps != null)
+ message.bitrateBps = object.bitrateBps | 0;
+ if (object.allowOpenGop != null)
+ message.allowOpenGop = Boolean(object.allowOpenGop);
+ if (object.gopFrameCount != null)
+ message.gopFrameCount = object.gopFrameCount | 0;
+ if (object.gopDuration != null) {
+ if (typeof object.gopDuration !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.VideoStream.H264CodecSettings.gopDuration: object expected");
+ message.gopDuration = $root.google.protobuf.Duration.fromObject(object.gopDuration);
+ }
+ if (object.vbvSizeBits != null)
+ message.vbvSizeBits = object.vbvSizeBits | 0;
+ if (object.vbvFullnessBits != null)
+ message.vbvFullnessBits = object.vbvFullnessBits | 0;
+ if (object.entropyCoder != null)
+ message.entropyCoder = String(object.entropyCoder);
+ if (object.bPyramid != null)
+ message.bPyramid = Boolean(object.bPyramid);
+ if (object.bFrameCount != null)
+ message.bFrameCount = object.bFrameCount | 0;
+ if (object.aqStrength != null)
+ message.aqStrength = Number(object.aqStrength);
+ if (object.profile != null)
+ message.profile = String(object.profile);
+ if (object.tune != null)
+ message.tune = String(object.tune);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a H264CodecSettings message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.VideoStream.H264CodecSettings
+ * @static
+ * @param {google.cloud.video.livestream.v1.VideoStream.H264CodecSettings} message H264CodecSettings
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ H264CodecSettings.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.widthPixels = 0;
+ object.heightPixels = 0;
+ object.frameRate = 0;
+ object.bitrateBps = 0;
+ object.allowOpenGop = false;
+ object.vbvSizeBits = 0;
+ object.vbvFullnessBits = 0;
+ object.entropyCoder = "";
+ object.bPyramid = false;
+ object.bFrameCount = 0;
+ object.aqStrength = 0;
+ object.profile = "";
+ object.tune = "";
+ }
+ if (message.widthPixels != null && message.hasOwnProperty("widthPixels"))
+ object.widthPixels = message.widthPixels;
+ if (message.heightPixels != null && message.hasOwnProperty("heightPixels"))
+ object.heightPixels = message.heightPixels;
+ if (message.frameRate != null && message.hasOwnProperty("frameRate"))
+ object.frameRate = options.json && !isFinite(message.frameRate) ? String(message.frameRate) : message.frameRate;
+ if (message.bitrateBps != null && message.hasOwnProperty("bitrateBps"))
+ object.bitrateBps = message.bitrateBps;
+ if (message.allowOpenGop != null && message.hasOwnProperty("allowOpenGop"))
+ object.allowOpenGop = message.allowOpenGop;
+ if (message.gopFrameCount != null && message.hasOwnProperty("gopFrameCount")) {
+ object.gopFrameCount = message.gopFrameCount;
+ if (options.oneofs)
+ object.gopMode = "gopFrameCount";
+ }
+ if (message.gopDuration != null && message.hasOwnProperty("gopDuration")) {
+ object.gopDuration = $root.google.protobuf.Duration.toObject(message.gopDuration, options);
+ if (options.oneofs)
+ object.gopMode = "gopDuration";
+ }
+ if (message.vbvSizeBits != null && message.hasOwnProperty("vbvSizeBits"))
+ object.vbvSizeBits = message.vbvSizeBits;
+ if (message.vbvFullnessBits != null && message.hasOwnProperty("vbvFullnessBits"))
+ object.vbvFullnessBits = message.vbvFullnessBits;
+ if (message.entropyCoder != null && message.hasOwnProperty("entropyCoder"))
+ object.entropyCoder = message.entropyCoder;
+ if (message.bPyramid != null && message.hasOwnProperty("bPyramid"))
+ object.bPyramid = message.bPyramid;
+ if (message.bFrameCount != null && message.hasOwnProperty("bFrameCount"))
+ object.bFrameCount = message.bFrameCount;
+ if (message.aqStrength != null && message.hasOwnProperty("aqStrength"))
+ object.aqStrength = options.json && !isFinite(message.aqStrength) ? String(message.aqStrength) : message.aqStrength;
+ if (message.profile != null && message.hasOwnProperty("profile"))
+ object.profile = message.profile;
+ if (message.tune != null && message.hasOwnProperty("tune"))
+ object.tune = message.tune;
+ return object;
+ };
+
+ /**
+ * Converts this H264CodecSettings to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.VideoStream.H264CodecSettings
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ H264CodecSettings.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for H264CodecSettings
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.VideoStream.H264CodecSettings
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ H264CodecSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.VideoStream.H264CodecSettings";
+ };
+
+ return H264CodecSettings;
+ })();
+
+ return VideoStream;
+ })();
+
+ v1.AudioStream = (function() {
+
+ /**
+ * Properties of an AudioStream.
+ * @memberof google.cloud.video.livestream.v1
+ * @interface IAudioStream
+ * @property {boolean|null} [transmux] AudioStream transmux
+ * @property {string|null} [codec] AudioStream codec
+ * @property {number|null} [bitrateBps] AudioStream bitrateBps
+ * @property {number|null} [channelCount] AudioStream channelCount
+ * @property {Array.|null} [channelLayout] AudioStream channelLayout
+ * @property {Array.|null} [mapping] AudioStream mapping
+ * @property {number|null} [sampleRateHertz] AudioStream sampleRateHertz
+ */
+
+ /**
+ * Constructs a new AudioStream.
+ * @memberof google.cloud.video.livestream.v1
+ * @classdesc Represents an AudioStream.
+ * @implements IAudioStream
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.IAudioStream=} [properties] Properties to set
+ */
+ function AudioStream(properties) {
+ this.channelLayout = [];
+ this.mapping = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * AudioStream transmux.
+ * @member {boolean} transmux
+ * @memberof google.cloud.video.livestream.v1.AudioStream
+ * @instance
+ */
+ AudioStream.prototype.transmux = false;
+
+ /**
+ * AudioStream codec.
+ * @member {string} codec
+ * @memberof google.cloud.video.livestream.v1.AudioStream
+ * @instance
+ */
+ AudioStream.prototype.codec = "";
+
+ /**
+ * AudioStream bitrateBps.
+ * @member {number} bitrateBps
+ * @memberof google.cloud.video.livestream.v1.AudioStream
+ * @instance
+ */
+ AudioStream.prototype.bitrateBps = 0;
+
+ /**
+ * AudioStream channelCount.
+ * @member {number} channelCount
+ * @memberof google.cloud.video.livestream.v1.AudioStream
+ * @instance
+ */
+ AudioStream.prototype.channelCount = 0;
+
+ /**
+ * AudioStream channelLayout.
+ * @member {Array.} channelLayout
+ * @memberof google.cloud.video.livestream.v1.AudioStream
+ * @instance
+ */
+ AudioStream.prototype.channelLayout = $util.emptyArray;
+
+ /**
+ * AudioStream mapping.
+ * @member {Array.} mapping
+ * @memberof google.cloud.video.livestream.v1.AudioStream
+ * @instance
+ */
+ AudioStream.prototype.mapping = $util.emptyArray;
+
+ /**
+ * AudioStream sampleRateHertz.
+ * @member {number} sampleRateHertz
+ * @memberof google.cloud.video.livestream.v1.AudioStream
+ * @instance
+ */
+ AudioStream.prototype.sampleRateHertz = 0;
+
+ /**
+ * Creates a new AudioStream instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.AudioStream
+ * @static
+ * @param {google.cloud.video.livestream.v1.IAudioStream=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.AudioStream} AudioStream instance
+ */
+ AudioStream.create = function create(properties) {
+ return new AudioStream(properties);
+ };
+
+ /**
+ * Encodes the specified AudioStream message. Does not implicitly {@link google.cloud.video.livestream.v1.AudioStream.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.AudioStream
+ * @static
+ * @param {google.cloud.video.livestream.v1.IAudioStream} message AudioStream message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AudioStream.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.codec != null && Object.hasOwnProperty.call(message, "codec"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.codec);
+ if (message.bitrateBps != null && Object.hasOwnProperty.call(message, "bitrateBps"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.bitrateBps);
+ if (message.channelCount != null && Object.hasOwnProperty.call(message, "channelCount"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.channelCount);
+ if (message.channelLayout != null && message.channelLayout.length)
+ for (var i = 0; i < message.channelLayout.length; ++i)
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.channelLayout[i]);
+ if (message.mapping != null && message.mapping.length)
+ for (var i = 0; i < message.mapping.length; ++i)
+ $root.google.cloud.video.livestream.v1.AudioStream.AudioMapping.encode(message.mapping[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.sampleRateHertz != null && Object.hasOwnProperty.call(message, "sampleRateHertz"))
+ writer.uint32(/* id 6, wireType 0 =*/48).int32(message.sampleRateHertz);
+ if (message.transmux != null && Object.hasOwnProperty.call(message, "transmux"))
+ writer.uint32(/* id 8, wireType 0 =*/64).bool(message.transmux);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AudioStream message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.AudioStream.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.AudioStream
+ * @static
+ * @param {google.cloud.video.livestream.v1.IAudioStream} message AudioStream message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AudioStream.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AudioStream message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.AudioStream
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.AudioStream} AudioStream
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AudioStream.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.AudioStream();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 8: {
+ message.transmux = reader.bool();
+ break;
+ }
+ case 1: {
+ message.codec = reader.string();
+ break;
+ }
+ case 2: {
+ message.bitrateBps = reader.int32();
+ break;
+ }
+ case 3: {
+ message.channelCount = reader.int32();
+ break;
+ }
+ case 4: {
+ if (!(message.channelLayout && message.channelLayout.length))
+ message.channelLayout = [];
+ message.channelLayout.push(reader.string());
+ break;
+ }
+ case 5: {
+ if (!(message.mapping && message.mapping.length))
+ message.mapping = [];
+ message.mapping.push($root.google.cloud.video.livestream.v1.AudioStream.AudioMapping.decode(reader, reader.uint32()));
+ break;
+ }
+ case 6: {
+ message.sampleRateHertz = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AudioStream message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.AudioStream
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.AudioStream} AudioStream
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AudioStream.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AudioStream message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.AudioStream
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AudioStream.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.transmux != null && message.hasOwnProperty("transmux"))
+ if (typeof message.transmux !== "boolean")
+ return "transmux: boolean expected";
+ if (message.codec != null && message.hasOwnProperty("codec"))
+ if (!$util.isString(message.codec))
+ return "codec: string expected";
+ if (message.bitrateBps != null && message.hasOwnProperty("bitrateBps"))
+ if (!$util.isInteger(message.bitrateBps))
+ return "bitrateBps: integer expected";
+ if (message.channelCount != null && message.hasOwnProperty("channelCount"))
+ if (!$util.isInteger(message.channelCount))
+ return "channelCount: integer expected";
+ if (message.channelLayout != null && message.hasOwnProperty("channelLayout")) {
+ if (!Array.isArray(message.channelLayout))
+ return "channelLayout: array expected";
+ for (var i = 0; i < message.channelLayout.length; ++i)
+ if (!$util.isString(message.channelLayout[i]))
+ return "channelLayout: string[] expected";
+ }
+ if (message.mapping != null && message.hasOwnProperty("mapping")) {
+ if (!Array.isArray(message.mapping))
+ return "mapping: array expected";
+ for (var i = 0; i < message.mapping.length; ++i) {
+ var error = $root.google.cloud.video.livestream.v1.AudioStream.AudioMapping.verify(message.mapping[i]);
+ if (error)
+ return "mapping." + error;
+ }
+ }
+ if (message.sampleRateHertz != null && message.hasOwnProperty("sampleRateHertz"))
+ if (!$util.isInteger(message.sampleRateHertz))
+ return "sampleRateHertz: integer expected";
+ return null;
+ };
+
+ /**
+ * Creates an AudioStream message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.AudioStream
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.AudioStream} AudioStream
+ */
+ AudioStream.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.AudioStream)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.AudioStream();
+ if (object.transmux != null)
+ message.transmux = Boolean(object.transmux);
+ if (object.codec != null)
+ message.codec = String(object.codec);
+ if (object.bitrateBps != null)
+ message.bitrateBps = object.bitrateBps | 0;
+ if (object.channelCount != null)
+ message.channelCount = object.channelCount | 0;
+ if (object.channelLayout) {
+ if (!Array.isArray(object.channelLayout))
+ throw TypeError(".google.cloud.video.livestream.v1.AudioStream.channelLayout: array expected");
+ message.channelLayout = [];
+ for (var i = 0; i < object.channelLayout.length; ++i)
+ message.channelLayout[i] = String(object.channelLayout[i]);
+ }
+ if (object.mapping) {
+ if (!Array.isArray(object.mapping))
+ throw TypeError(".google.cloud.video.livestream.v1.AudioStream.mapping: array expected");
+ message.mapping = [];
+ for (var i = 0; i < object.mapping.length; ++i) {
+ if (typeof object.mapping[i] !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.AudioStream.mapping: object expected");
+ message.mapping[i] = $root.google.cloud.video.livestream.v1.AudioStream.AudioMapping.fromObject(object.mapping[i]);
+ }
+ }
+ if (object.sampleRateHertz != null)
+ message.sampleRateHertz = object.sampleRateHertz | 0;
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AudioStream message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.AudioStream
+ * @static
+ * @param {google.cloud.video.livestream.v1.AudioStream} message AudioStream
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AudioStream.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.channelLayout = [];
+ object.mapping = [];
+ }
+ if (options.defaults) {
+ object.codec = "";
+ object.bitrateBps = 0;
+ object.channelCount = 0;
+ object.sampleRateHertz = 0;
+ object.transmux = false;
+ }
+ if (message.codec != null && message.hasOwnProperty("codec"))
+ object.codec = message.codec;
+ if (message.bitrateBps != null && message.hasOwnProperty("bitrateBps"))
+ object.bitrateBps = message.bitrateBps;
+ if (message.channelCount != null && message.hasOwnProperty("channelCount"))
+ object.channelCount = message.channelCount;
+ if (message.channelLayout && message.channelLayout.length) {
+ object.channelLayout = [];
+ for (var j = 0; j < message.channelLayout.length; ++j)
+ object.channelLayout[j] = message.channelLayout[j];
+ }
+ if (message.mapping && message.mapping.length) {
+ object.mapping = [];
+ for (var j = 0; j < message.mapping.length; ++j)
+ object.mapping[j] = $root.google.cloud.video.livestream.v1.AudioStream.AudioMapping.toObject(message.mapping[j], options);
+ }
+ if (message.sampleRateHertz != null && message.hasOwnProperty("sampleRateHertz"))
+ object.sampleRateHertz = message.sampleRateHertz;
+ if (message.transmux != null && message.hasOwnProperty("transmux"))
+ object.transmux = message.transmux;
+ return object;
+ };
+
+ /**
+ * Converts this AudioStream to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.AudioStream
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AudioStream.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AudioStream
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.AudioStream
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AudioStream.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.AudioStream";
+ };
+
+ AudioStream.AudioMapping = (function() {
+
+ /**
+ * Properties of an AudioMapping.
+ * @memberof google.cloud.video.livestream.v1.AudioStream
+ * @interface IAudioMapping
+ * @property {string|null} [inputKey] AudioMapping inputKey
+ * @property {number|null} [inputTrack] AudioMapping inputTrack
+ * @property {number|null} [inputChannel] AudioMapping inputChannel
+ * @property {number|null} [outputChannel] AudioMapping outputChannel
+ */
+
+ /**
+ * Constructs a new AudioMapping.
+ * @memberof google.cloud.video.livestream.v1.AudioStream
+ * @classdesc Represents an AudioMapping.
+ * @implements IAudioMapping
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.AudioStream.IAudioMapping=} [properties] Properties to set
+ */
+ function AudioMapping(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * AudioMapping inputKey.
+ * @member {string} inputKey
+ * @memberof google.cloud.video.livestream.v1.AudioStream.AudioMapping
+ * @instance
+ */
+ AudioMapping.prototype.inputKey = "";
+
+ /**
+ * AudioMapping inputTrack.
+ * @member {number} inputTrack
+ * @memberof google.cloud.video.livestream.v1.AudioStream.AudioMapping
+ * @instance
+ */
+ AudioMapping.prototype.inputTrack = 0;
+
+ /**
+ * AudioMapping inputChannel.
+ * @member {number} inputChannel
+ * @memberof google.cloud.video.livestream.v1.AudioStream.AudioMapping
+ * @instance
+ */
+ AudioMapping.prototype.inputChannel = 0;
+
+ /**
+ * AudioMapping outputChannel.
+ * @member {number} outputChannel
+ * @memberof google.cloud.video.livestream.v1.AudioStream.AudioMapping
+ * @instance
+ */
+ AudioMapping.prototype.outputChannel = 0;
+
+ /**
+ * Creates a new AudioMapping instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.AudioStream.AudioMapping
+ * @static
+ * @param {google.cloud.video.livestream.v1.AudioStream.IAudioMapping=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.AudioStream.AudioMapping} AudioMapping instance
+ */
+ AudioMapping.create = function create(properties) {
+ return new AudioMapping(properties);
+ };
+
+ /**
+ * Encodes the specified AudioMapping message. Does not implicitly {@link google.cloud.video.livestream.v1.AudioStream.AudioMapping.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.AudioStream.AudioMapping
+ * @static
+ * @param {google.cloud.video.livestream.v1.AudioStream.IAudioMapping} message AudioMapping message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AudioMapping.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.inputTrack != null && Object.hasOwnProperty.call(message, "inputTrack"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.inputTrack);
+ if (message.inputChannel != null && Object.hasOwnProperty.call(message, "inputChannel"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.inputChannel);
+ if (message.outputChannel != null && Object.hasOwnProperty.call(message, "outputChannel"))
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.outputChannel);
+ if (message.inputKey != null && Object.hasOwnProperty.call(message, "inputKey"))
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.inputKey);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AudioMapping message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.AudioStream.AudioMapping.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.AudioStream.AudioMapping
+ * @static
+ * @param {google.cloud.video.livestream.v1.AudioStream.IAudioMapping} message AudioMapping message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AudioMapping.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AudioMapping message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.AudioStream.AudioMapping
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.AudioStream.AudioMapping} AudioMapping
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AudioMapping.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.AudioStream.AudioMapping();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 6: {
+ message.inputKey = reader.string();
+ break;
+ }
+ case 2: {
+ message.inputTrack = reader.int32();
+ break;
+ }
+ case 3: {
+ message.inputChannel = reader.int32();
+ break;
+ }
+ case 4: {
+ message.outputChannel = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AudioMapping message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.AudioStream.AudioMapping
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.AudioStream.AudioMapping} AudioMapping
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AudioMapping.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AudioMapping message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.AudioStream.AudioMapping
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AudioMapping.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.inputKey != null && message.hasOwnProperty("inputKey"))
+ if (!$util.isString(message.inputKey))
+ return "inputKey: string expected";
+ if (message.inputTrack != null && message.hasOwnProperty("inputTrack"))
+ if (!$util.isInteger(message.inputTrack))
+ return "inputTrack: integer expected";
+ if (message.inputChannel != null && message.hasOwnProperty("inputChannel"))
+ if (!$util.isInteger(message.inputChannel))
+ return "inputChannel: integer expected";
+ if (message.outputChannel != null && message.hasOwnProperty("outputChannel"))
+ if (!$util.isInteger(message.outputChannel))
+ return "outputChannel: integer expected";
+ return null;
+ };
+
+ /**
+ * Creates an AudioMapping message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.AudioStream.AudioMapping
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.AudioStream.AudioMapping} AudioMapping
+ */
+ AudioMapping.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.AudioStream.AudioMapping)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.AudioStream.AudioMapping();
+ if (object.inputKey != null)
+ message.inputKey = String(object.inputKey);
+ if (object.inputTrack != null)
+ message.inputTrack = object.inputTrack | 0;
+ if (object.inputChannel != null)
+ message.inputChannel = object.inputChannel | 0;
+ if (object.outputChannel != null)
+ message.outputChannel = object.outputChannel | 0;
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AudioMapping message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.AudioStream.AudioMapping
+ * @static
+ * @param {google.cloud.video.livestream.v1.AudioStream.AudioMapping} message AudioMapping
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AudioMapping.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.inputTrack = 0;
+ object.inputChannel = 0;
+ object.outputChannel = 0;
+ object.inputKey = "";
+ }
+ if (message.inputTrack != null && message.hasOwnProperty("inputTrack"))
+ object.inputTrack = message.inputTrack;
+ if (message.inputChannel != null && message.hasOwnProperty("inputChannel"))
+ object.inputChannel = message.inputChannel;
+ if (message.outputChannel != null && message.hasOwnProperty("outputChannel"))
+ object.outputChannel = message.outputChannel;
+ if (message.inputKey != null && message.hasOwnProperty("inputKey"))
+ object.inputKey = message.inputKey;
+ return object;
+ };
+
+ /**
+ * Converts this AudioMapping to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.AudioStream.AudioMapping
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AudioMapping.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AudioMapping
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.AudioStream.AudioMapping
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AudioMapping.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.AudioStream.AudioMapping";
+ };
+
+ return AudioMapping;
+ })();
+
+ return AudioStream;
+ })();
+
+ v1.TextStream = (function() {
+
+ /**
+ * Properties of a TextStream.
+ * @memberof google.cloud.video.livestream.v1
+ * @interface ITextStream
+ * @property {string|null} [codec] TextStream codec
+ */
+
+ /**
+ * Constructs a new TextStream.
+ * @memberof google.cloud.video.livestream.v1
+ * @classdesc Represents a TextStream.
+ * @implements ITextStream
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.ITextStream=} [properties] Properties to set
+ */
+ function TextStream(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * TextStream codec.
+ * @member {string} codec
+ * @memberof google.cloud.video.livestream.v1.TextStream
+ * @instance
+ */
+ TextStream.prototype.codec = "";
+
+ /**
+ * Creates a new TextStream instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.TextStream
+ * @static
+ * @param {google.cloud.video.livestream.v1.ITextStream=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.TextStream} TextStream instance
+ */
+ TextStream.create = function create(properties) {
+ return new TextStream(properties);
+ };
+
+ /**
+ * Encodes the specified TextStream message. Does not implicitly {@link google.cloud.video.livestream.v1.TextStream.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.TextStream
+ * @static
+ * @param {google.cloud.video.livestream.v1.ITextStream} message TextStream message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TextStream.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.codec != null && Object.hasOwnProperty.call(message, "codec"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.codec);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified TextStream message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.TextStream.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.TextStream
+ * @static
+ * @param {google.cloud.video.livestream.v1.ITextStream} message TextStream message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TextStream.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a TextStream message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.TextStream
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.TextStream} TextStream
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TextStream.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.TextStream();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.codec = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a TextStream message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.TextStream
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.TextStream} TextStream
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TextStream.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a TextStream message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.TextStream
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ TextStream.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.codec != null && message.hasOwnProperty("codec"))
+ if (!$util.isString(message.codec))
+ return "codec: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a TextStream message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.TextStream
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.TextStream} TextStream
+ */
+ TextStream.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.TextStream)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.TextStream();
+ if (object.codec != null)
+ message.codec = String(object.codec);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a TextStream message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.TextStream
+ * @static
+ * @param {google.cloud.video.livestream.v1.TextStream} message TextStream
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ TextStream.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.codec = "";
+ if (message.codec != null && message.hasOwnProperty("codec"))
+ object.codec = message.codec;
+ return object;
+ };
+
+ /**
+ * Converts this TextStream to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.TextStream
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ TextStream.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for TextStream
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.TextStream
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ TextStream.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.TextStream";
+ };
+
+ return TextStream;
+ })();
+
+ v1.SegmentSettings = (function() {
+
+ /**
+ * Properties of a SegmentSettings.
+ * @memberof google.cloud.video.livestream.v1
+ * @interface ISegmentSettings
+ * @property {google.protobuf.IDuration|null} [segmentDuration] SegmentSettings segmentDuration
+ */
+
+ /**
+ * Constructs a new SegmentSettings.
+ * @memberof google.cloud.video.livestream.v1
+ * @classdesc Represents a SegmentSettings.
+ * @implements ISegmentSettings
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.ISegmentSettings=} [properties] Properties to set
+ */
+ function SegmentSettings(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * SegmentSettings segmentDuration.
+ * @member {google.protobuf.IDuration|null|undefined} segmentDuration
+ * @memberof google.cloud.video.livestream.v1.SegmentSettings
+ * @instance
+ */
+ SegmentSettings.prototype.segmentDuration = null;
+
+ /**
+ * Creates a new SegmentSettings instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.SegmentSettings
+ * @static
+ * @param {google.cloud.video.livestream.v1.ISegmentSettings=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.SegmentSettings} SegmentSettings instance
+ */
+ SegmentSettings.create = function create(properties) {
+ return new SegmentSettings(properties);
+ };
+
+ /**
+ * Encodes the specified SegmentSettings message. Does not implicitly {@link google.cloud.video.livestream.v1.SegmentSettings.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.SegmentSettings
+ * @static
+ * @param {google.cloud.video.livestream.v1.ISegmentSettings} message SegmentSettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SegmentSettings.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.segmentDuration != null && Object.hasOwnProperty.call(message, "segmentDuration"))
+ $root.google.protobuf.Duration.encode(message.segmentDuration, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified SegmentSettings message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.SegmentSettings.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.SegmentSettings
+ * @static
+ * @param {google.cloud.video.livestream.v1.ISegmentSettings} message SegmentSettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SegmentSettings.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a SegmentSettings message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.SegmentSettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.SegmentSettings} SegmentSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SegmentSettings.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.SegmentSettings();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.segmentDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a SegmentSettings message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.SegmentSettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.SegmentSettings} SegmentSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SegmentSettings.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a SegmentSettings message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.SegmentSettings
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ SegmentSettings.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.segmentDuration != null && message.hasOwnProperty("segmentDuration")) {
+ var error = $root.google.protobuf.Duration.verify(message.segmentDuration);
+ if (error)
+ return "segmentDuration." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a SegmentSettings message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.SegmentSettings
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.SegmentSettings} SegmentSettings
+ */
+ SegmentSettings.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.SegmentSettings)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.SegmentSettings();
+ if (object.segmentDuration != null) {
+ if (typeof object.segmentDuration !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.SegmentSettings.segmentDuration: object expected");
+ message.segmentDuration = $root.google.protobuf.Duration.fromObject(object.segmentDuration);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a SegmentSettings message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.SegmentSettings
+ * @static
+ * @param {google.cloud.video.livestream.v1.SegmentSettings} message SegmentSettings
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ SegmentSettings.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.segmentDuration = null;
+ if (message.segmentDuration != null && message.hasOwnProperty("segmentDuration"))
+ object.segmentDuration = $root.google.protobuf.Duration.toObject(message.segmentDuration, options);
+ return object;
+ };
+
+ /**
+ * Converts this SegmentSettings to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.SegmentSettings
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ SegmentSettings.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for SegmentSettings
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.SegmentSettings
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ SegmentSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.SegmentSettings";
+ };
+
+ return SegmentSettings;
+ })();
+
+ v1.Input = (function() {
+
+ /**
+ * Properties of an Input.
+ * @memberof google.cloud.video.livestream.v1
+ * @interface IInput
+ * @property {string|null} [name] Input name
+ * @property {google.protobuf.ITimestamp|null} [createTime] Input createTime
+ * @property {google.protobuf.ITimestamp|null} [updateTime] Input updateTime
+ * @property {Object.|null} [labels] Input labels
+ * @property {google.cloud.video.livestream.v1.Input.Type|null} [type] Input type
+ * @property {google.cloud.video.livestream.v1.Input.Tier|null} [tier] Input tier
+ * @property {string|null} [uri] Input uri
+ * @property {google.cloud.video.livestream.v1.IPreprocessingConfig|null} [preprocessingConfig] Input preprocessingConfig
+ * @property {google.cloud.video.livestream.v1.Input.ISecurityRule|null} [securityRules] Input securityRules
+ * @property {google.cloud.video.livestream.v1.IInputStreamProperty|null} [inputStreamProperty] Input inputStreamProperty
+ */
+
+ /**
+ * Constructs a new Input.
+ * @memberof google.cloud.video.livestream.v1
+ * @classdesc Represents an Input.
+ * @implements IInput
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.IInput=} [properties] Properties to set
+ */
+ function Input(properties) {
+ this.labels = {};
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Input name.
+ * @member {string} name
+ * @memberof google.cloud.video.livestream.v1.Input
+ * @instance
+ */
+ Input.prototype.name = "";
+
+ /**
+ * Input createTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} createTime
+ * @memberof google.cloud.video.livestream.v1.Input
+ * @instance
+ */
+ Input.prototype.createTime = null;
+
+ /**
+ * Input updateTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} updateTime
+ * @memberof google.cloud.video.livestream.v1.Input
+ * @instance
+ */
+ Input.prototype.updateTime = null;
+
+ /**
+ * Input labels.
+ * @member {Object.} labels
+ * @memberof google.cloud.video.livestream.v1.Input
+ * @instance
+ */
+ Input.prototype.labels = $util.emptyObject;
+
+ /**
+ * Input type.
+ * @member {google.cloud.video.livestream.v1.Input.Type} type
+ * @memberof google.cloud.video.livestream.v1.Input
+ * @instance
+ */
+ Input.prototype.type = 0;
+
+ /**
+ * Input tier.
+ * @member {google.cloud.video.livestream.v1.Input.Tier} tier
+ * @memberof google.cloud.video.livestream.v1.Input
+ * @instance
+ */
+ Input.prototype.tier = 0;
+
+ /**
+ * Input uri.
+ * @member {string} uri
+ * @memberof google.cloud.video.livestream.v1.Input
+ * @instance
+ */
+ Input.prototype.uri = "";
+
+ /**
+ * Input preprocessingConfig.
+ * @member {google.cloud.video.livestream.v1.IPreprocessingConfig|null|undefined} preprocessingConfig
+ * @memberof google.cloud.video.livestream.v1.Input
+ * @instance
+ */
+ Input.prototype.preprocessingConfig = null;
+
+ /**
+ * Input securityRules.
+ * @member {google.cloud.video.livestream.v1.Input.ISecurityRule|null|undefined} securityRules
+ * @memberof google.cloud.video.livestream.v1.Input
+ * @instance
+ */
+ Input.prototype.securityRules = null;
+
+ /**
+ * Input inputStreamProperty.
+ * @member {google.cloud.video.livestream.v1.IInputStreamProperty|null|undefined} inputStreamProperty
+ * @memberof google.cloud.video.livestream.v1.Input
+ * @instance
+ */
+ Input.prototype.inputStreamProperty = null;
+
+ /**
+ * Creates a new Input instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.Input
+ * @static
+ * @param {google.cloud.video.livestream.v1.IInput=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.Input} Input instance
+ */
+ Input.create = function create(properties) {
+ return new Input(properties);
+ };
+
+ /**
+ * Encodes the specified Input message. Does not implicitly {@link google.cloud.video.livestream.v1.Input.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.Input
+ * @static
+ * @param {google.cloud.video.livestream.v1.IInput} message Input message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Input.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
+ $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime"))
+ $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.labels != null && Object.hasOwnProperty.call(message, "labels"))
+ for (var keys = Object.keys(message.labels), i = 0; i < keys.length; ++i)
+ writer.uint32(/* id 4, wireType 2 =*/34).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.labels[keys[i]]).ldelim();
+ if (message.type != null && Object.hasOwnProperty.call(message, "type"))
+ writer.uint32(/* id 5, wireType 0 =*/40).int32(message.type);
+ if (message.uri != null && Object.hasOwnProperty.call(message, "uri"))
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.uri);
+ if (message.preprocessingConfig != null && Object.hasOwnProperty.call(message, "preprocessingConfig"))
+ $root.google.cloud.video.livestream.v1.PreprocessingConfig.encode(message.preprocessingConfig, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim();
+ if (message.securityRules != null && Object.hasOwnProperty.call(message, "securityRules"))
+ $root.google.cloud.video.livestream.v1.Input.SecurityRule.encode(message.securityRules, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim();
+ if (message.tier != null && Object.hasOwnProperty.call(message, "tier"))
+ writer.uint32(/* id 14, wireType 0 =*/112).int32(message.tier);
+ if (message.inputStreamProperty != null && Object.hasOwnProperty.call(message, "inputStreamProperty"))
+ $root.google.cloud.video.livestream.v1.InputStreamProperty.encode(message.inputStreamProperty, writer.uint32(/* id 15, wireType 2 =*/122).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Input message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.Input.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.Input
+ * @static
+ * @param {google.cloud.video.livestream.v1.IInput} message Input message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Input.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an Input message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.Input
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.Input} Input
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Input.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.Input(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ if (message.labels === $util.emptyObject)
+ message.labels = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = "";
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = reader.string();
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.labels[key] = value;
+ break;
+ }
+ case 5: {
+ message.type = reader.int32();
+ break;
+ }
+ case 14: {
+ message.tier = reader.int32();
+ break;
+ }
+ case 6: {
+ message.uri = reader.string();
+ break;
+ }
+ case 9: {
+ message.preprocessingConfig = $root.google.cloud.video.livestream.v1.PreprocessingConfig.decode(reader, reader.uint32());
+ break;
+ }
+ case 12: {
+ message.securityRules = $root.google.cloud.video.livestream.v1.Input.SecurityRule.decode(reader, reader.uint32());
+ break;
+ }
+ case 15: {
+ message.inputStreamProperty = $root.google.cloud.video.livestream.v1.InputStreamProperty.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an Input message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.Input
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.Input} Input
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Input.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an Input message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.Input
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Input.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ if (message.createTime != null && message.hasOwnProperty("createTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.createTime);
+ if (error)
+ return "createTime." + error;
+ }
+ if (message.updateTime != null && message.hasOwnProperty("updateTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.updateTime);
+ if (error)
+ return "updateTime." + error;
+ }
+ if (message.labels != null && message.hasOwnProperty("labels")) {
+ if (!$util.isObject(message.labels))
+ return "labels: object expected";
+ var key = Object.keys(message.labels);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isString(message.labels[key[i]]))
+ return "labels: string{k:string} expected";
+ }
+ if (message.type != null && message.hasOwnProperty("type"))
+ switch (message.type) {
+ default:
+ return "type: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.tier != null && message.hasOwnProperty("tier"))
+ switch (message.tier) {
+ default:
+ return "tier: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ break;
+ }
+ if (message.uri != null && message.hasOwnProperty("uri"))
+ if (!$util.isString(message.uri))
+ return "uri: string expected";
+ if (message.preprocessingConfig != null && message.hasOwnProperty("preprocessingConfig")) {
+ var error = $root.google.cloud.video.livestream.v1.PreprocessingConfig.verify(message.preprocessingConfig);
+ if (error)
+ return "preprocessingConfig." + error;
+ }
+ if (message.securityRules != null && message.hasOwnProperty("securityRules")) {
+ var error = $root.google.cloud.video.livestream.v1.Input.SecurityRule.verify(message.securityRules);
+ if (error)
+ return "securityRules." + error;
+ }
+ if (message.inputStreamProperty != null && message.hasOwnProperty("inputStreamProperty")) {
+ var error = $root.google.cloud.video.livestream.v1.InputStreamProperty.verify(message.inputStreamProperty);
+ if (error)
+ return "inputStreamProperty." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an Input message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.Input
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.Input} Input
+ */
+ Input.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.Input)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.Input();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.createTime != null) {
+ if (typeof object.createTime !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.Input.createTime: object expected");
+ message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime);
+ }
+ if (object.updateTime != null) {
+ if (typeof object.updateTime !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.Input.updateTime: object expected");
+ message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime);
+ }
+ if (object.labels) {
+ if (typeof object.labels !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.Input.labels: object expected");
+ message.labels = {};
+ for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i)
+ message.labels[keys[i]] = String(object.labels[keys[i]]);
+ }
+ switch (object.type) {
+ default:
+ if (typeof object.type === "number") {
+ message.type = object.type;
+ break;
+ }
+ break;
+ case "TYPE_UNSPECIFIED":
+ case 0:
+ message.type = 0;
+ break;
+ case "RTMP_PUSH":
+ case 1:
+ message.type = 1;
+ break;
+ case "SRT_PUSH":
+ case 2:
+ message.type = 2;
+ break;
+ }
+ switch (object.tier) {
+ default:
+ if (typeof object.tier === "number") {
+ message.tier = object.tier;
+ break;
+ }
+ break;
+ case "TIER_UNSPECIFIED":
+ case 0:
+ message.tier = 0;
+ break;
+ case "SD":
+ case 1:
+ message.tier = 1;
+ break;
+ case "HD":
+ case 2:
+ message.tier = 2;
+ break;
+ case "UHD":
+ case 3:
+ message.tier = 3;
+ break;
+ }
+ if (object.uri != null)
+ message.uri = String(object.uri);
+ if (object.preprocessingConfig != null) {
+ if (typeof object.preprocessingConfig !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.Input.preprocessingConfig: object expected");
+ message.preprocessingConfig = $root.google.cloud.video.livestream.v1.PreprocessingConfig.fromObject(object.preprocessingConfig);
+ }
+ if (object.securityRules != null) {
+ if (typeof object.securityRules !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.Input.securityRules: object expected");
+ message.securityRules = $root.google.cloud.video.livestream.v1.Input.SecurityRule.fromObject(object.securityRules);
+ }
+ if (object.inputStreamProperty != null) {
+ if (typeof object.inputStreamProperty !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.Input.inputStreamProperty: object expected");
+ message.inputStreamProperty = $root.google.cloud.video.livestream.v1.InputStreamProperty.fromObject(object.inputStreamProperty);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an Input message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.Input
+ * @static
+ * @param {google.cloud.video.livestream.v1.Input} message Input
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Input.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.objects || options.defaults)
+ object.labels = {};
+ if (options.defaults) {
+ object.name = "";
+ object.createTime = null;
+ object.updateTime = null;
+ object.type = options.enums === String ? "TYPE_UNSPECIFIED" : 0;
+ object.uri = "";
+ object.preprocessingConfig = null;
+ object.securityRules = null;
+ object.tier = options.enums === String ? "TIER_UNSPECIFIED" : 0;
+ object.inputStreamProperty = null;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.createTime != null && message.hasOwnProperty("createTime"))
+ object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
+ if (message.updateTime != null && message.hasOwnProperty("updateTime"))
+ object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options);
+ var keys2;
+ if (message.labels && (keys2 = Object.keys(message.labels)).length) {
+ object.labels = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.labels[keys2[j]] = message.labels[keys2[j]];
+ }
+ if (message.type != null && message.hasOwnProperty("type"))
+ object.type = options.enums === String ? $root.google.cloud.video.livestream.v1.Input.Type[message.type] === undefined ? message.type : $root.google.cloud.video.livestream.v1.Input.Type[message.type] : message.type;
+ if (message.uri != null && message.hasOwnProperty("uri"))
+ object.uri = message.uri;
+ if (message.preprocessingConfig != null && message.hasOwnProperty("preprocessingConfig"))
+ object.preprocessingConfig = $root.google.cloud.video.livestream.v1.PreprocessingConfig.toObject(message.preprocessingConfig, options);
+ if (message.securityRules != null && message.hasOwnProperty("securityRules"))
+ object.securityRules = $root.google.cloud.video.livestream.v1.Input.SecurityRule.toObject(message.securityRules, options);
+ if (message.tier != null && message.hasOwnProperty("tier"))
+ object.tier = options.enums === String ? $root.google.cloud.video.livestream.v1.Input.Tier[message.tier] === undefined ? message.tier : $root.google.cloud.video.livestream.v1.Input.Tier[message.tier] : message.tier;
+ if (message.inputStreamProperty != null && message.hasOwnProperty("inputStreamProperty"))
+ object.inputStreamProperty = $root.google.cloud.video.livestream.v1.InputStreamProperty.toObject(message.inputStreamProperty, options);
+ return object;
+ };
+
+ /**
+ * Converts this Input to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.Input
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Input.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Input
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.Input
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Input.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.Input";
+ };
+
+ /**
+ * Type enum.
+ * @name google.cloud.video.livestream.v1.Input.Type
+ * @enum {number}
+ * @property {number} TYPE_UNSPECIFIED=0 TYPE_UNSPECIFIED value
+ * @property {number} RTMP_PUSH=1 RTMP_PUSH value
+ * @property {number} SRT_PUSH=2 SRT_PUSH value
+ */
+ Input.Type = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "TYPE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "RTMP_PUSH"] = 1;
+ values[valuesById[2] = "SRT_PUSH"] = 2;
+ return values;
+ })();
+
+ /**
+ * Tier enum.
+ * @name google.cloud.video.livestream.v1.Input.Tier
+ * @enum {number}
+ * @property {number} TIER_UNSPECIFIED=0 TIER_UNSPECIFIED value
+ * @property {number} SD=1 SD value
+ * @property {number} HD=2 HD value
+ * @property {number} UHD=3 UHD value
+ */
+ Input.Tier = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "TIER_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "SD"] = 1;
+ values[valuesById[2] = "HD"] = 2;
+ values[valuesById[3] = "UHD"] = 3;
+ return values;
+ })();
+
+ Input.SecurityRule = (function() {
+
+ /**
+ * Properties of a SecurityRule.
+ * @memberof google.cloud.video.livestream.v1.Input
+ * @interface ISecurityRule
+ * @property {Array.|null} [ipRanges] SecurityRule ipRanges
+ */
+
+ /**
+ * Constructs a new SecurityRule.
+ * @memberof google.cloud.video.livestream.v1.Input
+ * @classdesc Represents a SecurityRule.
+ * @implements ISecurityRule
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.Input.ISecurityRule=} [properties] Properties to set
+ */
+ function SecurityRule(properties) {
+ this.ipRanges = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * SecurityRule ipRanges.
+ * @member {Array.} ipRanges
+ * @memberof google.cloud.video.livestream.v1.Input.SecurityRule
+ * @instance
+ */
+ SecurityRule.prototype.ipRanges = $util.emptyArray;
+
+ /**
+ * Creates a new SecurityRule instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.Input.SecurityRule
+ * @static
+ * @param {google.cloud.video.livestream.v1.Input.ISecurityRule=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.Input.SecurityRule} SecurityRule instance
+ */
+ SecurityRule.create = function create(properties) {
+ return new SecurityRule(properties);
+ };
+
+ /**
+ * Encodes the specified SecurityRule message. Does not implicitly {@link google.cloud.video.livestream.v1.Input.SecurityRule.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.Input.SecurityRule
+ * @static
+ * @param {google.cloud.video.livestream.v1.Input.ISecurityRule} message SecurityRule message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SecurityRule.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.ipRanges != null && message.ipRanges.length)
+ for (var i = 0; i < message.ipRanges.length; ++i)
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.ipRanges[i]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified SecurityRule message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.Input.SecurityRule.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.Input.SecurityRule
+ * @static
+ * @param {google.cloud.video.livestream.v1.Input.ISecurityRule} message SecurityRule message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SecurityRule.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a SecurityRule message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.Input.SecurityRule
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.Input.SecurityRule} SecurityRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SecurityRule.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.Input.SecurityRule();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.ipRanges && message.ipRanges.length))
+ message.ipRanges = [];
+ message.ipRanges.push(reader.string());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a SecurityRule message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.Input.SecurityRule
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.Input.SecurityRule} SecurityRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SecurityRule.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a SecurityRule message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.Input.SecurityRule
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ SecurityRule.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.ipRanges != null && message.hasOwnProperty("ipRanges")) {
+ if (!Array.isArray(message.ipRanges))
+ return "ipRanges: array expected";
+ for (var i = 0; i < message.ipRanges.length; ++i)
+ if (!$util.isString(message.ipRanges[i]))
+ return "ipRanges: string[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a SecurityRule message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.Input.SecurityRule
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.Input.SecurityRule} SecurityRule
+ */
+ SecurityRule.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.Input.SecurityRule)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.Input.SecurityRule();
+ if (object.ipRanges) {
+ if (!Array.isArray(object.ipRanges))
+ throw TypeError(".google.cloud.video.livestream.v1.Input.SecurityRule.ipRanges: array expected");
+ message.ipRanges = [];
+ for (var i = 0; i < object.ipRanges.length; ++i)
+ message.ipRanges[i] = String(object.ipRanges[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a SecurityRule message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.Input.SecurityRule
+ * @static
+ * @param {google.cloud.video.livestream.v1.Input.SecurityRule} message SecurityRule
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ SecurityRule.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.ipRanges = [];
+ if (message.ipRanges && message.ipRanges.length) {
+ object.ipRanges = [];
+ for (var j = 0; j < message.ipRanges.length; ++j)
+ object.ipRanges[j] = message.ipRanges[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this SecurityRule to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.Input.SecurityRule
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ SecurityRule.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for SecurityRule
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.Input.SecurityRule
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ SecurityRule.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.Input.SecurityRule";
+ };
+
+ return SecurityRule;
+ })();
+
+ return Input;
+ })();
+
+ v1.Channel = (function() {
+
+ /**
+ * Properties of a Channel.
+ * @memberof google.cloud.video.livestream.v1
+ * @interface IChannel
+ * @property {string|null} [name] Channel name
+ * @property {google.protobuf.ITimestamp|null} [createTime] Channel createTime
+ * @property {google.protobuf.ITimestamp|null} [updateTime] Channel updateTime
+ * @property {Object.|null} [labels] Channel labels
+ * @property {Array.|null} [inputAttachments] Channel inputAttachments
+ * @property {string|null} [activeInput] Channel activeInput
+ * @property {google.cloud.video.livestream.v1.Channel.IOutput|null} [output] Channel output
+ * @property {Array.|null} [elementaryStreams] Channel elementaryStreams
+ * @property {Array.|null} [muxStreams] Channel muxStreams
+ * @property {Array.|null} [manifests] Channel manifests
+ * @property {Array.|null} [spriteSheets] Channel spriteSheets
+ * @property {google.cloud.video.livestream.v1.Channel.StreamingState|null} [streamingState] Channel streamingState
+ * @property {google.rpc.IStatus|null} [streamingError] Channel streamingError
+ * @property {google.cloud.video.livestream.v1.ILogConfig|null} [logConfig] Channel logConfig
+ */
+
+ /**
+ * Constructs a new Channel.
+ * @memberof google.cloud.video.livestream.v1
+ * @classdesc Represents a Channel.
+ * @implements IChannel
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.IChannel=} [properties] Properties to set
+ */
+ function Channel(properties) {
+ this.labels = {};
+ this.inputAttachments = [];
+ this.elementaryStreams = [];
+ this.muxStreams = [];
+ this.manifests = [];
+ this.spriteSheets = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Channel name.
+ * @member {string} name
+ * @memberof google.cloud.video.livestream.v1.Channel
+ * @instance
+ */
+ Channel.prototype.name = "";
+
+ /**
+ * Channel createTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} createTime
+ * @memberof google.cloud.video.livestream.v1.Channel
+ * @instance
+ */
+ Channel.prototype.createTime = null;
+
+ /**
+ * Channel updateTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} updateTime
+ * @memberof google.cloud.video.livestream.v1.Channel
+ * @instance
+ */
+ Channel.prototype.updateTime = null;
+
+ /**
+ * Channel labels.
+ * @member {Object.} labels
+ * @memberof google.cloud.video.livestream.v1.Channel
+ * @instance
+ */
+ Channel.prototype.labels = $util.emptyObject;
+
+ /**
+ * Channel inputAttachments.
+ * @member {Array.} inputAttachments
+ * @memberof google.cloud.video.livestream.v1.Channel
+ * @instance
+ */
+ Channel.prototype.inputAttachments = $util.emptyArray;
+
+ /**
+ * Channel activeInput.
+ * @member {string} activeInput
+ * @memberof google.cloud.video.livestream.v1.Channel
+ * @instance
+ */
+ Channel.prototype.activeInput = "";
+
+ /**
+ * Channel output.
+ * @member {google.cloud.video.livestream.v1.Channel.IOutput|null|undefined} output
+ * @memberof google.cloud.video.livestream.v1.Channel
+ * @instance
+ */
+ Channel.prototype.output = null;
+
+ /**
+ * Channel elementaryStreams.
+ * @member {Array.} elementaryStreams
+ * @memberof google.cloud.video.livestream.v1.Channel
+ * @instance
+ */
+ Channel.prototype.elementaryStreams = $util.emptyArray;
+
+ /**
+ * Channel muxStreams.
+ * @member {Array.} muxStreams
+ * @memberof google.cloud.video.livestream.v1.Channel
+ * @instance
+ */
+ Channel.prototype.muxStreams = $util.emptyArray;
+
+ /**
+ * Channel manifests.
+ * @member {Array.} manifests
+ * @memberof google.cloud.video.livestream.v1.Channel
+ * @instance
+ */
+ Channel.prototype.manifests = $util.emptyArray;
+
+ /**
+ * Channel spriteSheets.
+ * @member {Array.} spriteSheets
+ * @memberof google.cloud.video.livestream.v1.Channel
+ * @instance
+ */
+ Channel.prototype.spriteSheets = $util.emptyArray;
+
+ /**
+ * Channel streamingState.
+ * @member {google.cloud.video.livestream.v1.Channel.StreamingState} streamingState
+ * @memberof google.cloud.video.livestream.v1.Channel
+ * @instance
+ */
+ Channel.prototype.streamingState = 0;
+
+ /**
+ * Channel streamingError.
+ * @member {google.rpc.IStatus|null|undefined} streamingError
+ * @memberof google.cloud.video.livestream.v1.Channel
+ * @instance
+ */
+ Channel.prototype.streamingError = null;
+
+ /**
+ * Channel logConfig.
+ * @member {google.cloud.video.livestream.v1.ILogConfig|null|undefined} logConfig
+ * @memberof google.cloud.video.livestream.v1.Channel
+ * @instance
+ */
+ Channel.prototype.logConfig = null;
+
+ /**
+ * Creates a new Channel instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.Channel
+ * @static
+ * @param {google.cloud.video.livestream.v1.IChannel=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.Channel} Channel instance
+ */
+ Channel.create = function create(properties) {
+ return new Channel(properties);
+ };
+
+ /**
+ * Encodes the specified Channel message. Does not implicitly {@link google.cloud.video.livestream.v1.Channel.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.Channel
+ * @static
+ * @param {google.cloud.video.livestream.v1.IChannel} message Channel message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Channel.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
+ $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime"))
+ $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.labels != null && Object.hasOwnProperty.call(message, "labels"))
+ for (var keys = Object.keys(message.labels), i = 0; i < keys.length; ++i)
+ writer.uint32(/* id 4, wireType 2 =*/34).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.labels[keys[i]]).ldelim();
+ if (message.activeInput != null && Object.hasOwnProperty.call(message, "activeInput"))
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.activeInput);
+ if (message.output != null && Object.hasOwnProperty.call(message, "output"))
+ $root.google.cloud.video.livestream.v1.Channel.Output.encode(message.output, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim();
+ if (message.elementaryStreams != null && message.elementaryStreams.length)
+ for (var i = 0; i < message.elementaryStreams.length; ++i)
+ $root.google.cloud.video.livestream.v1.ElementaryStream.encode(message.elementaryStreams[i], writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim();
+ if (message.muxStreams != null && message.muxStreams.length)
+ for (var i = 0; i < message.muxStreams.length; ++i)
+ $root.google.cloud.video.livestream.v1.MuxStream.encode(message.muxStreams[i], writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim();
+ if (message.manifests != null && message.manifests.length)
+ for (var i = 0; i < message.manifests.length; ++i)
+ $root.google.cloud.video.livestream.v1.Manifest.encode(message.manifests[i], writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim();
+ if (message.spriteSheets != null && message.spriteSheets.length)
+ for (var i = 0; i < message.spriteSheets.length; ++i)
+ $root.google.cloud.video.livestream.v1.SpriteSheet.encode(message.spriteSheets[i], writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim();
+ if (message.streamingState != null && Object.hasOwnProperty.call(message, "streamingState"))
+ writer.uint32(/* id 14, wireType 0 =*/112).int32(message.streamingState);
+ if (message.inputAttachments != null && message.inputAttachments.length)
+ for (var i = 0; i < message.inputAttachments.length; ++i)
+ $root.google.cloud.video.livestream.v1.InputAttachment.encode(message.inputAttachments[i], writer.uint32(/* id 16, wireType 2 =*/130).fork()).ldelim();
+ if (message.streamingError != null && Object.hasOwnProperty.call(message, "streamingError"))
+ $root.google.rpc.Status.encode(message.streamingError, writer.uint32(/* id 18, wireType 2 =*/146).fork()).ldelim();
+ if (message.logConfig != null && Object.hasOwnProperty.call(message, "logConfig"))
+ $root.google.cloud.video.livestream.v1.LogConfig.encode(message.logConfig, writer.uint32(/* id 19, wireType 2 =*/154).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Channel message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.Channel.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.Channel
+ * @static
+ * @param {google.cloud.video.livestream.v1.IChannel} message Channel message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Channel.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Channel message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.Channel
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.Channel} Channel
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Channel.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.Channel(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ if (message.labels === $util.emptyObject)
+ message.labels = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = "";
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = reader.string();
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.labels[key] = value;
+ break;
+ }
+ case 16: {
+ if (!(message.inputAttachments && message.inputAttachments.length))
+ message.inputAttachments = [];
+ message.inputAttachments.push($root.google.cloud.video.livestream.v1.InputAttachment.decode(reader, reader.uint32()));
+ break;
+ }
+ case 6: {
+ message.activeInput = reader.string();
+ break;
+ }
+ case 9: {
+ message.output = $root.google.cloud.video.livestream.v1.Channel.Output.decode(reader, reader.uint32());
+ break;
+ }
+ case 10: {
+ if (!(message.elementaryStreams && message.elementaryStreams.length))
+ message.elementaryStreams = [];
+ message.elementaryStreams.push($root.google.cloud.video.livestream.v1.ElementaryStream.decode(reader, reader.uint32()));
+ break;
+ }
+ case 11: {
+ if (!(message.muxStreams && message.muxStreams.length))
+ message.muxStreams = [];
+ message.muxStreams.push($root.google.cloud.video.livestream.v1.MuxStream.decode(reader, reader.uint32()));
+ break;
+ }
+ case 12: {
+ if (!(message.manifests && message.manifests.length))
+ message.manifests = [];
+ message.manifests.push($root.google.cloud.video.livestream.v1.Manifest.decode(reader, reader.uint32()));
+ break;
+ }
+ case 13: {
+ if (!(message.spriteSheets && message.spriteSheets.length))
+ message.spriteSheets = [];
+ message.spriteSheets.push($root.google.cloud.video.livestream.v1.SpriteSheet.decode(reader, reader.uint32()));
+ break;
+ }
+ case 14: {
+ message.streamingState = reader.int32();
+ break;
+ }
+ case 18: {
+ message.streamingError = $root.google.rpc.Status.decode(reader, reader.uint32());
+ break;
+ }
+ case 19: {
+ message.logConfig = $root.google.cloud.video.livestream.v1.LogConfig.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Channel message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.Channel
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.Channel} Channel
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Channel.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Channel message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.Channel
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Channel.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ if (message.createTime != null && message.hasOwnProperty("createTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.createTime);
+ if (error)
+ return "createTime." + error;
+ }
+ if (message.updateTime != null && message.hasOwnProperty("updateTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.updateTime);
+ if (error)
+ return "updateTime." + error;
+ }
+ if (message.labels != null && message.hasOwnProperty("labels")) {
+ if (!$util.isObject(message.labels))
+ return "labels: object expected";
+ var key = Object.keys(message.labels);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isString(message.labels[key[i]]))
+ return "labels: string{k:string} expected";
+ }
+ if (message.inputAttachments != null && message.hasOwnProperty("inputAttachments")) {
+ if (!Array.isArray(message.inputAttachments))
+ return "inputAttachments: array expected";
+ for (var i = 0; i < message.inputAttachments.length; ++i) {
+ var error = $root.google.cloud.video.livestream.v1.InputAttachment.verify(message.inputAttachments[i]);
+ if (error)
+ return "inputAttachments." + error;
+ }
+ }
+ if (message.activeInput != null && message.hasOwnProperty("activeInput"))
+ if (!$util.isString(message.activeInput))
+ return "activeInput: string expected";
+ if (message.output != null && message.hasOwnProperty("output")) {
+ var error = $root.google.cloud.video.livestream.v1.Channel.Output.verify(message.output);
+ if (error)
+ return "output." + error;
+ }
+ if (message.elementaryStreams != null && message.hasOwnProperty("elementaryStreams")) {
+ if (!Array.isArray(message.elementaryStreams))
+ return "elementaryStreams: array expected";
+ for (var i = 0; i < message.elementaryStreams.length; ++i) {
+ var error = $root.google.cloud.video.livestream.v1.ElementaryStream.verify(message.elementaryStreams[i]);
+ if (error)
+ return "elementaryStreams." + error;
+ }
+ }
+ if (message.muxStreams != null && message.hasOwnProperty("muxStreams")) {
+ if (!Array.isArray(message.muxStreams))
+ return "muxStreams: array expected";
+ for (var i = 0; i < message.muxStreams.length; ++i) {
+ var error = $root.google.cloud.video.livestream.v1.MuxStream.verify(message.muxStreams[i]);
+ if (error)
+ return "muxStreams." + error;
+ }
+ }
+ if (message.manifests != null && message.hasOwnProperty("manifests")) {
+ if (!Array.isArray(message.manifests))
+ return "manifests: array expected";
+ for (var i = 0; i < message.manifests.length; ++i) {
+ var error = $root.google.cloud.video.livestream.v1.Manifest.verify(message.manifests[i]);
+ if (error)
+ return "manifests." + error;
+ }
+ }
+ if (message.spriteSheets != null && message.hasOwnProperty("spriteSheets")) {
+ if (!Array.isArray(message.spriteSheets))
+ return "spriteSheets: array expected";
+ for (var i = 0; i < message.spriteSheets.length; ++i) {
+ var error = $root.google.cloud.video.livestream.v1.SpriteSheet.verify(message.spriteSheets[i]);
+ if (error)
+ return "spriteSheets." + error;
+ }
+ }
+ if (message.streamingState != null && message.hasOwnProperty("streamingState"))
+ switch (message.streamingState) {
+ default:
+ return "streamingState: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ break;
+ }
+ if (message.streamingError != null && message.hasOwnProperty("streamingError")) {
+ var error = $root.google.rpc.Status.verify(message.streamingError);
+ if (error)
+ return "streamingError." + error;
+ }
+ if (message.logConfig != null && message.hasOwnProperty("logConfig")) {
+ var error = $root.google.cloud.video.livestream.v1.LogConfig.verify(message.logConfig);
+ if (error)
+ return "logConfig." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Channel message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.Channel
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.Channel} Channel
+ */
+ Channel.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.Channel)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.Channel();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.createTime != null) {
+ if (typeof object.createTime !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.Channel.createTime: object expected");
+ message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime);
+ }
+ if (object.updateTime != null) {
+ if (typeof object.updateTime !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.Channel.updateTime: object expected");
+ message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime);
+ }
+ if (object.labels) {
+ if (typeof object.labels !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.Channel.labels: object expected");
+ message.labels = {};
+ for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i)
+ message.labels[keys[i]] = String(object.labels[keys[i]]);
+ }
+ if (object.inputAttachments) {
+ if (!Array.isArray(object.inputAttachments))
+ throw TypeError(".google.cloud.video.livestream.v1.Channel.inputAttachments: array expected");
+ message.inputAttachments = [];
+ for (var i = 0; i < object.inputAttachments.length; ++i) {
+ if (typeof object.inputAttachments[i] !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.Channel.inputAttachments: object expected");
+ message.inputAttachments[i] = $root.google.cloud.video.livestream.v1.InputAttachment.fromObject(object.inputAttachments[i]);
+ }
+ }
+ if (object.activeInput != null)
+ message.activeInput = String(object.activeInput);
+ if (object.output != null) {
+ if (typeof object.output !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.Channel.output: object expected");
+ message.output = $root.google.cloud.video.livestream.v1.Channel.Output.fromObject(object.output);
+ }
+ if (object.elementaryStreams) {
+ if (!Array.isArray(object.elementaryStreams))
+ throw TypeError(".google.cloud.video.livestream.v1.Channel.elementaryStreams: array expected");
+ message.elementaryStreams = [];
+ for (var i = 0; i < object.elementaryStreams.length; ++i) {
+ if (typeof object.elementaryStreams[i] !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.Channel.elementaryStreams: object expected");
+ message.elementaryStreams[i] = $root.google.cloud.video.livestream.v1.ElementaryStream.fromObject(object.elementaryStreams[i]);
+ }
+ }
+ if (object.muxStreams) {
+ if (!Array.isArray(object.muxStreams))
+ throw TypeError(".google.cloud.video.livestream.v1.Channel.muxStreams: array expected");
+ message.muxStreams = [];
+ for (var i = 0; i < object.muxStreams.length; ++i) {
+ if (typeof object.muxStreams[i] !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.Channel.muxStreams: object expected");
+ message.muxStreams[i] = $root.google.cloud.video.livestream.v1.MuxStream.fromObject(object.muxStreams[i]);
+ }
+ }
+ if (object.manifests) {
+ if (!Array.isArray(object.manifests))
+ throw TypeError(".google.cloud.video.livestream.v1.Channel.manifests: array expected");
+ message.manifests = [];
+ for (var i = 0; i < object.manifests.length; ++i) {
+ if (typeof object.manifests[i] !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.Channel.manifests: object expected");
+ message.manifests[i] = $root.google.cloud.video.livestream.v1.Manifest.fromObject(object.manifests[i]);
+ }
+ }
+ if (object.spriteSheets) {
+ if (!Array.isArray(object.spriteSheets))
+ throw TypeError(".google.cloud.video.livestream.v1.Channel.spriteSheets: array expected");
+ message.spriteSheets = [];
+ for (var i = 0; i < object.spriteSheets.length; ++i) {
+ if (typeof object.spriteSheets[i] !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.Channel.spriteSheets: object expected");
+ message.spriteSheets[i] = $root.google.cloud.video.livestream.v1.SpriteSheet.fromObject(object.spriteSheets[i]);
+ }
+ }
+ switch (object.streamingState) {
+ default:
+ if (typeof object.streamingState === "number") {
+ message.streamingState = object.streamingState;
+ break;
+ }
+ break;
+ case "STREAMING_STATE_UNSPECIFIED":
+ case 0:
+ message.streamingState = 0;
+ break;
+ case "STREAMING":
+ case 1:
+ message.streamingState = 1;
+ break;
+ case "AWAITING_INPUT":
+ case 2:
+ message.streamingState = 2;
+ break;
+ case "STREAMING_ERROR":
+ case 4:
+ message.streamingState = 4;
+ break;
+ case "STREAMING_NO_INPUT":
+ case 5:
+ message.streamingState = 5;
+ break;
+ case "STOPPED":
+ case 6:
+ message.streamingState = 6;
+ break;
+ case "STARTING":
+ case 7:
+ message.streamingState = 7;
+ break;
+ case "STOPPING":
+ case 8:
+ message.streamingState = 8;
+ break;
+ }
+ if (object.streamingError != null) {
+ if (typeof object.streamingError !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.Channel.streamingError: object expected");
+ message.streamingError = $root.google.rpc.Status.fromObject(object.streamingError);
+ }
+ if (object.logConfig != null) {
+ if (typeof object.logConfig !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.Channel.logConfig: object expected");
+ message.logConfig = $root.google.cloud.video.livestream.v1.LogConfig.fromObject(object.logConfig);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Channel message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.Channel
+ * @static
+ * @param {google.cloud.video.livestream.v1.Channel} message Channel
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Channel.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.elementaryStreams = [];
+ object.muxStreams = [];
+ object.manifests = [];
+ object.spriteSheets = [];
+ object.inputAttachments = [];
+ }
+ if (options.objects || options.defaults)
+ object.labels = {};
+ if (options.defaults) {
+ object.name = "";
+ object.createTime = null;
+ object.updateTime = null;
+ object.activeInput = "";
+ object.output = null;
+ object.streamingState = options.enums === String ? "STREAMING_STATE_UNSPECIFIED" : 0;
+ object.streamingError = null;
+ object.logConfig = null;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.createTime != null && message.hasOwnProperty("createTime"))
+ object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
+ if (message.updateTime != null && message.hasOwnProperty("updateTime"))
+ object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options);
+ var keys2;
+ if (message.labels && (keys2 = Object.keys(message.labels)).length) {
+ object.labels = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.labels[keys2[j]] = message.labels[keys2[j]];
+ }
+ if (message.activeInput != null && message.hasOwnProperty("activeInput"))
+ object.activeInput = message.activeInput;
+ if (message.output != null && message.hasOwnProperty("output"))
+ object.output = $root.google.cloud.video.livestream.v1.Channel.Output.toObject(message.output, options);
+ if (message.elementaryStreams && message.elementaryStreams.length) {
+ object.elementaryStreams = [];
+ for (var j = 0; j < message.elementaryStreams.length; ++j)
+ object.elementaryStreams[j] = $root.google.cloud.video.livestream.v1.ElementaryStream.toObject(message.elementaryStreams[j], options);
+ }
+ if (message.muxStreams && message.muxStreams.length) {
+ object.muxStreams = [];
+ for (var j = 0; j < message.muxStreams.length; ++j)
+ object.muxStreams[j] = $root.google.cloud.video.livestream.v1.MuxStream.toObject(message.muxStreams[j], options);
+ }
+ if (message.manifests && message.manifests.length) {
+ object.manifests = [];
+ for (var j = 0; j < message.manifests.length; ++j)
+ object.manifests[j] = $root.google.cloud.video.livestream.v1.Manifest.toObject(message.manifests[j], options);
+ }
+ if (message.spriteSheets && message.spriteSheets.length) {
+ object.spriteSheets = [];
+ for (var j = 0; j < message.spriteSheets.length; ++j)
+ object.spriteSheets[j] = $root.google.cloud.video.livestream.v1.SpriteSheet.toObject(message.spriteSheets[j], options);
+ }
+ if (message.streamingState != null && message.hasOwnProperty("streamingState"))
+ object.streamingState = options.enums === String ? $root.google.cloud.video.livestream.v1.Channel.StreamingState[message.streamingState] === undefined ? message.streamingState : $root.google.cloud.video.livestream.v1.Channel.StreamingState[message.streamingState] : message.streamingState;
+ if (message.inputAttachments && message.inputAttachments.length) {
+ object.inputAttachments = [];
+ for (var j = 0; j < message.inputAttachments.length; ++j)
+ object.inputAttachments[j] = $root.google.cloud.video.livestream.v1.InputAttachment.toObject(message.inputAttachments[j], options);
+ }
+ if (message.streamingError != null && message.hasOwnProperty("streamingError"))
+ object.streamingError = $root.google.rpc.Status.toObject(message.streamingError, options);
+ if (message.logConfig != null && message.hasOwnProperty("logConfig"))
+ object.logConfig = $root.google.cloud.video.livestream.v1.LogConfig.toObject(message.logConfig, options);
+ return object;
+ };
+
+ /**
+ * Converts this Channel to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.Channel
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Channel.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Channel
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.Channel
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Channel.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.Channel";
+ };
+
+ Channel.Output = (function() {
+
+ /**
+ * Properties of an Output.
+ * @memberof google.cloud.video.livestream.v1.Channel
+ * @interface IOutput
+ * @property {string|null} [uri] Output uri
+ */
+
+ /**
+ * Constructs a new Output.
+ * @memberof google.cloud.video.livestream.v1.Channel
+ * @classdesc Represents an Output.
+ * @implements IOutput
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.Channel.IOutput=} [properties] Properties to set
+ */
+ function Output(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Output uri.
+ * @member {string} uri
+ * @memberof google.cloud.video.livestream.v1.Channel.Output
+ * @instance
+ */
+ Output.prototype.uri = "";
+
+ /**
+ * Creates a new Output instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.Channel.Output
+ * @static
+ * @param {google.cloud.video.livestream.v1.Channel.IOutput=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.Channel.Output} Output instance
+ */
+ Output.create = function create(properties) {
+ return new Output(properties);
+ };
+
+ /**
+ * Encodes the specified Output message. Does not implicitly {@link google.cloud.video.livestream.v1.Channel.Output.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.Channel.Output
+ * @static
+ * @param {google.cloud.video.livestream.v1.Channel.IOutput} message Output message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Output.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.uri != null && Object.hasOwnProperty.call(message, "uri"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Output message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.Channel.Output.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.Channel.Output
+ * @static
+ * @param {google.cloud.video.livestream.v1.Channel.IOutput} message Output message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Output.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an Output message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.Channel.Output
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.Channel.Output} Output
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Output.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.Channel.Output();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.uri = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an Output message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.Channel.Output
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.Channel.Output} Output
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Output.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an Output message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.Channel.Output
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Output.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.uri != null && message.hasOwnProperty("uri"))
+ if (!$util.isString(message.uri))
+ return "uri: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an Output message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.Channel.Output
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.Channel.Output} Output
+ */
+ Output.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.Channel.Output)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.Channel.Output();
+ if (object.uri != null)
+ message.uri = String(object.uri);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an Output message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.Channel.Output
+ * @static
+ * @param {google.cloud.video.livestream.v1.Channel.Output} message Output
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Output.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.uri = "";
+ if (message.uri != null && message.hasOwnProperty("uri"))
+ object.uri = message.uri;
+ return object;
+ };
+
+ /**
+ * Converts this Output to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.Channel.Output
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Output.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Output
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.Channel.Output
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Output.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.Channel.Output";
+ };
+
+ return Output;
+ })();
+
+ /**
+ * StreamingState enum.
+ * @name google.cloud.video.livestream.v1.Channel.StreamingState
+ * @enum {number}
+ * @property {number} STREAMING_STATE_UNSPECIFIED=0 STREAMING_STATE_UNSPECIFIED value
+ * @property {number} STREAMING=1 STREAMING value
+ * @property {number} AWAITING_INPUT=2 AWAITING_INPUT value
+ * @property {number} STREAMING_ERROR=4 STREAMING_ERROR value
+ * @property {number} STREAMING_NO_INPUT=5 STREAMING_NO_INPUT value
+ * @property {number} STOPPED=6 STOPPED value
+ * @property {number} STARTING=7 STARTING value
+ * @property {number} STOPPING=8 STOPPING value
+ */
+ Channel.StreamingState = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "STREAMING_STATE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "STREAMING"] = 1;
+ values[valuesById[2] = "AWAITING_INPUT"] = 2;
+ values[valuesById[4] = "STREAMING_ERROR"] = 4;
+ values[valuesById[5] = "STREAMING_NO_INPUT"] = 5;
+ values[valuesById[6] = "STOPPED"] = 6;
+ values[valuesById[7] = "STARTING"] = 7;
+ values[valuesById[8] = "STOPPING"] = 8;
+ return values;
+ })();
+
+ return Channel;
+ })();
+
+ v1.LogConfig = (function() {
+
+ /**
+ * Properties of a LogConfig.
+ * @memberof google.cloud.video.livestream.v1
+ * @interface ILogConfig
+ * @property {google.cloud.video.livestream.v1.LogConfig.LogSeverity|null} [logSeverity] LogConfig logSeverity
+ */
+
+ /**
+ * Constructs a new LogConfig.
+ * @memberof google.cloud.video.livestream.v1
+ * @classdesc Represents a LogConfig.
+ * @implements ILogConfig
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.ILogConfig=} [properties] Properties to set
+ */
+ function LogConfig(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * LogConfig logSeverity.
+ * @member {google.cloud.video.livestream.v1.LogConfig.LogSeverity} logSeverity
+ * @memberof google.cloud.video.livestream.v1.LogConfig
+ * @instance
+ */
+ LogConfig.prototype.logSeverity = 0;
+
+ /**
+ * Creates a new LogConfig instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.LogConfig
+ * @static
+ * @param {google.cloud.video.livestream.v1.ILogConfig=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.LogConfig} LogConfig instance
+ */
+ LogConfig.create = function create(properties) {
+ return new LogConfig(properties);
+ };
+
+ /**
+ * Encodes the specified LogConfig message. Does not implicitly {@link google.cloud.video.livestream.v1.LogConfig.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.LogConfig
+ * @static
+ * @param {google.cloud.video.livestream.v1.ILogConfig} message LogConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ LogConfig.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.logSeverity != null && Object.hasOwnProperty.call(message, "logSeverity"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.logSeverity);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified LogConfig message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.LogConfig.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.LogConfig
+ * @static
+ * @param {google.cloud.video.livestream.v1.ILogConfig} message LogConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ LogConfig.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a LogConfig message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.LogConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.LogConfig} LogConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ LogConfig.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.LogConfig();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.logSeverity = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a LogConfig message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.LogConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.LogConfig} LogConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ LogConfig.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a LogConfig message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.LogConfig
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ LogConfig.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.logSeverity != null && message.hasOwnProperty("logSeverity"))
+ switch (message.logSeverity) {
+ default:
+ return "logSeverity: enum value expected";
+ case 0:
+ case 1:
+ case 100:
+ case 200:
+ case 400:
+ case 500:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a LogConfig message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.LogConfig
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.LogConfig} LogConfig
+ */
+ LogConfig.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.LogConfig)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.LogConfig();
+ switch (object.logSeverity) {
+ default:
+ if (typeof object.logSeverity === "number") {
+ message.logSeverity = object.logSeverity;
+ break;
+ }
+ break;
+ case "LOG_SEVERITY_UNSPECIFIED":
+ case 0:
+ message.logSeverity = 0;
+ break;
+ case "OFF":
+ case 1:
+ message.logSeverity = 1;
+ break;
+ case "DEBUG":
+ case 100:
+ message.logSeverity = 100;
+ break;
+ case "INFO":
+ case 200:
+ message.logSeverity = 200;
+ break;
+ case "WARNING":
+ case 400:
+ message.logSeverity = 400;
+ break;
+ case "ERROR":
+ case 500:
+ message.logSeverity = 500;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a LogConfig message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.LogConfig
+ * @static
+ * @param {google.cloud.video.livestream.v1.LogConfig} message LogConfig
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ LogConfig.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.logSeverity = options.enums === String ? "LOG_SEVERITY_UNSPECIFIED" : 0;
+ if (message.logSeverity != null && message.hasOwnProperty("logSeverity"))
+ object.logSeverity = options.enums === String ? $root.google.cloud.video.livestream.v1.LogConfig.LogSeverity[message.logSeverity] === undefined ? message.logSeverity : $root.google.cloud.video.livestream.v1.LogConfig.LogSeverity[message.logSeverity] : message.logSeverity;
+ return object;
+ };
+
+ /**
+ * Converts this LogConfig to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.LogConfig
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ LogConfig.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for LogConfig
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.LogConfig
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ LogConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.LogConfig";
+ };
+
+ /**
+ * LogSeverity enum.
+ * @name google.cloud.video.livestream.v1.LogConfig.LogSeverity
+ * @enum {number}
+ * @property {number} LOG_SEVERITY_UNSPECIFIED=0 LOG_SEVERITY_UNSPECIFIED value
+ * @property {number} OFF=1 OFF value
+ * @property {number} DEBUG=100 DEBUG value
+ * @property {number} INFO=200 INFO value
+ * @property {number} WARNING=400 WARNING value
+ * @property {number} ERROR=500 ERROR value
+ */
+ LogConfig.LogSeverity = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "LOG_SEVERITY_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "OFF"] = 1;
+ values[valuesById[100] = "DEBUG"] = 100;
+ values[valuesById[200] = "INFO"] = 200;
+ values[valuesById[400] = "WARNING"] = 400;
+ values[valuesById[500] = "ERROR"] = 500;
+ return values;
+ })();
+
+ return LogConfig;
+ })();
+
+ v1.InputStreamProperty = (function() {
+
+ /**
+ * Properties of an InputStreamProperty.
+ * @memberof google.cloud.video.livestream.v1
+ * @interface IInputStreamProperty
+ * @property {google.protobuf.ITimestamp|null} [lastEstablishTime] InputStreamProperty lastEstablishTime
+ * @property {Array.|null} [videoStreams] InputStreamProperty videoStreams
+ * @property {Array.|null} [audioStreams] InputStreamProperty audioStreams
+ */
+
+ /**
+ * Constructs a new InputStreamProperty.
+ * @memberof google.cloud.video.livestream.v1
+ * @classdesc Represents an InputStreamProperty.
+ * @implements IInputStreamProperty
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.IInputStreamProperty=} [properties] Properties to set
+ */
+ function InputStreamProperty(properties) {
+ this.videoStreams = [];
+ this.audioStreams = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * InputStreamProperty lastEstablishTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} lastEstablishTime
+ * @memberof google.cloud.video.livestream.v1.InputStreamProperty
+ * @instance
+ */
+ InputStreamProperty.prototype.lastEstablishTime = null;
+
+ /**
+ * InputStreamProperty videoStreams.
+ * @member {Array.} videoStreams
+ * @memberof google.cloud.video.livestream.v1.InputStreamProperty
+ * @instance
+ */
+ InputStreamProperty.prototype.videoStreams = $util.emptyArray;
+
+ /**
+ * InputStreamProperty audioStreams.
+ * @member {Array.} audioStreams
+ * @memberof google.cloud.video.livestream.v1.InputStreamProperty
+ * @instance
+ */
+ InputStreamProperty.prototype.audioStreams = $util.emptyArray;
+
+ /**
+ * Creates a new InputStreamProperty instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.InputStreamProperty
+ * @static
+ * @param {google.cloud.video.livestream.v1.IInputStreamProperty=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.InputStreamProperty} InputStreamProperty instance
+ */
+ InputStreamProperty.create = function create(properties) {
+ return new InputStreamProperty(properties);
+ };
+
+ /**
+ * Encodes the specified InputStreamProperty message. Does not implicitly {@link google.cloud.video.livestream.v1.InputStreamProperty.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.InputStreamProperty
+ * @static
+ * @param {google.cloud.video.livestream.v1.IInputStreamProperty} message InputStreamProperty message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ InputStreamProperty.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.lastEstablishTime != null && Object.hasOwnProperty.call(message, "lastEstablishTime"))
+ $root.google.protobuf.Timestamp.encode(message.lastEstablishTime, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.videoStreams != null && message.videoStreams.length)
+ for (var i = 0; i < message.videoStreams.length; ++i)
+ $root.google.cloud.video.livestream.v1.VideoStreamProperty.encode(message.videoStreams[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.audioStreams != null && message.audioStreams.length)
+ for (var i = 0; i < message.audioStreams.length; ++i)
+ $root.google.cloud.video.livestream.v1.AudioStreamProperty.encode(message.audioStreams[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified InputStreamProperty message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.InputStreamProperty.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.InputStreamProperty
+ * @static
+ * @param {google.cloud.video.livestream.v1.IInputStreamProperty} message InputStreamProperty message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ InputStreamProperty.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an InputStreamProperty message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.InputStreamProperty
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.InputStreamProperty} InputStreamProperty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ InputStreamProperty.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.InputStreamProperty();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.lastEstablishTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ if (!(message.videoStreams && message.videoStreams.length))
+ message.videoStreams = [];
+ message.videoStreams.push($root.google.cloud.video.livestream.v1.VideoStreamProperty.decode(reader, reader.uint32()));
+ break;
+ }
+ case 3: {
+ if (!(message.audioStreams && message.audioStreams.length))
+ message.audioStreams = [];
+ message.audioStreams.push($root.google.cloud.video.livestream.v1.AudioStreamProperty.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an InputStreamProperty message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.InputStreamProperty
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.InputStreamProperty} InputStreamProperty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ InputStreamProperty.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an InputStreamProperty message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.InputStreamProperty
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ InputStreamProperty.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.lastEstablishTime != null && message.hasOwnProperty("lastEstablishTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.lastEstablishTime);
+ if (error)
+ return "lastEstablishTime." + error;
+ }
+ if (message.videoStreams != null && message.hasOwnProperty("videoStreams")) {
+ if (!Array.isArray(message.videoStreams))
+ return "videoStreams: array expected";
+ for (var i = 0; i < message.videoStreams.length; ++i) {
+ var error = $root.google.cloud.video.livestream.v1.VideoStreamProperty.verify(message.videoStreams[i]);
+ if (error)
+ return "videoStreams." + error;
+ }
+ }
+ if (message.audioStreams != null && message.hasOwnProperty("audioStreams")) {
+ if (!Array.isArray(message.audioStreams))
+ return "audioStreams: array expected";
+ for (var i = 0; i < message.audioStreams.length; ++i) {
+ var error = $root.google.cloud.video.livestream.v1.AudioStreamProperty.verify(message.audioStreams[i]);
+ if (error)
+ return "audioStreams." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates an InputStreamProperty message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.InputStreamProperty
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.InputStreamProperty} InputStreamProperty
+ */
+ InputStreamProperty.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.InputStreamProperty)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.InputStreamProperty();
+ if (object.lastEstablishTime != null) {
+ if (typeof object.lastEstablishTime !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.InputStreamProperty.lastEstablishTime: object expected");
+ message.lastEstablishTime = $root.google.protobuf.Timestamp.fromObject(object.lastEstablishTime);
+ }
+ if (object.videoStreams) {
+ if (!Array.isArray(object.videoStreams))
+ throw TypeError(".google.cloud.video.livestream.v1.InputStreamProperty.videoStreams: array expected");
+ message.videoStreams = [];
+ for (var i = 0; i < object.videoStreams.length; ++i) {
+ if (typeof object.videoStreams[i] !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.InputStreamProperty.videoStreams: object expected");
+ message.videoStreams[i] = $root.google.cloud.video.livestream.v1.VideoStreamProperty.fromObject(object.videoStreams[i]);
+ }
+ }
+ if (object.audioStreams) {
+ if (!Array.isArray(object.audioStreams))
+ throw TypeError(".google.cloud.video.livestream.v1.InputStreamProperty.audioStreams: array expected");
+ message.audioStreams = [];
+ for (var i = 0; i < object.audioStreams.length; ++i) {
+ if (typeof object.audioStreams[i] !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.InputStreamProperty.audioStreams: object expected");
+ message.audioStreams[i] = $root.google.cloud.video.livestream.v1.AudioStreamProperty.fromObject(object.audioStreams[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an InputStreamProperty message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.InputStreamProperty
+ * @static
+ * @param {google.cloud.video.livestream.v1.InputStreamProperty} message InputStreamProperty
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ InputStreamProperty.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.videoStreams = [];
+ object.audioStreams = [];
+ }
+ if (options.defaults)
+ object.lastEstablishTime = null;
+ if (message.lastEstablishTime != null && message.hasOwnProperty("lastEstablishTime"))
+ object.lastEstablishTime = $root.google.protobuf.Timestamp.toObject(message.lastEstablishTime, options);
+ if (message.videoStreams && message.videoStreams.length) {
+ object.videoStreams = [];
+ for (var j = 0; j < message.videoStreams.length; ++j)
+ object.videoStreams[j] = $root.google.cloud.video.livestream.v1.VideoStreamProperty.toObject(message.videoStreams[j], options);
+ }
+ if (message.audioStreams && message.audioStreams.length) {
+ object.audioStreams = [];
+ for (var j = 0; j < message.audioStreams.length; ++j)
+ object.audioStreams[j] = $root.google.cloud.video.livestream.v1.AudioStreamProperty.toObject(message.audioStreams[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this InputStreamProperty to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.InputStreamProperty
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ InputStreamProperty.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for InputStreamProperty
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.InputStreamProperty
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ InputStreamProperty.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.InputStreamProperty";
+ };
+
+ return InputStreamProperty;
+ })();
+
+ v1.VideoStreamProperty = (function() {
+
+ /**
+ * Properties of a VideoStreamProperty.
+ * @memberof google.cloud.video.livestream.v1
+ * @interface IVideoStreamProperty
+ * @property {number|null} [index] VideoStreamProperty index
+ * @property {google.cloud.video.livestream.v1.IVideoFormat|null} [videoFormat] VideoStreamProperty videoFormat
+ */
+
+ /**
+ * Constructs a new VideoStreamProperty.
+ * @memberof google.cloud.video.livestream.v1
+ * @classdesc Represents a VideoStreamProperty.
+ * @implements IVideoStreamProperty
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.IVideoStreamProperty=} [properties] Properties to set
+ */
+ function VideoStreamProperty(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * VideoStreamProperty index.
+ * @member {number} index
+ * @memberof google.cloud.video.livestream.v1.VideoStreamProperty
+ * @instance
+ */
+ VideoStreamProperty.prototype.index = 0;
+
+ /**
+ * VideoStreamProperty videoFormat.
+ * @member {google.cloud.video.livestream.v1.IVideoFormat|null|undefined} videoFormat
+ * @memberof google.cloud.video.livestream.v1.VideoStreamProperty
+ * @instance
+ */
+ VideoStreamProperty.prototype.videoFormat = null;
+
+ /**
+ * Creates a new VideoStreamProperty instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.VideoStreamProperty
+ * @static
+ * @param {google.cloud.video.livestream.v1.IVideoStreamProperty=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.VideoStreamProperty} VideoStreamProperty instance
+ */
+ VideoStreamProperty.create = function create(properties) {
+ return new VideoStreamProperty(properties);
+ };
+
+ /**
+ * Encodes the specified VideoStreamProperty message. Does not implicitly {@link google.cloud.video.livestream.v1.VideoStreamProperty.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.VideoStreamProperty
+ * @static
+ * @param {google.cloud.video.livestream.v1.IVideoStreamProperty} message VideoStreamProperty message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ VideoStreamProperty.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.index != null && Object.hasOwnProperty.call(message, "index"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.index);
+ if (message.videoFormat != null && Object.hasOwnProperty.call(message, "videoFormat"))
+ $root.google.cloud.video.livestream.v1.VideoFormat.encode(message.videoFormat, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified VideoStreamProperty message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.VideoStreamProperty.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.VideoStreamProperty
+ * @static
+ * @param {google.cloud.video.livestream.v1.IVideoStreamProperty} message VideoStreamProperty message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ VideoStreamProperty.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a VideoStreamProperty message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.VideoStreamProperty
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.VideoStreamProperty} VideoStreamProperty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ VideoStreamProperty.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.VideoStreamProperty();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.index = reader.int32();
+ break;
+ }
+ case 2: {
+ message.videoFormat = $root.google.cloud.video.livestream.v1.VideoFormat.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a VideoStreamProperty message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.VideoStreamProperty
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.VideoStreamProperty} VideoStreamProperty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ VideoStreamProperty.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a VideoStreamProperty message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.VideoStreamProperty
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ VideoStreamProperty.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.index != null && message.hasOwnProperty("index"))
+ if (!$util.isInteger(message.index))
+ return "index: integer expected";
+ if (message.videoFormat != null && message.hasOwnProperty("videoFormat")) {
+ var error = $root.google.cloud.video.livestream.v1.VideoFormat.verify(message.videoFormat);
+ if (error)
+ return "videoFormat." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a VideoStreamProperty message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.VideoStreamProperty
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.VideoStreamProperty} VideoStreamProperty
+ */
+ VideoStreamProperty.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.VideoStreamProperty)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.VideoStreamProperty();
+ if (object.index != null)
+ message.index = object.index | 0;
+ if (object.videoFormat != null) {
+ if (typeof object.videoFormat !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.VideoStreamProperty.videoFormat: object expected");
+ message.videoFormat = $root.google.cloud.video.livestream.v1.VideoFormat.fromObject(object.videoFormat);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a VideoStreamProperty message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.VideoStreamProperty
+ * @static
+ * @param {google.cloud.video.livestream.v1.VideoStreamProperty} message VideoStreamProperty
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ VideoStreamProperty.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.index = 0;
+ object.videoFormat = null;
+ }
+ if (message.index != null && message.hasOwnProperty("index"))
+ object.index = message.index;
+ if (message.videoFormat != null && message.hasOwnProperty("videoFormat"))
+ object.videoFormat = $root.google.cloud.video.livestream.v1.VideoFormat.toObject(message.videoFormat, options);
+ return object;
+ };
+
+ /**
+ * Converts this VideoStreamProperty to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.VideoStreamProperty
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ VideoStreamProperty.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for VideoStreamProperty
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.VideoStreamProperty
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ VideoStreamProperty.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.VideoStreamProperty";
+ };
+
+ return VideoStreamProperty;
+ })();
+
+ v1.VideoFormat = (function() {
+
+ /**
+ * Properties of a VideoFormat.
+ * @memberof google.cloud.video.livestream.v1
+ * @interface IVideoFormat
+ * @property {string|null} [codec] VideoFormat codec
+ * @property {number|null} [widthPixels] VideoFormat widthPixels
+ * @property {number|null} [heightPixels] VideoFormat heightPixels
+ * @property {number|null} [frameRate] VideoFormat frameRate
+ */
+
+ /**
+ * Constructs a new VideoFormat.
+ * @memberof google.cloud.video.livestream.v1
+ * @classdesc Represents a VideoFormat.
+ * @implements IVideoFormat
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.IVideoFormat=} [properties] Properties to set
+ */
+ function VideoFormat(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * VideoFormat codec.
+ * @member {string} codec
+ * @memberof google.cloud.video.livestream.v1.VideoFormat
+ * @instance
+ */
+ VideoFormat.prototype.codec = "";
+
+ /**
+ * VideoFormat widthPixels.
+ * @member {number} widthPixels
+ * @memberof google.cloud.video.livestream.v1.VideoFormat
+ * @instance
+ */
+ VideoFormat.prototype.widthPixels = 0;
+
+ /**
+ * VideoFormat heightPixels.
+ * @member {number} heightPixels
+ * @memberof google.cloud.video.livestream.v1.VideoFormat
+ * @instance
+ */
+ VideoFormat.prototype.heightPixels = 0;
+
+ /**
+ * VideoFormat frameRate.
+ * @member {number} frameRate
+ * @memberof google.cloud.video.livestream.v1.VideoFormat
+ * @instance
+ */
+ VideoFormat.prototype.frameRate = 0;
+
+ /**
+ * Creates a new VideoFormat instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.VideoFormat
+ * @static
+ * @param {google.cloud.video.livestream.v1.IVideoFormat=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.VideoFormat} VideoFormat instance
+ */
+ VideoFormat.create = function create(properties) {
+ return new VideoFormat(properties);
+ };
+
+ /**
+ * Encodes the specified VideoFormat message. Does not implicitly {@link google.cloud.video.livestream.v1.VideoFormat.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.VideoFormat
+ * @static
+ * @param {google.cloud.video.livestream.v1.IVideoFormat} message VideoFormat message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ VideoFormat.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.codec != null && Object.hasOwnProperty.call(message, "codec"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.codec);
+ if (message.widthPixels != null && Object.hasOwnProperty.call(message, "widthPixels"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.widthPixels);
+ if (message.heightPixels != null && Object.hasOwnProperty.call(message, "heightPixels"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.heightPixels);
+ if (message.frameRate != null && Object.hasOwnProperty.call(message, "frameRate"))
+ writer.uint32(/* id 4, wireType 1 =*/33).double(message.frameRate);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified VideoFormat message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.VideoFormat.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.VideoFormat
+ * @static
+ * @param {google.cloud.video.livestream.v1.IVideoFormat} message VideoFormat message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ VideoFormat.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a VideoFormat message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.VideoFormat
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.VideoFormat} VideoFormat
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ VideoFormat.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.VideoFormat();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.codec = reader.string();
+ break;
+ }
+ case 2: {
+ message.widthPixels = reader.int32();
+ break;
+ }
+ case 3: {
+ message.heightPixels = reader.int32();
+ break;
+ }
+ case 4: {
+ message.frameRate = reader.double();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a VideoFormat message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.VideoFormat
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.VideoFormat} VideoFormat
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ VideoFormat.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a VideoFormat message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.VideoFormat
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ VideoFormat.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.codec != null && message.hasOwnProperty("codec"))
+ if (!$util.isString(message.codec))
+ return "codec: string expected";
+ if (message.widthPixels != null && message.hasOwnProperty("widthPixels"))
+ if (!$util.isInteger(message.widthPixels))
+ return "widthPixels: integer expected";
+ if (message.heightPixels != null && message.hasOwnProperty("heightPixels"))
+ if (!$util.isInteger(message.heightPixels))
+ return "heightPixels: integer expected";
+ if (message.frameRate != null && message.hasOwnProperty("frameRate"))
+ if (typeof message.frameRate !== "number")
+ return "frameRate: number expected";
+ return null;
+ };
+
+ /**
+ * Creates a VideoFormat message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.VideoFormat
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.VideoFormat} VideoFormat
+ */
+ VideoFormat.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.VideoFormat)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.VideoFormat();
+ if (object.codec != null)
+ message.codec = String(object.codec);
+ if (object.widthPixels != null)
+ message.widthPixels = object.widthPixels | 0;
+ if (object.heightPixels != null)
+ message.heightPixels = object.heightPixels | 0;
+ if (object.frameRate != null)
+ message.frameRate = Number(object.frameRate);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a VideoFormat message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.VideoFormat
+ * @static
+ * @param {google.cloud.video.livestream.v1.VideoFormat} message VideoFormat
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ VideoFormat.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.codec = "";
+ object.widthPixels = 0;
+ object.heightPixels = 0;
+ object.frameRate = 0;
+ }
+ if (message.codec != null && message.hasOwnProperty("codec"))
+ object.codec = message.codec;
+ if (message.widthPixels != null && message.hasOwnProperty("widthPixels"))
+ object.widthPixels = message.widthPixels;
+ if (message.heightPixels != null && message.hasOwnProperty("heightPixels"))
+ object.heightPixels = message.heightPixels;
+ if (message.frameRate != null && message.hasOwnProperty("frameRate"))
+ object.frameRate = options.json && !isFinite(message.frameRate) ? String(message.frameRate) : message.frameRate;
+ return object;
+ };
+
+ /**
+ * Converts this VideoFormat to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.VideoFormat
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ VideoFormat.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for VideoFormat
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.VideoFormat
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ VideoFormat.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.VideoFormat";
+ };
+
+ return VideoFormat;
+ })();
+
+ v1.AudioStreamProperty = (function() {
+
+ /**
+ * Properties of an AudioStreamProperty.
+ * @memberof google.cloud.video.livestream.v1
+ * @interface IAudioStreamProperty
+ * @property {number|null} [index] AudioStreamProperty index
+ * @property {google.cloud.video.livestream.v1.IAudioFormat|null} [audioFormat] AudioStreamProperty audioFormat
+ */
+
+ /**
+ * Constructs a new AudioStreamProperty.
+ * @memberof google.cloud.video.livestream.v1
+ * @classdesc Represents an AudioStreamProperty.
+ * @implements IAudioStreamProperty
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.IAudioStreamProperty=} [properties] Properties to set
+ */
+ function AudioStreamProperty(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * AudioStreamProperty index.
+ * @member {number} index
+ * @memberof google.cloud.video.livestream.v1.AudioStreamProperty
+ * @instance
+ */
+ AudioStreamProperty.prototype.index = 0;
+
+ /**
+ * AudioStreamProperty audioFormat.
+ * @member {google.cloud.video.livestream.v1.IAudioFormat|null|undefined} audioFormat
+ * @memberof google.cloud.video.livestream.v1.AudioStreamProperty
+ * @instance
+ */
+ AudioStreamProperty.prototype.audioFormat = null;
+
+ /**
+ * Creates a new AudioStreamProperty instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.AudioStreamProperty
+ * @static
+ * @param {google.cloud.video.livestream.v1.IAudioStreamProperty=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.AudioStreamProperty} AudioStreamProperty instance
+ */
+ AudioStreamProperty.create = function create(properties) {
+ return new AudioStreamProperty(properties);
+ };
+
+ /**
+ * Encodes the specified AudioStreamProperty message. Does not implicitly {@link google.cloud.video.livestream.v1.AudioStreamProperty.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.AudioStreamProperty
+ * @static
+ * @param {google.cloud.video.livestream.v1.IAudioStreamProperty} message AudioStreamProperty message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AudioStreamProperty.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.index != null && Object.hasOwnProperty.call(message, "index"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.index);
+ if (message.audioFormat != null && Object.hasOwnProperty.call(message, "audioFormat"))
+ $root.google.cloud.video.livestream.v1.AudioFormat.encode(message.audioFormat, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AudioStreamProperty message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.AudioStreamProperty.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.AudioStreamProperty
+ * @static
+ * @param {google.cloud.video.livestream.v1.IAudioStreamProperty} message AudioStreamProperty message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AudioStreamProperty.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AudioStreamProperty message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.AudioStreamProperty
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.AudioStreamProperty} AudioStreamProperty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AudioStreamProperty.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.AudioStreamProperty();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.index = reader.int32();
+ break;
+ }
+ case 2: {
+ message.audioFormat = $root.google.cloud.video.livestream.v1.AudioFormat.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AudioStreamProperty message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.AudioStreamProperty
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.AudioStreamProperty} AudioStreamProperty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AudioStreamProperty.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AudioStreamProperty message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.AudioStreamProperty
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AudioStreamProperty.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.index != null && message.hasOwnProperty("index"))
+ if (!$util.isInteger(message.index))
+ return "index: integer expected";
+ if (message.audioFormat != null && message.hasOwnProperty("audioFormat")) {
+ var error = $root.google.cloud.video.livestream.v1.AudioFormat.verify(message.audioFormat);
+ if (error)
+ return "audioFormat." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an AudioStreamProperty message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.AudioStreamProperty
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.AudioStreamProperty} AudioStreamProperty
+ */
+ AudioStreamProperty.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.AudioStreamProperty)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.AudioStreamProperty();
+ if (object.index != null)
+ message.index = object.index | 0;
+ if (object.audioFormat != null) {
+ if (typeof object.audioFormat !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.AudioStreamProperty.audioFormat: object expected");
+ message.audioFormat = $root.google.cloud.video.livestream.v1.AudioFormat.fromObject(object.audioFormat);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AudioStreamProperty message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.AudioStreamProperty
+ * @static
+ * @param {google.cloud.video.livestream.v1.AudioStreamProperty} message AudioStreamProperty
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AudioStreamProperty.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.index = 0;
+ object.audioFormat = null;
+ }
+ if (message.index != null && message.hasOwnProperty("index"))
+ object.index = message.index;
+ if (message.audioFormat != null && message.hasOwnProperty("audioFormat"))
+ object.audioFormat = $root.google.cloud.video.livestream.v1.AudioFormat.toObject(message.audioFormat, options);
+ return object;
+ };
+
+ /**
+ * Converts this AudioStreamProperty to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.AudioStreamProperty
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AudioStreamProperty.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AudioStreamProperty
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.AudioStreamProperty
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AudioStreamProperty.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.AudioStreamProperty";
+ };
+
+ return AudioStreamProperty;
+ })();
+
+ v1.AudioFormat = (function() {
+
+ /**
+ * Properties of an AudioFormat.
+ * @memberof google.cloud.video.livestream.v1
+ * @interface IAudioFormat
+ * @property {string|null} [codec] AudioFormat codec
+ * @property {number|null} [channelCount] AudioFormat channelCount
+ * @property {Array.|null} [channelLayout] AudioFormat channelLayout
+ */
+
+ /**
+ * Constructs a new AudioFormat.
+ * @memberof google.cloud.video.livestream.v1
+ * @classdesc Represents an AudioFormat.
+ * @implements IAudioFormat
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.IAudioFormat=} [properties] Properties to set
+ */
+ function AudioFormat(properties) {
+ this.channelLayout = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * AudioFormat codec.
+ * @member {string} codec
+ * @memberof google.cloud.video.livestream.v1.AudioFormat
+ * @instance
+ */
+ AudioFormat.prototype.codec = "";
+
+ /**
+ * AudioFormat channelCount.
+ * @member {number} channelCount
+ * @memberof google.cloud.video.livestream.v1.AudioFormat
+ * @instance
+ */
+ AudioFormat.prototype.channelCount = 0;
+
+ /**
+ * AudioFormat channelLayout.
+ * @member {Array.} channelLayout
+ * @memberof google.cloud.video.livestream.v1.AudioFormat
+ * @instance
+ */
+ AudioFormat.prototype.channelLayout = $util.emptyArray;
+
+ /**
+ * Creates a new AudioFormat instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.AudioFormat
+ * @static
+ * @param {google.cloud.video.livestream.v1.IAudioFormat=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.AudioFormat} AudioFormat instance
+ */
+ AudioFormat.create = function create(properties) {
+ return new AudioFormat(properties);
+ };
+
+ /**
+ * Encodes the specified AudioFormat message. Does not implicitly {@link google.cloud.video.livestream.v1.AudioFormat.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.AudioFormat
+ * @static
+ * @param {google.cloud.video.livestream.v1.IAudioFormat} message AudioFormat message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AudioFormat.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.codec != null && Object.hasOwnProperty.call(message, "codec"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.codec);
+ if (message.channelCount != null && Object.hasOwnProperty.call(message, "channelCount"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.channelCount);
+ if (message.channelLayout != null && message.channelLayout.length)
+ for (var i = 0; i < message.channelLayout.length; ++i)
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.channelLayout[i]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AudioFormat message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.AudioFormat.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.AudioFormat
+ * @static
+ * @param {google.cloud.video.livestream.v1.IAudioFormat} message AudioFormat message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AudioFormat.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AudioFormat message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.AudioFormat
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.AudioFormat} AudioFormat
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AudioFormat.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.AudioFormat();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.codec = reader.string();
+ break;
+ }
+ case 2: {
+ message.channelCount = reader.int32();
+ break;
+ }
+ case 3: {
+ if (!(message.channelLayout && message.channelLayout.length))
+ message.channelLayout = [];
+ message.channelLayout.push(reader.string());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AudioFormat message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.AudioFormat
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.AudioFormat} AudioFormat
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AudioFormat.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AudioFormat message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.AudioFormat
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AudioFormat.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.codec != null && message.hasOwnProperty("codec"))
+ if (!$util.isString(message.codec))
+ return "codec: string expected";
+ if (message.channelCount != null && message.hasOwnProperty("channelCount"))
+ if (!$util.isInteger(message.channelCount))
+ return "channelCount: integer expected";
+ if (message.channelLayout != null && message.hasOwnProperty("channelLayout")) {
+ if (!Array.isArray(message.channelLayout))
+ return "channelLayout: array expected";
+ for (var i = 0; i < message.channelLayout.length; ++i)
+ if (!$util.isString(message.channelLayout[i]))
+ return "channelLayout: string[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates an AudioFormat message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.AudioFormat
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.AudioFormat} AudioFormat
+ */
+ AudioFormat.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.AudioFormat)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.AudioFormat();
+ if (object.codec != null)
+ message.codec = String(object.codec);
+ if (object.channelCount != null)
+ message.channelCount = object.channelCount | 0;
+ if (object.channelLayout) {
+ if (!Array.isArray(object.channelLayout))
+ throw TypeError(".google.cloud.video.livestream.v1.AudioFormat.channelLayout: array expected");
+ message.channelLayout = [];
+ for (var i = 0; i < object.channelLayout.length; ++i)
+ message.channelLayout[i] = String(object.channelLayout[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AudioFormat message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.AudioFormat
+ * @static
+ * @param {google.cloud.video.livestream.v1.AudioFormat} message AudioFormat
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AudioFormat.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.channelLayout = [];
+ if (options.defaults) {
+ object.codec = "";
+ object.channelCount = 0;
+ }
+ if (message.codec != null && message.hasOwnProperty("codec"))
+ object.codec = message.codec;
+ if (message.channelCount != null && message.hasOwnProperty("channelCount"))
+ object.channelCount = message.channelCount;
+ if (message.channelLayout && message.channelLayout.length) {
+ object.channelLayout = [];
+ for (var j = 0; j < message.channelLayout.length; ++j)
+ object.channelLayout[j] = message.channelLayout[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this AudioFormat to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.AudioFormat
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AudioFormat.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AudioFormat
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.AudioFormat
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AudioFormat.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.AudioFormat";
+ };
+
+ return AudioFormat;
+ })();
+
+ v1.InputAttachment = (function() {
+
+ /**
+ * Properties of an InputAttachment.
+ * @memberof google.cloud.video.livestream.v1
+ * @interface IInputAttachment
+ * @property {string|null} [key] InputAttachment key
+ * @property {string|null} [input] InputAttachment input
+ * @property {google.cloud.video.livestream.v1.InputAttachment.IAutomaticFailover|null} [automaticFailover] InputAttachment automaticFailover
+ */
+
+ /**
+ * Constructs a new InputAttachment.
+ * @memberof google.cloud.video.livestream.v1
+ * @classdesc Represents an InputAttachment.
+ * @implements IInputAttachment
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.IInputAttachment=} [properties] Properties to set
+ */
+ function InputAttachment(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * InputAttachment key.
+ * @member {string} key
+ * @memberof google.cloud.video.livestream.v1.InputAttachment
+ * @instance
+ */
+ InputAttachment.prototype.key = "";
+
+ /**
+ * InputAttachment input.
+ * @member {string} input
+ * @memberof google.cloud.video.livestream.v1.InputAttachment
+ * @instance
+ */
+ InputAttachment.prototype.input = "";
+
+ /**
+ * InputAttachment automaticFailover.
+ * @member {google.cloud.video.livestream.v1.InputAttachment.IAutomaticFailover|null|undefined} automaticFailover
+ * @memberof google.cloud.video.livestream.v1.InputAttachment
+ * @instance
+ */
+ InputAttachment.prototype.automaticFailover = null;
+
+ /**
+ * Creates a new InputAttachment instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.InputAttachment
+ * @static
+ * @param {google.cloud.video.livestream.v1.IInputAttachment=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.InputAttachment} InputAttachment instance
+ */
+ InputAttachment.create = function create(properties) {
+ return new InputAttachment(properties);
+ };
+
+ /**
+ * Encodes the specified InputAttachment message. Does not implicitly {@link google.cloud.video.livestream.v1.InputAttachment.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.InputAttachment
+ * @static
+ * @param {google.cloud.video.livestream.v1.IInputAttachment} message InputAttachment message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ InputAttachment.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.key != null && Object.hasOwnProperty.call(message, "key"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.key);
+ if (message.input != null && Object.hasOwnProperty.call(message, "input"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.input);
+ if (message.automaticFailover != null && Object.hasOwnProperty.call(message, "automaticFailover"))
+ $root.google.cloud.video.livestream.v1.InputAttachment.AutomaticFailover.encode(message.automaticFailover, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified InputAttachment message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.InputAttachment.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.InputAttachment
+ * @static
+ * @param {google.cloud.video.livestream.v1.IInputAttachment} message InputAttachment message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ InputAttachment.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an InputAttachment message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.InputAttachment
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.InputAttachment} InputAttachment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ InputAttachment.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.InputAttachment();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.key = reader.string();
+ break;
+ }
+ case 2: {
+ message.input = reader.string();
+ break;
+ }
+ case 3: {
+ message.automaticFailover = $root.google.cloud.video.livestream.v1.InputAttachment.AutomaticFailover.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an InputAttachment message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.InputAttachment
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.InputAttachment} InputAttachment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ InputAttachment.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an InputAttachment message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.InputAttachment
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ InputAttachment.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.key != null && message.hasOwnProperty("key"))
+ if (!$util.isString(message.key))
+ return "key: string expected";
+ if (message.input != null && message.hasOwnProperty("input"))
+ if (!$util.isString(message.input))
+ return "input: string expected";
+ if (message.automaticFailover != null && message.hasOwnProperty("automaticFailover")) {
+ var error = $root.google.cloud.video.livestream.v1.InputAttachment.AutomaticFailover.verify(message.automaticFailover);
+ if (error)
+ return "automaticFailover." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an InputAttachment message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.InputAttachment
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.InputAttachment} InputAttachment
+ */
+ InputAttachment.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.InputAttachment)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.InputAttachment();
+ if (object.key != null)
+ message.key = String(object.key);
+ if (object.input != null)
+ message.input = String(object.input);
+ if (object.automaticFailover != null) {
+ if (typeof object.automaticFailover !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.InputAttachment.automaticFailover: object expected");
+ message.automaticFailover = $root.google.cloud.video.livestream.v1.InputAttachment.AutomaticFailover.fromObject(object.automaticFailover);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an InputAttachment message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.InputAttachment
+ * @static
+ * @param {google.cloud.video.livestream.v1.InputAttachment} message InputAttachment
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ InputAttachment.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.key = "";
+ object.input = "";
+ object.automaticFailover = null;
+ }
+ if (message.key != null && message.hasOwnProperty("key"))
+ object.key = message.key;
+ if (message.input != null && message.hasOwnProperty("input"))
+ object.input = message.input;
+ if (message.automaticFailover != null && message.hasOwnProperty("automaticFailover"))
+ object.automaticFailover = $root.google.cloud.video.livestream.v1.InputAttachment.AutomaticFailover.toObject(message.automaticFailover, options);
+ return object;
+ };
+
+ /**
+ * Converts this InputAttachment to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.InputAttachment
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ InputAttachment.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for InputAttachment
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.InputAttachment
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ InputAttachment.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.InputAttachment";
+ };
+
+ InputAttachment.AutomaticFailover = (function() {
+
+ /**
+ * Properties of an AutomaticFailover.
+ * @memberof google.cloud.video.livestream.v1.InputAttachment
+ * @interface IAutomaticFailover
+ * @property {Array.|null} [inputKeys] AutomaticFailover inputKeys
+ */
+
+ /**
+ * Constructs a new AutomaticFailover.
+ * @memberof google.cloud.video.livestream.v1.InputAttachment
+ * @classdesc Represents an AutomaticFailover.
+ * @implements IAutomaticFailover
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.InputAttachment.IAutomaticFailover=} [properties] Properties to set
+ */
+ function AutomaticFailover(properties) {
+ this.inputKeys = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * AutomaticFailover inputKeys.
+ * @member {Array.} inputKeys
+ * @memberof google.cloud.video.livestream.v1.InputAttachment.AutomaticFailover
+ * @instance
+ */
+ AutomaticFailover.prototype.inputKeys = $util.emptyArray;
+
+ /**
+ * Creates a new AutomaticFailover instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.InputAttachment.AutomaticFailover
+ * @static
+ * @param {google.cloud.video.livestream.v1.InputAttachment.IAutomaticFailover=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.InputAttachment.AutomaticFailover} AutomaticFailover instance
+ */
+ AutomaticFailover.create = function create(properties) {
+ return new AutomaticFailover(properties);
+ };
+
+ /**
+ * Encodes the specified AutomaticFailover message. Does not implicitly {@link google.cloud.video.livestream.v1.InputAttachment.AutomaticFailover.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.InputAttachment.AutomaticFailover
+ * @static
+ * @param {google.cloud.video.livestream.v1.InputAttachment.IAutomaticFailover} message AutomaticFailover message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AutomaticFailover.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.inputKeys != null && message.inputKeys.length)
+ for (var i = 0; i < message.inputKeys.length; ++i)
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputKeys[i]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AutomaticFailover message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.InputAttachment.AutomaticFailover.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.InputAttachment.AutomaticFailover
+ * @static
+ * @param {google.cloud.video.livestream.v1.InputAttachment.IAutomaticFailover} message AutomaticFailover message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AutomaticFailover.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AutomaticFailover message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.InputAttachment.AutomaticFailover
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.InputAttachment.AutomaticFailover} AutomaticFailover
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AutomaticFailover.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.InputAttachment.AutomaticFailover();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.inputKeys && message.inputKeys.length))
+ message.inputKeys = [];
+ message.inputKeys.push(reader.string());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AutomaticFailover message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.InputAttachment.AutomaticFailover
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.InputAttachment.AutomaticFailover} AutomaticFailover
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AutomaticFailover.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AutomaticFailover message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.InputAttachment.AutomaticFailover
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AutomaticFailover.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.inputKeys != null && message.hasOwnProperty("inputKeys")) {
+ if (!Array.isArray(message.inputKeys))
+ return "inputKeys: array expected";
+ for (var i = 0; i < message.inputKeys.length; ++i)
+ if (!$util.isString(message.inputKeys[i]))
+ return "inputKeys: string[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates an AutomaticFailover message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.InputAttachment.AutomaticFailover
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.InputAttachment.AutomaticFailover} AutomaticFailover
+ */
+ AutomaticFailover.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.InputAttachment.AutomaticFailover)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.InputAttachment.AutomaticFailover();
+ if (object.inputKeys) {
+ if (!Array.isArray(object.inputKeys))
+ throw TypeError(".google.cloud.video.livestream.v1.InputAttachment.AutomaticFailover.inputKeys: array expected");
+ message.inputKeys = [];
+ for (var i = 0; i < object.inputKeys.length; ++i)
+ message.inputKeys[i] = String(object.inputKeys[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AutomaticFailover message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.InputAttachment.AutomaticFailover
+ * @static
+ * @param {google.cloud.video.livestream.v1.InputAttachment.AutomaticFailover} message AutomaticFailover
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AutomaticFailover.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.inputKeys = [];
+ if (message.inputKeys && message.inputKeys.length) {
+ object.inputKeys = [];
+ for (var j = 0; j < message.inputKeys.length; ++j)
+ object.inputKeys[j] = message.inputKeys[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this AutomaticFailover to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.InputAttachment.AutomaticFailover
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AutomaticFailover.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AutomaticFailover
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.InputAttachment.AutomaticFailover
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AutomaticFailover.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.InputAttachment.AutomaticFailover";
+ };
+
+ return AutomaticFailover;
+ })();
+
+ return InputAttachment;
+ })();
+
+ v1.Event = (function() {
+
+ /**
+ * Properties of an Event.
+ * @memberof google.cloud.video.livestream.v1
+ * @interface IEvent
+ * @property {string|null} [name] Event name
+ * @property {google.protobuf.ITimestamp|null} [createTime] Event createTime
+ * @property {google.protobuf.ITimestamp|null} [updateTime] Event updateTime
+ * @property {Object.|null} [labels] Event labels
+ * @property {google.cloud.video.livestream.v1.Event.IAdBreakTask|null} [adBreak] Event adBreak
+ * @property {boolean|null} [executeNow] Event executeNow
+ * @property {google.protobuf.ITimestamp|null} [executionTime] Event executionTime
+ * @property {google.cloud.video.livestream.v1.Event.State|null} [state] Event state
+ * @property {google.rpc.IStatus|null} [error] Event error
+ */
+
+ /**
+ * Constructs a new Event.
+ * @memberof google.cloud.video.livestream.v1
+ * @classdesc Represents an Event.
+ * @implements IEvent
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.IEvent=} [properties] Properties to set
+ */
+ function Event(properties) {
+ this.labels = {};
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Event name.
+ * @member {string} name
+ * @memberof google.cloud.video.livestream.v1.Event
+ * @instance
+ */
+ Event.prototype.name = "";
+
+ /**
+ * Event createTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} createTime
+ * @memberof google.cloud.video.livestream.v1.Event
+ * @instance
+ */
+ Event.prototype.createTime = null;
+
+ /**
+ * Event updateTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} updateTime
+ * @memberof google.cloud.video.livestream.v1.Event
+ * @instance
+ */
+ Event.prototype.updateTime = null;
+
+ /**
+ * Event labels.
+ * @member {Object.} labels
+ * @memberof google.cloud.video.livestream.v1.Event
+ * @instance
+ */
+ Event.prototype.labels = $util.emptyObject;
+
+ /**
+ * Event adBreak.
+ * @member {google.cloud.video.livestream.v1.Event.IAdBreakTask|null|undefined} adBreak
+ * @memberof google.cloud.video.livestream.v1.Event
+ * @instance
+ */
+ Event.prototype.adBreak = null;
+
+ /**
+ * Event executeNow.
+ * @member {boolean} executeNow
+ * @memberof google.cloud.video.livestream.v1.Event
+ * @instance
+ */
+ Event.prototype.executeNow = false;
+
+ /**
+ * Event executionTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} executionTime
+ * @memberof google.cloud.video.livestream.v1.Event
+ * @instance
+ */
+ Event.prototype.executionTime = null;
+
+ /**
+ * Event state.
+ * @member {google.cloud.video.livestream.v1.Event.State} state
+ * @memberof google.cloud.video.livestream.v1.Event
+ * @instance
+ */
+ Event.prototype.state = 0;
+
+ /**
+ * Event error.
+ * @member {google.rpc.IStatus|null|undefined} error
+ * @memberof google.cloud.video.livestream.v1.Event
+ * @instance
+ */
+ Event.prototype.error = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * Event task.
+ * @member {"adBreak"|undefined} task
+ * @memberof google.cloud.video.livestream.v1.Event
+ * @instance
+ */
+ Object.defineProperty(Event.prototype, "task", {
+ get: $util.oneOfGetter($oneOfFields = ["adBreak"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new Event instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.Event
+ * @static
+ * @param {google.cloud.video.livestream.v1.IEvent=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.Event} Event instance
+ */
+ Event.create = function create(properties) {
+ return new Event(properties);
+ };
+
+ /**
+ * Encodes the specified Event message. Does not implicitly {@link google.cloud.video.livestream.v1.Event.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.Event
+ * @static
+ * @param {google.cloud.video.livestream.v1.IEvent} message Event message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Event.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
+ $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime"))
+ $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.labels != null && Object.hasOwnProperty.call(message, "labels"))
+ for (var keys = Object.keys(message.labels), i = 0; i < keys.length; ++i)
+ writer.uint32(/* id 4, wireType 2 =*/34).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.labels[keys[i]]).ldelim();
+ if (message.adBreak != null && Object.hasOwnProperty.call(message, "adBreak"))
+ $root.google.cloud.video.livestream.v1.Event.AdBreakTask.encode(message.adBreak, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ if (message.executeNow != null && Object.hasOwnProperty.call(message, "executeNow"))
+ writer.uint32(/* id 9, wireType 0 =*/72).bool(message.executeNow);
+ if (message.executionTime != null && Object.hasOwnProperty.call(message, "executionTime"))
+ $root.google.protobuf.Timestamp.encode(message.executionTime, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim();
+ if (message.state != null && Object.hasOwnProperty.call(message, "state"))
+ writer.uint32(/* id 11, wireType 0 =*/88).int32(message.state);
+ if (message.error != null && Object.hasOwnProperty.call(message, "error"))
+ $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Event message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.Event.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.Event
+ * @static
+ * @param {google.cloud.video.livestream.v1.IEvent} message Event message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Event.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an Event message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.Event
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.Event} Event
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Event.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.Event(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ if (message.labels === $util.emptyObject)
+ message.labels = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = "";
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = reader.string();
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.labels[key] = value;
+ break;
+ }
+ case 6: {
+ message.adBreak = $root.google.cloud.video.livestream.v1.Event.AdBreakTask.decode(reader, reader.uint32());
+ break;
+ }
+ case 9: {
+ message.executeNow = reader.bool();
+ break;
+ }
+ case 10: {
+ message.executionTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 11: {
+ message.state = reader.int32();
+ break;
+ }
+ case 12: {
+ message.error = $root.google.rpc.Status.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an Event message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.Event
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.Event} Event
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Event.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an Event message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.Event
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Event.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ if (message.createTime != null && message.hasOwnProperty("createTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.createTime);
+ if (error)
+ return "createTime." + error;
+ }
+ if (message.updateTime != null && message.hasOwnProperty("updateTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.updateTime);
+ if (error)
+ return "updateTime." + error;
+ }
+ if (message.labels != null && message.hasOwnProperty("labels")) {
+ if (!$util.isObject(message.labels))
+ return "labels: object expected";
+ var key = Object.keys(message.labels);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isString(message.labels[key[i]]))
+ return "labels: string{k:string} expected";
+ }
+ if (message.adBreak != null && message.hasOwnProperty("adBreak")) {
+ properties.task = 1;
+ {
+ var error = $root.google.cloud.video.livestream.v1.Event.AdBreakTask.verify(message.adBreak);
+ if (error)
+ return "adBreak." + error;
+ }
+ }
+ if (message.executeNow != null && message.hasOwnProperty("executeNow"))
+ if (typeof message.executeNow !== "boolean")
+ return "executeNow: boolean expected";
+ if (message.executionTime != null && message.hasOwnProperty("executionTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.executionTime);
+ if (error)
+ return "executionTime." + error;
+ }
+ if (message.state != null && message.hasOwnProperty("state"))
+ switch (message.state) {
+ default:
+ return "state: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ break;
+ }
+ if (message.error != null && message.hasOwnProperty("error")) {
+ var error = $root.google.rpc.Status.verify(message.error);
+ if (error)
+ return "error." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an Event message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.Event
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.Event} Event
+ */
+ Event.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.Event)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.Event();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.createTime != null) {
+ if (typeof object.createTime !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.Event.createTime: object expected");
+ message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime);
+ }
+ if (object.updateTime != null) {
+ if (typeof object.updateTime !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.Event.updateTime: object expected");
+ message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime);
+ }
+ if (object.labels) {
+ if (typeof object.labels !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.Event.labels: object expected");
+ message.labels = {};
+ for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i)
+ message.labels[keys[i]] = String(object.labels[keys[i]]);
+ }
+ if (object.adBreak != null) {
+ if (typeof object.adBreak !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.Event.adBreak: object expected");
+ message.adBreak = $root.google.cloud.video.livestream.v1.Event.AdBreakTask.fromObject(object.adBreak);
+ }
+ if (object.executeNow != null)
+ message.executeNow = Boolean(object.executeNow);
+ if (object.executionTime != null) {
+ if (typeof object.executionTime !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.Event.executionTime: object expected");
+ message.executionTime = $root.google.protobuf.Timestamp.fromObject(object.executionTime);
+ }
+ switch (object.state) {
+ default:
+ if (typeof object.state === "number") {
+ message.state = object.state;
+ break;
+ }
+ break;
+ case "STATE_UNSPECIFIED":
+ case 0:
+ message.state = 0;
+ break;
+ case "SCHEDULED":
+ case 1:
+ message.state = 1;
+ break;
+ case "RUNNING":
+ case 2:
+ message.state = 2;
+ break;
+ case "SUCCEEDED":
+ case 3:
+ message.state = 3;
+ break;
+ case "FAILED":
+ case 4:
+ message.state = 4;
+ break;
+ case "PENDING":
+ case 5:
+ message.state = 5;
+ break;
+ case "STOPPED":
+ case 6:
+ message.state = 6;
+ break;
+ }
+ if (object.error != null) {
+ if (typeof object.error !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.Event.error: object expected");
+ message.error = $root.google.rpc.Status.fromObject(object.error);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an Event message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.Event
+ * @static
+ * @param {google.cloud.video.livestream.v1.Event} message Event
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Event.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.objects || options.defaults)
+ object.labels = {};
+ if (options.defaults) {
+ object.name = "";
+ object.createTime = null;
+ object.updateTime = null;
+ object.executeNow = false;
+ object.executionTime = null;
+ object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0;
+ object.error = null;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.createTime != null && message.hasOwnProperty("createTime"))
+ object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
+ if (message.updateTime != null && message.hasOwnProperty("updateTime"))
+ object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options);
+ var keys2;
+ if (message.labels && (keys2 = Object.keys(message.labels)).length) {
+ object.labels = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.labels[keys2[j]] = message.labels[keys2[j]];
+ }
+ if (message.adBreak != null && message.hasOwnProperty("adBreak")) {
+ object.adBreak = $root.google.cloud.video.livestream.v1.Event.AdBreakTask.toObject(message.adBreak, options);
+ if (options.oneofs)
+ object.task = "adBreak";
+ }
+ if (message.executeNow != null && message.hasOwnProperty("executeNow"))
+ object.executeNow = message.executeNow;
+ if (message.executionTime != null && message.hasOwnProperty("executionTime"))
+ object.executionTime = $root.google.protobuf.Timestamp.toObject(message.executionTime, options);
+ if (message.state != null && message.hasOwnProperty("state"))
+ object.state = options.enums === String ? $root.google.cloud.video.livestream.v1.Event.State[message.state] === undefined ? message.state : $root.google.cloud.video.livestream.v1.Event.State[message.state] : message.state;
+ if (message.error != null && message.hasOwnProperty("error"))
+ object.error = $root.google.rpc.Status.toObject(message.error, options);
+ return object;
+ };
+
+ /**
+ * Converts this Event to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.Event
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Event.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Event
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.Event
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Event.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.Event";
+ };
+
+ Event.AdBreakTask = (function() {
+
+ /**
+ * Properties of an AdBreakTask.
+ * @memberof google.cloud.video.livestream.v1.Event
+ * @interface IAdBreakTask
+ * @property {google.protobuf.IDuration|null} [duration] AdBreakTask duration
+ */
+
+ /**
+ * Constructs a new AdBreakTask.
+ * @memberof google.cloud.video.livestream.v1.Event
+ * @classdesc Represents an AdBreakTask.
+ * @implements IAdBreakTask
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.Event.IAdBreakTask=} [properties] Properties to set
+ */
+ function AdBreakTask(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * AdBreakTask duration.
+ * @member {google.protobuf.IDuration|null|undefined} duration
+ * @memberof google.cloud.video.livestream.v1.Event.AdBreakTask
+ * @instance
+ */
+ AdBreakTask.prototype.duration = null;
+
+ /**
+ * Creates a new AdBreakTask instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.Event.AdBreakTask
+ * @static
+ * @param {google.cloud.video.livestream.v1.Event.IAdBreakTask=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.Event.AdBreakTask} AdBreakTask instance
+ */
+ AdBreakTask.create = function create(properties) {
+ return new AdBreakTask(properties);
+ };
+
+ /**
+ * Encodes the specified AdBreakTask message. Does not implicitly {@link google.cloud.video.livestream.v1.Event.AdBreakTask.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.Event.AdBreakTask
+ * @static
+ * @param {google.cloud.video.livestream.v1.Event.IAdBreakTask} message AdBreakTask message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AdBreakTask.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.duration != null && Object.hasOwnProperty.call(message, "duration"))
+ $root.google.protobuf.Duration.encode(message.duration, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AdBreakTask message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.Event.AdBreakTask.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.Event.AdBreakTask
+ * @static
+ * @param {google.cloud.video.livestream.v1.Event.IAdBreakTask} message AdBreakTask message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AdBreakTask.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AdBreakTask message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.Event.AdBreakTask
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.Event.AdBreakTask} AdBreakTask
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AdBreakTask.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.Event.AdBreakTask();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.duration = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AdBreakTask message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.Event.AdBreakTask
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.Event.AdBreakTask} AdBreakTask
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AdBreakTask.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AdBreakTask message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.Event.AdBreakTask
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AdBreakTask.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.duration != null && message.hasOwnProperty("duration")) {
+ var error = $root.google.protobuf.Duration.verify(message.duration);
+ if (error)
+ return "duration." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an AdBreakTask message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.Event.AdBreakTask
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.Event.AdBreakTask} AdBreakTask
+ */
+ AdBreakTask.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.Event.AdBreakTask)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.Event.AdBreakTask();
+ if (object.duration != null) {
+ if (typeof object.duration !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.Event.AdBreakTask.duration: object expected");
+ message.duration = $root.google.protobuf.Duration.fromObject(object.duration);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AdBreakTask message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.Event.AdBreakTask
+ * @static
+ * @param {google.cloud.video.livestream.v1.Event.AdBreakTask} message AdBreakTask
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AdBreakTask.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.duration = null;
+ if (message.duration != null && message.hasOwnProperty("duration"))
+ object.duration = $root.google.protobuf.Duration.toObject(message.duration, options);
+ return object;
+ };
+
+ /**
+ * Converts this AdBreakTask to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.Event.AdBreakTask
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AdBreakTask.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AdBreakTask
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.Event.AdBreakTask
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AdBreakTask.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.Event.AdBreakTask";
+ };
+
+ return AdBreakTask;
+ })();
+
+ /**
+ * State enum.
+ * @name google.cloud.video.livestream.v1.Event.State
+ * @enum {number}
+ * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value
+ * @property {number} SCHEDULED=1 SCHEDULED value
+ * @property {number} RUNNING=2 RUNNING value
+ * @property {number} SUCCEEDED=3 SUCCEEDED value
+ * @property {number} FAILED=4 FAILED value
+ * @property {number} PENDING=5 PENDING value
+ * @property {number} STOPPED=6 STOPPED value
+ */
+ Event.State = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "STATE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "SCHEDULED"] = 1;
+ values[valuesById[2] = "RUNNING"] = 2;
+ values[valuesById[3] = "SUCCEEDED"] = 3;
+ values[valuesById[4] = "FAILED"] = 4;
+ values[valuesById[5] = "PENDING"] = 5;
+ values[valuesById[6] = "STOPPED"] = 6;
+ return values;
+ })();
+
+ return Event;
+ })();
+
+ v1.LivestreamService = (function() {
+
+ /**
+ * Constructs a new LivestreamService service.
+ * @memberof google.cloud.video.livestream.v1
+ * @classdesc Represents a LivestreamService
+ * @extends $protobuf.rpc.Service
+ * @constructor
+ * @param {$protobuf.RPCImpl} rpcImpl RPC implementation
+ * @param {boolean} [requestDelimited=false] Whether requests are length-delimited
+ * @param {boolean} [responseDelimited=false] Whether responses are length-delimited
+ */
+ function LivestreamService(rpcImpl, requestDelimited, responseDelimited) {
+ $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
+ }
+
+ (LivestreamService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = LivestreamService;
+
+ /**
+ * Creates new LivestreamService service using the specified rpc implementation.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @static
+ * @param {$protobuf.RPCImpl} rpcImpl RPC implementation
+ * @param {boolean} [requestDelimited=false] Whether requests are length-delimited
+ * @param {boolean} [responseDelimited=false] Whether responses are length-delimited
+ * @returns {LivestreamService} RPC service. Useful where requests and/or responses are streamed.
+ */
+ LivestreamService.create = function create(rpcImpl, requestDelimited, responseDelimited) {
+ return new this(rpcImpl, requestDelimited, responseDelimited);
+ };
+
+ /**
+ * Callback as used by {@link google.cloud.video.livestream.v1.LivestreamService|createChannel}.
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @typedef CreateChannelCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls CreateChannel.
+ * @function createChannel
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @instance
+ * @param {google.cloud.video.livestream.v1.ICreateChannelRequest} request CreateChannelRequest message or plain object
+ * @param {google.cloud.video.livestream.v1.LivestreamService.CreateChannelCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(LivestreamService.prototype.createChannel = function createChannel(request, callback) {
+ return this.rpcCall(createChannel, $root.google.cloud.video.livestream.v1.CreateChannelRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "CreateChannel" });
+
+ /**
+ * Calls CreateChannel.
+ * @function createChannel
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @instance
+ * @param {google.cloud.video.livestream.v1.ICreateChannelRequest} request CreateChannelRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.video.livestream.v1.LivestreamService|listChannels}.
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @typedef ListChannelsCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.video.livestream.v1.ListChannelsResponse} [response] ListChannelsResponse
+ */
+
+ /**
+ * Calls ListChannels.
+ * @function listChannels
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @instance
+ * @param {google.cloud.video.livestream.v1.IListChannelsRequest} request ListChannelsRequest message or plain object
+ * @param {google.cloud.video.livestream.v1.LivestreamService.ListChannelsCallback} callback Node-style callback called with the error, if any, and ListChannelsResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(LivestreamService.prototype.listChannels = function listChannels(request, callback) {
+ return this.rpcCall(listChannels, $root.google.cloud.video.livestream.v1.ListChannelsRequest, $root.google.cloud.video.livestream.v1.ListChannelsResponse, request, callback);
+ }, "name", { value: "ListChannels" });
+
+ /**
+ * Calls ListChannels.
+ * @function listChannels
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @instance
+ * @param {google.cloud.video.livestream.v1.IListChannelsRequest} request ListChannelsRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.video.livestream.v1.LivestreamService|getChannel}.
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @typedef GetChannelCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.video.livestream.v1.Channel} [response] Channel
+ */
+
+ /**
+ * Calls GetChannel.
+ * @function getChannel
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @instance
+ * @param {google.cloud.video.livestream.v1.IGetChannelRequest} request GetChannelRequest message or plain object
+ * @param {google.cloud.video.livestream.v1.LivestreamService.GetChannelCallback} callback Node-style callback called with the error, if any, and Channel
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(LivestreamService.prototype.getChannel = function getChannel(request, callback) {
+ return this.rpcCall(getChannel, $root.google.cloud.video.livestream.v1.GetChannelRequest, $root.google.cloud.video.livestream.v1.Channel, request, callback);
+ }, "name", { value: "GetChannel" });
+
+ /**
+ * Calls GetChannel.
+ * @function getChannel
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @instance
+ * @param {google.cloud.video.livestream.v1.IGetChannelRequest} request GetChannelRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.video.livestream.v1.LivestreamService|deleteChannel}.
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @typedef DeleteChannelCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls DeleteChannel.
+ * @function deleteChannel
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @instance
+ * @param {google.cloud.video.livestream.v1.IDeleteChannelRequest} request DeleteChannelRequest message or plain object
+ * @param {google.cloud.video.livestream.v1.LivestreamService.DeleteChannelCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(LivestreamService.prototype.deleteChannel = function deleteChannel(request, callback) {
+ return this.rpcCall(deleteChannel, $root.google.cloud.video.livestream.v1.DeleteChannelRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "DeleteChannel" });
+
+ /**
+ * Calls DeleteChannel.
+ * @function deleteChannel
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @instance
+ * @param {google.cloud.video.livestream.v1.IDeleteChannelRequest} request DeleteChannelRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.video.livestream.v1.LivestreamService|updateChannel}.
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @typedef UpdateChannelCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls UpdateChannel.
+ * @function updateChannel
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @instance
+ * @param {google.cloud.video.livestream.v1.IUpdateChannelRequest} request UpdateChannelRequest message or plain object
+ * @param {google.cloud.video.livestream.v1.LivestreamService.UpdateChannelCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(LivestreamService.prototype.updateChannel = function updateChannel(request, callback) {
+ return this.rpcCall(updateChannel, $root.google.cloud.video.livestream.v1.UpdateChannelRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "UpdateChannel" });
+
+ /**
+ * Calls UpdateChannel.
+ * @function updateChannel
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @instance
+ * @param {google.cloud.video.livestream.v1.IUpdateChannelRequest} request UpdateChannelRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.video.livestream.v1.LivestreamService|startChannel}.
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @typedef StartChannelCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls StartChannel.
+ * @function startChannel
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @instance
+ * @param {google.cloud.video.livestream.v1.IStartChannelRequest} request StartChannelRequest message or plain object
+ * @param {google.cloud.video.livestream.v1.LivestreamService.StartChannelCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(LivestreamService.prototype.startChannel = function startChannel(request, callback) {
+ return this.rpcCall(startChannel, $root.google.cloud.video.livestream.v1.StartChannelRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "StartChannel" });
+
+ /**
+ * Calls StartChannel.
+ * @function startChannel
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @instance
+ * @param {google.cloud.video.livestream.v1.IStartChannelRequest} request StartChannelRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.video.livestream.v1.LivestreamService|stopChannel}.
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @typedef StopChannelCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls StopChannel.
+ * @function stopChannel
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @instance
+ * @param {google.cloud.video.livestream.v1.IStopChannelRequest} request StopChannelRequest message or plain object
+ * @param {google.cloud.video.livestream.v1.LivestreamService.StopChannelCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(LivestreamService.prototype.stopChannel = function stopChannel(request, callback) {
+ return this.rpcCall(stopChannel, $root.google.cloud.video.livestream.v1.StopChannelRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "StopChannel" });
+
+ /**
+ * Calls StopChannel.
+ * @function stopChannel
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @instance
+ * @param {google.cloud.video.livestream.v1.IStopChannelRequest} request StopChannelRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.video.livestream.v1.LivestreamService|createInput}.
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @typedef CreateInputCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls CreateInput.
+ * @function createInput
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @instance
+ * @param {google.cloud.video.livestream.v1.ICreateInputRequest} request CreateInputRequest message or plain object
+ * @param {google.cloud.video.livestream.v1.LivestreamService.CreateInputCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(LivestreamService.prototype.createInput = function createInput(request, callback) {
+ return this.rpcCall(createInput, $root.google.cloud.video.livestream.v1.CreateInputRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "CreateInput" });
+
+ /**
+ * Calls CreateInput.
+ * @function createInput
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @instance
+ * @param {google.cloud.video.livestream.v1.ICreateInputRequest} request CreateInputRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.video.livestream.v1.LivestreamService|listInputs}.
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @typedef ListInputsCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.video.livestream.v1.ListInputsResponse} [response] ListInputsResponse
+ */
+
+ /**
+ * Calls ListInputs.
+ * @function listInputs
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @instance
+ * @param {google.cloud.video.livestream.v1.IListInputsRequest} request ListInputsRequest message or plain object
+ * @param {google.cloud.video.livestream.v1.LivestreamService.ListInputsCallback} callback Node-style callback called with the error, if any, and ListInputsResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(LivestreamService.prototype.listInputs = function listInputs(request, callback) {
+ return this.rpcCall(listInputs, $root.google.cloud.video.livestream.v1.ListInputsRequest, $root.google.cloud.video.livestream.v1.ListInputsResponse, request, callback);
+ }, "name", { value: "ListInputs" });
+
+ /**
+ * Calls ListInputs.
+ * @function listInputs
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @instance
+ * @param {google.cloud.video.livestream.v1.IListInputsRequest} request ListInputsRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.video.livestream.v1.LivestreamService|getInput}.
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @typedef GetInputCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.video.livestream.v1.Input} [response] Input
+ */
+
+ /**
+ * Calls GetInput.
+ * @function getInput
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @instance
+ * @param {google.cloud.video.livestream.v1.IGetInputRequest} request GetInputRequest message or plain object
+ * @param {google.cloud.video.livestream.v1.LivestreamService.GetInputCallback} callback Node-style callback called with the error, if any, and Input
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(LivestreamService.prototype.getInput = function getInput(request, callback) {
+ return this.rpcCall(getInput, $root.google.cloud.video.livestream.v1.GetInputRequest, $root.google.cloud.video.livestream.v1.Input, request, callback);
+ }, "name", { value: "GetInput" });
+
+ /**
+ * Calls GetInput.
+ * @function getInput
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @instance
+ * @param {google.cloud.video.livestream.v1.IGetInputRequest} request GetInputRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.video.livestream.v1.LivestreamService|deleteInput}.
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @typedef DeleteInputCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls DeleteInput.
+ * @function deleteInput
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @instance
+ * @param {google.cloud.video.livestream.v1.IDeleteInputRequest} request DeleteInputRequest message or plain object
+ * @param {google.cloud.video.livestream.v1.LivestreamService.DeleteInputCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(LivestreamService.prototype.deleteInput = function deleteInput(request, callback) {
+ return this.rpcCall(deleteInput, $root.google.cloud.video.livestream.v1.DeleteInputRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "DeleteInput" });
+
+ /**
+ * Calls DeleteInput.
+ * @function deleteInput
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @instance
+ * @param {google.cloud.video.livestream.v1.IDeleteInputRequest} request DeleteInputRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.video.livestream.v1.LivestreamService|updateInput}.
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @typedef UpdateInputCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls UpdateInput.
+ * @function updateInput
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @instance
+ * @param {google.cloud.video.livestream.v1.IUpdateInputRequest} request UpdateInputRequest message or plain object
+ * @param {google.cloud.video.livestream.v1.LivestreamService.UpdateInputCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(LivestreamService.prototype.updateInput = function updateInput(request, callback) {
+ return this.rpcCall(updateInput, $root.google.cloud.video.livestream.v1.UpdateInputRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "UpdateInput" });
+
+ /**
+ * Calls UpdateInput.
+ * @function updateInput
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @instance
+ * @param {google.cloud.video.livestream.v1.IUpdateInputRequest} request UpdateInputRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.video.livestream.v1.LivestreamService|createEvent}.
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @typedef CreateEventCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.video.livestream.v1.Event} [response] Event
+ */
+
+ /**
+ * Calls CreateEvent.
+ * @function createEvent
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @instance
+ * @param {google.cloud.video.livestream.v1.ICreateEventRequest} request CreateEventRequest message or plain object
+ * @param {google.cloud.video.livestream.v1.LivestreamService.CreateEventCallback} callback Node-style callback called with the error, if any, and Event
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(LivestreamService.prototype.createEvent = function createEvent(request, callback) {
+ return this.rpcCall(createEvent, $root.google.cloud.video.livestream.v1.CreateEventRequest, $root.google.cloud.video.livestream.v1.Event, request, callback);
+ }, "name", { value: "CreateEvent" });
+
+ /**
+ * Calls CreateEvent.
+ * @function createEvent
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @instance
+ * @param {google.cloud.video.livestream.v1.ICreateEventRequest} request CreateEventRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.video.livestream.v1.LivestreamService|listEvents}.
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @typedef ListEventsCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.video.livestream.v1.ListEventsResponse} [response] ListEventsResponse
+ */
+
+ /**
+ * Calls ListEvents.
+ * @function listEvents
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @instance
+ * @param {google.cloud.video.livestream.v1.IListEventsRequest} request ListEventsRequest message or plain object
+ * @param {google.cloud.video.livestream.v1.LivestreamService.ListEventsCallback} callback Node-style callback called with the error, if any, and ListEventsResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(LivestreamService.prototype.listEvents = function listEvents(request, callback) {
+ return this.rpcCall(listEvents, $root.google.cloud.video.livestream.v1.ListEventsRequest, $root.google.cloud.video.livestream.v1.ListEventsResponse, request, callback);
+ }, "name", { value: "ListEvents" });
+
+ /**
+ * Calls ListEvents.
+ * @function listEvents
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @instance
+ * @param {google.cloud.video.livestream.v1.IListEventsRequest} request ListEventsRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.video.livestream.v1.LivestreamService|getEvent}.
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @typedef GetEventCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.video.livestream.v1.Event} [response] Event
+ */
+
+ /**
+ * Calls GetEvent.
+ * @function getEvent
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @instance
+ * @param {google.cloud.video.livestream.v1.IGetEventRequest} request GetEventRequest message or plain object
+ * @param {google.cloud.video.livestream.v1.LivestreamService.GetEventCallback} callback Node-style callback called with the error, if any, and Event
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(LivestreamService.prototype.getEvent = function getEvent(request, callback) {
+ return this.rpcCall(getEvent, $root.google.cloud.video.livestream.v1.GetEventRequest, $root.google.cloud.video.livestream.v1.Event, request, callback);
+ }, "name", { value: "GetEvent" });
+
+ /**
+ * Calls GetEvent.
+ * @function getEvent
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @instance
+ * @param {google.cloud.video.livestream.v1.IGetEventRequest} request GetEventRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.video.livestream.v1.LivestreamService|deleteEvent}.
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @typedef DeleteEventCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.protobuf.Empty} [response] Empty
+ */
+
+ /**
+ * Calls DeleteEvent.
+ * @function deleteEvent
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @instance
+ * @param {google.cloud.video.livestream.v1.IDeleteEventRequest} request DeleteEventRequest message or plain object
+ * @param {google.cloud.video.livestream.v1.LivestreamService.DeleteEventCallback} callback Node-style callback called with the error, if any, and Empty
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(LivestreamService.prototype.deleteEvent = function deleteEvent(request, callback) {
+ return this.rpcCall(deleteEvent, $root.google.cloud.video.livestream.v1.DeleteEventRequest, $root.google.protobuf.Empty, request, callback);
+ }, "name", { value: "DeleteEvent" });
+
+ /**
+ * Calls DeleteEvent.
+ * @function deleteEvent
+ * @memberof google.cloud.video.livestream.v1.LivestreamService
+ * @instance
+ * @param {google.cloud.video.livestream.v1.IDeleteEventRequest} request DeleteEventRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ return LivestreamService;
+ })();
+
+ v1.CreateChannelRequest = (function() {
+
+ /**
+ * Properties of a CreateChannelRequest.
+ * @memberof google.cloud.video.livestream.v1
+ * @interface ICreateChannelRequest
+ * @property {string|null} [parent] CreateChannelRequest parent
+ * @property {google.cloud.video.livestream.v1.IChannel|null} [channel] CreateChannelRequest channel
+ * @property {string|null} [channelId] CreateChannelRequest channelId
+ * @property {string|null} [requestId] CreateChannelRequest requestId
+ */
+
+ /**
+ * Constructs a new CreateChannelRequest.
+ * @memberof google.cloud.video.livestream.v1
+ * @classdesc Represents a CreateChannelRequest.
+ * @implements ICreateChannelRequest
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.ICreateChannelRequest=} [properties] Properties to set
+ */
+ function CreateChannelRequest(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * CreateChannelRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.video.livestream.v1.CreateChannelRequest
+ * @instance
+ */
+ CreateChannelRequest.prototype.parent = "";
+
+ /**
+ * CreateChannelRequest channel.
+ * @member {google.cloud.video.livestream.v1.IChannel|null|undefined} channel
+ * @memberof google.cloud.video.livestream.v1.CreateChannelRequest
+ * @instance
+ */
+ CreateChannelRequest.prototype.channel = null;
+
+ /**
+ * CreateChannelRequest channelId.
+ * @member {string} channelId
+ * @memberof google.cloud.video.livestream.v1.CreateChannelRequest
+ * @instance
+ */
+ CreateChannelRequest.prototype.channelId = "";
+
+ /**
+ * CreateChannelRequest requestId.
+ * @member {string} requestId
+ * @memberof google.cloud.video.livestream.v1.CreateChannelRequest
+ * @instance
+ */
+ CreateChannelRequest.prototype.requestId = "";
+
+ /**
+ * Creates a new CreateChannelRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.CreateChannelRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.ICreateChannelRequest=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.CreateChannelRequest} CreateChannelRequest instance
+ */
+ CreateChannelRequest.create = function create(properties) {
+ return new CreateChannelRequest(properties);
+ };
+
+ /**
+ * Encodes the specified CreateChannelRequest message. Does not implicitly {@link google.cloud.video.livestream.v1.CreateChannelRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.CreateChannelRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.ICreateChannelRequest} message CreateChannelRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateChannelRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent);
+ if (message.channel != null && Object.hasOwnProperty.call(message, "channel"))
+ $root.google.cloud.video.livestream.v1.Channel.encode(message.channel, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.channelId != null && Object.hasOwnProperty.call(message, "channelId"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.channelId);
+ if (message.requestId != null && Object.hasOwnProperty.call(message, "requestId"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.requestId);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CreateChannelRequest message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.CreateChannelRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.CreateChannelRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.ICreateChannelRequest} message CreateChannelRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateChannelRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CreateChannelRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.CreateChannelRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.CreateChannelRequest} CreateChannelRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateChannelRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.CreateChannelRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ case 2: {
+ message.channel = $root.google.cloud.video.livestream.v1.Channel.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.channelId = reader.string();
+ break;
+ }
+ case 4: {
+ message.requestId = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CreateChannelRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.CreateChannelRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.CreateChannelRequest} CreateChannelRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateChannelRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CreateChannelRequest message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.CreateChannelRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CreateChannelRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ if (!$util.isString(message.parent))
+ return "parent: string expected";
+ if (message.channel != null && message.hasOwnProperty("channel")) {
+ var error = $root.google.cloud.video.livestream.v1.Channel.verify(message.channel);
+ if (error)
+ return "channel." + error;
+ }
+ if (message.channelId != null && message.hasOwnProperty("channelId"))
+ if (!$util.isString(message.channelId))
+ return "channelId: string expected";
+ if (message.requestId != null && message.hasOwnProperty("requestId"))
+ if (!$util.isString(message.requestId))
+ return "requestId: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a CreateChannelRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.CreateChannelRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.CreateChannelRequest} CreateChannelRequest
+ */
+ CreateChannelRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.CreateChannelRequest)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.CreateChannelRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.channel != null) {
+ if (typeof object.channel !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.CreateChannelRequest.channel: object expected");
+ message.channel = $root.google.cloud.video.livestream.v1.Channel.fromObject(object.channel);
+ }
+ if (object.channelId != null)
+ message.channelId = String(object.channelId);
+ if (object.requestId != null)
+ message.requestId = String(object.requestId);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CreateChannelRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.CreateChannelRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.CreateChannelRequest} message CreateChannelRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CreateChannelRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.parent = "";
+ object.channel = null;
+ object.channelId = "";
+ object.requestId = "";
+ }
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ if (message.channel != null && message.hasOwnProperty("channel"))
+ object.channel = $root.google.cloud.video.livestream.v1.Channel.toObject(message.channel, options);
+ if (message.channelId != null && message.hasOwnProperty("channelId"))
+ object.channelId = message.channelId;
+ if (message.requestId != null && message.hasOwnProperty("requestId"))
+ object.requestId = message.requestId;
+ return object;
+ };
+
+ /**
+ * Converts this CreateChannelRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.CreateChannelRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CreateChannelRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CreateChannelRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.CreateChannelRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CreateChannelRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.CreateChannelRequest";
+ };
+
+ return CreateChannelRequest;
+ })();
+
+ v1.ListChannelsRequest = (function() {
+
+ /**
+ * Properties of a ListChannelsRequest.
+ * @memberof google.cloud.video.livestream.v1
+ * @interface IListChannelsRequest
+ * @property {string|null} [parent] ListChannelsRequest parent
+ * @property {number|null} [pageSize] ListChannelsRequest pageSize
+ * @property {string|null} [pageToken] ListChannelsRequest pageToken
+ * @property {string|null} [filter] ListChannelsRequest filter
+ * @property {string|null} [orderBy] ListChannelsRequest orderBy
+ */
+
+ /**
+ * Constructs a new ListChannelsRequest.
+ * @memberof google.cloud.video.livestream.v1
+ * @classdesc Represents a ListChannelsRequest.
+ * @implements IListChannelsRequest
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.IListChannelsRequest=} [properties] Properties to set
+ */
+ function ListChannelsRequest(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ListChannelsRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.video.livestream.v1.ListChannelsRequest
+ * @instance
+ */
+ ListChannelsRequest.prototype.parent = "";
+
+ /**
+ * ListChannelsRequest pageSize.
+ * @member {number} pageSize
+ * @memberof google.cloud.video.livestream.v1.ListChannelsRequest
+ * @instance
+ */
+ ListChannelsRequest.prototype.pageSize = 0;
+
+ /**
+ * ListChannelsRequest pageToken.
+ * @member {string} pageToken
+ * @memberof google.cloud.video.livestream.v1.ListChannelsRequest
+ * @instance
+ */
+ ListChannelsRequest.prototype.pageToken = "";
+
+ /**
+ * ListChannelsRequest filter.
+ * @member {string} filter
+ * @memberof google.cloud.video.livestream.v1.ListChannelsRequest
+ * @instance
+ */
+ ListChannelsRequest.prototype.filter = "";
+
+ /**
+ * ListChannelsRequest orderBy.
+ * @member {string} orderBy
+ * @memberof google.cloud.video.livestream.v1.ListChannelsRequest
+ * @instance
+ */
+ ListChannelsRequest.prototype.orderBy = "";
+
+ /**
+ * Creates a new ListChannelsRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.ListChannelsRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.IListChannelsRequest=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.ListChannelsRequest} ListChannelsRequest instance
+ */
+ ListChannelsRequest.create = function create(properties) {
+ return new ListChannelsRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ListChannelsRequest message. Does not implicitly {@link google.cloud.video.livestream.v1.ListChannelsRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.ListChannelsRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.IListChannelsRequest} message ListChannelsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListChannelsRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent);
+ if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize);
+ if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken);
+ if (message.filter != null && Object.hasOwnProperty.call(message, "filter"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.filter);
+ if (message.orderBy != null && Object.hasOwnProperty.call(message, "orderBy"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.orderBy);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListChannelsRequest message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.ListChannelsRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.ListChannelsRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.IListChannelsRequest} message ListChannelsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListChannelsRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListChannelsRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.ListChannelsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.ListChannelsRequest} ListChannelsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListChannelsRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.ListChannelsRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ case 2: {
+ message.pageSize = reader.int32();
+ break;
+ }
+ case 3: {
+ message.pageToken = reader.string();
+ break;
+ }
+ case 4: {
+ message.filter = reader.string();
+ break;
+ }
+ case 5: {
+ message.orderBy = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListChannelsRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.ListChannelsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.ListChannelsRequest} ListChannelsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListChannelsRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListChannelsRequest message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.ListChannelsRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListChannelsRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ if (!$util.isString(message.parent))
+ return "parent: string expected";
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ if (!$util.isInteger(message.pageSize))
+ return "pageSize: integer expected";
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ if (!$util.isString(message.pageToken))
+ return "pageToken: string expected";
+ if (message.filter != null && message.hasOwnProperty("filter"))
+ if (!$util.isString(message.filter))
+ return "filter: string expected";
+ if (message.orderBy != null && message.hasOwnProperty("orderBy"))
+ if (!$util.isString(message.orderBy))
+ return "orderBy: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListChannelsRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.ListChannelsRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.ListChannelsRequest} ListChannelsRequest
+ */
+ ListChannelsRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.ListChannelsRequest)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.ListChannelsRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.pageSize != null)
+ message.pageSize = object.pageSize | 0;
+ if (object.pageToken != null)
+ message.pageToken = String(object.pageToken);
+ if (object.filter != null)
+ message.filter = String(object.filter);
+ if (object.orderBy != null)
+ message.orderBy = String(object.orderBy);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListChannelsRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.ListChannelsRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.ListChannelsRequest} message ListChannelsRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListChannelsRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.parent = "";
+ object.pageSize = 0;
+ object.pageToken = "";
+ object.filter = "";
+ object.orderBy = "";
+ }
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ object.pageSize = message.pageSize;
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ object.pageToken = message.pageToken;
+ if (message.filter != null && message.hasOwnProperty("filter"))
+ object.filter = message.filter;
+ if (message.orderBy != null && message.hasOwnProperty("orderBy"))
+ object.orderBy = message.orderBy;
+ return object;
+ };
+
+ /**
+ * Converts this ListChannelsRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.ListChannelsRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListChannelsRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListChannelsRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.ListChannelsRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListChannelsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.ListChannelsRequest";
+ };
+
+ return ListChannelsRequest;
+ })();
+
+ v1.ListChannelsResponse = (function() {
+
+ /**
+ * Properties of a ListChannelsResponse.
+ * @memberof google.cloud.video.livestream.v1
+ * @interface IListChannelsResponse
+ * @property {Array.|null} [channels] ListChannelsResponse channels
+ * @property {string|null} [nextPageToken] ListChannelsResponse nextPageToken
+ * @property {Array.|null} [unreachable] ListChannelsResponse unreachable
+ */
+
+ /**
+ * Constructs a new ListChannelsResponse.
+ * @memberof google.cloud.video.livestream.v1
+ * @classdesc Represents a ListChannelsResponse.
+ * @implements IListChannelsResponse
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.IListChannelsResponse=} [properties] Properties to set
+ */
+ function ListChannelsResponse(properties) {
+ this.channels = [];
+ this.unreachable = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ListChannelsResponse channels.
+ * @member {Array.} channels
+ * @memberof google.cloud.video.livestream.v1.ListChannelsResponse
+ * @instance
+ */
+ ListChannelsResponse.prototype.channels = $util.emptyArray;
+
+ /**
+ * ListChannelsResponse nextPageToken.
+ * @member {string} nextPageToken
+ * @memberof google.cloud.video.livestream.v1.ListChannelsResponse
+ * @instance
+ */
+ ListChannelsResponse.prototype.nextPageToken = "";
+
+ /**
+ * ListChannelsResponse unreachable.
+ * @member {Array.} unreachable
+ * @memberof google.cloud.video.livestream.v1.ListChannelsResponse
+ * @instance
+ */
+ ListChannelsResponse.prototype.unreachable = $util.emptyArray;
+
+ /**
+ * Creates a new ListChannelsResponse instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.ListChannelsResponse
+ * @static
+ * @param {google.cloud.video.livestream.v1.IListChannelsResponse=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.ListChannelsResponse} ListChannelsResponse instance
+ */
+ ListChannelsResponse.create = function create(properties) {
+ return new ListChannelsResponse(properties);
+ };
+
+ /**
+ * Encodes the specified ListChannelsResponse message. Does not implicitly {@link google.cloud.video.livestream.v1.ListChannelsResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.ListChannelsResponse
+ * @static
+ * @param {google.cloud.video.livestream.v1.IListChannelsResponse} message ListChannelsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListChannelsResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.channels != null && message.channels.length)
+ for (var i = 0; i < message.channels.length; ++i)
+ $root.google.cloud.video.livestream.v1.Channel.encode(message.channels[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken);
+ if (message.unreachable != null && message.unreachable.length)
+ for (var i = 0; i < message.unreachable.length; ++i)
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.unreachable[i]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListChannelsResponse message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.ListChannelsResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.ListChannelsResponse
+ * @static
+ * @param {google.cloud.video.livestream.v1.IListChannelsResponse} message ListChannelsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListChannelsResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListChannelsResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.ListChannelsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.ListChannelsResponse} ListChannelsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListChannelsResponse.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.ListChannelsResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.channels && message.channels.length))
+ message.channels = [];
+ message.channels.push($root.google.cloud.video.livestream.v1.Channel.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.nextPageToken = reader.string();
+ break;
+ }
+ case 3: {
+ if (!(message.unreachable && message.unreachable.length))
+ message.unreachable = [];
+ message.unreachable.push(reader.string());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListChannelsResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.ListChannelsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.ListChannelsResponse} ListChannelsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListChannelsResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListChannelsResponse message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.ListChannelsResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListChannelsResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.channels != null && message.hasOwnProperty("channels")) {
+ if (!Array.isArray(message.channels))
+ return "channels: array expected";
+ for (var i = 0; i < message.channels.length; ++i) {
+ var error = $root.google.cloud.video.livestream.v1.Channel.verify(message.channels[i]);
+ if (error)
+ return "channels." + error;
+ }
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ if (!$util.isString(message.nextPageToken))
+ return "nextPageToken: string expected";
+ if (message.unreachable != null && message.hasOwnProperty("unreachable")) {
+ if (!Array.isArray(message.unreachable))
+ return "unreachable: array expected";
+ for (var i = 0; i < message.unreachable.length; ++i)
+ if (!$util.isString(message.unreachable[i]))
+ return "unreachable: string[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a ListChannelsResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.ListChannelsResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.ListChannelsResponse} ListChannelsResponse
+ */
+ ListChannelsResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.ListChannelsResponse)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.ListChannelsResponse();
+ if (object.channels) {
+ if (!Array.isArray(object.channels))
+ throw TypeError(".google.cloud.video.livestream.v1.ListChannelsResponse.channels: array expected");
+ message.channels = [];
+ for (var i = 0; i < object.channels.length; ++i) {
+ if (typeof object.channels[i] !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.ListChannelsResponse.channels: object expected");
+ message.channels[i] = $root.google.cloud.video.livestream.v1.Channel.fromObject(object.channels[i]);
+ }
+ }
+ if (object.nextPageToken != null)
+ message.nextPageToken = String(object.nextPageToken);
+ if (object.unreachable) {
+ if (!Array.isArray(object.unreachable))
+ throw TypeError(".google.cloud.video.livestream.v1.ListChannelsResponse.unreachable: array expected");
+ message.unreachable = [];
+ for (var i = 0; i < object.unreachable.length; ++i)
+ message.unreachable[i] = String(object.unreachable[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListChannelsResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.ListChannelsResponse
+ * @static
+ * @param {google.cloud.video.livestream.v1.ListChannelsResponse} message ListChannelsResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListChannelsResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.channels = [];
+ object.unreachable = [];
+ }
+ if (options.defaults)
+ object.nextPageToken = "";
+ if (message.channels && message.channels.length) {
+ object.channels = [];
+ for (var j = 0; j < message.channels.length; ++j)
+ object.channels[j] = $root.google.cloud.video.livestream.v1.Channel.toObject(message.channels[j], options);
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ object.nextPageToken = message.nextPageToken;
+ if (message.unreachable && message.unreachable.length) {
+ object.unreachable = [];
+ for (var j = 0; j < message.unreachable.length; ++j)
+ object.unreachable[j] = message.unreachable[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this ListChannelsResponse to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.ListChannelsResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListChannelsResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListChannelsResponse
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.ListChannelsResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListChannelsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.ListChannelsResponse";
+ };
+
+ return ListChannelsResponse;
+ })();
+
+ v1.GetChannelRequest = (function() {
+
+ /**
+ * Properties of a GetChannelRequest.
+ * @memberof google.cloud.video.livestream.v1
+ * @interface IGetChannelRequest
+ * @property {string|null} [name] GetChannelRequest name
+ */
+
+ /**
+ * Constructs a new GetChannelRequest.
+ * @memberof google.cloud.video.livestream.v1
+ * @classdesc Represents a GetChannelRequest.
+ * @implements IGetChannelRequest
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.IGetChannelRequest=} [properties] Properties to set
+ */
+ function GetChannelRequest(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * GetChannelRequest name.
+ * @member {string} name
+ * @memberof google.cloud.video.livestream.v1.GetChannelRequest
+ * @instance
+ */
+ GetChannelRequest.prototype.name = "";
+
+ /**
+ * Creates a new GetChannelRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.GetChannelRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.IGetChannelRequest=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.GetChannelRequest} GetChannelRequest instance
+ */
+ GetChannelRequest.create = function create(properties) {
+ return new GetChannelRequest(properties);
+ };
+
+ /**
+ * Encodes the specified GetChannelRequest message. Does not implicitly {@link google.cloud.video.livestream.v1.GetChannelRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.GetChannelRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.IGetChannelRequest} message GetChannelRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetChannelRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified GetChannelRequest message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.GetChannelRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.GetChannelRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.IGetChannelRequest} message GetChannelRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetChannelRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GetChannelRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.GetChannelRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.GetChannelRequest} GetChannelRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetChannelRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.GetChannelRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a GetChannelRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.GetChannelRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.GetChannelRequest} GetChannelRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetChannelRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GetChannelRequest message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.GetChannelRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GetChannelRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a GetChannelRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.GetChannelRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.GetChannelRequest} GetChannelRequest
+ */
+ GetChannelRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.GetChannelRequest)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.GetChannelRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GetChannelRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.GetChannelRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.GetChannelRequest} message GetChannelRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GetChannelRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.name = "";
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ return object;
+ };
+
+ /**
+ * Converts this GetChannelRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.GetChannelRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GetChannelRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GetChannelRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.GetChannelRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GetChannelRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.GetChannelRequest";
+ };
+
+ return GetChannelRequest;
+ })();
+
+ v1.DeleteChannelRequest = (function() {
+
+ /**
+ * Properties of a DeleteChannelRequest.
+ * @memberof google.cloud.video.livestream.v1
+ * @interface IDeleteChannelRequest
+ * @property {string|null} [name] DeleteChannelRequest name
+ * @property {string|null} [requestId] DeleteChannelRequest requestId
+ * @property {boolean|null} [force] DeleteChannelRequest force
+ */
+
+ /**
+ * Constructs a new DeleteChannelRequest.
+ * @memberof google.cloud.video.livestream.v1
+ * @classdesc Represents a DeleteChannelRequest.
+ * @implements IDeleteChannelRequest
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.IDeleteChannelRequest=} [properties] Properties to set
+ */
+ function DeleteChannelRequest(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * DeleteChannelRequest name.
+ * @member {string} name
+ * @memberof google.cloud.video.livestream.v1.DeleteChannelRequest
+ * @instance
+ */
+ DeleteChannelRequest.prototype.name = "";
+
+ /**
+ * DeleteChannelRequest requestId.
+ * @member {string} requestId
+ * @memberof google.cloud.video.livestream.v1.DeleteChannelRequest
+ * @instance
+ */
+ DeleteChannelRequest.prototype.requestId = "";
+
+ /**
+ * DeleteChannelRequest force.
+ * @member {boolean} force
+ * @memberof google.cloud.video.livestream.v1.DeleteChannelRequest
+ * @instance
+ */
+ DeleteChannelRequest.prototype.force = false;
+
+ /**
+ * Creates a new DeleteChannelRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.DeleteChannelRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.IDeleteChannelRequest=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.DeleteChannelRequest} DeleteChannelRequest instance
+ */
+ DeleteChannelRequest.create = function create(properties) {
+ return new DeleteChannelRequest(properties);
+ };
+
+ /**
+ * Encodes the specified DeleteChannelRequest message. Does not implicitly {@link google.cloud.video.livestream.v1.DeleteChannelRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.DeleteChannelRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.IDeleteChannelRequest} message DeleteChannelRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteChannelRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ if (message.requestId != null && Object.hasOwnProperty.call(message, "requestId"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.requestId);
+ if (message.force != null && Object.hasOwnProperty.call(message, "force"))
+ writer.uint32(/* id 3, wireType 0 =*/24).bool(message.force);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified DeleteChannelRequest message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.DeleteChannelRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.DeleteChannelRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.IDeleteChannelRequest} message DeleteChannelRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteChannelRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a DeleteChannelRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.DeleteChannelRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.DeleteChannelRequest} DeleteChannelRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteChannelRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.DeleteChannelRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.requestId = reader.string();
+ break;
+ }
+ case 3: {
+ message.force = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a DeleteChannelRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.DeleteChannelRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.DeleteChannelRequest} DeleteChannelRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteChannelRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a DeleteChannelRequest message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.DeleteChannelRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ DeleteChannelRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ if (message.requestId != null && message.hasOwnProperty("requestId"))
+ if (!$util.isString(message.requestId))
+ return "requestId: string expected";
+ if (message.force != null && message.hasOwnProperty("force"))
+ if (typeof message.force !== "boolean")
+ return "force: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates a DeleteChannelRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.DeleteChannelRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.DeleteChannelRequest} DeleteChannelRequest
+ */
+ DeleteChannelRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.DeleteChannelRequest)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.DeleteChannelRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.requestId != null)
+ message.requestId = String(object.requestId);
+ if (object.force != null)
+ message.force = Boolean(object.force);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a DeleteChannelRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.DeleteChannelRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.DeleteChannelRequest} message DeleteChannelRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ DeleteChannelRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.requestId = "";
+ object.force = false;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.requestId != null && message.hasOwnProperty("requestId"))
+ object.requestId = message.requestId;
+ if (message.force != null && message.hasOwnProperty("force"))
+ object.force = message.force;
+ return object;
+ };
+
+ /**
+ * Converts this DeleteChannelRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.DeleteChannelRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ DeleteChannelRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for DeleteChannelRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.DeleteChannelRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ DeleteChannelRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.DeleteChannelRequest";
+ };
+
+ return DeleteChannelRequest;
+ })();
+
+ v1.UpdateChannelRequest = (function() {
+
+ /**
+ * Properties of an UpdateChannelRequest.
+ * @memberof google.cloud.video.livestream.v1
+ * @interface IUpdateChannelRequest
+ * @property {google.protobuf.IFieldMask|null} [updateMask] UpdateChannelRequest updateMask
+ * @property {google.cloud.video.livestream.v1.IChannel|null} [channel] UpdateChannelRequest channel
+ * @property {string|null} [requestId] UpdateChannelRequest requestId
+ */
+
+ /**
+ * Constructs a new UpdateChannelRequest.
+ * @memberof google.cloud.video.livestream.v1
+ * @classdesc Represents an UpdateChannelRequest.
+ * @implements IUpdateChannelRequest
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.IUpdateChannelRequest=} [properties] Properties to set
+ */
+ function UpdateChannelRequest(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * UpdateChannelRequest updateMask.
+ * @member {google.protobuf.IFieldMask|null|undefined} updateMask
+ * @memberof google.cloud.video.livestream.v1.UpdateChannelRequest
+ * @instance
+ */
+ UpdateChannelRequest.prototype.updateMask = null;
+
+ /**
+ * UpdateChannelRequest channel.
+ * @member {google.cloud.video.livestream.v1.IChannel|null|undefined} channel
+ * @memberof google.cloud.video.livestream.v1.UpdateChannelRequest
+ * @instance
+ */
+ UpdateChannelRequest.prototype.channel = null;
+
+ /**
+ * UpdateChannelRequest requestId.
+ * @member {string} requestId
+ * @memberof google.cloud.video.livestream.v1.UpdateChannelRequest
+ * @instance
+ */
+ UpdateChannelRequest.prototype.requestId = "";
+
+ /**
+ * Creates a new UpdateChannelRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.UpdateChannelRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.IUpdateChannelRequest=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.UpdateChannelRequest} UpdateChannelRequest instance
+ */
+ UpdateChannelRequest.create = function create(properties) {
+ return new UpdateChannelRequest(properties);
+ };
+
+ /**
+ * Encodes the specified UpdateChannelRequest message. Does not implicitly {@link google.cloud.video.livestream.v1.UpdateChannelRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.UpdateChannelRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.IUpdateChannelRequest} message UpdateChannelRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpdateChannelRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask"))
+ $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.channel != null && Object.hasOwnProperty.call(message, "channel"))
+ $root.google.cloud.video.livestream.v1.Channel.encode(message.channel, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.requestId != null && Object.hasOwnProperty.call(message, "requestId"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.requestId);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified UpdateChannelRequest message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.UpdateChannelRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.UpdateChannelRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.IUpdateChannelRequest} message UpdateChannelRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpdateChannelRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an UpdateChannelRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.UpdateChannelRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.UpdateChannelRequest} UpdateChannelRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpdateChannelRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.UpdateChannelRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.channel = $root.google.cloud.video.livestream.v1.Channel.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.requestId = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an UpdateChannelRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.UpdateChannelRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.UpdateChannelRequest} UpdateChannelRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpdateChannelRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an UpdateChannelRequest message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.UpdateChannelRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ UpdateChannelRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.updateMask != null && message.hasOwnProperty("updateMask")) {
+ var error = $root.google.protobuf.FieldMask.verify(message.updateMask);
+ if (error)
+ return "updateMask." + error;
+ }
+ if (message.channel != null && message.hasOwnProperty("channel")) {
+ var error = $root.google.cloud.video.livestream.v1.Channel.verify(message.channel);
+ if (error)
+ return "channel." + error;
+ }
+ if (message.requestId != null && message.hasOwnProperty("requestId"))
+ if (!$util.isString(message.requestId))
+ return "requestId: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an UpdateChannelRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.UpdateChannelRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.UpdateChannelRequest} UpdateChannelRequest
+ */
+ UpdateChannelRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.UpdateChannelRequest)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.UpdateChannelRequest();
+ if (object.updateMask != null) {
+ if (typeof object.updateMask !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.UpdateChannelRequest.updateMask: object expected");
+ message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask);
+ }
+ if (object.channel != null) {
+ if (typeof object.channel !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.UpdateChannelRequest.channel: object expected");
+ message.channel = $root.google.cloud.video.livestream.v1.Channel.fromObject(object.channel);
+ }
+ if (object.requestId != null)
+ message.requestId = String(object.requestId);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an UpdateChannelRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.UpdateChannelRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.UpdateChannelRequest} message UpdateChannelRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ UpdateChannelRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.updateMask = null;
+ object.channel = null;
+ object.requestId = "";
+ }
+ if (message.updateMask != null && message.hasOwnProperty("updateMask"))
+ object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options);
+ if (message.channel != null && message.hasOwnProperty("channel"))
+ object.channel = $root.google.cloud.video.livestream.v1.Channel.toObject(message.channel, options);
+ if (message.requestId != null && message.hasOwnProperty("requestId"))
+ object.requestId = message.requestId;
+ return object;
+ };
+
+ /**
+ * Converts this UpdateChannelRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.UpdateChannelRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ UpdateChannelRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for UpdateChannelRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.UpdateChannelRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ UpdateChannelRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.UpdateChannelRequest";
+ };
+
+ return UpdateChannelRequest;
+ })();
+
+ v1.StartChannelRequest = (function() {
+
+ /**
+ * Properties of a StartChannelRequest.
+ * @memberof google.cloud.video.livestream.v1
+ * @interface IStartChannelRequest
+ * @property {string|null} [name] StartChannelRequest name
+ * @property {string|null} [requestId] StartChannelRequest requestId
+ */
+
+ /**
+ * Constructs a new StartChannelRequest.
+ * @memberof google.cloud.video.livestream.v1
+ * @classdesc Represents a StartChannelRequest.
+ * @implements IStartChannelRequest
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.IStartChannelRequest=} [properties] Properties to set
+ */
+ function StartChannelRequest(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * StartChannelRequest name.
+ * @member {string} name
+ * @memberof google.cloud.video.livestream.v1.StartChannelRequest
+ * @instance
+ */
+ StartChannelRequest.prototype.name = "";
+
+ /**
+ * StartChannelRequest requestId.
+ * @member {string} requestId
+ * @memberof google.cloud.video.livestream.v1.StartChannelRequest
+ * @instance
+ */
+ StartChannelRequest.prototype.requestId = "";
+
+ /**
+ * Creates a new StartChannelRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.StartChannelRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.IStartChannelRequest=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.StartChannelRequest} StartChannelRequest instance
+ */
+ StartChannelRequest.create = function create(properties) {
+ return new StartChannelRequest(properties);
+ };
+
+ /**
+ * Encodes the specified StartChannelRequest message. Does not implicitly {@link google.cloud.video.livestream.v1.StartChannelRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.StartChannelRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.IStartChannelRequest} message StartChannelRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ StartChannelRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ if (message.requestId != null && Object.hasOwnProperty.call(message, "requestId"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.requestId);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified StartChannelRequest message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.StartChannelRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.StartChannelRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.IStartChannelRequest} message StartChannelRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ StartChannelRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a StartChannelRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.StartChannelRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.StartChannelRequest} StartChannelRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ StartChannelRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.StartChannelRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.requestId = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a StartChannelRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.StartChannelRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.StartChannelRequest} StartChannelRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ StartChannelRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a StartChannelRequest message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.StartChannelRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ StartChannelRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ if (message.requestId != null && message.hasOwnProperty("requestId"))
+ if (!$util.isString(message.requestId))
+ return "requestId: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a StartChannelRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.StartChannelRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.StartChannelRequest} StartChannelRequest
+ */
+ StartChannelRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.StartChannelRequest)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.StartChannelRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.requestId != null)
+ message.requestId = String(object.requestId);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a StartChannelRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.StartChannelRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.StartChannelRequest} message StartChannelRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ StartChannelRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.requestId = "";
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.requestId != null && message.hasOwnProperty("requestId"))
+ object.requestId = message.requestId;
+ return object;
+ };
+
+ /**
+ * Converts this StartChannelRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.StartChannelRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ StartChannelRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for StartChannelRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.StartChannelRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ StartChannelRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.StartChannelRequest";
+ };
+
+ return StartChannelRequest;
+ })();
+
+ v1.StopChannelRequest = (function() {
+
+ /**
+ * Properties of a StopChannelRequest.
+ * @memberof google.cloud.video.livestream.v1
+ * @interface IStopChannelRequest
+ * @property {string|null} [name] StopChannelRequest name
+ * @property {string|null} [requestId] StopChannelRequest requestId
+ */
+
+ /**
+ * Constructs a new StopChannelRequest.
+ * @memberof google.cloud.video.livestream.v1
+ * @classdesc Represents a StopChannelRequest.
+ * @implements IStopChannelRequest
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.IStopChannelRequest=} [properties] Properties to set
+ */
+ function StopChannelRequest(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * StopChannelRequest name.
+ * @member {string} name
+ * @memberof google.cloud.video.livestream.v1.StopChannelRequest
+ * @instance
+ */
+ StopChannelRequest.prototype.name = "";
+
+ /**
+ * StopChannelRequest requestId.
+ * @member {string} requestId
+ * @memberof google.cloud.video.livestream.v1.StopChannelRequest
+ * @instance
+ */
+ StopChannelRequest.prototype.requestId = "";
+
+ /**
+ * Creates a new StopChannelRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.StopChannelRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.IStopChannelRequest=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.StopChannelRequest} StopChannelRequest instance
+ */
+ StopChannelRequest.create = function create(properties) {
+ return new StopChannelRequest(properties);
+ };
+
+ /**
+ * Encodes the specified StopChannelRequest message. Does not implicitly {@link google.cloud.video.livestream.v1.StopChannelRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.StopChannelRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.IStopChannelRequest} message StopChannelRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ StopChannelRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ if (message.requestId != null && Object.hasOwnProperty.call(message, "requestId"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.requestId);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified StopChannelRequest message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.StopChannelRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.StopChannelRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.IStopChannelRequest} message StopChannelRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ StopChannelRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a StopChannelRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.StopChannelRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.StopChannelRequest} StopChannelRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ StopChannelRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.StopChannelRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.requestId = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a StopChannelRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.StopChannelRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.StopChannelRequest} StopChannelRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ StopChannelRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a StopChannelRequest message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.StopChannelRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ StopChannelRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ if (message.requestId != null && message.hasOwnProperty("requestId"))
+ if (!$util.isString(message.requestId))
+ return "requestId: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a StopChannelRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.StopChannelRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.StopChannelRequest} StopChannelRequest
+ */
+ StopChannelRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.StopChannelRequest)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.StopChannelRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.requestId != null)
+ message.requestId = String(object.requestId);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a StopChannelRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.StopChannelRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.StopChannelRequest} message StopChannelRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ StopChannelRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.requestId = "";
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.requestId != null && message.hasOwnProperty("requestId"))
+ object.requestId = message.requestId;
+ return object;
+ };
+
+ /**
+ * Converts this StopChannelRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.StopChannelRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ StopChannelRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for StopChannelRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.StopChannelRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ StopChannelRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.StopChannelRequest";
+ };
+
+ return StopChannelRequest;
+ })();
+
+ v1.CreateInputRequest = (function() {
+
+ /**
+ * Properties of a CreateInputRequest.
+ * @memberof google.cloud.video.livestream.v1
+ * @interface ICreateInputRequest
+ * @property {string|null} [parent] CreateInputRequest parent
+ * @property {google.cloud.video.livestream.v1.IInput|null} [input] CreateInputRequest input
+ * @property {string|null} [inputId] CreateInputRequest inputId
+ * @property {string|null} [requestId] CreateInputRequest requestId
+ */
+
+ /**
+ * Constructs a new CreateInputRequest.
+ * @memberof google.cloud.video.livestream.v1
+ * @classdesc Represents a CreateInputRequest.
+ * @implements ICreateInputRequest
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.ICreateInputRequest=} [properties] Properties to set
+ */
+ function CreateInputRequest(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * CreateInputRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.video.livestream.v1.CreateInputRequest
+ * @instance
+ */
+ CreateInputRequest.prototype.parent = "";
+
+ /**
+ * CreateInputRequest input.
+ * @member {google.cloud.video.livestream.v1.IInput|null|undefined} input
+ * @memberof google.cloud.video.livestream.v1.CreateInputRequest
+ * @instance
+ */
+ CreateInputRequest.prototype.input = null;
+
+ /**
+ * CreateInputRequest inputId.
+ * @member {string} inputId
+ * @memberof google.cloud.video.livestream.v1.CreateInputRequest
+ * @instance
+ */
+ CreateInputRequest.prototype.inputId = "";
+
+ /**
+ * CreateInputRequest requestId.
+ * @member {string} requestId
+ * @memberof google.cloud.video.livestream.v1.CreateInputRequest
+ * @instance
+ */
+ CreateInputRequest.prototype.requestId = "";
+
+ /**
+ * Creates a new CreateInputRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.CreateInputRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.ICreateInputRequest=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.CreateInputRequest} CreateInputRequest instance
+ */
+ CreateInputRequest.create = function create(properties) {
+ return new CreateInputRequest(properties);
+ };
+
+ /**
+ * Encodes the specified CreateInputRequest message. Does not implicitly {@link google.cloud.video.livestream.v1.CreateInputRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.CreateInputRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.ICreateInputRequest} message CreateInputRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateInputRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent);
+ if (message.input != null && Object.hasOwnProperty.call(message, "input"))
+ $root.google.cloud.video.livestream.v1.Input.encode(message.input, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.inputId != null && Object.hasOwnProperty.call(message, "inputId"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.inputId);
+ if (message.requestId != null && Object.hasOwnProperty.call(message, "requestId"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.requestId);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CreateInputRequest message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.CreateInputRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.CreateInputRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.ICreateInputRequest} message CreateInputRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateInputRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CreateInputRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.CreateInputRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.CreateInputRequest} CreateInputRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateInputRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.CreateInputRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ case 2: {
+ message.input = $root.google.cloud.video.livestream.v1.Input.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.inputId = reader.string();
+ break;
+ }
+ case 4: {
+ message.requestId = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CreateInputRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.CreateInputRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.CreateInputRequest} CreateInputRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateInputRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CreateInputRequest message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.CreateInputRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CreateInputRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ if (!$util.isString(message.parent))
+ return "parent: string expected";
+ if (message.input != null && message.hasOwnProperty("input")) {
+ var error = $root.google.cloud.video.livestream.v1.Input.verify(message.input);
+ if (error)
+ return "input." + error;
+ }
+ if (message.inputId != null && message.hasOwnProperty("inputId"))
+ if (!$util.isString(message.inputId))
+ return "inputId: string expected";
+ if (message.requestId != null && message.hasOwnProperty("requestId"))
+ if (!$util.isString(message.requestId))
+ return "requestId: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a CreateInputRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.CreateInputRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.CreateInputRequest} CreateInputRequest
+ */
+ CreateInputRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.CreateInputRequest)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.CreateInputRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.input != null) {
+ if (typeof object.input !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.CreateInputRequest.input: object expected");
+ message.input = $root.google.cloud.video.livestream.v1.Input.fromObject(object.input);
+ }
+ if (object.inputId != null)
+ message.inputId = String(object.inputId);
+ if (object.requestId != null)
+ message.requestId = String(object.requestId);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CreateInputRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.CreateInputRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.CreateInputRequest} message CreateInputRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CreateInputRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.parent = "";
+ object.input = null;
+ object.inputId = "";
+ object.requestId = "";
+ }
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ if (message.input != null && message.hasOwnProperty("input"))
+ object.input = $root.google.cloud.video.livestream.v1.Input.toObject(message.input, options);
+ if (message.inputId != null && message.hasOwnProperty("inputId"))
+ object.inputId = message.inputId;
+ if (message.requestId != null && message.hasOwnProperty("requestId"))
+ object.requestId = message.requestId;
+ return object;
+ };
+
+ /**
+ * Converts this CreateInputRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.CreateInputRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CreateInputRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CreateInputRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.CreateInputRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CreateInputRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.CreateInputRequest";
+ };
+
+ return CreateInputRequest;
+ })();
+
+ v1.ListInputsRequest = (function() {
+
+ /**
+ * Properties of a ListInputsRequest.
+ * @memberof google.cloud.video.livestream.v1
+ * @interface IListInputsRequest
+ * @property {string|null} [parent] ListInputsRequest parent
+ * @property {number|null} [pageSize] ListInputsRequest pageSize
+ * @property {string|null} [pageToken] ListInputsRequest pageToken
+ * @property {string|null} [filter] ListInputsRequest filter
+ * @property {string|null} [orderBy] ListInputsRequest orderBy
+ */
+
+ /**
+ * Constructs a new ListInputsRequest.
+ * @memberof google.cloud.video.livestream.v1
+ * @classdesc Represents a ListInputsRequest.
+ * @implements IListInputsRequest
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.IListInputsRequest=} [properties] Properties to set
+ */
+ function ListInputsRequest(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ListInputsRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.video.livestream.v1.ListInputsRequest
+ * @instance
+ */
+ ListInputsRequest.prototype.parent = "";
+
+ /**
+ * ListInputsRequest pageSize.
+ * @member {number} pageSize
+ * @memberof google.cloud.video.livestream.v1.ListInputsRequest
+ * @instance
+ */
+ ListInputsRequest.prototype.pageSize = 0;
+
+ /**
+ * ListInputsRequest pageToken.
+ * @member {string} pageToken
+ * @memberof google.cloud.video.livestream.v1.ListInputsRequest
+ * @instance
+ */
+ ListInputsRequest.prototype.pageToken = "";
+
+ /**
+ * ListInputsRequest filter.
+ * @member {string} filter
+ * @memberof google.cloud.video.livestream.v1.ListInputsRequest
+ * @instance
+ */
+ ListInputsRequest.prototype.filter = "";
+
+ /**
+ * ListInputsRequest orderBy.
+ * @member {string} orderBy
+ * @memberof google.cloud.video.livestream.v1.ListInputsRequest
+ * @instance
+ */
+ ListInputsRequest.prototype.orderBy = "";
+
+ /**
+ * Creates a new ListInputsRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.ListInputsRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.IListInputsRequest=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.ListInputsRequest} ListInputsRequest instance
+ */
+ ListInputsRequest.create = function create(properties) {
+ return new ListInputsRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ListInputsRequest message. Does not implicitly {@link google.cloud.video.livestream.v1.ListInputsRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.ListInputsRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.IListInputsRequest} message ListInputsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListInputsRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent);
+ if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize);
+ if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken);
+ if (message.filter != null && Object.hasOwnProperty.call(message, "filter"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.filter);
+ if (message.orderBy != null && Object.hasOwnProperty.call(message, "orderBy"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.orderBy);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListInputsRequest message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.ListInputsRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.ListInputsRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.IListInputsRequest} message ListInputsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListInputsRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListInputsRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.ListInputsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.ListInputsRequest} ListInputsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListInputsRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.ListInputsRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ case 2: {
+ message.pageSize = reader.int32();
+ break;
+ }
+ case 3: {
+ message.pageToken = reader.string();
+ break;
+ }
+ case 4: {
+ message.filter = reader.string();
+ break;
+ }
+ case 5: {
+ message.orderBy = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListInputsRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.ListInputsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.ListInputsRequest} ListInputsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListInputsRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListInputsRequest message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.ListInputsRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListInputsRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ if (!$util.isString(message.parent))
+ return "parent: string expected";
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ if (!$util.isInteger(message.pageSize))
+ return "pageSize: integer expected";
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ if (!$util.isString(message.pageToken))
+ return "pageToken: string expected";
+ if (message.filter != null && message.hasOwnProperty("filter"))
+ if (!$util.isString(message.filter))
+ return "filter: string expected";
+ if (message.orderBy != null && message.hasOwnProperty("orderBy"))
+ if (!$util.isString(message.orderBy))
+ return "orderBy: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListInputsRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.ListInputsRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.ListInputsRequest} ListInputsRequest
+ */
+ ListInputsRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.ListInputsRequest)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.ListInputsRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.pageSize != null)
+ message.pageSize = object.pageSize | 0;
+ if (object.pageToken != null)
+ message.pageToken = String(object.pageToken);
+ if (object.filter != null)
+ message.filter = String(object.filter);
+ if (object.orderBy != null)
+ message.orderBy = String(object.orderBy);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListInputsRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.ListInputsRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.ListInputsRequest} message ListInputsRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListInputsRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.parent = "";
+ object.pageSize = 0;
+ object.pageToken = "";
+ object.filter = "";
+ object.orderBy = "";
+ }
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ object.pageSize = message.pageSize;
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ object.pageToken = message.pageToken;
+ if (message.filter != null && message.hasOwnProperty("filter"))
+ object.filter = message.filter;
+ if (message.orderBy != null && message.hasOwnProperty("orderBy"))
+ object.orderBy = message.orderBy;
+ return object;
+ };
+
+ /**
+ * Converts this ListInputsRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.ListInputsRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListInputsRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListInputsRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.ListInputsRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListInputsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.ListInputsRequest";
+ };
+
+ return ListInputsRequest;
+ })();
+
+ v1.ListInputsResponse = (function() {
+
+ /**
+ * Properties of a ListInputsResponse.
+ * @memberof google.cloud.video.livestream.v1
+ * @interface IListInputsResponse
+ * @property {Array.|null} [inputs] ListInputsResponse inputs
+ * @property {string|null} [nextPageToken] ListInputsResponse nextPageToken
+ * @property {Array.|null} [unreachable] ListInputsResponse unreachable
+ */
+
+ /**
+ * Constructs a new ListInputsResponse.
+ * @memberof google.cloud.video.livestream.v1
+ * @classdesc Represents a ListInputsResponse.
+ * @implements IListInputsResponse
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.IListInputsResponse=} [properties] Properties to set
+ */
+ function ListInputsResponse(properties) {
+ this.inputs = [];
+ this.unreachable = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ListInputsResponse inputs.
+ * @member {Array.} inputs
+ * @memberof google.cloud.video.livestream.v1.ListInputsResponse
+ * @instance
+ */
+ ListInputsResponse.prototype.inputs = $util.emptyArray;
+
+ /**
+ * ListInputsResponse nextPageToken.
+ * @member {string} nextPageToken
+ * @memberof google.cloud.video.livestream.v1.ListInputsResponse
+ * @instance
+ */
+ ListInputsResponse.prototype.nextPageToken = "";
+
+ /**
+ * ListInputsResponse unreachable.
+ * @member {Array.} unreachable
+ * @memberof google.cloud.video.livestream.v1.ListInputsResponse
+ * @instance
+ */
+ ListInputsResponse.prototype.unreachable = $util.emptyArray;
+
+ /**
+ * Creates a new ListInputsResponse instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.ListInputsResponse
+ * @static
+ * @param {google.cloud.video.livestream.v1.IListInputsResponse=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.ListInputsResponse} ListInputsResponse instance
+ */
+ ListInputsResponse.create = function create(properties) {
+ return new ListInputsResponse(properties);
+ };
+
+ /**
+ * Encodes the specified ListInputsResponse message. Does not implicitly {@link google.cloud.video.livestream.v1.ListInputsResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.ListInputsResponse
+ * @static
+ * @param {google.cloud.video.livestream.v1.IListInputsResponse} message ListInputsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListInputsResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.inputs != null && message.inputs.length)
+ for (var i = 0; i < message.inputs.length; ++i)
+ $root.google.cloud.video.livestream.v1.Input.encode(message.inputs[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken);
+ if (message.unreachable != null && message.unreachable.length)
+ for (var i = 0; i < message.unreachable.length; ++i)
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.unreachable[i]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListInputsResponse message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.ListInputsResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.ListInputsResponse
+ * @static
+ * @param {google.cloud.video.livestream.v1.IListInputsResponse} message ListInputsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListInputsResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListInputsResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.ListInputsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.ListInputsResponse} ListInputsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListInputsResponse.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.ListInputsResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.inputs && message.inputs.length))
+ message.inputs = [];
+ message.inputs.push($root.google.cloud.video.livestream.v1.Input.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.nextPageToken = reader.string();
+ break;
+ }
+ case 3: {
+ if (!(message.unreachable && message.unreachable.length))
+ message.unreachable = [];
+ message.unreachable.push(reader.string());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListInputsResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.ListInputsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.ListInputsResponse} ListInputsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListInputsResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListInputsResponse message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.ListInputsResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListInputsResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.inputs != null && message.hasOwnProperty("inputs")) {
+ if (!Array.isArray(message.inputs))
+ return "inputs: array expected";
+ for (var i = 0; i < message.inputs.length; ++i) {
+ var error = $root.google.cloud.video.livestream.v1.Input.verify(message.inputs[i]);
+ if (error)
+ return "inputs." + error;
+ }
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ if (!$util.isString(message.nextPageToken))
+ return "nextPageToken: string expected";
+ if (message.unreachable != null && message.hasOwnProperty("unreachable")) {
+ if (!Array.isArray(message.unreachable))
+ return "unreachable: array expected";
+ for (var i = 0; i < message.unreachable.length; ++i)
+ if (!$util.isString(message.unreachable[i]))
+ return "unreachable: string[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a ListInputsResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.ListInputsResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.ListInputsResponse} ListInputsResponse
+ */
+ ListInputsResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.ListInputsResponse)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.ListInputsResponse();
+ if (object.inputs) {
+ if (!Array.isArray(object.inputs))
+ throw TypeError(".google.cloud.video.livestream.v1.ListInputsResponse.inputs: array expected");
+ message.inputs = [];
+ for (var i = 0; i < object.inputs.length; ++i) {
+ if (typeof object.inputs[i] !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.ListInputsResponse.inputs: object expected");
+ message.inputs[i] = $root.google.cloud.video.livestream.v1.Input.fromObject(object.inputs[i]);
+ }
+ }
+ if (object.nextPageToken != null)
+ message.nextPageToken = String(object.nextPageToken);
+ if (object.unreachable) {
+ if (!Array.isArray(object.unreachable))
+ throw TypeError(".google.cloud.video.livestream.v1.ListInputsResponse.unreachable: array expected");
+ message.unreachable = [];
+ for (var i = 0; i < object.unreachable.length; ++i)
+ message.unreachable[i] = String(object.unreachable[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListInputsResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.ListInputsResponse
+ * @static
+ * @param {google.cloud.video.livestream.v1.ListInputsResponse} message ListInputsResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListInputsResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.inputs = [];
+ object.unreachable = [];
+ }
+ if (options.defaults)
+ object.nextPageToken = "";
+ if (message.inputs && message.inputs.length) {
+ object.inputs = [];
+ for (var j = 0; j < message.inputs.length; ++j)
+ object.inputs[j] = $root.google.cloud.video.livestream.v1.Input.toObject(message.inputs[j], options);
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ object.nextPageToken = message.nextPageToken;
+ if (message.unreachable && message.unreachable.length) {
+ object.unreachable = [];
+ for (var j = 0; j < message.unreachable.length; ++j)
+ object.unreachable[j] = message.unreachable[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this ListInputsResponse to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.ListInputsResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListInputsResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListInputsResponse
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.ListInputsResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListInputsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.ListInputsResponse";
+ };
+
+ return ListInputsResponse;
+ })();
+
+ v1.GetInputRequest = (function() {
+
+ /**
+ * Properties of a GetInputRequest.
+ * @memberof google.cloud.video.livestream.v1
+ * @interface IGetInputRequest
+ * @property {string|null} [name] GetInputRequest name
+ */
+
+ /**
+ * Constructs a new GetInputRequest.
+ * @memberof google.cloud.video.livestream.v1
+ * @classdesc Represents a GetInputRequest.
+ * @implements IGetInputRequest
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.IGetInputRequest=} [properties] Properties to set
+ */
+ function GetInputRequest(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * GetInputRequest name.
+ * @member {string} name
+ * @memberof google.cloud.video.livestream.v1.GetInputRequest
+ * @instance
+ */
+ GetInputRequest.prototype.name = "";
+
+ /**
+ * Creates a new GetInputRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.GetInputRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.IGetInputRequest=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.GetInputRequest} GetInputRequest instance
+ */
+ GetInputRequest.create = function create(properties) {
+ return new GetInputRequest(properties);
+ };
+
+ /**
+ * Encodes the specified GetInputRequest message. Does not implicitly {@link google.cloud.video.livestream.v1.GetInputRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.GetInputRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.IGetInputRequest} message GetInputRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetInputRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified GetInputRequest message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.GetInputRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.GetInputRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.IGetInputRequest} message GetInputRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetInputRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GetInputRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.GetInputRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.GetInputRequest} GetInputRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetInputRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.GetInputRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a GetInputRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.GetInputRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.GetInputRequest} GetInputRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetInputRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GetInputRequest message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.GetInputRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GetInputRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a GetInputRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.GetInputRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.GetInputRequest} GetInputRequest
+ */
+ GetInputRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.GetInputRequest)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.GetInputRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GetInputRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.GetInputRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.GetInputRequest} message GetInputRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GetInputRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.name = "";
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ return object;
+ };
+
+ /**
+ * Converts this GetInputRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.GetInputRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GetInputRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GetInputRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.GetInputRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GetInputRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.GetInputRequest";
+ };
+
+ return GetInputRequest;
+ })();
+
+ v1.DeleteInputRequest = (function() {
+
+ /**
+ * Properties of a DeleteInputRequest.
+ * @memberof google.cloud.video.livestream.v1
+ * @interface IDeleteInputRequest
+ * @property {string|null} [name] DeleteInputRequest name
+ * @property {string|null} [requestId] DeleteInputRequest requestId
+ */
+
+ /**
+ * Constructs a new DeleteInputRequest.
+ * @memberof google.cloud.video.livestream.v1
+ * @classdesc Represents a DeleteInputRequest.
+ * @implements IDeleteInputRequest
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.IDeleteInputRequest=} [properties] Properties to set
+ */
+ function DeleteInputRequest(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * DeleteInputRequest name.
+ * @member {string} name
+ * @memberof google.cloud.video.livestream.v1.DeleteInputRequest
+ * @instance
+ */
+ DeleteInputRequest.prototype.name = "";
+
+ /**
+ * DeleteInputRequest requestId.
+ * @member {string} requestId
+ * @memberof google.cloud.video.livestream.v1.DeleteInputRequest
+ * @instance
+ */
+ DeleteInputRequest.prototype.requestId = "";
+
+ /**
+ * Creates a new DeleteInputRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.DeleteInputRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.IDeleteInputRequest=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.DeleteInputRequest} DeleteInputRequest instance
+ */
+ DeleteInputRequest.create = function create(properties) {
+ return new DeleteInputRequest(properties);
+ };
+
+ /**
+ * Encodes the specified DeleteInputRequest message. Does not implicitly {@link google.cloud.video.livestream.v1.DeleteInputRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.DeleteInputRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.IDeleteInputRequest} message DeleteInputRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteInputRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ if (message.requestId != null && Object.hasOwnProperty.call(message, "requestId"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.requestId);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified DeleteInputRequest message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.DeleteInputRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.DeleteInputRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.IDeleteInputRequest} message DeleteInputRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteInputRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a DeleteInputRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.DeleteInputRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.DeleteInputRequest} DeleteInputRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteInputRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.DeleteInputRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.requestId = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a DeleteInputRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.DeleteInputRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.DeleteInputRequest} DeleteInputRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteInputRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a DeleteInputRequest message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.DeleteInputRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ DeleteInputRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ if (message.requestId != null && message.hasOwnProperty("requestId"))
+ if (!$util.isString(message.requestId))
+ return "requestId: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a DeleteInputRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.DeleteInputRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.DeleteInputRequest} DeleteInputRequest
+ */
+ DeleteInputRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.DeleteInputRequest)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.DeleteInputRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.requestId != null)
+ message.requestId = String(object.requestId);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a DeleteInputRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.DeleteInputRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.DeleteInputRequest} message DeleteInputRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ DeleteInputRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.requestId = "";
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.requestId != null && message.hasOwnProperty("requestId"))
+ object.requestId = message.requestId;
+ return object;
+ };
+
+ /**
+ * Converts this DeleteInputRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.DeleteInputRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ DeleteInputRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for DeleteInputRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.DeleteInputRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ DeleteInputRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.DeleteInputRequest";
+ };
+
+ return DeleteInputRequest;
+ })();
+
+ v1.UpdateInputRequest = (function() {
+
+ /**
+ * Properties of an UpdateInputRequest.
+ * @memberof google.cloud.video.livestream.v1
+ * @interface IUpdateInputRequest
+ * @property {google.protobuf.IFieldMask|null} [updateMask] UpdateInputRequest updateMask
+ * @property {google.cloud.video.livestream.v1.IInput|null} [input] UpdateInputRequest input
+ * @property {string|null} [requestId] UpdateInputRequest requestId
+ */
+
+ /**
+ * Constructs a new UpdateInputRequest.
+ * @memberof google.cloud.video.livestream.v1
+ * @classdesc Represents an UpdateInputRequest.
+ * @implements IUpdateInputRequest
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.IUpdateInputRequest=} [properties] Properties to set
+ */
+ function UpdateInputRequest(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * UpdateInputRequest updateMask.
+ * @member {google.protobuf.IFieldMask|null|undefined} updateMask
+ * @memberof google.cloud.video.livestream.v1.UpdateInputRequest
+ * @instance
+ */
+ UpdateInputRequest.prototype.updateMask = null;
+
+ /**
+ * UpdateInputRequest input.
+ * @member {google.cloud.video.livestream.v1.IInput|null|undefined} input
+ * @memberof google.cloud.video.livestream.v1.UpdateInputRequest
+ * @instance
+ */
+ UpdateInputRequest.prototype.input = null;
+
+ /**
+ * UpdateInputRequest requestId.
+ * @member {string} requestId
+ * @memberof google.cloud.video.livestream.v1.UpdateInputRequest
+ * @instance
+ */
+ UpdateInputRequest.prototype.requestId = "";
+
+ /**
+ * Creates a new UpdateInputRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.UpdateInputRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.IUpdateInputRequest=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.UpdateInputRequest} UpdateInputRequest instance
+ */
+ UpdateInputRequest.create = function create(properties) {
+ return new UpdateInputRequest(properties);
+ };
+
+ /**
+ * Encodes the specified UpdateInputRequest message. Does not implicitly {@link google.cloud.video.livestream.v1.UpdateInputRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.UpdateInputRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.IUpdateInputRequest} message UpdateInputRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpdateInputRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask"))
+ $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.input != null && Object.hasOwnProperty.call(message, "input"))
+ $root.google.cloud.video.livestream.v1.Input.encode(message.input, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.requestId != null && Object.hasOwnProperty.call(message, "requestId"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.requestId);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified UpdateInputRequest message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.UpdateInputRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.UpdateInputRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.IUpdateInputRequest} message UpdateInputRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpdateInputRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an UpdateInputRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.UpdateInputRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.UpdateInputRequest} UpdateInputRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpdateInputRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.UpdateInputRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.input = $root.google.cloud.video.livestream.v1.Input.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.requestId = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an UpdateInputRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.UpdateInputRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.UpdateInputRequest} UpdateInputRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpdateInputRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an UpdateInputRequest message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.UpdateInputRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ UpdateInputRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.updateMask != null && message.hasOwnProperty("updateMask")) {
+ var error = $root.google.protobuf.FieldMask.verify(message.updateMask);
+ if (error)
+ return "updateMask." + error;
+ }
+ if (message.input != null && message.hasOwnProperty("input")) {
+ var error = $root.google.cloud.video.livestream.v1.Input.verify(message.input);
+ if (error)
+ return "input." + error;
+ }
+ if (message.requestId != null && message.hasOwnProperty("requestId"))
+ if (!$util.isString(message.requestId))
+ return "requestId: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an UpdateInputRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.UpdateInputRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.UpdateInputRequest} UpdateInputRequest
+ */
+ UpdateInputRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.UpdateInputRequest)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.UpdateInputRequest();
+ if (object.updateMask != null) {
+ if (typeof object.updateMask !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.UpdateInputRequest.updateMask: object expected");
+ message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask);
+ }
+ if (object.input != null) {
+ if (typeof object.input !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.UpdateInputRequest.input: object expected");
+ message.input = $root.google.cloud.video.livestream.v1.Input.fromObject(object.input);
+ }
+ if (object.requestId != null)
+ message.requestId = String(object.requestId);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an UpdateInputRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.UpdateInputRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.UpdateInputRequest} message UpdateInputRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ UpdateInputRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.updateMask = null;
+ object.input = null;
+ object.requestId = "";
+ }
+ if (message.updateMask != null && message.hasOwnProperty("updateMask"))
+ object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options);
+ if (message.input != null && message.hasOwnProperty("input"))
+ object.input = $root.google.cloud.video.livestream.v1.Input.toObject(message.input, options);
+ if (message.requestId != null && message.hasOwnProperty("requestId"))
+ object.requestId = message.requestId;
+ return object;
+ };
+
+ /**
+ * Converts this UpdateInputRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.UpdateInputRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ UpdateInputRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for UpdateInputRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.UpdateInputRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ UpdateInputRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.UpdateInputRequest";
+ };
+
+ return UpdateInputRequest;
+ })();
+
+ v1.CreateEventRequest = (function() {
+
+ /**
+ * Properties of a CreateEventRequest.
+ * @memberof google.cloud.video.livestream.v1
+ * @interface ICreateEventRequest
+ * @property {string|null} [parent] CreateEventRequest parent
+ * @property {google.cloud.video.livestream.v1.IEvent|null} [event] CreateEventRequest event
+ * @property {string|null} [eventId] CreateEventRequest eventId
+ * @property {string|null} [requestId] CreateEventRequest requestId
+ */
+
+ /**
+ * Constructs a new CreateEventRequest.
+ * @memberof google.cloud.video.livestream.v1
+ * @classdesc Represents a CreateEventRequest.
+ * @implements ICreateEventRequest
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.ICreateEventRequest=} [properties] Properties to set
+ */
+ function CreateEventRequest(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * CreateEventRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.video.livestream.v1.CreateEventRequest
+ * @instance
+ */
+ CreateEventRequest.prototype.parent = "";
+
+ /**
+ * CreateEventRequest event.
+ * @member {google.cloud.video.livestream.v1.IEvent|null|undefined} event
+ * @memberof google.cloud.video.livestream.v1.CreateEventRequest
+ * @instance
+ */
+ CreateEventRequest.prototype.event = null;
+
+ /**
+ * CreateEventRequest eventId.
+ * @member {string} eventId
+ * @memberof google.cloud.video.livestream.v1.CreateEventRequest
+ * @instance
+ */
+ CreateEventRequest.prototype.eventId = "";
+
+ /**
+ * CreateEventRequest requestId.
+ * @member {string} requestId
+ * @memberof google.cloud.video.livestream.v1.CreateEventRequest
+ * @instance
+ */
+ CreateEventRequest.prototype.requestId = "";
+
+ /**
+ * Creates a new CreateEventRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.CreateEventRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.ICreateEventRequest=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.CreateEventRequest} CreateEventRequest instance
+ */
+ CreateEventRequest.create = function create(properties) {
+ return new CreateEventRequest(properties);
+ };
+
+ /**
+ * Encodes the specified CreateEventRequest message. Does not implicitly {@link google.cloud.video.livestream.v1.CreateEventRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.CreateEventRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.ICreateEventRequest} message CreateEventRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateEventRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent);
+ if (message.event != null && Object.hasOwnProperty.call(message, "event"))
+ $root.google.cloud.video.livestream.v1.Event.encode(message.event, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.eventId != null && Object.hasOwnProperty.call(message, "eventId"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.eventId);
+ if (message.requestId != null && Object.hasOwnProperty.call(message, "requestId"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.requestId);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CreateEventRequest message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.CreateEventRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.CreateEventRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.ICreateEventRequest} message CreateEventRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateEventRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CreateEventRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.CreateEventRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.CreateEventRequest} CreateEventRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateEventRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.CreateEventRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ case 2: {
+ message.event = $root.google.cloud.video.livestream.v1.Event.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.eventId = reader.string();
+ break;
+ }
+ case 4: {
+ message.requestId = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CreateEventRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.CreateEventRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.CreateEventRequest} CreateEventRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateEventRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CreateEventRequest message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.CreateEventRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CreateEventRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ if (!$util.isString(message.parent))
+ return "parent: string expected";
+ if (message.event != null && message.hasOwnProperty("event")) {
+ var error = $root.google.cloud.video.livestream.v1.Event.verify(message.event);
+ if (error)
+ return "event." + error;
+ }
+ if (message.eventId != null && message.hasOwnProperty("eventId"))
+ if (!$util.isString(message.eventId))
+ return "eventId: string expected";
+ if (message.requestId != null && message.hasOwnProperty("requestId"))
+ if (!$util.isString(message.requestId))
+ return "requestId: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a CreateEventRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.CreateEventRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.CreateEventRequest} CreateEventRequest
+ */
+ CreateEventRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.CreateEventRequest)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.CreateEventRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.event != null) {
+ if (typeof object.event !== "object")
+ throw TypeError(".google.cloud.video.livestream.v1.CreateEventRequest.event: object expected");
+ message.event = $root.google.cloud.video.livestream.v1.Event.fromObject(object.event);
+ }
+ if (object.eventId != null)
+ message.eventId = String(object.eventId);
+ if (object.requestId != null)
+ message.requestId = String(object.requestId);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CreateEventRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.CreateEventRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.CreateEventRequest} message CreateEventRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CreateEventRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.parent = "";
+ object.event = null;
+ object.eventId = "";
+ object.requestId = "";
+ }
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ if (message.event != null && message.hasOwnProperty("event"))
+ object.event = $root.google.cloud.video.livestream.v1.Event.toObject(message.event, options);
+ if (message.eventId != null && message.hasOwnProperty("eventId"))
+ object.eventId = message.eventId;
+ if (message.requestId != null && message.hasOwnProperty("requestId"))
+ object.requestId = message.requestId;
+ return object;
+ };
+
+ /**
+ * Converts this CreateEventRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.CreateEventRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CreateEventRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CreateEventRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.CreateEventRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CreateEventRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.CreateEventRequest";
+ };
+
+ return CreateEventRequest;
+ })();
+
+ v1.ListEventsRequest = (function() {
+
+ /**
+ * Properties of a ListEventsRequest.
+ * @memberof google.cloud.video.livestream.v1
+ * @interface IListEventsRequest
+ * @property {string|null} [parent] ListEventsRequest parent
+ * @property {number|null} [pageSize] ListEventsRequest pageSize
+ * @property {string|null} [pageToken] ListEventsRequest pageToken
+ * @property {string|null} [filter] ListEventsRequest filter
+ * @property {string|null} [orderBy] ListEventsRequest orderBy
+ */
+
+ /**
+ * Constructs a new ListEventsRequest.
+ * @memberof google.cloud.video.livestream.v1
+ * @classdesc Represents a ListEventsRequest.
+ * @implements IListEventsRequest
+ * @constructor
+ * @param {google.cloud.video.livestream.v1.IListEventsRequest=} [properties] Properties to set
+ */
+ function ListEventsRequest(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ListEventsRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.video.livestream.v1.ListEventsRequest
+ * @instance
+ */
+ ListEventsRequest.prototype.parent = "";
+
+ /**
+ * ListEventsRequest pageSize.
+ * @member {number} pageSize
+ * @memberof google.cloud.video.livestream.v1.ListEventsRequest
+ * @instance
+ */
+ ListEventsRequest.prototype.pageSize = 0;
+
+ /**
+ * ListEventsRequest pageToken.
+ * @member {string} pageToken
+ * @memberof google.cloud.video.livestream.v1.ListEventsRequest
+ * @instance
+ */
+ ListEventsRequest.prototype.pageToken = "";
+
+ /**
+ * ListEventsRequest filter.
+ * @member {string} filter
+ * @memberof google.cloud.video.livestream.v1.ListEventsRequest
+ * @instance
+ */
+ ListEventsRequest.prototype.filter = "";
+
+ /**
+ * ListEventsRequest orderBy.
+ * @member {string} orderBy
+ * @memberof google.cloud.video.livestream.v1.ListEventsRequest
+ * @instance
+ */
+ ListEventsRequest.prototype.orderBy = "";
+
+ /**
+ * Creates a new ListEventsRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.video.livestream.v1.ListEventsRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.IListEventsRequest=} [properties] Properties to set
+ * @returns {google.cloud.video.livestream.v1.ListEventsRequest} ListEventsRequest instance
+ */
+ ListEventsRequest.create = function create(properties) {
+ return new ListEventsRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ListEventsRequest message. Does not implicitly {@link google.cloud.video.livestream.v1.ListEventsRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.video.livestream.v1.ListEventsRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.IListEventsRequest} message ListEventsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListEventsRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent);
+ if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize);
+ if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken);
+ if (message.filter != null && Object.hasOwnProperty.call(message, "filter"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.filter);
+ if (message.orderBy != null && Object.hasOwnProperty.call(message, "orderBy"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.orderBy);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListEventsRequest message, length delimited. Does not implicitly {@link google.cloud.video.livestream.v1.ListEventsRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.video.livestream.v1.ListEventsRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.IListEventsRequest} message ListEventsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListEventsRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListEventsRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.video.livestream.v1.ListEventsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.video.livestream.v1.ListEventsRequest} ListEventsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListEventsRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.video.livestream.v1.ListEventsRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ case 2: {
+ message.pageSize = reader.int32();
+ break;
+ }
+ case 3: {
+ message.pageToken = reader.string();
+ break;
+ }
+ case 4: {
+ message.filter = reader.string();
+ break;
+ }
+ case 5: {
+ message.orderBy = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListEventsRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.video.livestream.v1.ListEventsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.video.livestream.v1.ListEventsRequest} ListEventsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListEventsRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListEventsRequest message.
+ * @function verify
+ * @memberof google.cloud.video.livestream.v1.ListEventsRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListEventsRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ if (!$util.isString(message.parent))
+ return "parent: string expected";
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ if (!$util.isInteger(message.pageSize))
+ return "pageSize: integer expected";
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ if (!$util.isString(message.pageToken))
+ return "pageToken: string expected";
+ if (message.filter != null && message.hasOwnProperty("filter"))
+ if (!$util.isString(message.filter))
+ return "filter: string expected";
+ if (message.orderBy != null && message.hasOwnProperty("orderBy"))
+ if (!$util.isString(message.orderBy))
+ return "orderBy: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListEventsRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.video.livestream.v1.ListEventsRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.video.livestream.v1.ListEventsRequest} ListEventsRequest
+ */
+ ListEventsRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.video.livestream.v1.ListEventsRequest)
+ return object;
+ var message = new $root.google.cloud.video.livestream.v1.ListEventsRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.pageSize != null)
+ message.pageSize = object.pageSize | 0;
+ if (object.pageToken != null)
+ message.pageToken = String(object.pageToken);
+ if (object.filter != null)
+ message.filter = String(object.filter);
+ if (object.orderBy != null)
+ message.orderBy = String(object.orderBy);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListEventsRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.video.livestream.v1.ListEventsRequest
+ * @static
+ * @param {google.cloud.video.livestream.v1.ListEventsRequest} message ListEventsRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListEventsRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.parent = "";
+ object.pageSize = 0;
+ object.pageToken = "";
+ object.filter = "";
+ object.orderBy = "";
+ }
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ object.pageSize = message.pageSize;
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ object.pageToken = message.pageToken;
+ if (message.filter != null && message.hasOwnProperty("filter"))
+ object.filter = message.filter;
+ if (message.orderBy != null && message.hasOwnProperty("orderBy"))
+ object.orderBy = message.orderBy;
+ return object;
+ };
+
+ /**
+ * Converts this ListEventsRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.video.livestream.v1.ListEventsRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListEventsRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListEventsRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.video.livestream.v1.ListEventsRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListEventsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.video.livestream.v1.ListEventsRequest";
+ };
+
+ return ListEventsRequest;
+ })();
+
+ v1.ListEventsResponse = (function() {
+
+ /**
+ * Properties of a ListEventsResponse.
+ * @memberof google.cloud.video.livestream.v1
+ * @interface IListEventsResponse
+ * @property {Array.