syntax = "proto3"; package tv.make.api; option go_package = "git.ltnglobal.com/make.tv/genproto/api;api"; import "google/api/field_behavior.proto"; message Failover { // The default system behavior. // Passthrough output will fall back to nothing. // Transcoded output will fall back to a black slate. // // It is better to set an explicit failover config instead of relying on this - as it might change. message Default { oneof failover { bool nothing = 1; bool black = 2; } } // Output will fall back to nothing. message Nothing {} // Output will fall back to a black slate. message Black {} // Output will fall back to a test pattern. // // Only available for outputs with at least one `OutputTranscoding`. message TestPattern {} // Output will fall back to the image or video provided in the URL. // If the URL is not available, the output will fall back to the default system behavior. message CustomSource { enum Availability { AVAILABILITY_UNSPECIFIED = 0; // CustomSource is in unknown state. UNKNOWN = 1; // CustomSource is being prepared. PREPARING = 2; // CustomSource is downloaded and ready to use. READY = 3; // CustomSource is unavailable due to some error. ERROR = 4; } // The URL of an image or a video. string url = 1 [(google.api.field_behavior) = REQUIRED]; // If the custom source could be fetched or not and is available. Availability availability = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } // Whether or not the failover is shown. bool is_active = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; oneof config { Default default = 10; Nothing nothing = 11; Black black = 12; TestPattern test_pattern = 13; CustomSource custom_source = 14; } }