@huddly/camera-proto v1.1.99
falcon-interface
Language and style guide for proto3
The .proto format: https://developers.google.com/protocol-buffers/docs/proto3 Style guide: https://developers.google.com/protocol-buffers/docs/style Guides to use the interface in C++, python etc. is found in the menu to the left in the above links.
Important note about enums:
- The default value is the first defined enum value, which must be 0.
- The zero value enum should have the suffix unspecified. E.g. it should not be used under normal conditions.
- The zero value needs to be the first element, for compatibility with the proto2 semantics where the first enum value is always the default.
Releasing (for SDKs, drivers, integrators, ...)
The simplest way to release and deploy NuGet packages is to use the GitHub actions workflow specified in the next section. NuGet packages must be signed and the HSM signing certificate is not availabe offline.
Deploying through GitHub Actions
First decide if you wish to create a stable release, or a pre-release.
Pre-release
Go to the actions pane on GitHub -> select the 'Compile and publish' workflow -> 'Run workflow' -> select the appropriate branch
Stable
Go to 'Releases' on GitHub -> Draft a new release -> Choose a tag, just create a new tag that follows the convention (vX.Y.Z) -> Check 'Set as the latest release' -> Publish release
NOTE
Affected projects when doing changes to this repository and/or making new releases include:
GitHub Pipeline Credentials
Shared Organization Variables
'AZURE_TENANT_ID' = 'a6e177ed-014c-43fa-b395-63aaf1204e45'
'AZURE_PROD_SUBSCRIPTION_ID' = '253195fd-b226-4ce4-8a37-68d174c5d335'
'AZURE_HSM_CERTIFICATE_VAULT_URL' = 'https://hsm-ev-certificates-we.vault.azure.net/'
'AZURE_HSM_CODE_SIGN_CERT_NAME' = 'huddly-ev-code-sign'
Repository Secrets (falcon-interface)
Name: 'falcon-interface_GitHub_Actions'
Expires: 2025-11-5
TenantId: 'a6e177ed-014c-43fa-b395-63aaf1204e45'
ClientId: 'FALCON_INTERFACE_AZURE_CLIENT_ID' = '71d20749-11b7-4fe0-b224-1df3f1350942'
ClientSecret: 'FALCON_INTERFACE_AZURE_CLIENT_SECRET' (Repository Secret)
JsonSecret: 'FALCON_INTERFACE_AZURE_CREDENTIALS' (Repository Secret)
Role Assignments
hsm-ev-certificates-we
key valult, huddly-ev-code-sign
certificate
Role: 'Key Vault Reader'
Scope: '/subscriptions/253195fd-b226-4ce4-8a37-68d174c5d335/resourceGroups/code-signing-certificates'
hsm-ev-certificates-we
key valult, huddly-ev-code-sign
certificate
Role: 'Key Vault Crypto User'
Scope: '/subscriptions/253195fd-b226-4ce4-8a37-68d174c5d335/resourceGroups/code-signing-certificates/providers/Microsoft.KeyVault/vaults/hsm-ev-certificates-we'
More info about HSM code signing
https://github.com/Huddly/sdk-dotnet/wiki/EV-Code-Signing
Other Credentials
TODO: Improve documentation!
Shared secret: HUDDLY_GITHUB_PACKAGE_TOKEN
Repo secret: FALCON_INTERFACE_NUGET_KEY
How to build
conan create . -r conan -pr:h x86_64-gcc-11-2 --user huddly -pr:b x86_64-gcc-11-2
Proto markups
Below you can see the different markups that are used to ignore proto code that is specific to huddly. When generating the google proto file, all the code that has been tagged with the markup lines will not be present.
// @HuddlyOnly-NextBlock
This markup will ignore the whole block that follows after the markup line. It will also ignore any nested blocks within the ignore block.
// @HuddlyOnly-NextLine
This markup will ignore the next line that follows after the markup line.
Releasing NPM package (deprecated)
NOTE: There is a bug with ts-protoc-gen
dependency where the generated ts file has the wrong import (imports "grpc" instead of "@grpc/grpc-js"). For now, this issue/file needs to be update manually before publishing the package.
Making a npm release is done manually by one of the developers with publishing access to our huddly organization account on npmjs. The following procedure should be followed when wanting to make a new npm package release:
- Make sure you know what is the current released version on artifactory (through conan) for falcon interface and use that to bump the version on package.json
- You can either update the version manually by editting the package.json or run
npm version [patch|minor|major]
to bump it through npm
- You can either update the version manually by editting the package.json or run
- After having updated the package.json version, make sure you commit the changes to github
- Last step is to make the actual release. You can do that by running the following command
npm run publish-package
. NOTE Running this command requires you to be logged in to npmjs through your terminal windows with the huddly account.
Director Modes
modes {
mode: "speaker-centric"
}
modes {
mode: "default"
}
- speaker-centric = "Speaker"
- default = "Conversation"
9 months ago
2 years ago
2 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago