Skip to content

Commit 12b3038

Browse files
Google APIscopybara-github
authored andcommitted
feat: added LogConfig feature for users to define configurations of platform logs
feat: added silver languages namespace annotations docs: updated comments with more examples PiperOrigin-RevId: 423383860
1 parent f4bd29f commit 12b3038

3 files changed

Lines changed: 88 additions & 21 deletions

File tree

google/cloud/video/livestream/v1/outputs.proto

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,17 @@ syntax = "proto3";
1616

1717
package google.cloud.video.livestream.v1;
1818

19+
import "google/api/annotations.proto";
1920
import "google/api/field_behavior.proto";
2021
import "google/protobuf/duration.proto";
21-
import "google/api/annotations.proto";
2222

23+
option csharp_namespace = "Google.Cloud.Video.LiveStream.V1";
2324
option go_package = "google.golang.org/genproto/googleapis/cloud/video/livestream/v1;livestream";
2425
option java_multiple_files = true;
2526
option java_outer_classname = "OutputsProto";
2627
option java_package = "com.google.cloud.video.livestream.v1";
28+
option php_namespace = "Google\\Cloud\\Video\\LiveStream\\V1";
29+
option ruby_package = "Google::Cloud::Video::LiveStream::V1";
2730

2831
// Encoding of an input element such as an audio, video, or text track.
2932
// Elementary streams must be packaged before mapping and sharing between
@@ -55,11 +58,15 @@ message MuxStream {
5558
// Supported container formats:
5659
//
5760
// - `fmp4` - the corresponding file extension is `.m4s`
58-
// - `ts`
61+
// - `ts` - the corresponding file extension is `.ts`
5962
string container = 3;
6063

6164
// List of `ElementaryStream` [key][google.cloud.video.livestream.v1.ElementaryStream.key]s multiplexed in this
6265
// stream.
66+
//
67+
// - For `fmp4` container, must contain either one video or one audio stream.
68+
// - For `ts` container, must contain exactly one audio stream and up to one
69+
// video stream.
6370
repeated string elementary_streams = 4;
6471

6572
// Segment settings for `fmp4` and `ts`.
@@ -90,6 +97,10 @@ message Manifest {
9097

9198
// Required. List of `MuxStream` [key][google.cloud.video.livestream.v1.MuxStream.key]s that should appear in this
9299
// manifest.
100+
//
101+
// - For HLS, either `fmp4` or `ts` mux streams can be specified but not
102+
// mixed.
103+
// - For DASH, only `fmp4` mux streams can be specified.
93104
repeated string mux_streams = 3 [(google.api.field_behavior) = REQUIRED];
94105

95106
// Maximum number of segments that this manifest holds. Once the manifest
@@ -203,16 +214,18 @@ message VideoStream {
203214
int32 height_pixels = 2;
204215

205216
// Required. The target video frame rate in frames per second (FPS). Must be less
206-
// than or equal to 120. Will default to the input frame rate if larger
217+
// than or equal to 60. Will default to the input frame rate if larger
207218
// than the input frame rate. The API will generate an output FPS that is
208219
// divisible by the input FPS, and smaller or equal to the target FPS. See
209220
// [Calculating frame
210221
// rate](https://cloud.google.com/transcoder/docs/concepts/frame-rate) for
211222
// more information.
212223
double frame_rate = 3 [(google.api.field_behavior) = REQUIRED];
213224

214-
// Required. The video bitrate in bits per second. Must be between 10,000 and
215-
// 80,000,000.
225+
// Required. The video bitrate in bits per second. Minimum value is 10,000.
226+
//
227+
// - For SD resolution (< 720p), must be <= 3,000,000 (3 Mbps).
228+
// - For HD resolution (<= 1080p), must be <= 15,000,000 (15 Mbps).
216229
int32 bitrate_bps = 4 [(google.api.field_behavior) = REQUIRED];
217230

218231
// Specifies whether an open Group of Pictures (GOP) structure should be

google/cloud/video/livestream/v1/resources.proto

Lines changed: 61 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,21 @@ syntax = "proto3";
1616

1717
package google.cloud.video.livestream.v1;
1818

19+
import "google/api/annotations.proto";
1920
import "google/api/field_behavior.proto";
2021
import "google/api/resource.proto";
2122
import "google/cloud/video/livestream/v1/outputs.proto";
2223
import "google/protobuf/duration.proto";
2324
import "google/protobuf/timestamp.proto";
2425
import "google/rpc/status.proto";
25-
import "google/api/annotations.proto";
2626

27+
option csharp_namespace = "Google.Cloud.Video.LiveStream.V1";
2728
option go_package = "google.golang.org/genproto/googleapis/cloud/video/livestream/v1;livestream";
2829
option java_multiple_files = true;
2930
option java_outer_classname = "ResourcesProto";
3031
option java_package = "com.google.cloud.video.livestream.v1";
32+
option php_namespace = "Google\\Cloud\\Video\\LiveStream\\V1";
33+
option ruby_package = "Google::Cloud::Video::LiveStream::V1";
3134

3235
// Input resource represents the endpoint from which the channel ingests
3336
// the input stream.
@@ -37,16 +40,6 @@ message Input {
3740
pattern: "projects/{project}/locations/{location}/inputs/{input}"
3841
};
3942

40-
// Security rules for access control. Each field represents one security rule.
41-
// Only when the source of the input stream satisfies all the fields, this
42-
// input stream can be accepted.
43-
message SecurityRule {
44-
// At least one ip range must match unless none specified. The IP range is
45-
// defined by CIDR block: for example, `192.0.1.0/24` for a range and
46-
// `192.0.1.0/32` for a single IP address.
47-
repeated string ip_ranges = 1;
48-
}
49-
5043
// The type of the input.
5144
enum Type {
5245
// Input type is not specified.
@@ -64,16 +57,26 @@ message Input {
6457
// Tier is not specified.
6558
TIER_UNSPECIFIED = 0;
6659

67-
// Resolution less than 1280x720.
60+
// Resolution < 1280x720. Bitrate <= 6 Mbps. FPS <= 60.
6861
SD = 1;
6962

70-
// Resolution from 1280x720 to 1920x1080.
63+
// Resolution <= 1920x1080. Bitrate <= 25 Mbps. FPS <= 60.
7164
HD = 2;
7265

73-
// Resolution more than 1920x1080 to 4096x2160.
66+
// Resolution <= 4096x2160. Not supported yet.
7467
UHD = 3;
7568
}
7669

70+
// Security rules for access control. Each field represents one security rule.
71+
// Only when the source of the input stream satisfies all the fields, this
72+
// input stream can be accepted.
73+
message SecurityRule {
74+
// At least one ip range must match unless none specified. The IP range is
75+
// defined by CIDR block: for example, `192.0.1.0/24` for a range and
76+
// `192.0.1.0/32` for a single IP address.
77+
repeated string ip_ranges = 1;
78+
}
79+
7780
// The resource name of the input, in the form of:
7881
// `projects/{project}/locations/{location}/inputs/{inputId}`.
7982
string name = 1;
@@ -90,8 +93,10 @@ message Input {
9093
// Source type.
9194
Type type = 5;
9295

93-
// Tier defines the maximum input specification (for example, resolution)
94-
// that will be accepted by the video pipeline. The default is `HD`.
96+
// Tier defines the maximum input specification that is accepted by the
97+
// video pipeline. The billing is charged based on the tier specified here.
98+
// See [Pricing](https://cloud.google.com/livestream/pricing) for more detail.
99+
// The default is `HD`.
95100
Tier tier = 14;
96101

97102
// Output only. URI to push the input stream to.
@@ -206,6 +211,46 @@ message Channel {
206211
// always present when [streaming_state][google.cloud.video.livestream.v1.Channel.streaming_state] is
207212
// [STREAMING_ERROR][google.cloud.video.livestream.v1.Channel.StreamingState.STREAMING_ERROR].
208213
google.rpc.Status streaming_error = 18 [(google.api.field_behavior) = OUTPUT_ONLY];
214+
215+
// Configuration of platform logs for this channel.
216+
LogConfig log_config = 19;
217+
}
218+
219+
// Configuration of platform logs.
220+
// See [Using and managing platform
221+
// logs](https://cloud.google.com/logging/docs/api/platform-logs#managing-logs)
222+
// for more information about how to view platform logs through Cloud Logging.
223+
message LogConfig {
224+
// The severity level of platform logging for this channel. Logs with a
225+
// severity level higher than or equal to the chosen severity level will be
226+
// logged and can be viewed through Cloud Logging.
227+
// The severity level of a log is ranked as followed from low to high: DEBUG <
228+
// INFO < NOTICE < WARNING < ERROR < CRITICAL < ALERT < EMERGENCY.
229+
// See
230+
// [LogSeverity](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#logseverity)
231+
// for more information.
232+
enum LogSeverity {
233+
// Log severity is not specified. This is the same as log severity is OFF.
234+
LOG_SEVERITY_UNSPECIFIED = 0;
235+
236+
// Log is turned off.
237+
OFF = 1;
238+
239+
// Log with severity higher than or equal to DEBUG are logged.
240+
DEBUG = 100;
241+
242+
// Logs with severity higher than or equal to INFO are logged.
243+
INFO = 200;
244+
245+
// Logs with severity higher than or equal to WARNING are logged.
246+
WARNING = 400;
247+
248+
// Logs with severity higher than or equal to ERROR are logged.
249+
ERROR = 500;
250+
}
251+
252+
// The severity level of platform logging for this resource.
253+
LogSeverity log_severity = 1;
209254
}
210255

211256
// Properties of the input stream.

google/cloud/video/livestream/v1/service.proto

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,13 @@ import "google/protobuf/empty.proto";
2626
import "google/protobuf/field_mask.proto";
2727
import "google/protobuf/timestamp.proto";
2828

29+
option csharp_namespace = "Google.Cloud.Video.LiveStream.V1";
2930
option go_package = "google.golang.org/genproto/googleapis/cloud/video/livestream/v1;livestream";
3031
option java_multiple_files = true;
3132
option java_outer_classname = "ServiceProto";
3233
option java_package = "com.google.cloud.video.livestream.v1";
34+
option php_namespace = "Google\\Cloud\\Video\\LiveStream\\V1";
35+
option ruby_package = "Google::Cloud::Video::LiveStream::V1";
3336

3437
// Using Live Stream API, you can generate live streams in the various
3538
// renditions and streaming formats. The streaming format include HTTP Live
@@ -325,6 +328,12 @@ message DeleteChannelRequest {
325328
// The request ID must be a valid UUID with the exception that zero UUID is
326329
// not supported `(00000000-0000-0000-0000-000000000000)`.
327330
string request_id = 2;
331+
332+
// If the `force` field is set to the default value of `false`, you must
333+
// delete all of a channel's events before you can delete the channel itself.
334+
// If the field is set to `true`, requests to delete a channel also delete
335+
// associated channel events.
336+
bool force = 3;
328337
}
329338

330339
// Request message for "LivestreamService.UpdateChannel".

0 commit comments

Comments
 (0)