// Copyright 2022 LTN Global Communications, Inc. // // 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 tv.make.api; import "google/api/field_behavior.proto"; import "google/protobuf/duration.proto"; import "google/protobuf/timestamp.proto"; option go_package = "git.ltnglobal.com/make.tv/genproto/api;api"; message ProductionPreviewStream { // Status defines the current status of a preview stream. enum Status { // The status of the preview stream is not specified. STATUS_UNSPECIFIED = 0; // The preview engine is in an erroneous state. ERROR = 1; // The preview engine has been successfully started and is online. ONLINE = 2; // The preview engine has been stopped and is offline. OFFLINE = 3; // The preview engine is currently starting and will soon enter the online state. GOING_ONLINE = 4; // The preview engine is currently stopping and will soon enter the offline state. GOING_OFFLINE = 5; } // The ID. string id = 10; // Number of rows in this stream. int32 row_count = 1; // Number of columns in this stream. int32 col_count = 2; // The DASH URL for this stream. string dash_url = 3; // The WebSocket URL for this stream. string ws_url = 4; // The HLS URL for this stream. string hls_url = 5; // The RTMP URL for this stream. string rtmp_url = 6; // The thumbnail URL for this stream. string thumb_url = 7; // The status of the engine running the preview. // // Output only. Status status = 8; // Hostname of the running instance. string hostname = 20 [(google.api.field_behavior) = OUTPUT_ONLY, (google.api.field_behavior) = OPTIONAL]; // IPv4 of the running instance. string ipv4 = 21 [(google.api.field_behavior) = OUTPUT_ONLY, (google.api.field_behavior) = OPTIONAL]; // IPv4 of the running instance. string ipv6 = 22 [(google.api.field_behavior) = OUTPUT_ONLY, (google.api.field_behavior) = OPTIONAL]; } message Production { message ErrorInfo { // The detail information of the error. string message = 1; // When this error occurred. google.protobuf.Timestamp incident_time = 2; } // Status defines the current status of a production. enum Status { // The status of the production is not specified. STATUS_UNSPECIFIED = 0; // The production is in an erroneous state. ERROR = 1; // The production has been successfully started and is online. ONLINE = 2; // The production has been stopped and is offline. OFFLINE = 3; // The production is currently starting and will soon enter the online state. GOING_ONLINE = 4; // The production is currently stopping and will soon enter the offline state. GOING_OFFLINE = 5; // The production is currently in attention state. This describes non-critical impairments. // (e.g. multi-view errors.) ATTENTION = 6; } // The unique identifier of the production string id = 1; // The unique identifier of the owning team string team_id = 2; // The display name of the production. string display_name = 3; // The description of the production. string description = 4; // When has this production been created. // // Output only. google.protobuf.Timestamp create_time = 5; // When has this production been modified. // // Output only. google.protobuf.Timestamp update_time = 6; // When has this production started. // // This is the time a production is considered started, // not when the start was requested. // // Output only. google.protobuf.Timestamp start_time = 7; // Whether or not to enable the lifespan of a production. // // Productions with lifespan are automatically shut down at // start_time + lifespan_duration. // // NOTE: It is NOT possible to change the lfiespan_duration // or lifespan_enabled while a production is running. // Therefore it is not possible to extend the lifespan // of a production. // // Can't be modified while the production is active. bool lifespan_enabled = 8; // The production's lifespan. // // Can't be modified while the production is active. // Only considered if lifespan_enabled is true. google.protobuf.Duration lifespan_duration = 9; // The user who created this production. // // Output only. string creator_id = 10; // List of users who are assigned contributors to this production. repeated string contributor_ids = 11; // The number of animated input-signals. // // Note: This property has an effect on the actual costs of a production. // // It makes sense to set animated_input_count to a multiple of 12. int32 animated_input_count = 12; // The number of animated output-signals. // // This property has an effect on the actual costs of a production. // // It makes sense to set animated_output_count to a multiple of 4. int32 animated_output_count = 13; // The status of the production. // // Output only. Status status = 14; // Additional incident information; only present when status is ERROR. // // Output only. ErrorInfo error_info = 15; // The region in which this production is operating. // // Can't be modified while the production is active. string region_id = 16; // List of assigned output ids. // // Outputs are not necessarily all active. One output may be assigned to many productions. // But one output is only ever active in one production. // // Output only. repeated string output_ids = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; // List of assigned input ids. // // Output only. repeated string input_ids = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; // List of input previews for the production. // // This is not filled at a List call. repeated ProductionPreviewStream input_previews = 19; // List of output previews for the production. // // This is not filled at a List call. repeated ProductionPreviewStream output_previews = 20; }