github.com/whoyao/protocol@v0.0.0-20230519045905-2d8ace718ca5/livekit/livekit_egress.pb.go (about) 1 // Code generated by protoc-gen-go. DO NOT EDIT. 2 // versions: 3 // protoc-gen-go v1.30.0 4 // protoc v3.20.3 5 // source: livekit_egress.proto 6 7 package livekit 8 9 import ( 10 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 11 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 12 reflect "reflect" 13 sync "sync" 14 ) 15 16 const ( 17 // Verify that this generated code is sufficiently up-to-date. 18 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 19 // Verify that runtime/protoimpl is sufficiently up-to-date. 20 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 21 ) 22 23 type EncodedFileType int32 24 25 const ( 26 EncodedFileType_DEFAULT_FILETYPE EncodedFileType = 0 // file type chosen based on codecs 27 EncodedFileType_MP4 EncodedFileType = 1 28 EncodedFileType_OGG EncodedFileType = 2 29 ) 30 31 // Enum value maps for EncodedFileType. 32 var ( 33 EncodedFileType_name = map[int32]string{ 34 0: "DEFAULT_FILETYPE", 35 1: "MP4", 36 2: "OGG", 37 } 38 EncodedFileType_value = map[string]int32{ 39 "DEFAULT_FILETYPE": 0, 40 "MP4": 1, 41 "OGG": 2, 42 } 43 ) 44 45 func (x EncodedFileType) Enum() *EncodedFileType { 46 p := new(EncodedFileType) 47 *p = x 48 return p 49 } 50 51 func (x EncodedFileType) String() string { 52 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 53 } 54 55 func (EncodedFileType) Descriptor() protoreflect.EnumDescriptor { 56 return file_livekit_egress_proto_enumTypes[0].Descriptor() 57 } 58 59 func (EncodedFileType) Type() protoreflect.EnumType { 60 return &file_livekit_egress_proto_enumTypes[0] 61 } 62 63 func (x EncodedFileType) Number() protoreflect.EnumNumber { 64 return protoreflect.EnumNumber(x) 65 } 66 67 // Deprecated: Use EncodedFileType.Descriptor instead. 68 func (EncodedFileType) EnumDescriptor() ([]byte, []int) { 69 return file_livekit_egress_proto_rawDescGZIP(), []int{0} 70 } 71 72 type SegmentedFileProtocol int32 73 74 const ( 75 SegmentedFileProtocol_DEFAULT_SEGMENTED_FILE_PROTOCOL SegmentedFileProtocol = 0 76 SegmentedFileProtocol_HLS_PROTOCOL SegmentedFileProtocol = 1 77 ) 78 79 // Enum value maps for SegmentedFileProtocol. 80 var ( 81 SegmentedFileProtocol_name = map[int32]string{ 82 0: "DEFAULT_SEGMENTED_FILE_PROTOCOL", 83 1: "HLS_PROTOCOL", 84 } 85 SegmentedFileProtocol_value = map[string]int32{ 86 "DEFAULT_SEGMENTED_FILE_PROTOCOL": 0, 87 "HLS_PROTOCOL": 1, 88 } 89 ) 90 91 func (x SegmentedFileProtocol) Enum() *SegmentedFileProtocol { 92 p := new(SegmentedFileProtocol) 93 *p = x 94 return p 95 } 96 97 func (x SegmentedFileProtocol) String() string { 98 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 99 } 100 101 func (SegmentedFileProtocol) Descriptor() protoreflect.EnumDescriptor { 102 return file_livekit_egress_proto_enumTypes[1].Descriptor() 103 } 104 105 func (SegmentedFileProtocol) Type() protoreflect.EnumType { 106 return &file_livekit_egress_proto_enumTypes[1] 107 } 108 109 func (x SegmentedFileProtocol) Number() protoreflect.EnumNumber { 110 return protoreflect.EnumNumber(x) 111 } 112 113 // Deprecated: Use SegmentedFileProtocol.Descriptor instead. 114 func (SegmentedFileProtocol) EnumDescriptor() ([]byte, []int) { 115 return file_livekit_egress_proto_rawDescGZIP(), []int{1} 116 } 117 118 type SegmentedFileSuffix int32 119 120 const ( 121 SegmentedFileSuffix_INDEX SegmentedFileSuffix = 0 122 SegmentedFileSuffix_TIMESTAMP SegmentedFileSuffix = 1 123 ) 124 125 // Enum value maps for SegmentedFileSuffix. 126 var ( 127 SegmentedFileSuffix_name = map[int32]string{ 128 0: "INDEX", 129 1: "TIMESTAMP", 130 } 131 SegmentedFileSuffix_value = map[string]int32{ 132 "INDEX": 0, 133 "TIMESTAMP": 1, 134 } 135 ) 136 137 func (x SegmentedFileSuffix) Enum() *SegmentedFileSuffix { 138 p := new(SegmentedFileSuffix) 139 *p = x 140 return p 141 } 142 143 func (x SegmentedFileSuffix) String() string { 144 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 145 } 146 147 func (SegmentedFileSuffix) Descriptor() protoreflect.EnumDescriptor { 148 return file_livekit_egress_proto_enumTypes[2].Descriptor() 149 } 150 151 func (SegmentedFileSuffix) Type() protoreflect.EnumType { 152 return &file_livekit_egress_proto_enumTypes[2] 153 } 154 155 func (x SegmentedFileSuffix) Number() protoreflect.EnumNumber { 156 return protoreflect.EnumNumber(x) 157 } 158 159 // Deprecated: Use SegmentedFileSuffix.Descriptor instead. 160 func (SegmentedFileSuffix) EnumDescriptor() ([]byte, []int) { 161 return file_livekit_egress_proto_rawDescGZIP(), []int{2} 162 } 163 164 type StreamProtocol int32 165 166 const ( 167 StreamProtocol_DEFAULT_PROTOCOL StreamProtocol = 0 // protocol chosen based on urls 168 StreamProtocol_RTMP StreamProtocol = 1 169 ) 170 171 // Enum value maps for StreamProtocol. 172 var ( 173 StreamProtocol_name = map[int32]string{ 174 0: "DEFAULT_PROTOCOL", 175 1: "RTMP", 176 } 177 StreamProtocol_value = map[string]int32{ 178 "DEFAULT_PROTOCOL": 0, 179 "RTMP": 1, 180 } 181 ) 182 183 func (x StreamProtocol) Enum() *StreamProtocol { 184 p := new(StreamProtocol) 185 *p = x 186 return p 187 } 188 189 func (x StreamProtocol) String() string { 190 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 191 } 192 193 func (StreamProtocol) Descriptor() protoreflect.EnumDescriptor { 194 return file_livekit_egress_proto_enumTypes[3].Descriptor() 195 } 196 197 func (StreamProtocol) Type() protoreflect.EnumType { 198 return &file_livekit_egress_proto_enumTypes[3] 199 } 200 201 func (x StreamProtocol) Number() protoreflect.EnumNumber { 202 return protoreflect.EnumNumber(x) 203 } 204 205 // Deprecated: Use StreamProtocol.Descriptor instead. 206 func (StreamProtocol) EnumDescriptor() ([]byte, []int) { 207 return file_livekit_egress_proto_rawDescGZIP(), []int{3} 208 } 209 210 type EncodingOptionsPreset int32 211 212 const ( 213 EncodingOptionsPreset_H264_720P_30 EncodingOptionsPreset = 0 // 1280x720, 30fps, 3000kpbs, H.264_MAIN / OPUS 214 EncodingOptionsPreset_H264_720P_60 EncodingOptionsPreset = 1 // 1280x720, 60fps, 4500kbps, H.264_MAIN / OPUS 215 EncodingOptionsPreset_H264_1080P_30 EncodingOptionsPreset = 2 // 1920x1080, 30fps, 4500kbps, H.264_MAIN / OPUS 216 EncodingOptionsPreset_H264_1080P_60 EncodingOptionsPreset = 3 // 1920x1080, 60fps, 6000kbps, H.264_MAIN / OPUS 217 EncodingOptionsPreset_PORTRAIT_H264_720P_30 EncodingOptionsPreset = 4 // 720x1280, 30fps, 3000kpbs, H.264_MAIN / OPUS 218 EncodingOptionsPreset_PORTRAIT_H264_720P_60 EncodingOptionsPreset = 5 // 720x1280, 60fps, 4500kbps, H.264_MAIN / OPUS 219 EncodingOptionsPreset_PORTRAIT_H264_1080P_30 EncodingOptionsPreset = 6 // 1080x1920, 30fps, 4500kbps, H.264_MAIN / OPUS 220 EncodingOptionsPreset_PORTRAIT_H264_1080P_60 EncodingOptionsPreset = 7 // 1080x1920, 60fps, 6000kbps, H.264_MAIN / OPUS 221 ) 222 223 // Enum value maps for EncodingOptionsPreset. 224 var ( 225 EncodingOptionsPreset_name = map[int32]string{ 226 0: "H264_720P_30", 227 1: "H264_720P_60", 228 2: "H264_1080P_30", 229 3: "H264_1080P_60", 230 4: "PORTRAIT_H264_720P_30", 231 5: "PORTRAIT_H264_720P_60", 232 6: "PORTRAIT_H264_1080P_30", 233 7: "PORTRAIT_H264_1080P_60", 234 } 235 EncodingOptionsPreset_value = map[string]int32{ 236 "H264_720P_30": 0, 237 "H264_720P_60": 1, 238 "H264_1080P_30": 2, 239 "H264_1080P_60": 3, 240 "PORTRAIT_H264_720P_30": 4, 241 "PORTRAIT_H264_720P_60": 5, 242 "PORTRAIT_H264_1080P_30": 6, 243 "PORTRAIT_H264_1080P_60": 7, 244 } 245 ) 246 247 func (x EncodingOptionsPreset) Enum() *EncodingOptionsPreset { 248 p := new(EncodingOptionsPreset) 249 *p = x 250 return p 251 } 252 253 func (x EncodingOptionsPreset) String() string { 254 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 255 } 256 257 func (EncodingOptionsPreset) Descriptor() protoreflect.EnumDescriptor { 258 return file_livekit_egress_proto_enumTypes[4].Descriptor() 259 } 260 261 func (EncodingOptionsPreset) Type() protoreflect.EnumType { 262 return &file_livekit_egress_proto_enumTypes[4] 263 } 264 265 func (x EncodingOptionsPreset) Number() protoreflect.EnumNumber { 266 return protoreflect.EnumNumber(x) 267 } 268 269 // Deprecated: Use EncodingOptionsPreset.Descriptor instead. 270 func (EncodingOptionsPreset) EnumDescriptor() ([]byte, []int) { 271 return file_livekit_egress_proto_rawDescGZIP(), []int{4} 272 } 273 274 type EgressStatus int32 275 276 const ( 277 EgressStatus_EGRESS_STARTING EgressStatus = 0 278 EgressStatus_EGRESS_ACTIVE EgressStatus = 1 279 EgressStatus_EGRESS_ENDING EgressStatus = 2 280 EgressStatus_EGRESS_COMPLETE EgressStatus = 3 281 EgressStatus_EGRESS_FAILED EgressStatus = 4 282 EgressStatus_EGRESS_ABORTED EgressStatus = 5 283 EgressStatus_EGRESS_LIMIT_REACHED EgressStatus = 6 284 ) 285 286 // Enum value maps for EgressStatus. 287 var ( 288 EgressStatus_name = map[int32]string{ 289 0: "EGRESS_STARTING", 290 1: "EGRESS_ACTIVE", 291 2: "EGRESS_ENDING", 292 3: "EGRESS_COMPLETE", 293 4: "EGRESS_FAILED", 294 5: "EGRESS_ABORTED", 295 6: "EGRESS_LIMIT_REACHED", 296 } 297 EgressStatus_value = map[string]int32{ 298 "EGRESS_STARTING": 0, 299 "EGRESS_ACTIVE": 1, 300 "EGRESS_ENDING": 2, 301 "EGRESS_COMPLETE": 3, 302 "EGRESS_FAILED": 4, 303 "EGRESS_ABORTED": 5, 304 "EGRESS_LIMIT_REACHED": 6, 305 } 306 ) 307 308 func (x EgressStatus) Enum() *EgressStatus { 309 p := new(EgressStatus) 310 *p = x 311 return p 312 } 313 314 func (x EgressStatus) String() string { 315 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 316 } 317 318 func (EgressStatus) Descriptor() protoreflect.EnumDescriptor { 319 return file_livekit_egress_proto_enumTypes[5].Descriptor() 320 } 321 322 func (EgressStatus) Type() protoreflect.EnumType { 323 return &file_livekit_egress_proto_enumTypes[5] 324 } 325 326 func (x EgressStatus) Number() protoreflect.EnumNumber { 327 return protoreflect.EnumNumber(x) 328 } 329 330 // Deprecated: Use EgressStatus.Descriptor instead. 331 func (EgressStatus) EnumDescriptor() ([]byte, []int) { 332 return file_livekit_egress_proto_rawDescGZIP(), []int{5} 333 } 334 335 type StreamInfo_Status int32 336 337 const ( 338 StreamInfo_ACTIVE StreamInfo_Status = 0 339 StreamInfo_FINISHED StreamInfo_Status = 1 340 StreamInfo_FAILED StreamInfo_Status = 2 341 ) 342 343 // Enum value maps for StreamInfo_Status. 344 var ( 345 StreamInfo_Status_name = map[int32]string{ 346 0: "ACTIVE", 347 1: "FINISHED", 348 2: "FAILED", 349 } 350 StreamInfo_Status_value = map[string]int32{ 351 "ACTIVE": 0, 352 "FINISHED": 1, 353 "FAILED": 2, 354 } 355 ) 356 357 func (x StreamInfo_Status) Enum() *StreamInfo_Status { 358 p := new(StreamInfo_Status) 359 *p = x 360 return p 361 } 362 363 func (x StreamInfo_Status) String() string { 364 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 365 } 366 367 func (StreamInfo_Status) Descriptor() protoreflect.EnumDescriptor { 368 return file_livekit_egress_proto_enumTypes[6].Descriptor() 369 } 370 371 func (StreamInfo_Status) Type() protoreflect.EnumType { 372 return &file_livekit_egress_proto_enumTypes[6] 373 } 374 375 func (x StreamInfo_Status) Number() protoreflect.EnumNumber { 376 return protoreflect.EnumNumber(x) 377 } 378 379 // Deprecated: Use StreamInfo_Status.Descriptor instead. 380 func (StreamInfo_Status) EnumDescriptor() ([]byte, []int) { 381 return file_livekit_egress_proto_rawDescGZIP(), []int{20, 0} 382 } 383 384 // composite using a web browser 385 type RoomCompositeEgressRequest struct { 386 state protoimpl.MessageState 387 sizeCache protoimpl.SizeCache 388 unknownFields protoimpl.UnknownFields 389 390 RoomName string `protobuf:"bytes,1,opt,name=room_name,json=roomName,proto3" json:"room_name,omitempty"` // required 391 Layout string `protobuf:"bytes,2,opt,name=layout,proto3" json:"layout,omitempty"` // (optional) 392 AudioOnly bool `protobuf:"varint,3,opt,name=audio_only,json=audioOnly,proto3" json:"audio_only,omitempty"` // (default false) 393 VideoOnly bool `protobuf:"varint,4,opt,name=video_only,json=videoOnly,proto3" json:"video_only,omitempty"` // (default false) 394 CustomBaseUrl string `protobuf:"bytes,5,opt,name=custom_base_url,json=customBaseUrl,proto3" json:"custom_base_url,omitempty"` // template base url (default https://recorder.livekit.io) 395 // Types that are assignable to Output: 396 // 397 // *RoomCompositeEgressRequest_File 398 // *RoomCompositeEgressRequest_Stream 399 // *RoomCompositeEgressRequest_Segments 400 Output isRoomCompositeEgressRequest_Output `protobuf_oneof:"output"` 401 // Types that are assignable to Options: 402 // 403 // *RoomCompositeEgressRequest_Preset 404 // *RoomCompositeEgressRequest_Advanced 405 Options isRoomCompositeEgressRequest_Options `protobuf_oneof:"options"` 406 FileOutputs []*EncodedFileOutput `protobuf:"bytes,11,rep,name=file_outputs,json=fileOutputs,proto3" json:"file_outputs,omitempty"` 407 StreamOutputs []*StreamOutput `protobuf:"bytes,12,rep,name=stream_outputs,json=streamOutputs,proto3" json:"stream_outputs,omitempty"` 408 SegmentOutputs []*SegmentedFileOutput `protobuf:"bytes,13,rep,name=segment_outputs,json=segmentOutputs,proto3" json:"segment_outputs,omitempty"` 409 } 410 411 func (x *RoomCompositeEgressRequest) Reset() { 412 *x = RoomCompositeEgressRequest{} 413 if protoimpl.UnsafeEnabled { 414 mi := &file_livekit_egress_proto_msgTypes[0] 415 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 416 ms.StoreMessageInfo(mi) 417 } 418 } 419 420 func (x *RoomCompositeEgressRequest) String() string { 421 return protoimpl.X.MessageStringOf(x) 422 } 423 424 func (*RoomCompositeEgressRequest) ProtoMessage() {} 425 426 func (x *RoomCompositeEgressRequest) ProtoReflect() protoreflect.Message { 427 mi := &file_livekit_egress_proto_msgTypes[0] 428 if protoimpl.UnsafeEnabled && x != nil { 429 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 430 if ms.LoadMessageInfo() == nil { 431 ms.StoreMessageInfo(mi) 432 } 433 return ms 434 } 435 return mi.MessageOf(x) 436 } 437 438 // Deprecated: Use RoomCompositeEgressRequest.ProtoReflect.Descriptor instead. 439 func (*RoomCompositeEgressRequest) Descriptor() ([]byte, []int) { 440 return file_livekit_egress_proto_rawDescGZIP(), []int{0} 441 } 442 443 func (x *RoomCompositeEgressRequest) GetRoomName() string { 444 if x != nil { 445 return x.RoomName 446 } 447 return "" 448 } 449 450 func (x *RoomCompositeEgressRequest) GetLayout() string { 451 if x != nil { 452 return x.Layout 453 } 454 return "" 455 } 456 457 func (x *RoomCompositeEgressRequest) GetAudioOnly() bool { 458 if x != nil { 459 return x.AudioOnly 460 } 461 return false 462 } 463 464 func (x *RoomCompositeEgressRequest) GetVideoOnly() bool { 465 if x != nil { 466 return x.VideoOnly 467 } 468 return false 469 } 470 471 func (x *RoomCompositeEgressRequest) GetCustomBaseUrl() string { 472 if x != nil { 473 return x.CustomBaseUrl 474 } 475 return "" 476 } 477 478 func (m *RoomCompositeEgressRequest) GetOutput() isRoomCompositeEgressRequest_Output { 479 if m != nil { 480 return m.Output 481 } 482 return nil 483 } 484 485 // Deprecated: Marked as deprecated in livekit_egress.proto. 486 func (x *RoomCompositeEgressRequest) GetFile() *EncodedFileOutput { 487 if x, ok := x.GetOutput().(*RoomCompositeEgressRequest_File); ok { 488 return x.File 489 } 490 return nil 491 } 492 493 // Deprecated: Marked as deprecated in livekit_egress.proto. 494 func (x *RoomCompositeEgressRequest) GetStream() *StreamOutput { 495 if x, ok := x.GetOutput().(*RoomCompositeEgressRequest_Stream); ok { 496 return x.Stream 497 } 498 return nil 499 } 500 501 // Deprecated: Marked as deprecated in livekit_egress.proto. 502 func (x *RoomCompositeEgressRequest) GetSegments() *SegmentedFileOutput { 503 if x, ok := x.GetOutput().(*RoomCompositeEgressRequest_Segments); ok { 504 return x.Segments 505 } 506 return nil 507 } 508 509 func (m *RoomCompositeEgressRequest) GetOptions() isRoomCompositeEgressRequest_Options { 510 if m != nil { 511 return m.Options 512 } 513 return nil 514 } 515 516 func (x *RoomCompositeEgressRequest) GetPreset() EncodingOptionsPreset { 517 if x, ok := x.GetOptions().(*RoomCompositeEgressRequest_Preset); ok { 518 return x.Preset 519 } 520 return EncodingOptionsPreset_H264_720P_30 521 } 522 523 func (x *RoomCompositeEgressRequest) GetAdvanced() *EncodingOptions { 524 if x, ok := x.GetOptions().(*RoomCompositeEgressRequest_Advanced); ok { 525 return x.Advanced 526 } 527 return nil 528 } 529 530 func (x *RoomCompositeEgressRequest) GetFileOutputs() []*EncodedFileOutput { 531 if x != nil { 532 return x.FileOutputs 533 } 534 return nil 535 } 536 537 func (x *RoomCompositeEgressRequest) GetStreamOutputs() []*StreamOutput { 538 if x != nil { 539 return x.StreamOutputs 540 } 541 return nil 542 } 543 544 func (x *RoomCompositeEgressRequest) GetSegmentOutputs() []*SegmentedFileOutput { 545 if x != nil { 546 return x.SegmentOutputs 547 } 548 return nil 549 } 550 551 type isRoomCompositeEgressRequest_Output interface { 552 isRoomCompositeEgressRequest_Output() 553 } 554 555 type RoomCompositeEgressRequest_File struct { 556 // Deprecated: Marked as deprecated in livekit_egress.proto. 557 File *EncodedFileOutput `protobuf:"bytes,6,opt,name=file,proto3,oneof"` 558 } 559 560 type RoomCompositeEgressRequest_Stream struct { 561 // Deprecated: Marked as deprecated in livekit_egress.proto. 562 Stream *StreamOutput `protobuf:"bytes,7,opt,name=stream,proto3,oneof"` 563 } 564 565 type RoomCompositeEgressRequest_Segments struct { 566 // Deprecated: Marked as deprecated in livekit_egress.proto. 567 Segments *SegmentedFileOutput `protobuf:"bytes,10,opt,name=segments,proto3,oneof"` 568 } 569 570 func (*RoomCompositeEgressRequest_File) isRoomCompositeEgressRequest_Output() {} 571 572 func (*RoomCompositeEgressRequest_Stream) isRoomCompositeEgressRequest_Output() {} 573 574 func (*RoomCompositeEgressRequest_Segments) isRoomCompositeEgressRequest_Output() {} 575 576 type isRoomCompositeEgressRequest_Options interface { 577 isRoomCompositeEgressRequest_Options() 578 } 579 580 type RoomCompositeEgressRequest_Preset struct { 581 Preset EncodingOptionsPreset `protobuf:"varint,8,opt,name=preset,proto3,enum=livekit.EncodingOptionsPreset,oneof"` // (default H264_720P_30) 582 } 583 584 type RoomCompositeEgressRequest_Advanced struct { 585 Advanced *EncodingOptions `protobuf:"bytes,9,opt,name=advanced,proto3,oneof"` // (optional) 586 } 587 588 func (*RoomCompositeEgressRequest_Preset) isRoomCompositeEgressRequest_Options() {} 589 590 func (*RoomCompositeEgressRequest_Advanced) isRoomCompositeEgressRequest_Options() {} 591 592 // record any website 593 type WebEgressRequest struct { 594 state protoimpl.MessageState 595 sizeCache protoimpl.SizeCache 596 unknownFields protoimpl.UnknownFields 597 598 Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` 599 AudioOnly bool `protobuf:"varint,2,opt,name=audio_only,json=audioOnly,proto3" json:"audio_only,omitempty"` 600 VideoOnly bool `protobuf:"varint,3,opt,name=video_only,json=videoOnly,proto3" json:"video_only,omitempty"` 601 // Types that are assignable to Output: 602 // 603 // *WebEgressRequest_File 604 // *WebEgressRequest_Stream 605 // *WebEgressRequest_Segments 606 Output isWebEgressRequest_Output `protobuf_oneof:"output"` 607 // Types that are assignable to Options: 608 // 609 // *WebEgressRequest_Preset 610 // *WebEgressRequest_Advanced 611 Options isWebEgressRequest_Options `protobuf_oneof:"options"` 612 FileOutputs []*EncodedFileOutput `protobuf:"bytes,9,rep,name=file_outputs,json=fileOutputs,proto3" json:"file_outputs,omitempty"` 613 StreamOutputs []*StreamOutput `protobuf:"bytes,10,rep,name=stream_outputs,json=streamOutputs,proto3" json:"stream_outputs,omitempty"` 614 SegmentOutputs []*SegmentedFileOutput `protobuf:"bytes,11,rep,name=segment_outputs,json=segmentOutputs,proto3" json:"segment_outputs,omitempty"` 615 } 616 617 func (x *WebEgressRequest) Reset() { 618 *x = WebEgressRequest{} 619 if protoimpl.UnsafeEnabled { 620 mi := &file_livekit_egress_proto_msgTypes[1] 621 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 622 ms.StoreMessageInfo(mi) 623 } 624 } 625 626 func (x *WebEgressRequest) String() string { 627 return protoimpl.X.MessageStringOf(x) 628 } 629 630 func (*WebEgressRequest) ProtoMessage() {} 631 632 func (x *WebEgressRequest) ProtoReflect() protoreflect.Message { 633 mi := &file_livekit_egress_proto_msgTypes[1] 634 if protoimpl.UnsafeEnabled && x != nil { 635 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 636 if ms.LoadMessageInfo() == nil { 637 ms.StoreMessageInfo(mi) 638 } 639 return ms 640 } 641 return mi.MessageOf(x) 642 } 643 644 // Deprecated: Use WebEgressRequest.ProtoReflect.Descriptor instead. 645 func (*WebEgressRequest) Descriptor() ([]byte, []int) { 646 return file_livekit_egress_proto_rawDescGZIP(), []int{1} 647 } 648 649 func (x *WebEgressRequest) GetUrl() string { 650 if x != nil { 651 return x.Url 652 } 653 return "" 654 } 655 656 func (x *WebEgressRequest) GetAudioOnly() bool { 657 if x != nil { 658 return x.AudioOnly 659 } 660 return false 661 } 662 663 func (x *WebEgressRequest) GetVideoOnly() bool { 664 if x != nil { 665 return x.VideoOnly 666 } 667 return false 668 } 669 670 func (m *WebEgressRequest) GetOutput() isWebEgressRequest_Output { 671 if m != nil { 672 return m.Output 673 } 674 return nil 675 } 676 677 // Deprecated: Marked as deprecated in livekit_egress.proto. 678 func (x *WebEgressRequest) GetFile() *EncodedFileOutput { 679 if x, ok := x.GetOutput().(*WebEgressRequest_File); ok { 680 return x.File 681 } 682 return nil 683 } 684 685 // Deprecated: Marked as deprecated in livekit_egress.proto. 686 func (x *WebEgressRequest) GetStream() *StreamOutput { 687 if x, ok := x.GetOutput().(*WebEgressRequest_Stream); ok { 688 return x.Stream 689 } 690 return nil 691 } 692 693 // Deprecated: Marked as deprecated in livekit_egress.proto. 694 func (x *WebEgressRequest) GetSegments() *SegmentedFileOutput { 695 if x, ok := x.GetOutput().(*WebEgressRequest_Segments); ok { 696 return x.Segments 697 } 698 return nil 699 } 700 701 func (m *WebEgressRequest) GetOptions() isWebEgressRequest_Options { 702 if m != nil { 703 return m.Options 704 } 705 return nil 706 } 707 708 func (x *WebEgressRequest) GetPreset() EncodingOptionsPreset { 709 if x, ok := x.GetOptions().(*WebEgressRequest_Preset); ok { 710 return x.Preset 711 } 712 return EncodingOptionsPreset_H264_720P_30 713 } 714 715 func (x *WebEgressRequest) GetAdvanced() *EncodingOptions { 716 if x, ok := x.GetOptions().(*WebEgressRequest_Advanced); ok { 717 return x.Advanced 718 } 719 return nil 720 } 721 722 func (x *WebEgressRequest) GetFileOutputs() []*EncodedFileOutput { 723 if x != nil { 724 return x.FileOutputs 725 } 726 return nil 727 } 728 729 func (x *WebEgressRequest) GetStreamOutputs() []*StreamOutput { 730 if x != nil { 731 return x.StreamOutputs 732 } 733 return nil 734 } 735 736 func (x *WebEgressRequest) GetSegmentOutputs() []*SegmentedFileOutput { 737 if x != nil { 738 return x.SegmentOutputs 739 } 740 return nil 741 } 742 743 type isWebEgressRequest_Output interface { 744 isWebEgressRequest_Output() 745 } 746 747 type WebEgressRequest_File struct { 748 // Deprecated: Marked as deprecated in livekit_egress.proto. 749 File *EncodedFileOutput `protobuf:"bytes,4,opt,name=file,proto3,oneof"` 750 } 751 752 type WebEgressRequest_Stream struct { 753 // Deprecated: Marked as deprecated in livekit_egress.proto. 754 Stream *StreamOutput `protobuf:"bytes,5,opt,name=stream,proto3,oneof"` 755 } 756 757 type WebEgressRequest_Segments struct { 758 // Deprecated: Marked as deprecated in livekit_egress.proto. 759 Segments *SegmentedFileOutput `protobuf:"bytes,6,opt,name=segments,proto3,oneof"` 760 } 761 762 func (*WebEgressRequest_File) isWebEgressRequest_Output() {} 763 764 func (*WebEgressRequest_Stream) isWebEgressRequest_Output() {} 765 766 func (*WebEgressRequest_Segments) isWebEgressRequest_Output() {} 767 768 type isWebEgressRequest_Options interface { 769 isWebEgressRequest_Options() 770 } 771 772 type WebEgressRequest_Preset struct { 773 Preset EncodingOptionsPreset `protobuf:"varint,7,opt,name=preset,proto3,enum=livekit.EncodingOptionsPreset,oneof"` 774 } 775 776 type WebEgressRequest_Advanced struct { 777 Advanced *EncodingOptions `protobuf:"bytes,8,opt,name=advanced,proto3,oneof"` 778 } 779 780 func (*WebEgressRequest_Preset) isWebEgressRequest_Options() {} 781 782 func (*WebEgressRequest_Advanced) isWebEgressRequest_Options() {} 783 784 // containerize up to one audio and one video track 785 type TrackCompositeEgressRequest struct { 786 state protoimpl.MessageState 787 sizeCache protoimpl.SizeCache 788 unknownFields protoimpl.UnknownFields 789 790 RoomName string `protobuf:"bytes,1,opt,name=room_name,json=roomName,proto3" json:"room_name,omitempty"` // required 791 AudioTrackId string `protobuf:"bytes,2,opt,name=audio_track_id,json=audioTrackId,proto3" json:"audio_track_id,omitempty"` // (optional) 792 VideoTrackId string `protobuf:"bytes,3,opt,name=video_track_id,json=videoTrackId,proto3" json:"video_track_id,omitempty"` // (optional) 793 // Types that are assignable to Output: 794 // 795 // *TrackCompositeEgressRequest_File 796 // *TrackCompositeEgressRequest_Stream 797 // *TrackCompositeEgressRequest_Segments 798 Output isTrackCompositeEgressRequest_Output `protobuf_oneof:"output"` 799 // Types that are assignable to Options: 800 // 801 // *TrackCompositeEgressRequest_Preset 802 // *TrackCompositeEgressRequest_Advanced 803 Options isTrackCompositeEgressRequest_Options `protobuf_oneof:"options"` 804 FileOutputs []*EncodedFileOutput `protobuf:"bytes,11,rep,name=file_outputs,json=fileOutputs,proto3" json:"file_outputs,omitempty"` 805 StreamOutputs []*StreamOutput `protobuf:"bytes,12,rep,name=stream_outputs,json=streamOutputs,proto3" json:"stream_outputs,omitempty"` 806 SegmentOutputs []*SegmentedFileOutput `protobuf:"bytes,13,rep,name=segment_outputs,json=segmentOutputs,proto3" json:"segment_outputs,omitempty"` 807 } 808 809 func (x *TrackCompositeEgressRequest) Reset() { 810 *x = TrackCompositeEgressRequest{} 811 if protoimpl.UnsafeEnabled { 812 mi := &file_livekit_egress_proto_msgTypes[2] 813 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 814 ms.StoreMessageInfo(mi) 815 } 816 } 817 818 func (x *TrackCompositeEgressRequest) String() string { 819 return protoimpl.X.MessageStringOf(x) 820 } 821 822 func (*TrackCompositeEgressRequest) ProtoMessage() {} 823 824 func (x *TrackCompositeEgressRequest) ProtoReflect() protoreflect.Message { 825 mi := &file_livekit_egress_proto_msgTypes[2] 826 if protoimpl.UnsafeEnabled && x != nil { 827 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 828 if ms.LoadMessageInfo() == nil { 829 ms.StoreMessageInfo(mi) 830 } 831 return ms 832 } 833 return mi.MessageOf(x) 834 } 835 836 // Deprecated: Use TrackCompositeEgressRequest.ProtoReflect.Descriptor instead. 837 func (*TrackCompositeEgressRequest) Descriptor() ([]byte, []int) { 838 return file_livekit_egress_proto_rawDescGZIP(), []int{2} 839 } 840 841 func (x *TrackCompositeEgressRequest) GetRoomName() string { 842 if x != nil { 843 return x.RoomName 844 } 845 return "" 846 } 847 848 func (x *TrackCompositeEgressRequest) GetAudioTrackId() string { 849 if x != nil { 850 return x.AudioTrackId 851 } 852 return "" 853 } 854 855 func (x *TrackCompositeEgressRequest) GetVideoTrackId() string { 856 if x != nil { 857 return x.VideoTrackId 858 } 859 return "" 860 } 861 862 func (m *TrackCompositeEgressRequest) GetOutput() isTrackCompositeEgressRequest_Output { 863 if m != nil { 864 return m.Output 865 } 866 return nil 867 } 868 869 // Deprecated: Marked as deprecated in livekit_egress.proto. 870 func (x *TrackCompositeEgressRequest) GetFile() *EncodedFileOutput { 871 if x, ok := x.GetOutput().(*TrackCompositeEgressRequest_File); ok { 872 return x.File 873 } 874 return nil 875 } 876 877 // Deprecated: Marked as deprecated in livekit_egress.proto. 878 func (x *TrackCompositeEgressRequest) GetStream() *StreamOutput { 879 if x, ok := x.GetOutput().(*TrackCompositeEgressRequest_Stream); ok { 880 return x.Stream 881 } 882 return nil 883 } 884 885 // Deprecated: Marked as deprecated in livekit_egress.proto. 886 func (x *TrackCompositeEgressRequest) GetSegments() *SegmentedFileOutput { 887 if x, ok := x.GetOutput().(*TrackCompositeEgressRequest_Segments); ok { 888 return x.Segments 889 } 890 return nil 891 } 892 893 func (m *TrackCompositeEgressRequest) GetOptions() isTrackCompositeEgressRequest_Options { 894 if m != nil { 895 return m.Options 896 } 897 return nil 898 } 899 900 func (x *TrackCompositeEgressRequest) GetPreset() EncodingOptionsPreset { 901 if x, ok := x.GetOptions().(*TrackCompositeEgressRequest_Preset); ok { 902 return x.Preset 903 } 904 return EncodingOptionsPreset_H264_720P_30 905 } 906 907 func (x *TrackCompositeEgressRequest) GetAdvanced() *EncodingOptions { 908 if x, ok := x.GetOptions().(*TrackCompositeEgressRequest_Advanced); ok { 909 return x.Advanced 910 } 911 return nil 912 } 913 914 func (x *TrackCompositeEgressRequest) GetFileOutputs() []*EncodedFileOutput { 915 if x != nil { 916 return x.FileOutputs 917 } 918 return nil 919 } 920 921 func (x *TrackCompositeEgressRequest) GetStreamOutputs() []*StreamOutput { 922 if x != nil { 923 return x.StreamOutputs 924 } 925 return nil 926 } 927 928 func (x *TrackCompositeEgressRequest) GetSegmentOutputs() []*SegmentedFileOutput { 929 if x != nil { 930 return x.SegmentOutputs 931 } 932 return nil 933 } 934 935 type isTrackCompositeEgressRequest_Output interface { 936 isTrackCompositeEgressRequest_Output() 937 } 938 939 type TrackCompositeEgressRequest_File struct { 940 // Deprecated: Marked as deprecated in livekit_egress.proto. 941 File *EncodedFileOutput `protobuf:"bytes,4,opt,name=file,proto3,oneof"` 942 } 943 944 type TrackCompositeEgressRequest_Stream struct { 945 // Deprecated: Marked as deprecated in livekit_egress.proto. 946 Stream *StreamOutput `protobuf:"bytes,5,opt,name=stream,proto3,oneof"` 947 } 948 949 type TrackCompositeEgressRequest_Segments struct { 950 // Deprecated: Marked as deprecated in livekit_egress.proto. 951 Segments *SegmentedFileOutput `protobuf:"bytes,8,opt,name=segments,proto3,oneof"` 952 } 953 954 func (*TrackCompositeEgressRequest_File) isTrackCompositeEgressRequest_Output() {} 955 956 func (*TrackCompositeEgressRequest_Stream) isTrackCompositeEgressRequest_Output() {} 957 958 func (*TrackCompositeEgressRequest_Segments) isTrackCompositeEgressRequest_Output() {} 959 960 type isTrackCompositeEgressRequest_Options interface { 961 isTrackCompositeEgressRequest_Options() 962 } 963 964 type TrackCompositeEgressRequest_Preset struct { 965 Preset EncodingOptionsPreset `protobuf:"varint,6,opt,name=preset,proto3,enum=livekit.EncodingOptionsPreset,oneof"` // (default H264_720P_30) 966 } 967 968 type TrackCompositeEgressRequest_Advanced struct { 969 Advanced *EncodingOptions `protobuf:"bytes,7,opt,name=advanced,proto3,oneof"` // (optional) 970 } 971 972 func (*TrackCompositeEgressRequest_Preset) isTrackCompositeEgressRequest_Options() {} 973 974 func (*TrackCompositeEgressRequest_Advanced) isTrackCompositeEgressRequest_Options() {} 975 976 // record tracks individually, without transcoding 977 type TrackEgressRequest struct { 978 state protoimpl.MessageState 979 sizeCache protoimpl.SizeCache 980 unknownFields protoimpl.UnknownFields 981 982 RoomName string `protobuf:"bytes,1,opt,name=room_name,json=roomName,proto3" json:"room_name,omitempty"` // required 983 TrackId string `protobuf:"bytes,2,opt,name=track_id,json=trackId,proto3" json:"track_id,omitempty"` // required 984 // Types that are assignable to Output: 985 // 986 // *TrackEgressRequest_File 987 // *TrackEgressRequest_WebsocketUrl 988 Output isTrackEgressRequest_Output `protobuf_oneof:"output"` 989 } 990 991 func (x *TrackEgressRequest) Reset() { 992 *x = TrackEgressRequest{} 993 if protoimpl.UnsafeEnabled { 994 mi := &file_livekit_egress_proto_msgTypes[3] 995 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 996 ms.StoreMessageInfo(mi) 997 } 998 } 999 1000 func (x *TrackEgressRequest) String() string { 1001 return protoimpl.X.MessageStringOf(x) 1002 } 1003 1004 func (*TrackEgressRequest) ProtoMessage() {} 1005 1006 func (x *TrackEgressRequest) ProtoReflect() protoreflect.Message { 1007 mi := &file_livekit_egress_proto_msgTypes[3] 1008 if protoimpl.UnsafeEnabled && x != nil { 1009 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1010 if ms.LoadMessageInfo() == nil { 1011 ms.StoreMessageInfo(mi) 1012 } 1013 return ms 1014 } 1015 return mi.MessageOf(x) 1016 } 1017 1018 // Deprecated: Use TrackEgressRequest.ProtoReflect.Descriptor instead. 1019 func (*TrackEgressRequest) Descriptor() ([]byte, []int) { 1020 return file_livekit_egress_proto_rawDescGZIP(), []int{3} 1021 } 1022 1023 func (x *TrackEgressRequest) GetRoomName() string { 1024 if x != nil { 1025 return x.RoomName 1026 } 1027 return "" 1028 } 1029 1030 func (x *TrackEgressRequest) GetTrackId() string { 1031 if x != nil { 1032 return x.TrackId 1033 } 1034 return "" 1035 } 1036 1037 func (m *TrackEgressRequest) GetOutput() isTrackEgressRequest_Output { 1038 if m != nil { 1039 return m.Output 1040 } 1041 return nil 1042 } 1043 1044 func (x *TrackEgressRequest) GetFile() *DirectFileOutput { 1045 if x, ok := x.GetOutput().(*TrackEgressRequest_File); ok { 1046 return x.File 1047 } 1048 return nil 1049 } 1050 1051 func (x *TrackEgressRequest) GetWebsocketUrl() string { 1052 if x, ok := x.GetOutput().(*TrackEgressRequest_WebsocketUrl); ok { 1053 return x.WebsocketUrl 1054 } 1055 return "" 1056 } 1057 1058 type isTrackEgressRequest_Output interface { 1059 isTrackEgressRequest_Output() 1060 } 1061 1062 type TrackEgressRequest_File struct { 1063 File *DirectFileOutput `protobuf:"bytes,3,opt,name=file,proto3,oneof"` 1064 } 1065 1066 type TrackEgressRequest_WebsocketUrl struct { 1067 WebsocketUrl string `protobuf:"bytes,4,opt,name=websocket_url,json=websocketUrl,proto3,oneof"` 1068 } 1069 1070 func (*TrackEgressRequest_File) isTrackEgressRequest_Output() {} 1071 1072 func (*TrackEgressRequest_WebsocketUrl) isTrackEgressRequest_Output() {} 1073 1074 type EncodedFileOutput struct { 1075 state protoimpl.MessageState 1076 sizeCache protoimpl.SizeCache 1077 unknownFields protoimpl.UnknownFields 1078 1079 FileType EncodedFileType `protobuf:"varint,1,opt,name=file_type,json=fileType,proto3,enum=livekit.EncodedFileType" json:"file_type,omitempty"` // (optional) 1080 Filepath string `protobuf:"bytes,2,opt,name=filepath,proto3" json:"filepath,omitempty"` // see egress docs for templating (default {room_name}-{time}) 1081 DisableManifest bool `protobuf:"varint,6,opt,name=disable_manifest,json=disableManifest,proto3" json:"disable_manifest,omitempty"` // disable upload of manifest file (default false) 1082 // Types that are assignable to Output: 1083 // 1084 // *EncodedFileOutput_S3 1085 // *EncodedFileOutput_Gcp 1086 // *EncodedFileOutput_Azure 1087 // *EncodedFileOutput_AliOSS 1088 Output isEncodedFileOutput_Output `protobuf_oneof:"output"` 1089 } 1090 1091 func (x *EncodedFileOutput) Reset() { 1092 *x = EncodedFileOutput{} 1093 if protoimpl.UnsafeEnabled { 1094 mi := &file_livekit_egress_proto_msgTypes[4] 1095 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1096 ms.StoreMessageInfo(mi) 1097 } 1098 } 1099 1100 func (x *EncodedFileOutput) String() string { 1101 return protoimpl.X.MessageStringOf(x) 1102 } 1103 1104 func (*EncodedFileOutput) ProtoMessage() {} 1105 1106 func (x *EncodedFileOutput) ProtoReflect() protoreflect.Message { 1107 mi := &file_livekit_egress_proto_msgTypes[4] 1108 if protoimpl.UnsafeEnabled && x != nil { 1109 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1110 if ms.LoadMessageInfo() == nil { 1111 ms.StoreMessageInfo(mi) 1112 } 1113 return ms 1114 } 1115 return mi.MessageOf(x) 1116 } 1117 1118 // Deprecated: Use EncodedFileOutput.ProtoReflect.Descriptor instead. 1119 func (*EncodedFileOutput) Descriptor() ([]byte, []int) { 1120 return file_livekit_egress_proto_rawDescGZIP(), []int{4} 1121 } 1122 1123 func (x *EncodedFileOutput) GetFileType() EncodedFileType { 1124 if x != nil { 1125 return x.FileType 1126 } 1127 return EncodedFileType_DEFAULT_FILETYPE 1128 } 1129 1130 func (x *EncodedFileOutput) GetFilepath() string { 1131 if x != nil { 1132 return x.Filepath 1133 } 1134 return "" 1135 } 1136 1137 func (x *EncodedFileOutput) GetDisableManifest() bool { 1138 if x != nil { 1139 return x.DisableManifest 1140 } 1141 return false 1142 } 1143 1144 func (m *EncodedFileOutput) GetOutput() isEncodedFileOutput_Output { 1145 if m != nil { 1146 return m.Output 1147 } 1148 return nil 1149 } 1150 1151 func (x *EncodedFileOutput) GetS3() *S3Upload { 1152 if x, ok := x.GetOutput().(*EncodedFileOutput_S3); ok { 1153 return x.S3 1154 } 1155 return nil 1156 } 1157 1158 func (x *EncodedFileOutput) GetGcp() *GCPUpload { 1159 if x, ok := x.GetOutput().(*EncodedFileOutput_Gcp); ok { 1160 return x.Gcp 1161 } 1162 return nil 1163 } 1164 1165 func (x *EncodedFileOutput) GetAzure() *AzureBlobUpload { 1166 if x, ok := x.GetOutput().(*EncodedFileOutput_Azure); ok { 1167 return x.Azure 1168 } 1169 return nil 1170 } 1171 1172 func (x *EncodedFileOutput) GetAliOSS() *AliOSSUpload { 1173 if x, ok := x.GetOutput().(*EncodedFileOutput_AliOSS); ok { 1174 return x.AliOSS 1175 } 1176 return nil 1177 } 1178 1179 type isEncodedFileOutput_Output interface { 1180 isEncodedFileOutput_Output() 1181 } 1182 1183 type EncodedFileOutput_S3 struct { 1184 S3 *S3Upload `protobuf:"bytes,3,opt,name=s3,proto3,oneof"` 1185 } 1186 1187 type EncodedFileOutput_Gcp struct { 1188 Gcp *GCPUpload `protobuf:"bytes,4,opt,name=gcp,proto3,oneof"` 1189 } 1190 1191 type EncodedFileOutput_Azure struct { 1192 Azure *AzureBlobUpload `protobuf:"bytes,5,opt,name=azure,proto3,oneof"` 1193 } 1194 1195 type EncodedFileOutput_AliOSS struct { 1196 AliOSS *AliOSSUpload `protobuf:"bytes,7,opt,name=aliOSS,proto3,oneof"` 1197 } 1198 1199 func (*EncodedFileOutput_S3) isEncodedFileOutput_Output() {} 1200 1201 func (*EncodedFileOutput_Gcp) isEncodedFileOutput_Output() {} 1202 1203 func (*EncodedFileOutput_Azure) isEncodedFileOutput_Output() {} 1204 1205 func (*EncodedFileOutput_AliOSS) isEncodedFileOutput_Output() {} 1206 1207 // Used to generate HLS segments or other kind of segmented output 1208 type SegmentedFileOutput struct { 1209 state protoimpl.MessageState 1210 sizeCache protoimpl.SizeCache 1211 unknownFields protoimpl.UnknownFields 1212 1213 Protocol SegmentedFileProtocol `protobuf:"varint,1,opt,name=protocol,proto3,enum=livekit.SegmentedFileProtocol" json:"protocol,omitempty"` // (optional) 1214 FilenamePrefix string `protobuf:"bytes,2,opt,name=filename_prefix,json=filenamePrefix,proto3" json:"filename_prefix,omitempty"` // (optional) 1215 PlaylistName string `protobuf:"bytes,3,opt,name=playlist_name,json=playlistName,proto3" json:"playlist_name,omitempty"` // (optional) 1216 SegmentDuration uint32 `protobuf:"varint,4,opt,name=segment_duration,json=segmentDuration,proto3" json:"segment_duration,omitempty"` // in seconds (optional) 1217 FilenameSuffix SegmentedFileSuffix `protobuf:"varint,10,opt,name=filename_suffix,json=filenameSuffix,proto3,enum=livekit.SegmentedFileSuffix" json:"filename_suffix,omitempty"` // (optional, default INDEX) 1218 DisableManifest bool `protobuf:"varint,8,opt,name=disable_manifest,json=disableManifest,proto3" json:"disable_manifest,omitempty"` // disable upload of manifest file (default false) 1219 // Types that are assignable to Output: 1220 // 1221 // *SegmentedFileOutput_S3 1222 // *SegmentedFileOutput_Gcp 1223 // *SegmentedFileOutput_Azure 1224 // *SegmentedFileOutput_AliOSS 1225 Output isSegmentedFileOutput_Output `protobuf_oneof:"output"` 1226 } 1227 1228 func (x *SegmentedFileOutput) Reset() { 1229 *x = SegmentedFileOutput{} 1230 if protoimpl.UnsafeEnabled { 1231 mi := &file_livekit_egress_proto_msgTypes[5] 1232 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1233 ms.StoreMessageInfo(mi) 1234 } 1235 } 1236 1237 func (x *SegmentedFileOutput) String() string { 1238 return protoimpl.X.MessageStringOf(x) 1239 } 1240 1241 func (*SegmentedFileOutput) ProtoMessage() {} 1242 1243 func (x *SegmentedFileOutput) ProtoReflect() protoreflect.Message { 1244 mi := &file_livekit_egress_proto_msgTypes[5] 1245 if protoimpl.UnsafeEnabled && x != nil { 1246 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1247 if ms.LoadMessageInfo() == nil { 1248 ms.StoreMessageInfo(mi) 1249 } 1250 return ms 1251 } 1252 return mi.MessageOf(x) 1253 } 1254 1255 // Deprecated: Use SegmentedFileOutput.ProtoReflect.Descriptor instead. 1256 func (*SegmentedFileOutput) Descriptor() ([]byte, []int) { 1257 return file_livekit_egress_proto_rawDescGZIP(), []int{5} 1258 } 1259 1260 func (x *SegmentedFileOutput) GetProtocol() SegmentedFileProtocol { 1261 if x != nil { 1262 return x.Protocol 1263 } 1264 return SegmentedFileProtocol_DEFAULT_SEGMENTED_FILE_PROTOCOL 1265 } 1266 1267 func (x *SegmentedFileOutput) GetFilenamePrefix() string { 1268 if x != nil { 1269 return x.FilenamePrefix 1270 } 1271 return "" 1272 } 1273 1274 func (x *SegmentedFileOutput) GetPlaylistName() string { 1275 if x != nil { 1276 return x.PlaylistName 1277 } 1278 return "" 1279 } 1280 1281 func (x *SegmentedFileOutput) GetSegmentDuration() uint32 { 1282 if x != nil { 1283 return x.SegmentDuration 1284 } 1285 return 0 1286 } 1287 1288 func (x *SegmentedFileOutput) GetFilenameSuffix() SegmentedFileSuffix { 1289 if x != nil { 1290 return x.FilenameSuffix 1291 } 1292 return SegmentedFileSuffix_INDEX 1293 } 1294 1295 func (x *SegmentedFileOutput) GetDisableManifest() bool { 1296 if x != nil { 1297 return x.DisableManifest 1298 } 1299 return false 1300 } 1301 1302 func (m *SegmentedFileOutput) GetOutput() isSegmentedFileOutput_Output { 1303 if m != nil { 1304 return m.Output 1305 } 1306 return nil 1307 } 1308 1309 func (x *SegmentedFileOutput) GetS3() *S3Upload { 1310 if x, ok := x.GetOutput().(*SegmentedFileOutput_S3); ok { 1311 return x.S3 1312 } 1313 return nil 1314 } 1315 1316 func (x *SegmentedFileOutput) GetGcp() *GCPUpload { 1317 if x, ok := x.GetOutput().(*SegmentedFileOutput_Gcp); ok { 1318 return x.Gcp 1319 } 1320 return nil 1321 } 1322 1323 func (x *SegmentedFileOutput) GetAzure() *AzureBlobUpload { 1324 if x, ok := x.GetOutput().(*SegmentedFileOutput_Azure); ok { 1325 return x.Azure 1326 } 1327 return nil 1328 } 1329 1330 func (x *SegmentedFileOutput) GetAliOSS() *AliOSSUpload { 1331 if x, ok := x.GetOutput().(*SegmentedFileOutput_AliOSS); ok { 1332 return x.AliOSS 1333 } 1334 return nil 1335 } 1336 1337 type isSegmentedFileOutput_Output interface { 1338 isSegmentedFileOutput_Output() 1339 } 1340 1341 type SegmentedFileOutput_S3 struct { 1342 S3 *S3Upload `protobuf:"bytes,5,opt,name=s3,proto3,oneof"` 1343 } 1344 1345 type SegmentedFileOutput_Gcp struct { 1346 Gcp *GCPUpload `protobuf:"bytes,6,opt,name=gcp,proto3,oneof"` 1347 } 1348 1349 type SegmentedFileOutput_Azure struct { 1350 Azure *AzureBlobUpload `protobuf:"bytes,7,opt,name=azure,proto3,oneof"` 1351 } 1352 1353 type SegmentedFileOutput_AliOSS struct { 1354 AliOSS *AliOSSUpload `protobuf:"bytes,9,opt,name=aliOSS,proto3,oneof"` 1355 } 1356 1357 func (*SegmentedFileOutput_S3) isSegmentedFileOutput_Output() {} 1358 1359 func (*SegmentedFileOutput_Gcp) isSegmentedFileOutput_Output() {} 1360 1361 func (*SegmentedFileOutput_Azure) isSegmentedFileOutput_Output() {} 1362 1363 func (*SegmentedFileOutput_AliOSS) isSegmentedFileOutput_Output() {} 1364 1365 type DirectFileOutput struct { 1366 state protoimpl.MessageState 1367 sizeCache protoimpl.SizeCache 1368 unknownFields protoimpl.UnknownFields 1369 1370 Filepath string `protobuf:"bytes,1,opt,name=filepath,proto3" json:"filepath,omitempty"` // see egress docs for templating (default {track_id}-{time}) 1371 DisableManifest bool `protobuf:"varint,5,opt,name=disable_manifest,json=disableManifest,proto3" json:"disable_manifest,omitempty"` // disable upload of manifest file (default false) 1372 // Types that are assignable to Output: 1373 // 1374 // *DirectFileOutput_S3 1375 // *DirectFileOutput_Gcp 1376 // *DirectFileOutput_Azure 1377 // *DirectFileOutput_AliOSS 1378 Output isDirectFileOutput_Output `protobuf_oneof:"output"` 1379 } 1380 1381 func (x *DirectFileOutput) Reset() { 1382 *x = DirectFileOutput{} 1383 if protoimpl.UnsafeEnabled { 1384 mi := &file_livekit_egress_proto_msgTypes[6] 1385 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1386 ms.StoreMessageInfo(mi) 1387 } 1388 } 1389 1390 func (x *DirectFileOutput) String() string { 1391 return protoimpl.X.MessageStringOf(x) 1392 } 1393 1394 func (*DirectFileOutput) ProtoMessage() {} 1395 1396 func (x *DirectFileOutput) ProtoReflect() protoreflect.Message { 1397 mi := &file_livekit_egress_proto_msgTypes[6] 1398 if protoimpl.UnsafeEnabled && x != nil { 1399 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1400 if ms.LoadMessageInfo() == nil { 1401 ms.StoreMessageInfo(mi) 1402 } 1403 return ms 1404 } 1405 return mi.MessageOf(x) 1406 } 1407 1408 // Deprecated: Use DirectFileOutput.ProtoReflect.Descriptor instead. 1409 func (*DirectFileOutput) Descriptor() ([]byte, []int) { 1410 return file_livekit_egress_proto_rawDescGZIP(), []int{6} 1411 } 1412 1413 func (x *DirectFileOutput) GetFilepath() string { 1414 if x != nil { 1415 return x.Filepath 1416 } 1417 return "" 1418 } 1419 1420 func (x *DirectFileOutput) GetDisableManifest() bool { 1421 if x != nil { 1422 return x.DisableManifest 1423 } 1424 return false 1425 } 1426 1427 func (m *DirectFileOutput) GetOutput() isDirectFileOutput_Output { 1428 if m != nil { 1429 return m.Output 1430 } 1431 return nil 1432 } 1433 1434 func (x *DirectFileOutput) GetS3() *S3Upload { 1435 if x, ok := x.GetOutput().(*DirectFileOutput_S3); ok { 1436 return x.S3 1437 } 1438 return nil 1439 } 1440 1441 func (x *DirectFileOutput) GetGcp() *GCPUpload { 1442 if x, ok := x.GetOutput().(*DirectFileOutput_Gcp); ok { 1443 return x.Gcp 1444 } 1445 return nil 1446 } 1447 1448 func (x *DirectFileOutput) GetAzure() *AzureBlobUpload { 1449 if x, ok := x.GetOutput().(*DirectFileOutput_Azure); ok { 1450 return x.Azure 1451 } 1452 return nil 1453 } 1454 1455 func (x *DirectFileOutput) GetAliOSS() *AliOSSUpload { 1456 if x, ok := x.GetOutput().(*DirectFileOutput_AliOSS); ok { 1457 return x.AliOSS 1458 } 1459 return nil 1460 } 1461 1462 type isDirectFileOutput_Output interface { 1463 isDirectFileOutput_Output() 1464 } 1465 1466 type DirectFileOutput_S3 struct { 1467 S3 *S3Upload `protobuf:"bytes,2,opt,name=s3,proto3,oneof"` 1468 } 1469 1470 type DirectFileOutput_Gcp struct { 1471 Gcp *GCPUpload `protobuf:"bytes,3,opt,name=gcp,proto3,oneof"` 1472 } 1473 1474 type DirectFileOutput_Azure struct { 1475 Azure *AzureBlobUpload `protobuf:"bytes,4,opt,name=azure,proto3,oneof"` 1476 } 1477 1478 type DirectFileOutput_AliOSS struct { 1479 AliOSS *AliOSSUpload `protobuf:"bytes,6,opt,name=aliOSS,proto3,oneof"` 1480 } 1481 1482 func (*DirectFileOutput_S3) isDirectFileOutput_Output() {} 1483 1484 func (*DirectFileOutput_Gcp) isDirectFileOutput_Output() {} 1485 1486 func (*DirectFileOutput_Azure) isDirectFileOutput_Output() {} 1487 1488 func (*DirectFileOutput_AliOSS) isDirectFileOutput_Output() {} 1489 1490 type S3Upload struct { 1491 state protoimpl.MessageState 1492 sizeCache protoimpl.SizeCache 1493 unknownFields protoimpl.UnknownFields 1494 1495 AccessKey string `protobuf:"bytes,1,opt,name=access_key,json=accessKey,proto3" json:"access_key,omitempty"` 1496 Secret string `protobuf:"bytes,2,opt,name=secret,proto3" json:"secret,omitempty"` 1497 Region string `protobuf:"bytes,3,opt,name=region,proto3" json:"region,omitempty"` 1498 Endpoint string `protobuf:"bytes,4,opt,name=endpoint,proto3" json:"endpoint,omitempty"` 1499 Bucket string `protobuf:"bytes,5,opt,name=bucket,proto3" json:"bucket,omitempty"` 1500 ForcePathStyle bool `protobuf:"varint,6,opt,name=force_path_style,json=forcePathStyle,proto3" json:"force_path_style,omitempty"` 1501 Metadata map[string]string `protobuf:"bytes,7,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 1502 Tagging string `protobuf:"bytes,8,opt,name=tagging,proto3" json:"tagging,omitempty"` 1503 } 1504 1505 func (x *S3Upload) Reset() { 1506 *x = S3Upload{} 1507 if protoimpl.UnsafeEnabled { 1508 mi := &file_livekit_egress_proto_msgTypes[7] 1509 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1510 ms.StoreMessageInfo(mi) 1511 } 1512 } 1513 1514 func (x *S3Upload) String() string { 1515 return protoimpl.X.MessageStringOf(x) 1516 } 1517 1518 func (*S3Upload) ProtoMessage() {} 1519 1520 func (x *S3Upload) ProtoReflect() protoreflect.Message { 1521 mi := &file_livekit_egress_proto_msgTypes[7] 1522 if protoimpl.UnsafeEnabled && x != nil { 1523 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1524 if ms.LoadMessageInfo() == nil { 1525 ms.StoreMessageInfo(mi) 1526 } 1527 return ms 1528 } 1529 return mi.MessageOf(x) 1530 } 1531 1532 // Deprecated: Use S3Upload.ProtoReflect.Descriptor instead. 1533 func (*S3Upload) Descriptor() ([]byte, []int) { 1534 return file_livekit_egress_proto_rawDescGZIP(), []int{7} 1535 } 1536 1537 func (x *S3Upload) GetAccessKey() string { 1538 if x != nil { 1539 return x.AccessKey 1540 } 1541 return "" 1542 } 1543 1544 func (x *S3Upload) GetSecret() string { 1545 if x != nil { 1546 return x.Secret 1547 } 1548 return "" 1549 } 1550 1551 func (x *S3Upload) GetRegion() string { 1552 if x != nil { 1553 return x.Region 1554 } 1555 return "" 1556 } 1557 1558 func (x *S3Upload) GetEndpoint() string { 1559 if x != nil { 1560 return x.Endpoint 1561 } 1562 return "" 1563 } 1564 1565 func (x *S3Upload) GetBucket() string { 1566 if x != nil { 1567 return x.Bucket 1568 } 1569 return "" 1570 } 1571 1572 func (x *S3Upload) GetForcePathStyle() bool { 1573 if x != nil { 1574 return x.ForcePathStyle 1575 } 1576 return false 1577 } 1578 1579 func (x *S3Upload) GetMetadata() map[string]string { 1580 if x != nil { 1581 return x.Metadata 1582 } 1583 return nil 1584 } 1585 1586 func (x *S3Upload) GetTagging() string { 1587 if x != nil { 1588 return x.Tagging 1589 } 1590 return "" 1591 } 1592 1593 type GCPUpload struct { 1594 state protoimpl.MessageState 1595 sizeCache protoimpl.SizeCache 1596 unknownFields protoimpl.UnknownFields 1597 1598 Credentials string `protobuf:"bytes,1,opt,name=credentials,proto3" json:"credentials,omitempty"` 1599 Bucket string `protobuf:"bytes,2,opt,name=bucket,proto3" json:"bucket,omitempty"` 1600 } 1601 1602 func (x *GCPUpload) Reset() { 1603 *x = GCPUpload{} 1604 if protoimpl.UnsafeEnabled { 1605 mi := &file_livekit_egress_proto_msgTypes[8] 1606 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1607 ms.StoreMessageInfo(mi) 1608 } 1609 } 1610 1611 func (x *GCPUpload) String() string { 1612 return protoimpl.X.MessageStringOf(x) 1613 } 1614 1615 func (*GCPUpload) ProtoMessage() {} 1616 1617 func (x *GCPUpload) ProtoReflect() protoreflect.Message { 1618 mi := &file_livekit_egress_proto_msgTypes[8] 1619 if protoimpl.UnsafeEnabled && x != nil { 1620 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1621 if ms.LoadMessageInfo() == nil { 1622 ms.StoreMessageInfo(mi) 1623 } 1624 return ms 1625 } 1626 return mi.MessageOf(x) 1627 } 1628 1629 // Deprecated: Use GCPUpload.ProtoReflect.Descriptor instead. 1630 func (*GCPUpload) Descriptor() ([]byte, []int) { 1631 return file_livekit_egress_proto_rawDescGZIP(), []int{8} 1632 } 1633 1634 func (x *GCPUpload) GetCredentials() string { 1635 if x != nil { 1636 return x.Credentials 1637 } 1638 return "" 1639 } 1640 1641 func (x *GCPUpload) GetBucket() string { 1642 if x != nil { 1643 return x.Bucket 1644 } 1645 return "" 1646 } 1647 1648 type AzureBlobUpload struct { 1649 state protoimpl.MessageState 1650 sizeCache protoimpl.SizeCache 1651 unknownFields protoimpl.UnknownFields 1652 1653 AccountName string `protobuf:"bytes,1,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` 1654 AccountKey string `protobuf:"bytes,2,opt,name=account_key,json=accountKey,proto3" json:"account_key,omitempty"` 1655 ContainerName string `protobuf:"bytes,3,opt,name=container_name,json=containerName,proto3" json:"container_name,omitempty"` 1656 } 1657 1658 func (x *AzureBlobUpload) Reset() { 1659 *x = AzureBlobUpload{} 1660 if protoimpl.UnsafeEnabled { 1661 mi := &file_livekit_egress_proto_msgTypes[9] 1662 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1663 ms.StoreMessageInfo(mi) 1664 } 1665 } 1666 1667 func (x *AzureBlobUpload) String() string { 1668 return protoimpl.X.MessageStringOf(x) 1669 } 1670 1671 func (*AzureBlobUpload) ProtoMessage() {} 1672 1673 func (x *AzureBlobUpload) ProtoReflect() protoreflect.Message { 1674 mi := &file_livekit_egress_proto_msgTypes[9] 1675 if protoimpl.UnsafeEnabled && x != nil { 1676 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1677 if ms.LoadMessageInfo() == nil { 1678 ms.StoreMessageInfo(mi) 1679 } 1680 return ms 1681 } 1682 return mi.MessageOf(x) 1683 } 1684 1685 // Deprecated: Use AzureBlobUpload.ProtoReflect.Descriptor instead. 1686 func (*AzureBlobUpload) Descriptor() ([]byte, []int) { 1687 return file_livekit_egress_proto_rawDescGZIP(), []int{9} 1688 } 1689 1690 func (x *AzureBlobUpload) GetAccountName() string { 1691 if x != nil { 1692 return x.AccountName 1693 } 1694 return "" 1695 } 1696 1697 func (x *AzureBlobUpload) GetAccountKey() string { 1698 if x != nil { 1699 return x.AccountKey 1700 } 1701 return "" 1702 } 1703 1704 func (x *AzureBlobUpload) GetContainerName() string { 1705 if x != nil { 1706 return x.ContainerName 1707 } 1708 return "" 1709 } 1710 1711 type AliOSSUpload struct { 1712 state protoimpl.MessageState 1713 sizeCache protoimpl.SizeCache 1714 unknownFields protoimpl.UnknownFields 1715 1716 AccessKey string `protobuf:"bytes,1,opt,name=access_key,json=accessKey,proto3" json:"access_key,omitempty"` 1717 Secret string `protobuf:"bytes,2,opt,name=secret,proto3" json:"secret,omitempty"` 1718 Region string `protobuf:"bytes,3,opt,name=region,proto3" json:"region,omitempty"` 1719 Endpoint string `protobuf:"bytes,4,opt,name=endpoint,proto3" json:"endpoint,omitempty"` 1720 Bucket string `protobuf:"bytes,5,opt,name=bucket,proto3" json:"bucket,omitempty"` 1721 } 1722 1723 func (x *AliOSSUpload) Reset() { 1724 *x = AliOSSUpload{} 1725 if protoimpl.UnsafeEnabled { 1726 mi := &file_livekit_egress_proto_msgTypes[10] 1727 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1728 ms.StoreMessageInfo(mi) 1729 } 1730 } 1731 1732 func (x *AliOSSUpload) String() string { 1733 return protoimpl.X.MessageStringOf(x) 1734 } 1735 1736 func (*AliOSSUpload) ProtoMessage() {} 1737 1738 func (x *AliOSSUpload) ProtoReflect() protoreflect.Message { 1739 mi := &file_livekit_egress_proto_msgTypes[10] 1740 if protoimpl.UnsafeEnabled && x != nil { 1741 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1742 if ms.LoadMessageInfo() == nil { 1743 ms.StoreMessageInfo(mi) 1744 } 1745 return ms 1746 } 1747 return mi.MessageOf(x) 1748 } 1749 1750 // Deprecated: Use AliOSSUpload.ProtoReflect.Descriptor instead. 1751 func (*AliOSSUpload) Descriptor() ([]byte, []int) { 1752 return file_livekit_egress_proto_rawDescGZIP(), []int{10} 1753 } 1754 1755 func (x *AliOSSUpload) GetAccessKey() string { 1756 if x != nil { 1757 return x.AccessKey 1758 } 1759 return "" 1760 } 1761 1762 func (x *AliOSSUpload) GetSecret() string { 1763 if x != nil { 1764 return x.Secret 1765 } 1766 return "" 1767 } 1768 1769 func (x *AliOSSUpload) GetRegion() string { 1770 if x != nil { 1771 return x.Region 1772 } 1773 return "" 1774 } 1775 1776 func (x *AliOSSUpload) GetEndpoint() string { 1777 if x != nil { 1778 return x.Endpoint 1779 } 1780 return "" 1781 } 1782 1783 func (x *AliOSSUpload) GetBucket() string { 1784 if x != nil { 1785 return x.Bucket 1786 } 1787 return "" 1788 } 1789 1790 type StreamOutput struct { 1791 state protoimpl.MessageState 1792 sizeCache protoimpl.SizeCache 1793 unknownFields protoimpl.UnknownFields 1794 1795 Protocol StreamProtocol `protobuf:"varint,1,opt,name=protocol,proto3,enum=livekit.StreamProtocol" json:"protocol,omitempty"` // required 1796 Urls []string `protobuf:"bytes,2,rep,name=urls,proto3" json:"urls,omitempty"` // required 1797 } 1798 1799 func (x *StreamOutput) Reset() { 1800 *x = StreamOutput{} 1801 if protoimpl.UnsafeEnabled { 1802 mi := &file_livekit_egress_proto_msgTypes[11] 1803 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1804 ms.StoreMessageInfo(mi) 1805 } 1806 } 1807 1808 func (x *StreamOutput) String() string { 1809 return protoimpl.X.MessageStringOf(x) 1810 } 1811 1812 func (*StreamOutput) ProtoMessage() {} 1813 1814 func (x *StreamOutput) ProtoReflect() protoreflect.Message { 1815 mi := &file_livekit_egress_proto_msgTypes[11] 1816 if protoimpl.UnsafeEnabled && x != nil { 1817 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1818 if ms.LoadMessageInfo() == nil { 1819 ms.StoreMessageInfo(mi) 1820 } 1821 return ms 1822 } 1823 return mi.MessageOf(x) 1824 } 1825 1826 // Deprecated: Use StreamOutput.ProtoReflect.Descriptor instead. 1827 func (*StreamOutput) Descriptor() ([]byte, []int) { 1828 return file_livekit_egress_proto_rawDescGZIP(), []int{11} 1829 } 1830 1831 func (x *StreamOutput) GetProtocol() StreamProtocol { 1832 if x != nil { 1833 return x.Protocol 1834 } 1835 return StreamProtocol_DEFAULT_PROTOCOL 1836 } 1837 1838 func (x *StreamOutput) GetUrls() []string { 1839 if x != nil { 1840 return x.Urls 1841 } 1842 return nil 1843 } 1844 1845 type EncodingOptions struct { 1846 state protoimpl.MessageState 1847 sizeCache protoimpl.SizeCache 1848 unknownFields protoimpl.UnknownFields 1849 1850 Width int32 `protobuf:"varint,1,opt,name=width,proto3" json:"width,omitempty"` // (default 1920) 1851 Height int32 `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"` // (default 1080) 1852 Depth int32 `protobuf:"varint,3,opt,name=depth,proto3" json:"depth,omitempty"` // (default 24) 1853 Framerate int32 `protobuf:"varint,4,opt,name=framerate,proto3" json:"framerate,omitempty"` // (default 30) 1854 AudioCodec AudioCodec `protobuf:"varint,5,opt,name=audio_codec,json=audioCodec,proto3,enum=livekit.AudioCodec" json:"audio_codec,omitempty"` // (default OPUS) 1855 AudioBitrate int32 `protobuf:"varint,6,opt,name=audio_bitrate,json=audioBitrate,proto3" json:"audio_bitrate,omitempty"` // (default 128) 1856 AudioFrequency int32 `protobuf:"varint,7,opt,name=audio_frequency,json=audioFrequency,proto3" json:"audio_frequency,omitempty"` // (default 44100) 1857 VideoCodec VideoCodec `protobuf:"varint,8,opt,name=video_codec,json=videoCodec,proto3,enum=livekit.VideoCodec" json:"video_codec,omitempty"` // (default H264_MAIN) 1858 VideoBitrate int32 `protobuf:"varint,9,opt,name=video_bitrate,json=videoBitrate,proto3" json:"video_bitrate,omitempty"` // (default 4500) 1859 KeyFrameInterval float64 `protobuf:"fixed64,10,opt,name=key_frame_interval,json=keyFrameInterval,proto3" json:"key_frame_interval,omitempty"` // in seconds (default 4s for streaming, segment duration for segmented output, encoder default for files) 1860 } 1861 1862 func (x *EncodingOptions) Reset() { 1863 *x = EncodingOptions{} 1864 if protoimpl.UnsafeEnabled { 1865 mi := &file_livekit_egress_proto_msgTypes[12] 1866 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1867 ms.StoreMessageInfo(mi) 1868 } 1869 } 1870 1871 func (x *EncodingOptions) String() string { 1872 return protoimpl.X.MessageStringOf(x) 1873 } 1874 1875 func (*EncodingOptions) ProtoMessage() {} 1876 1877 func (x *EncodingOptions) ProtoReflect() protoreflect.Message { 1878 mi := &file_livekit_egress_proto_msgTypes[12] 1879 if protoimpl.UnsafeEnabled && x != nil { 1880 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1881 if ms.LoadMessageInfo() == nil { 1882 ms.StoreMessageInfo(mi) 1883 } 1884 return ms 1885 } 1886 return mi.MessageOf(x) 1887 } 1888 1889 // Deprecated: Use EncodingOptions.ProtoReflect.Descriptor instead. 1890 func (*EncodingOptions) Descriptor() ([]byte, []int) { 1891 return file_livekit_egress_proto_rawDescGZIP(), []int{12} 1892 } 1893 1894 func (x *EncodingOptions) GetWidth() int32 { 1895 if x != nil { 1896 return x.Width 1897 } 1898 return 0 1899 } 1900 1901 func (x *EncodingOptions) GetHeight() int32 { 1902 if x != nil { 1903 return x.Height 1904 } 1905 return 0 1906 } 1907 1908 func (x *EncodingOptions) GetDepth() int32 { 1909 if x != nil { 1910 return x.Depth 1911 } 1912 return 0 1913 } 1914 1915 func (x *EncodingOptions) GetFramerate() int32 { 1916 if x != nil { 1917 return x.Framerate 1918 } 1919 return 0 1920 } 1921 1922 func (x *EncodingOptions) GetAudioCodec() AudioCodec { 1923 if x != nil { 1924 return x.AudioCodec 1925 } 1926 return AudioCodec_DEFAULT_AC 1927 } 1928 1929 func (x *EncodingOptions) GetAudioBitrate() int32 { 1930 if x != nil { 1931 return x.AudioBitrate 1932 } 1933 return 0 1934 } 1935 1936 func (x *EncodingOptions) GetAudioFrequency() int32 { 1937 if x != nil { 1938 return x.AudioFrequency 1939 } 1940 return 0 1941 } 1942 1943 func (x *EncodingOptions) GetVideoCodec() VideoCodec { 1944 if x != nil { 1945 return x.VideoCodec 1946 } 1947 return VideoCodec_DEFAULT_VC 1948 } 1949 1950 func (x *EncodingOptions) GetVideoBitrate() int32 { 1951 if x != nil { 1952 return x.VideoBitrate 1953 } 1954 return 0 1955 } 1956 1957 func (x *EncodingOptions) GetKeyFrameInterval() float64 { 1958 if x != nil { 1959 return x.KeyFrameInterval 1960 } 1961 return 0 1962 } 1963 1964 type UpdateLayoutRequest struct { 1965 state protoimpl.MessageState 1966 sizeCache protoimpl.SizeCache 1967 unknownFields protoimpl.UnknownFields 1968 1969 EgressId string `protobuf:"bytes,1,opt,name=egress_id,json=egressId,proto3" json:"egress_id,omitempty"` 1970 Layout string `protobuf:"bytes,2,opt,name=layout,proto3" json:"layout,omitempty"` 1971 } 1972 1973 func (x *UpdateLayoutRequest) Reset() { 1974 *x = UpdateLayoutRequest{} 1975 if protoimpl.UnsafeEnabled { 1976 mi := &file_livekit_egress_proto_msgTypes[13] 1977 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1978 ms.StoreMessageInfo(mi) 1979 } 1980 } 1981 1982 func (x *UpdateLayoutRequest) String() string { 1983 return protoimpl.X.MessageStringOf(x) 1984 } 1985 1986 func (*UpdateLayoutRequest) ProtoMessage() {} 1987 1988 func (x *UpdateLayoutRequest) ProtoReflect() protoreflect.Message { 1989 mi := &file_livekit_egress_proto_msgTypes[13] 1990 if protoimpl.UnsafeEnabled && x != nil { 1991 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1992 if ms.LoadMessageInfo() == nil { 1993 ms.StoreMessageInfo(mi) 1994 } 1995 return ms 1996 } 1997 return mi.MessageOf(x) 1998 } 1999 2000 // Deprecated: Use UpdateLayoutRequest.ProtoReflect.Descriptor instead. 2001 func (*UpdateLayoutRequest) Descriptor() ([]byte, []int) { 2002 return file_livekit_egress_proto_rawDescGZIP(), []int{13} 2003 } 2004 2005 func (x *UpdateLayoutRequest) GetEgressId() string { 2006 if x != nil { 2007 return x.EgressId 2008 } 2009 return "" 2010 } 2011 2012 func (x *UpdateLayoutRequest) GetLayout() string { 2013 if x != nil { 2014 return x.Layout 2015 } 2016 return "" 2017 } 2018 2019 type UpdateStreamRequest struct { 2020 state protoimpl.MessageState 2021 sizeCache protoimpl.SizeCache 2022 unknownFields protoimpl.UnknownFields 2023 2024 EgressId string `protobuf:"bytes,1,opt,name=egress_id,json=egressId,proto3" json:"egress_id,omitempty"` 2025 AddOutputUrls []string `protobuf:"bytes,2,rep,name=add_output_urls,json=addOutputUrls,proto3" json:"add_output_urls,omitempty"` 2026 RemoveOutputUrls []string `protobuf:"bytes,3,rep,name=remove_output_urls,json=removeOutputUrls,proto3" json:"remove_output_urls,omitempty"` 2027 } 2028 2029 func (x *UpdateStreamRequest) Reset() { 2030 *x = UpdateStreamRequest{} 2031 if protoimpl.UnsafeEnabled { 2032 mi := &file_livekit_egress_proto_msgTypes[14] 2033 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2034 ms.StoreMessageInfo(mi) 2035 } 2036 } 2037 2038 func (x *UpdateStreamRequest) String() string { 2039 return protoimpl.X.MessageStringOf(x) 2040 } 2041 2042 func (*UpdateStreamRequest) ProtoMessage() {} 2043 2044 func (x *UpdateStreamRequest) ProtoReflect() protoreflect.Message { 2045 mi := &file_livekit_egress_proto_msgTypes[14] 2046 if protoimpl.UnsafeEnabled && x != nil { 2047 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2048 if ms.LoadMessageInfo() == nil { 2049 ms.StoreMessageInfo(mi) 2050 } 2051 return ms 2052 } 2053 return mi.MessageOf(x) 2054 } 2055 2056 // Deprecated: Use UpdateStreamRequest.ProtoReflect.Descriptor instead. 2057 func (*UpdateStreamRequest) Descriptor() ([]byte, []int) { 2058 return file_livekit_egress_proto_rawDescGZIP(), []int{14} 2059 } 2060 2061 func (x *UpdateStreamRequest) GetEgressId() string { 2062 if x != nil { 2063 return x.EgressId 2064 } 2065 return "" 2066 } 2067 2068 func (x *UpdateStreamRequest) GetAddOutputUrls() []string { 2069 if x != nil { 2070 return x.AddOutputUrls 2071 } 2072 return nil 2073 } 2074 2075 func (x *UpdateStreamRequest) GetRemoveOutputUrls() []string { 2076 if x != nil { 2077 return x.RemoveOutputUrls 2078 } 2079 return nil 2080 } 2081 2082 type ListEgressRequest struct { 2083 state protoimpl.MessageState 2084 sizeCache protoimpl.SizeCache 2085 unknownFields protoimpl.UnknownFields 2086 2087 RoomName string `protobuf:"bytes,1,opt,name=room_name,json=roomName,proto3" json:"room_name,omitempty"` // (optional, filter by room name) 2088 EgressId string `protobuf:"bytes,2,opt,name=egress_id,json=egressId,proto3" json:"egress_id,omitempty"` // (optional, filter by egress ID) 2089 Active bool `protobuf:"varint,3,opt,name=active,proto3" json:"active,omitempty"` // (optional, list active egress only) 2090 } 2091 2092 func (x *ListEgressRequest) Reset() { 2093 *x = ListEgressRequest{} 2094 if protoimpl.UnsafeEnabled { 2095 mi := &file_livekit_egress_proto_msgTypes[15] 2096 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2097 ms.StoreMessageInfo(mi) 2098 } 2099 } 2100 2101 func (x *ListEgressRequest) String() string { 2102 return protoimpl.X.MessageStringOf(x) 2103 } 2104 2105 func (*ListEgressRequest) ProtoMessage() {} 2106 2107 func (x *ListEgressRequest) ProtoReflect() protoreflect.Message { 2108 mi := &file_livekit_egress_proto_msgTypes[15] 2109 if protoimpl.UnsafeEnabled && x != nil { 2110 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2111 if ms.LoadMessageInfo() == nil { 2112 ms.StoreMessageInfo(mi) 2113 } 2114 return ms 2115 } 2116 return mi.MessageOf(x) 2117 } 2118 2119 // Deprecated: Use ListEgressRequest.ProtoReflect.Descriptor instead. 2120 func (*ListEgressRequest) Descriptor() ([]byte, []int) { 2121 return file_livekit_egress_proto_rawDescGZIP(), []int{15} 2122 } 2123 2124 func (x *ListEgressRequest) GetRoomName() string { 2125 if x != nil { 2126 return x.RoomName 2127 } 2128 return "" 2129 } 2130 2131 func (x *ListEgressRequest) GetEgressId() string { 2132 if x != nil { 2133 return x.EgressId 2134 } 2135 return "" 2136 } 2137 2138 func (x *ListEgressRequest) GetActive() bool { 2139 if x != nil { 2140 return x.Active 2141 } 2142 return false 2143 } 2144 2145 type ListEgressResponse struct { 2146 state protoimpl.MessageState 2147 sizeCache protoimpl.SizeCache 2148 unknownFields protoimpl.UnknownFields 2149 2150 Items []*EgressInfo `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` 2151 } 2152 2153 func (x *ListEgressResponse) Reset() { 2154 *x = ListEgressResponse{} 2155 if protoimpl.UnsafeEnabled { 2156 mi := &file_livekit_egress_proto_msgTypes[16] 2157 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2158 ms.StoreMessageInfo(mi) 2159 } 2160 } 2161 2162 func (x *ListEgressResponse) String() string { 2163 return protoimpl.X.MessageStringOf(x) 2164 } 2165 2166 func (*ListEgressResponse) ProtoMessage() {} 2167 2168 func (x *ListEgressResponse) ProtoReflect() protoreflect.Message { 2169 mi := &file_livekit_egress_proto_msgTypes[16] 2170 if protoimpl.UnsafeEnabled && x != nil { 2171 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2172 if ms.LoadMessageInfo() == nil { 2173 ms.StoreMessageInfo(mi) 2174 } 2175 return ms 2176 } 2177 return mi.MessageOf(x) 2178 } 2179 2180 // Deprecated: Use ListEgressResponse.ProtoReflect.Descriptor instead. 2181 func (*ListEgressResponse) Descriptor() ([]byte, []int) { 2182 return file_livekit_egress_proto_rawDescGZIP(), []int{16} 2183 } 2184 2185 func (x *ListEgressResponse) GetItems() []*EgressInfo { 2186 if x != nil { 2187 return x.Items 2188 } 2189 return nil 2190 } 2191 2192 type StopEgressRequest struct { 2193 state protoimpl.MessageState 2194 sizeCache protoimpl.SizeCache 2195 unknownFields protoimpl.UnknownFields 2196 2197 EgressId string `protobuf:"bytes,1,opt,name=egress_id,json=egressId,proto3" json:"egress_id,omitempty"` 2198 } 2199 2200 func (x *StopEgressRequest) Reset() { 2201 *x = StopEgressRequest{} 2202 if protoimpl.UnsafeEnabled { 2203 mi := &file_livekit_egress_proto_msgTypes[17] 2204 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2205 ms.StoreMessageInfo(mi) 2206 } 2207 } 2208 2209 func (x *StopEgressRequest) String() string { 2210 return protoimpl.X.MessageStringOf(x) 2211 } 2212 2213 func (*StopEgressRequest) ProtoMessage() {} 2214 2215 func (x *StopEgressRequest) ProtoReflect() protoreflect.Message { 2216 mi := &file_livekit_egress_proto_msgTypes[17] 2217 if protoimpl.UnsafeEnabled && x != nil { 2218 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2219 if ms.LoadMessageInfo() == nil { 2220 ms.StoreMessageInfo(mi) 2221 } 2222 return ms 2223 } 2224 return mi.MessageOf(x) 2225 } 2226 2227 // Deprecated: Use StopEgressRequest.ProtoReflect.Descriptor instead. 2228 func (*StopEgressRequest) Descriptor() ([]byte, []int) { 2229 return file_livekit_egress_proto_rawDescGZIP(), []int{17} 2230 } 2231 2232 func (x *StopEgressRequest) GetEgressId() string { 2233 if x != nil { 2234 return x.EgressId 2235 } 2236 return "" 2237 } 2238 2239 type EgressInfo struct { 2240 state protoimpl.MessageState 2241 sizeCache protoimpl.SizeCache 2242 unknownFields protoimpl.UnknownFields 2243 2244 EgressId string `protobuf:"bytes,1,opt,name=egress_id,json=egressId,proto3" json:"egress_id,omitempty"` 2245 RoomId string `protobuf:"bytes,2,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"` 2246 RoomName string `protobuf:"bytes,13,opt,name=room_name,json=roomName,proto3" json:"room_name,omitempty"` 2247 Status EgressStatus `protobuf:"varint,3,opt,name=status,proto3,enum=livekit.EgressStatus" json:"status,omitempty"` 2248 StartedAt int64 `protobuf:"varint,10,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"` 2249 EndedAt int64 `protobuf:"varint,11,opt,name=ended_at,json=endedAt,proto3" json:"ended_at,omitempty"` 2250 Error string `protobuf:"bytes,9,opt,name=error,proto3" json:"error,omitempty"` 2251 // Types that are assignable to Request: 2252 // 2253 // *EgressInfo_RoomComposite 2254 // *EgressInfo_TrackComposite 2255 // *EgressInfo_Track 2256 // *EgressInfo_Web 2257 Request isEgressInfo_Request `protobuf_oneof:"request"` 2258 // Types that are assignable to Result: 2259 // 2260 // *EgressInfo_Stream 2261 // *EgressInfo_File 2262 // *EgressInfo_Segments 2263 Result isEgressInfo_Result `protobuf_oneof:"result"` 2264 StreamResults []*StreamInfo `protobuf:"bytes,15,rep,name=stream_results,json=streamResults,proto3" json:"stream_results,omitempty"` 2265 FileResults []*FileInfo `protobuf:"bytes,16,rep,name=file_results,json=fileResults,proto3" json:"file_results,omitempty"` 2266 SegmentResults []*SegmentsInfo `protobuf:"bytes,17,rep,name=segment_results,json=segmentResults,proto3" json:"segment_results,omitempty"` 2267 } 2268 2269 func (x *EgressInfo) Reset() { 2270 *x = EgressInfo{} 2271 if protoimpl.UnsafeEnabled { 2272 mi := &file_livekit_egress_proto_msgTypes[18] 2273 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2274 ms.StoreMessageInfo(mi) 2275 } 2276 } 2277 2278 func (x *EgressInfo) String() string { 2279 return protoimpl.X.MessageStringOf(x) 2280 } 2281 2282 func (*EgressInfo) ProtoMessage() {} 2283 2284 func (x *EgressInfo) ProtoReflect() protoreflect.Message { 2285 mi := &file_livekit_egress_proto_msgTypes[18] 2286 if protoimpl.UnsafeEnabled && x != nil { 2287 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2288 if ms.LoadMessageInfo() == nil { 2289 ms.StoreMessageInfo(mi) 2290 } 2291 return ms 2292 } 2293 return mi.MessageOf(x) 2294 } 2295 2296 // Deprecated: Use EgressInfo.ProtoReflect.Descriptor instead. 2297 func (*EgressInfo) Descriptor() ([]byte, []int) { 2298 return file_livekit_egress_proto_rawDescGZIP(), []int{18} 2299 } 2300 2301 func (x *EgressInfo) GetEgressId() string { 2302 if x != nil { 2303 return x.EgressId 2304 } 2305 return "" 2306 } 2307 2308 func (x *EgressInfo) GetRoomId() string { 2309 if x != nil { 2310 return x.RoomId 2311 } 2312 return "" 2313 } 2314 2315 func (x *EgressInfo) GetRoomName() string { 2316 if x != nil { 2317 return x.RoomName 2318 } 2319 return "" 2320 } 2321 2322 func (x *EgressInfo) GetStatus() EgressStatus { 2323 if x != nil { 2324 return x.Status 2325 } 2326 return EgressStatus_EGRESS_STARTING 2327 } 2328 2329 func (x *EgressInfo) GetStartedAt() int64 { 2330 if x != nil { 2331 return x.StartedAt 2332 } 2333 return 0 2334 } 2335 2336 func (x *EgressInfo) GetEndedAt() int64 { 2337 if x != nil { 2338 return x.EndedAt 2339 } 2340 return 0 2341 } 2342 2343 func (x *EgressInfo) GetError() string { 2344 if x != nil { 2345 return x.Error 2346 } 2347 return "" 2348 } 2349 2350 func (m *EgressInfo) GetRequest() isEgressInfo_Request { 2351 if m != nil { 2352 return m.Request 2353 } 2354 return nil 2355 } 2356 2357 func (x *EgressInfo) GetRoomComposite() *RoomCompositeEgressRequest { 2358 if x, ok := x.GetRequest().(*EgressInfo_RoomComposite); ok { 2359 return x.RoomComposite 2360 } 2361 return nil 2362 } 2363 2364 func (x *EgressInfo) GetTrackComposite() *TrackCompositeEgressRequest { 2365 if x, ok := x.GetRequest().(*EgressInfo_TrackComposite); ok { 2366 return x.TrackComposite 2367 } 2368 return nil 2369 } 2370 2371 func (x *EgressInfo) GetTrack() *TrackEgressRequest { 2372 if x, ok := x.GetRequest().(*EgressInfo_Track); ok { 2373 return x.Track 2374 } 2375 return nil 2376 } 2377 2378 func (x *EgressInfo) GetWeb() *WebEgressRequest { 2379 if x, ok := x.GetRequest().(*EgressInfo_Web); ok { 2380 return x.Web 2381 } 2382 return nil 2383 } 2384 2385 func (m *EgressInfo) GetResult() isEgressInfo_Result { 2386 if m != nil { 2387 return m.Result 2388 } 2389 return nil 2390 } 2391 2392 // Deprecated: Marked as deprecated in livekit_egress.proto. 2393 func (x *EgressInfo) GetStream() *StreamInfoList { 2394 if x, ok := x.GetResult().(*EgressInfo_Stream); ok { 2395 return x.Stream 2396 } 2397 return nil 2398 } 2399 2400 // Deprecated: Marked as deprecated in livekit_egress.proto. 2401 func (x *EgressInfo) GetFile() *FileInfo { 2402 if x, ok := x.GetResult().(*EgressInfo_File); ok { 2403 return x.File 2404 } 2405 return nil 2406 } 2407 2408 // Deprecated: Marked as deprecated in livekit_egress.proto. 2409 func (x *EgressInfo) GetSegments() *SegmentsInfo { 2410 if x, ok := x.GetResult().(*EgressInfo_Segments); ok { 2411 return x.Segments 2412 } 2413 return nil 2414 } 2415 2416 func (x *EgressInfo) GetStreamResults() []*StreamInfo { 2417 if x != nil { 2418 return x.StreamResults 2419 } 2420 return nil 2421 } 2422 2423 func (x *EgressInfo) GetFileResults() []*FileInfo { 2424 if x != nil { 2425 return x.FileResults 2426 } 2427 return nil 2428 } 2429 2430 func (x *EgressInfo) GetSegmentResults() []*SegmentsInfo { 2431 if x != nil { 2432 return x.SegmentResults 2433 } 2434 return nil 2435 } 2436 2437 type isEgressInfo_Request interface { 2438 isEgressInfo_Request() 2439 } 2440 2441 type EgressInfo_RoomComposite struct { 2442 RoomComposite *RoomCompositeEgressRequest `protobuf:"bytes,4,opt,name=room_composite,json=roomComposite,proto3,oneof"` 2443 } 2444 2445 type EgressInfo_TrackComposite struct { 2446 TrackComposite *TrackCompositeEgressRequest `protobuf:"bytes,5,opt,name=track_composite,json=trackComposite,proto3,oneof"` 2447 } 2448 2449 type EgressInfo_Track struct { 2450 Track *TrackEgressRequest `protobuf:"bytes,6,opt,name=track,proto3,oneof"` 2451 } 2452 2453 type EgressInfo_Web struct { 2454 Web *WebEgressRequest `protobuf:"bytes,14,opt,name=web,proto3,oneof"` 2455 } 2456 2457 func (*EgressInfo_RoomComposite) isEgressInfo_Request() {} 2458 2459 func (*EgressInfo_TrackComposite) isEgressInfo_Request() {} 2460 2461 func (*EgressInfo_Track) isEgressInfo_Request() {} 2462 2463 func (*EgressInfo_Web) isEgressInfo_Request() {} 2464 2465 type isEgressInfo_Result interface { 2466 isEgressInfo_Result() 2467 } 2468 2469 type EgressInfo_Stream struct { 2470 // Deprecated: Marked as deprecated in livekit_egress.proto. 2471 Stream *StreamInfoList `protobuf:"bytes,7,opt,name=stream,proto3,oneof"` 2472 } 2473 2474 type EgressInfo_File struct { 2475 // Deprecated: Marked as deprecated in livekit_egress.proto. 2476 File *FileInfo `protobuf:"bytes,8,opt,name=file,proto3,oneof"` 2477 } 2478 2479 type EgressInfo_Segments struct { 2480 // Deprecated: Marked as deprecated in livekit_egress.proto. 2481 Segments *SegmentsInfo `protobuf:"bytes,12,opt,name=segments,proto3,oneof"` 2482 } 2483 2484 func (*EgressInfo_Stream) isEgressInfo_Result() {} 2485 2486 func (*EgressInfo_File) isEgressInfo_Result() {} 2487 2488 func (*EgressInfo_Segments) isEgressInfo_Result() {} 2489 2490 // Deprecated: Marked as deprecated in livekit_egress.proto. 2491 type StreamInfoList struct { 2492 state protoimpl.MessageState 2493 sizeCache protoimpl.SizeCache 2494 unknownFields protoimpl.UnknownFields 2495 2496 Info []*StreamInfo `protobuf:"bytes,1,rep,name=info,proto3" json:"info,omitempty"` 2497 } 2498 2499 func (x *StreamInfoList) Reset() { 2500 *x = StreamInfoList{} 2501 if protoimpl.UnsafeEnabled { 2502 mi := &file_livekit_egress_proto_msgTypes[19] 2503 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2504 ms.StoreMessageInfo(mi) 2505 } 2506 } 2507 2508 func (x *StreamInfoList) String() string { 2509 return protoimpl.X.MessageStringOf(x) 2510 } 2511 2512 func (*StreamInfoList) ProtoMessage() {} 2513 2514 func (x *StreamInfoList) ProtoReflect() protoreflect.Message { 2515 mi := &file_livekit_egress_proto_msgTypes[19] 2516 if protoimpl.UnsafeEnabled && x != nil { 2517 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2518 if ms.LoadMessageInfo() == nil { 2519 ms.StoreMessageInfo(mi) 2520 } 2521 return ms 2522 } 2523 return mi.MessageOf(x) 2524 } 2525 2526 // Deprecated: Use StreamInfoList.ProtoReflect.Descriptor instead. 2527 func (*StreamInfoList) Descriptor() ([]byte, []int) { 2528 return file_livekit_egress_proto_rawDescGZIP(), []int{19} 2529 } 2530 2531 func (x *StreamInfoList) GetInfo() []*StreamInfo { 2532 if x != nil { 2533 return x.Info 2534 } 2535 return nil 2536 } 2537 2538 type StreamInfo struct { 2539 state protoimpl.MessageState 2540 sizeCache protoimpl.SizeCache 2541 unknownFields protoimpl.UnknownFields 2542 2543 Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` 2544 StartedAt int64 `protobuf:"varint,2,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"` 2545 EndedAt int64 `protobuf:"varint,3,opt,name=ended_at,json=endedAt,proto3" json:"ended_at,omitempty"` 2546 Duration int64 `protobuf:"varint,4,opt,name=duration,proto3" json:"duration,omitempty"` 2547 Status StreamInfo_Status `protobuf:"varint,5,opt,name=status,proto3,enum=livekit.StreamInfo_Status" json:"status,omitempty"` 2548 Error string `protobuf:"bytes,6,opt,name=error,proto3" json:"error,omitempty"` 2549 } 2550 2551 func (x *StreamInfo) Reset() { 2552 *x = StreamInfo{} 2553 if protoimpl.UnsafeEnabled { 2554 mi := &file_livekit_egress_proto_msgTypes[20] 2555 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2556 ms.StoreMessageInfo(mi) 2557 } 2558 } 2559 2560 func (x *StreamInfo) String() string { 2561 return protoimpl.X.MessageStringOf(x) 2562 } 2563 2564 func (*StreamInfo) ProtoMessage() {} 2565 2566 func (x *StreamInfo) ProtoReflect() protoreflect.Message { 2567 mi := &file_livekit_egress_proto_msgTypes[20] 2568 if protoimpl.UnsafeEnabled && x != nil { 2569 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2570 if ms.LoadMessageInfo() == nil { 2571 ms.StoreMessageInfo(mi) 2572 } 2573 return ms 2574 } 2575 return mi.MessageOf(x) 2576 } 2577 2578 // Deprecated: Use StreamInfo.ProtoReflect.Descriptor instead. 2579 func (*StreamInfo) Descriptor() ([]byte, []int) { 2580 return file_livekit_egress_proto_rawDescGZIP(), []int{20} 2581 } 2582 2583 func (x *StreamInfo) GetUrl() string { 2584 if x != nil { 2585 return x.Url 2586 } 2587 return "" 2588 } 2589 2590 func (x *StreamInfo) GetStartedAt() int64 { 2591 if x != nil { 2592 return x.StartedAt 2593 } 2594 return 0 2595 } 2596 2597 func (x *StreamInfo) GetEndedAt() int64 { 2598 if x != nil { 2599 return x.EndedAt 2600 } 2601 return 0 2602 } 2603 2604 func (x *StreamInfo) GetDuration() int64 { 2605 if x != nil { 2606 return x.Duration 2607 } 2608 return 0 2609 } 2610 2611 func (x *StreamInfo) GetStatus() StreamInfo_Status { 2612 if x != nil { 2613 return x.Status 2614 } 2615 return StreamInfo_ACTIVE 2616 } 2617 2618 func (x *StreamInfo) GetError() string { 2619 if x != nil { 2620 return x.Error 2621 } 2622 return "" 2623 } 2624 2625 type FileInfo struct { 2626 state protoimpl.MessageState 2627 sizeCache protoimpl.SizeCache 2628 unknownFields protoimpl.UnknownFields 2629 2630 Filename string `protobuf:"bytes,1,opt,name=filename,proto3" json:"filename,omitempty"` 2631 StartedAt int64 `protobuf:"varint,2,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"` 2632 EndedAt int64 `protobuf:"varint,3,opt,name=ended_at,json=endedAt,proto3" json:"ended_at,omitempty"` 2633 Duration int64 `protobuf:"varint,6,opt,name=duration,proto3" json:"duration,omitempty"` 2634 Size int64 `protobuf:"varint,4,opt,name=size,proto3" json:"size,omitempty"` 2635 Location string `protobuf:"bytes,5,opt,name=location,proto3" json:"location,omitempty"` 2636 } 2637 2638 func (x *FileInfo) Reset() { 2639 *x = FileInfo{} 2640 if protoimpl.UnsafeEnabled { 2641 mi := &file_livekit_egress_proto_msgTypes[21] 2642 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2643 ms.StoreMessageInfo(mi) 2644 } 2645 } 2646 2647 func (x *FileInfo) String() string { 2648 return protoimpl.X.MessageStringOf(x) 2649 } 2650 2651 func (*FileInfo) ProtoMessage() {} 2652 2653 func (x *FileInfo) ProtoReflect() protoreflect.Message { 2654 mi := &file_livekit_egress_proto_msgTypes[21] 2655 if protoimpl.UnsafeEnabled && x != nil { 2656 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2657 if ms.LoadMessageInfo() == nil { 2658 ms.StoreMessageInfo(mi) 2659 } 2660 return ms 2661 } 2662 return mi.MessageOf(x) 2663 } 2664 2665 // Deprecated: Use FileInfo.ProtoReflect.Descriptor instead. 2666 func (*FileInfo) Descriptor() ([]byte, []int) { 2667 return file_livekit_egress_proto_rawDescGZIP(), []int{21} 2668 } 2669 2670 func (x *FileInfo) GetFilename() string { 2671 if x != nil { 2672 return x.Filename 2673 } 2674 return "" 2675 } 2676 2677 func (x *FileInfo) GetStartedAt() int64 { 2678 if x != nil { 2679 return x.StartedAt 2680 } 2681 return 0 2682 } 2683 2684 func (x *FileInfo) GetEndedAt() int64 { 2685 if x != nil { 2686 return x.EndedAt 2687 } 2688 return 0 2689 } 2690 2691 func (x *FileInfo) GetDuration() int64 { 2692 if x != nil { 2693 return x.Duration 2694 } 2695 return 0 2696 } 2697 2698 func (x *FileInfo) GetSize() int64 { 2699 if x != nil { 2700 return x.Size 2701 } 2702 return 0 2703 } 2704 2705 func (x *FileInfo) GetLocation() string { 2706 if x != nil { 2707 return x.Location 2708 } 2709 return "" 2710 } 2711 2712 type SegmentsInfo struct { 2713 state protoimpl.MessageState 2714 sizeCache protoimpl.SizeCache 2715 unknownFields protoimpl.UnknownFields 2716 2717 PlaylistName string `protobuf:"bytes,1,opt,name=playlist_name,json=playlistName,proto3" json:"playlist_name,omitempty"` 2718 Duration int64 `protobuf:"varint,2,opt,name=duration,proto3" json:"duration,omitempty"` 2719 Size int64 `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"` 2720 PlaylistLocation string `protobuf:"bytes,4,opt,name=playlist_location,json=playlistLocation,proto3" json:"playlist_location,omitempty"` 2721 SegmentCount int64 `protobuf:"varint,5,opt,name=segment_count,json=segmentCount,proto3" json:"segment_count,omitempty"` 2722 StartedAt int64 `protobuf:"varint,6,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"` 2723 EndedAt int64 `protobuf:"varint,7,opt,name=ended_at,json=endedAt,proto3" json:"ended_at,omitempty"` 2724 } 2725 2726 func (x *SegmentsInfo) Reset() { 2727 *x = SegmentsInfo{} 2728 if protoimpl.UnsafeEnabled { 2729 mi := &file_livekit_egress_proto_msgTypes[22] 2730 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2731 ms.StoreMessageInfo(mi) 2732 } 2733 } 2734 2735 func (x *SegmentsInfo) String() string { 2736 return protoimpl.X.MessageStringOf(x) 2737 } 2738 2739 func (*SegmentsInfo) ProtoMessage() {} 2740 2741 func (x *SegmentsInfo) ProtoReflect() protoreflect.Message { 2742 mi := &file_livekit_egress_proto_msgTypes[22] 2743 if protoimpl.UnsafeEnabled && x != nil { 2744 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2745 if ms.LoadMessageInfo() == nil { 2746 ms.StoreMessageInfo(mi) 2747 } 2748 return ms 2749 } 2750 return mi.MessageOf(x) 2751 } 2752 2753 // Deprecated: Use SegmentsInfo.ProtoReflect.Descriptor instead. 2754 func (*SegmentsInfo) Descriptor() ([]byte, []int) { 2755 return file_livekit_egress_proto_rawDescGZIP(), []int{22} 2756 } 2757 2758 func (x *SegmentsInfo) GetPlaylistName() string { 2759 if x != nil { 2760 return x.PlaylistName 2761 } 2762 return "" 2763 } 2764 2765 func (x *SegmentsInfo) GetDuration() int64 { 2766 if x != nil { 2767 return x.Duration 2768 } 2769 return 0 2770 } 2771 2772 func (x *SegmentsInfo) GetSize() int64 { 2773 if x != nil { 2774 return x.Size 2775 } 2776 return 0 2777 } 2778 2779 func (x *SegmentsInfo) GetPlaylistLocation() string { 2780 if x != nil { 2781 return x.PlaylistLocation 2782 } 2783 return "" 2784 } 2785 2786 func (x *SegmentsInfo) GetSegmentCount() int64 { 2787 if x != nil { 2788 return x.SegmentCount 2789 } 2790 return 0 2791 } 2792 2793 func (x *SegmentsInfo) GetStartedAt() int64 { 2794 if x != nil { 2795 return x.StartedAt 2796 } 2797 return 0 2798 } 2799 2800 func (x *SegmentsInfo) GetEndedAt() int64 { 2801 if x != nil { 2802 return x.EndedAt 2803 } 2804 return 0 2805 } 2806 2807 type AutoTrackEgress struct { 2808 state protoimpl.MessageState 2809 sizeCache protoimpl.SizeCache 2810 unknownFields protoimpl.UnknownFields 2811 2812 Filepath string `protobuf:"bytes,1,opt,name=filepath,proto3" json:"filepath,omitempty"` // see docs for templating (default {track_id}-{time}) 2813 DisableManifest bool `protobuf:"varint,5,opt,name=disable_manifest,json=disableManifest,proto3" json:"disable_manifest,omitempty"` // disables upload of json manifest file (default false) 2814 // Types that are assignable to Output: 2815 // 2816 // *AutoTrackEgress_S3 2817 // *AutoTrackEgress_Gcp 2818 // *AutoTrackEgress_Azure 2819 Output isAutoTrackEgress_Output `protobuf_oneof:"output"` 2820 } 2821 2822 func (x *AutoTrackEgress) Reset() { 2823 *x = AutoTrackEgress{} 2824 if protoimpl.UnsafeEnabled { 2825 mi := &file_livekit_egress_proto_msgTypes[23] 2826 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2827 ms.StoreMessageInfo(mi) 2828 } 2829 } 2830 2831 func (x *AutoTrackEgress) String() string { 2832 return protoimpl.X.MessageStringOf(x) 2833 } 2834 2835 func (*AutoTrackEgress) ProtoMessage() {} 2836 2837 func (x *AutoTrackEgress) ProtoReflect() protoreflect.Message { 2838 mi := &file_livekit_egress_proto_msgTypes[23] 2839 if protoimpl.UnsafeEnabled && x != nil { 2840 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2841 if ms.LoadMessageInfo() == nil { 2842 ms.StoreMessageInfo(mi) 2843 } 2844 return ms 2845 } 2846 return mi.MessageOf(x) 2847 } 2848 2849 // Deprecated: Use AutoTrackEgress.ProtoReflect.Descriptor instead. 2850 func (*AutoTrackEgress) Descriptor() ([]byte, []int) { 2851 return file_livekit_egress_proto_rawDescGZIP(), []int{23} 2852 } 2853 2854 func (x *AutoTrackEgress) GetFilepath() string { 2855 if x != nil { 2856 return x.Filepath 2857 } 2858 return "" 2859 } 2860 2861 func (x *AutoTrackEgress) GetDisableManifest() bool { 2862 if x != nil { 2863 return x.DisableManifest 2864 } 2865 return false 2866 } 2867 2868 func (m *AutoTrackEgress) GetOutput() isAutoTrackEgress_Output { 2869 if m != nil { 2870 return m.Output 2871 } 2872 return nil 2873 } 2874 2875 func (x *AutoTrackEgress) GetS3() *S3Upload { 2876 if x, ok := x.GetOutput().(*AutoTrackEgress_S3); ok { 2877 return x.S3 2878 } 2879 return nil 2880 } 2881 2882 func (x *AutoTrackEgress) GetGcp() *GCPUpload { 2883 if x, ok := x.GetOutput().(*AutoTrackEgress_Gcp); ok { 2884 return x.Gcp 2885 } 2886 return nil 2887 } 2888 2889 func (x *AutoTrackEgress) GetAzure() *AzureBlobUpload { 2890 if x, ok := x.GetOutput().(*AutoTrackEgress_Azure); ok { 2891 return x.Azure 2892 } 2893 return nil 2894 } 2895 2896 type isAutoTrackEgress_Output interface { 2897 isAutoTrackEgress_Output() 2898 } 2899 2900 type AutoTrackEgress_S3 struct { 2901 S3 *S3Upload `protobuf:"bytes,2,opt,name=s3,proto3,oneof"` 2902 } 2903 2904 type AutoTrackEgress_Gcp struct { 2905 Gcp *GCPUpload `protobuf:"bytes,3,opt,name=gcp,proto3,oneof"` 2906 } 2907 2908 type AutoTrackEgress_Azure struct { 2909 Azure *AzureBlobUpload `protobuf:"bytes,4,opt,name=azure,proto3,oneof"` 2910 } 2911 2912 func (*AutoTrackEgress_S3) isAutoTrackEgress_Output() {} 2913 2914 func (*AutoTrackEgress_Gcp) isAutoTrackEgress_Output() {} 2915 2916 func (*AutoTrackEgress_Azure) isAutoTrackEgress_Output() {} 2917 2918 var File_livekit_egress_proto protoreflect.FileDescriptor 2919 2920 var file_livekit_egress_proto_rawDesc = []byte{ 2921 0x0a, 0x14, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x5f, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 2922 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x1a, 2923 0x14, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 2924 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xad, 0x05, 0x0a, 0x1a, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 2925 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 2926 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 2927 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 2928 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 2929 0x09, 0x52, 0x06, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x75, 0x64, 2930 0x69, 0x6f, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 2931 0x75, 0x64, 0x69, 0x6f, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x69, 0x64, 0x65, 2932 0x6f, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x76, 0x69, 2933 0x64, 0x65, 0x6f, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x75, 0x73, 0x74, 0x6f, 2934 0x6d, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 2935 0x52, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x42, 0x61, 0x73, 0x65, 0x55, 0x72, 0x6c, 0x12, 2936 0x34, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 2937 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x46, 2938 0x69, 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 2939 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 2940 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 2941 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x42, 0x02, 0x18, 0x01, 2942 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x3e, 0x0a, 0x08, 0x73, 0x65, 2943 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 2944 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x64, 2945 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 2946 0x52, 0x08, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x38, 0x0a, 0x06, 0x70, 0x72, 2947 0x65, 0x73, 0x65, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 2948 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 2949 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x48, 0x01, 0x52, 0x06, 0x70, 0x72, 2950 0x65, 0x73, 0x65, 0x74, 0x12, 0x36, 0x0a, 0x08, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 2951 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 2952 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 2953 0x48, 0x01, 0x52, 0x08, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x12, 0x3d, 0x0a, 0x0c, 2954 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x03, 2955 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x45, 0x6e, 0x63, 2956 0x6f, 0x64, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x0b, 2957 0x66, 0x69, 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x3c, 0x0a, 0x0e, 0x73, 2958 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x0c, 0x20, 2959 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 2960 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x0d, 0x73, 0x74, 0x72, 0x65, 2961 0x61, 0x6d, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x45, 0x0a, 0x0f, 0x73, 0x65, 0x67, 2962 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x03, 2963 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x65, 0x67, 2964 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 2965 0x52, 0x0e, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 2966 0x42, 0x08, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x6f, 0x70, 2967 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xd8, 0x04, 0x0a, 0x10, 0x57, 0x65, 0x62, 0x45, 0x67, 0x72, 2968 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 2969 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 2970 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 2971 0x52, 0x09, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 2972 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 2973 0x09, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x34, 0x0a, 0x04, 0x66, 0x69, 2974 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 2975 0x69, 0x74, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x75, 2976 0x74, 0x70, 0x75, 0x74, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 2977 0x12, 0x33, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 2978 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 2979 0x6d, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x06, 0x73, 2980 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x3e, 0x0a, 0x08, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 2981 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 2982 0x74, 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x4f, 2983 0x75, 0x74, 0x70, 0x75, 0x74, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x08, 0x73, 0x65, 0x67, 2984 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x38, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 2985 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 2986 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 2987 0x72, 0x65, 0x73, 0x65, 0x74, 0x48, 0x01, 0x52, 0x06, 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, 0x12, 2988 0x36, 0x0a, 0x08, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 2989 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 2990 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x01, 0x52, 0x08, 0x61, 2991 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x12, 0x3d, 0x0a, 0x0c, 0x66, 0x69, 0x6c, 0x65, 0x5f, 2992 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 2993 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x46, 2994 0x69, 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x0b, 0x66, 0x69, 0x6c, 0x65, 0x4f, 2995 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x3c, 0x0a, 0x0e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 2996 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 2997 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 2998 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x0d, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x75, 0x74, 2999 0x70, 0x75, 0x74, 0x73, 0x12, 0x45, 0x0a, 0x0f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 3000 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 3001 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x65, 3002 0x64, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x0e, 0x73, 0x65, 0x67, 3003 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x6f, 3004 0x75, 0x74, 0x70, 0x75, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 3005 0x22, 0xfc, 0x04, 0x0a, 0x1b, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 3006 0x69, 0x74, 0x65, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 3007 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 3008 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 3009 0x0e, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 3010 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x54, 0x72, 0x61, 0x63, 3011 0x6b, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x74, 0x72, 0x61, 3012 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x69, 0x64, 3013 0x65, 0x6f, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x04, 0x66, 0x69, 0x6c, 3014 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 3015 0x74, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x75, 0x74, 3016 0x70, 0x75, 0x74, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 3017 0x33, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 3018 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 3019 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 3020 0x72, 0x65, 0x61, 0x6d, 0x12, 0x3e, 0x0a, 0x08, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 3021 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 3022 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x75, 3023 0x74, 0x70, 0x75, 0x74, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x08, 0x73, 0x65, 0x67, 0x6d, 3024 0x65, 0x6e, 0x74, 0x73, 0x12, 0x38, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x06, 3025 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x45, 3026 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x72, 3027 0x65, 0x73, 0x65, 0x74, 0x48, 0x01, 0x52, 0x06, 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, 0x12, 0x36, 3028 0x0a, 0x08, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 3029 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 3030 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x01, 0x52, 0x08, 0x61, 0x64, 3031 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x12, 0x3d, 0x0a, 0x0c, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6f, 3032 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 3033 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x46, 0x69, 3034 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x0b, 0x66, 0x69, 0x6c, 0x65, 0x4f, 0x75, 3035 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x3c, 0x0a, 0x0e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 3036 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 3037 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x75, 3038 0x74, 0x70, 0x75, 0x74, 0x52, 0x0d, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x75, 0x74, 0x70, 3039 0x75, 0x74, 0x73, 0x12, 0x45, 0x0a, 0x0f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 3040 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 3041 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x64, 3042 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x0e, 0x73, 0x65, 0x67, 0x6d, 3043 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x6f, 0x75, 3044 0x74, 0x70, 0x75, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 3045 0xae, 0x01, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 3046 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 3047 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x4e, 3048 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 3049 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x2f, 3050 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6c, 3051 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x46, 0x69, 0x6c, 3052 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 3053 0x25, 0x0a, 0x0d, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x75, 0x72, 0x6c, 3054 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 3055 0x6b, 0x65, 0x74, 0x55, 0x72, 0x6c, 0x42, 0x08, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 3056 0x22, 0xcb, 0x02, 0x0a, 0x11, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 3057 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x35, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x74, 3058 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 3059 0x6b, 0x69, 0x74, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x54, 3060 0x79, 0x70, 0x65, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 3061 0x08, 0x66, 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 3062 0x08, 0x66, 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x69, 0x73, 3063 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x18, 0x06, 0x20, 3064 0x01, 0x28, 0x08, 0x52, 0x0f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x69, 3065 0x66, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x02, 0x73, 0x33, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 3066 0x32, 0x11, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x33, 0x55, 0x70, 0x6c, 3067 0x6f, 0x61, 0x64, 0x48, 0x00, 0x52, 0x02, 0x73, 0x33, 0x12, 0x26, 0x0a, 0x03, 0x67, 0x63, 0x70, 3068 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 3069 0x2e, 0x47, 0x43, 0x50, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x00, 0x52, 0x03, 0x67, 0x63, 3070 0x70, 0x12, 0x30, 0x0a, 0x05, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 3071 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 3072 0x42, 0x6c, 0x6f, 0x62, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x00, 0x52, 0x05, 0x61, 0x7a, 3073 0x75, 0x72, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x61, 0x6c, 0x69, 0x4f, 0x53, 0x53, 0x18, 0x07, 0x20, 3074 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x6c, 3075 0x69, 0x4f, 0x53, 0x53, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x00, 0x52, 0x06, 0x61, 0x6c, 3076 0x69, 0x4f, 0x53, 0x53, 0x42, 0x08, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0xf6, 3077 0x03, 0x0a, 0x13, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 3078 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x3a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 3079 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 3080 0x69, 0x74, 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 3081 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 3082 0x6f, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x70, 3083 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x69, 0x6c, 3084 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x23, 0x0a, 0x0d, 0x70, 3085 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 3086 0x28, 0x09, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 3087 0x12, 0x29, 0x0a, 0x10, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, 3088 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x73, 0x65, 0x67, 0x6d, 3089 0x65, 0x6e, 0x74, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x0f, 0x66, 3090 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x0a, 3091 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 3092 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x75, 0x66, 0x66, 3093 0x69, 0x78, 0x52, 0x0e, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x53, 0x75, 0x66, 0x66, 3094 0x69, 0x78, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 3095 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x64, 0x69, 3096 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 3097 0x02, 0x73, 0x33, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6c, 0x69, 0x76, 0x65, 3098 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x33, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x00, 0x52, 0x02, 3099 0x73, 0x33, 0x12, 0x26, 0x0a, 0x03, 0x67, 0x63, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 3100 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x47, 0x43, 0x50, 0x55, 0x70, 0x6c, 3101 0x6f, 0x61, 0x64, 0x48, 0x00, 0x52, 0x03, 0x67, 0x63, 0x70, 0x12, 0x30, 0x0a, 0x05, 0x61, 0x7a, 3102 0x75, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 3103 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x42, 0x6c, 0x6f, 0x62, 0x55, 0x70, 0x6c, 3104 0x6f, 0x61, 0x64, 0x48, 0x00, 0x52, 0x05, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x12, 0x2f, 0x0a, 0x06, 3105 0x61, 0x6c, 0x69, 0x4f, 0x53, 0x53, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6c, 3106 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x4f, 0x53, 0x53, 0x55, 0x70, 0x6c, 3107 0x6f, 0x61, 0x64, 0x48, 0x00, 0x52, 0x06, 0x61, 0x6c, 0x69, 0x4f, 0x53, 0x53, 0x42, 0x08, 0x0a, 3108 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x93, 0x02, 0x0a, 0x10, 0x44, 0x69, 0x72, 0x65, 3109 0x63, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x1a, 0x0a, 0x08, 3110 0x66, 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 3111 0x66, 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x69, 0x73, 0x61, 3112 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 3113 0x28, 0x08, 0x52, 0x0f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x69, 0x66, 3114 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x02, 0x73, 0x33, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 3115 0x11, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x33, 0x55, 0x70, 0x6c, 0x6f, 3116 0x61, 0x64, 0x48, 0x00, 0x52, 0x02, 0x73, 0x33, 0x12, 0x26, 0x0a, 0x03, 0x67, 0x63, 0x70, 0x18, 3117 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 3118 0x47, 0x43, 0x50, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x00, 0x52, 0x03, 0x67, 0x63, 0x70, 3119 0x12, 0x30, 0x0a, 0x05, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 3120 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x42, 3121 0x6c, 0x6f, 0x62, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x00, 0x52, 0x05, 0x61, 0x7a, 0x75, 3122 0x72, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x61, 0x6c, 0x69, 0x4f, 0x53, 0x53, 0x18, 0x06, 0x20, 0x01, 3123 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x6c, 0x69, 3124 0x4f, 0x53, 0x53, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x00, 0x52, 0x06, 0x61, 0x6c, 0x69, 3125 0x4f, 0x53, 0x53, 0x42, 0x08, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0xcb, 0x02, 3126 0x0a, 0x08, 0x53, 0x33, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 3127 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 3128 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 3129 0x72, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 3130 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 3131 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 3132 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 3133 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 3134 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x28, 0x0a, 3135 0x10, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x79, 0x6c, 3136 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x50, 0x61, 3137 0x74, 0x68, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 3138 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6c, 0x69, 0x76, 0x65, 3139 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x33, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x4d, 0x65, 0x74, 3140 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 3141 0x64, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, 3142 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x1a, 0x3b, 3143 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 3144 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 3145 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 3146 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x45, 0x0a, 0x09, 0x47, 3147 0x43, 0x50, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x64, 3148 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 3149 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 3150 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 3151 0x65, 0x74, 0x22, 0x7c, 0x0a, 0x0f, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x42, 0x6c, 0x6f, 0x62, 0x55, 3152 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 3153 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 3154 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 3155 0x75, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 3156 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 3157 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 3158 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 3159 0x22, 0x91, 0x01, 0x0a, 0x0c, 0x41, 0x6c, 0x69, 0x4f, 0x53, 0x53, 0x55, 0x70, 0x6c, 0x6f, 0x61, 3160 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 3161 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 3162 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 3163 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 3164 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 3165 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 3166 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 3167 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 3168 0x63, 0x6b, 0x65, 0x74, 0x22, 0x57, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x75, 3169 0x74, 0x70, 0x75, 0x74, 0x12, 0x33, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 3170 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 3171 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 3172 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x72, 0x6c, 3173 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x75, 0x72, 0x6c, 0x73, 0x22, 0x80, 0x03, 3174 0x0a, 0x0f, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 3175 0x73, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 3176 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 3177 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 3178 0x14, 0x0a, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 3179 0x64, 0x65, 0x70, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x72, 0x61, 3180 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x72, 3181 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x63, 0x6f, 0x64, 3182 0x65, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 3183 0x69, 0x74, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x52, 0x0a, 0x61, 3184 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x75, 0x64, 3185 0x69, 0x6f, 0x5f, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 3186 0x52, 0x0c, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x42, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x12, 0x27, 3187 0x0a, 0x0f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 3188 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x46, 0x72, 3189 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x34, 0x0a, 0x0b, 0x76, 0x69, 0x64, 0x65, 0x6f, 3190 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x6c, 3191 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x64, 0x65, 3192 0x63, 0x52, 0x0a, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x23, 0x0a, 3193 0x0d, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x09, 3194 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x42, 0x69, 0x74, 0x72, 0x61, 3195 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x6b, 0x65, 0x79, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 3196 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 3197 0x6b, 0x65, 0x79, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 3198 0x22, 0x4a, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 3199 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x67, 0x72, 0x65, 0x73, 3200 0x73, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x67, 0x72, 0x65, 3201 0x73, 0x73, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x18, 0x02, 3202 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x22, 0x88, 0x01, 0x0a, 3203 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 3204 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x69, 3205 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 3206 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x64, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 3207 0x75, 0x72, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x64, 0x64, 0x4f, 3208 0x75, 0x74, 0x70, 0x75, 0x74, 0x55, 0x72, 0x6c, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x65, 0x6d, 3209 0x6f, 0x76, 0x65, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x73, 0x18, 3210 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x75, 0x74, 3211 0x70, 0x75, 0x74, 0x55, 0x72, 0x6c, 0x73, 0x22, 0x65, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x45, 3212 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 3213 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 3214 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x67, 0x72, 3215 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x67, 3216 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 3217 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x22, 0x3f, 3218 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 3219 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 3220 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x45, 0x67, 3221 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 3222 0x30, 0x0a, 0x11, 0x53, 0x74, 0x6f, 0x70, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 3223 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x69, 3224 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 3225 0x64, 0x22, 0xc5, 0x06, 0x0a, 0x0a, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 3226 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 3227 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x17, 0x0a, 3228 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 3229 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 3230 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x4e, 3231 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 3232 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x45, 0x67, 3233 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 3234 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 3235 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, 3236 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, 3237 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x41, 0x74, 0x12, 0x14, 0x0a, 0x05, 3238 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 3239 0x6f, 0x72, 0x12, 0x4c, 0x0a, 0x0e, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 3240 0x73, 0x69, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6c, 0x69, 0x76, 3241 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 3242 0x74, 0x65, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 3243 0x00, 0x52, 0x0d, 0x72, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 3244 0x12, 0x4f, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 3245 0x69, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6c, 0x69, 0x76, 0x65, 3246 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 3247 0x74, 0x65, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 3248 0x00, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 3249 0x65, 0x12, 0x33, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 3250 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 3251 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 3252 0x05, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x12, 0x2d, 0x0a, 0x03, 0x77, 0x65, 0x62, 0x18, 0x0e, 0x20, 3253 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x57, 0x65, 3254 0x62, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 3255 0x52, 0x03, 0x77, 0x65, 0x62, 0x12, 0x35, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 3256 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 3257 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x02, 3258 0x18, 0x01, 0x48, 0x01, 0x52, 0x06, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x2b, 0x0a, 0x04, 3259 0x66, 0x69, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6c, 0x69, 0x76, 3260 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x02, 0x18, 3261 0x01, 0x48, 0x01, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x73, 0x65, 0x67, 3262 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6c, 0x69, 3263 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x6e, 3264 0x66, 0x6f, 0x42, 0x02, 0x18, 0x01, 0x48, 0x01, 0x52, 0x08, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 3265 0x74, 0x73, 0x12, 0x3a, 0x0a, 0x0e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x72, 0x65, 0x73, 3266 0x75, 0x6c, 0x74, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 3267 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 3268 0x0d, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x34, 3269 0x0a, 0x0c, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x10, 3270 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x46, 3271 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 3272 0x75, 0x6c, 0x74, 0x73, 0x12, 0x3e, 0x0a, 0x0f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 3273 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 3274 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 3275 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 3276 0x75, 0x6c, 0x74, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 3277 0x08, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x3d, 0x0a, 0x0e, 0x53, 0x74, 0x72, 3278 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x04, 0x69, 3279 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 3280 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 3281 0x69, 0x6e, 0x66, 0x6f, 0x3a, 0x02, 0x18, 0x01, 0x22, 0xee, 0x01, 0x0a, 0x0a, 0x53, 0x74, 0x72, 3282 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 3283 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 3284 0x72, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 3285 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x65, 3286 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x65, 3287 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 3288 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 3289 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 3290 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 3291 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 3292 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 3293 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x2e, 0x0a, 0x06, 0x53, 0x74, 0x61, 3294 0x74, 0x75, 0x73, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x00, 0x12, 3295 0x0c, 0x0a, 0x08, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 3296 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x22, 0xac, 0x01, 0x0a, 0x08, 0x46, 0x69, 3297 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 3298 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 3299 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 3300 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, 3301 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 3302 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 3303 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 3304 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 3305 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, 3306 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 3307 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xef, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x67, 3308 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 3309 0x79, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 3310 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 3311 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 3312 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 3313 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x2b, 3314 0x0a, 0x11, 0x70, 0x6c, 0x61, 0x79, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 3315 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x6c, 0x61, 0x79, 0x6c, 3316 0x69, 0x73, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x73, 3317 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 3318 0x28, 0x03, 0x52, 0x0c, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 3319 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 3320 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 3321 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 3322 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x41, 0x74, 0x22, 0xe1, 0x01, 0x0a, 0x0f, 0x41, 3323 0x75, 0x74, 0x6f, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 3324 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 3325 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x69, 3326 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x18, 0x05, 3327 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 3328 0x69, 0x66, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x02, 0x73, 0x33, 0x18, 0x02, 0x20, 0x01, 0x28, 3329 0x0b, 0x32, 0x11, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x33, 0x55, 0x70, 3330 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x00, 0x52, 0x02, 0x73, 0x33, 0x12, 0x26, 0x0a, 0x03, 0x67, 0x63, 3331 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 3332 0x74, 0x2e, 0x47, 0x43, 0x50, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x00, 0x52, 0x03, 0x67, 3333 0x63, 0x70, 0x12, 0x30, 0x0a, 0x05, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 3334 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x7a, 0x75, 0x72, 3335 0x65, 0x42, 0x6c, 0x6f, 0x62, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x00, 0x52, 0x05, 0x61, 3336 0x7a, 0x75, 0x72, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2a, 0x39, 3337 0x0a, 0x0f, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 3338 0x65, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x46, 0x49, 0x4c, 3339 0x45, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x4d, 0x50, 0x34, 0x10, 0x01, 3340 0x12, 0x07, 0x0a, 0x03, 0x4f, 0x47, 0x47, 0x10, 0x02, 0x2a, 0x4e, 0x0a, 0x15, 0x53, 0x65, 0x67, 3341 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 3342 0x6f, 0x6c, 0x12, 0x23, 0x0a, 0x1f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x53, 0x45, 3343 0x47, 0x4d, 0x45, 0x4e, 0x54, 0x45, 0x44, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x50, 0x52, 0x4f, 3344 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x48, 0x4c, 0x53, 0x5f, 0x50, 3345 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x10, 0x01, 0x2a, 0x2f, 0x0a, 0x13, 0x53, 0x65, 0x67, 3346 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 3347 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x54, 3348 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, 0x01, 0x2a, 0x30, 0x0a, 0x0e, 0x53, 0x74, 3349 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x14, 0x0a, 0x10, 3350 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 3351 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x52, 0x54, 0x4d, 0x50, 0x10, 0x01, 0x2a, 0xcf, 0x01, 0x0a, 3352 0x15, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 3353 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x12, 0x10, 0x0a, 0x0c, 0x48, 0x32, 0x36, 0x34, 0x5f, 0x37, 3354 0x32, 0x30, 0x50, 0x5f, 0x33, 0x30, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x48, 0x32, 0x36, 0x34, 3355 0x5f, 0x37, 0x32, 0x30, 0x50, 0x5f, 0x36, 0x30, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x48, 0x32, 3356 0x36, 0x34, 0x5f, 0x31, 0x30, 0x38, 0x30, 0x50, 0x5f, 0x33, 0x30, 0x10, 0x02, 0x12, 0x11, 0x0a, 3357 0x0d, 0x48, 0x32, 0x36, 0x34, 0x5f, 0x31, 0x30, 0x38, 0x30, 0x50, 0x5f, 0x36, 0x30, 0x10, 0x03, 3358 0x12, 0x19, 0x0a, 0x15, 0x50, 0x4f, 0x52, 0x54, 0x52, 0x41, 0x49, 0x54, 0x5f, 0x48, 0x32, 0x36, 3359 0x34, 0x5f, 0x37, 0x32, 0x30, 0x50, 0x5f, 0x33, 0x30, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x15, 0x50, 3360 0x4f, 0x52, 0x54, 0x52, 0x41, 0x49, 0x54, 0x5f, 0x48, 0x32, 0x36, 0x34, 0x5f, 0x37, 0x32, 0x30, 3361 0x50, 0x5f, 0x36, 0x30, 0x10, 0x05, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x4f, 0x52, 0x54, 0x52, 0x41, 3362 0x49, 0x54, 0x5f, 0x48, 0x32, 0x36, 0x34, 0x5f, 0x31, 0x30, 0x38, 0x30, 0x50, 0x5f, 0x33, 0x30, 3363 0x10, 0x06, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x4f, 0x52, 0x54, 0x52, 0x41, 0x49, 0x54, 0x5f, 0x48, 3364 0x32, 0x36, 0x34, 0x5f, 0x31, 0x30, 0x38, 0x30, 0x50, 0x5f, 0x36, 0x30, 0x10, 0x07, 0x2a, 0x9f, 3365 0x01, 0x0a, 0x0c, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 3366 0x13, 0x0a, 0x0f, 0x45, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x49, 3367 0x4e, 0x47, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x41, 3368 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x47, 0x52, 0x45, 0x53, 3369 0x53, 0x5f, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x45, 0x47, 3370 0x52, 0x45, 0x53, 0x53, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x03, 0x12, 3371 0x11, 0x0a, 0x0d, 0x45, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 3372 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x41, 0x42, 0x4f, 3373 0x52, 0x54, 0x45, 0x44, 0x10, 0x05, 0x12, 0x18, 0x0a, 0x14, 0x45, 0x47, 0x52, 0x45, 0x53, 0x53, 3374 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x43, 0x48, 0x45, 0x44, 0x10, 0x06, 3375 0x32, 0xca, 0x04, 0x0a, 0x06, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x54, 0x0a, 0x18, 0x53, 3376 0x74, 0x61, 0x72, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 3377 0x65, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x23, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 3378 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x45, 3379 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x6c, 3380 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 3381 0x6f, 0x12, 0x56, 0x0a, 0x19, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x43, 3382 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x24, 3383 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x43, 0x6f, 3384 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 3385 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x45, 3386 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x44, 0x0a, 0x10, 0x53, 0x74, 0x61, 3387 0x72, 0x74, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x2e, 3388 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x45, 0x67, 0x72, 3389 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x6c, 0x69, 0x76, 3390 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 3391 0x40, 0x0a, 0x0e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x57, 0x65, 0x62, 0x45, 0x67, 0x72, 0x65, 0x73, 3392 0x73, 0x12, 0x19, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x57, 0x65, 0x62, 0x45, 3393 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x6c, 3394 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 3395 0x6f, 0x12, 0x41, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x79, 0x6f, 0x75, 3396 0x74, 0x12, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 3397 0x74, 0x65, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 3398 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 3399 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x41, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 3400 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 3401 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 3402 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x45, 0x67, 0x72, 3403 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x45, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x45, 3404 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 3405 0x4c, 0x69, 0x73, 0x74, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 3406 0x74, 0x1a, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 3407 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 3408 0x0a, 0x0a, 0x53, 0x74, 0x6f, 0x70, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x2e, 0x6c, 3409 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x45, 0x67, 0x72, 0x65, 0x73, 3410 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 3411 0x69, 0x74, 0x2e, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x46, 0x5a, 3412 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 3413 0x6b, 0x69, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x6c, 0x69, 0x76, 3414 0x65, 0x6b, 0x69, 0x74, 0xaa, 0x02, 0x0d, 0x4c, 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x2e, 0x50, 3415 0x72, 0x6f, 0x74, 0x6f, 0xea, 0x02, 0x0e, 0x4c, 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x3a, 0x3a, 3416 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 3417 } 3418 3419 var ( 3420 file_livekit_egress_proto_rawDescOnce sync.Once 3421 file_livekit_egress_proto_rawDescData = file_livekit_egress_proto_rawDesc 3422 ) 3423 3424 func file_livekit_egress_proto_rawDescGZIP() []byte { 3425 file_livekit_egress_proto_rawDescOnce.Do(func() { 3426 file_livekit_egress_proto_rawDescData = protoimpl.X.CompressGZIP(file_livekit_egress_proto_rawDescData) 3427 }) 3428 return file_livekit_egress_proto_rawDescData 3429 } 3430 3431 var file_livekit_egress_proto_enumTypes = make([]protoimpl.EnumInfo, 7) 3432 var file_livekit_egress_proto_msgTypes = make([]protoimpl.MessageInfo, 25) 3433 var file_livekit_egress_proto_goTypes = []interface{}{ 3434 (EncodedFileType)(0), // 0: livekit.EncodedFileType 3435 (SegmentedFileProtocol)(0), // 1: livekit.SegmentedFileProtocol 3436 (SegmentedFileSuffix)(0), // 2: livekit.SegmentedFileSuffix 3437 (StreamProtocol)(0), // 3: livekit.StreamProtocol 3438 (EncodingOptionsPreset)(0), // 4: livekit.EncodingOptionsPreset 3439 (EgressStatus)(0), // 5: livekit.EgressStatus 3440 (StreamInfo_Status)(0), // 6: livekit.StreamInfo.Status 3441 (*RoomCompositeEgressRequest)(nil), // 7: livekit.RoomCompositeEgressRequest 3442 (*WebEgressRequest)(nil), // 8: livekit.WebEgressRequest 3443 (*TrackCompositeEgressRequest)(nil), // 9: livekit.TrackCompositeEgressRequest 3444 (*TrackEgressRequest)(nil), // 10: livekit.TrackEgressRequest 3445 (*EncodedFileOutput)(nil), // 11: livekit.EncodedFileOutput 3446 (*SegmentedFileOutput)(nil), // 12: livekit.SegmentedFileOutput 3447 (*DirectFileOutput)(nil), // 13: livekit.DirectFileOutput 3448 (*S3Upload)(nil), // 14: livekit.S3Upload 3449 (*GCPUpload)(nil), // 15: livekit.GCPUpload 3450 (*AzureBlobUpload)(nil), // 16: livekit.AzureBlobUpload 3451 (*AliOSSUpload)(nil), // 17: livekit.AliOSSUpload 3452 (*StreamOutput)(nil), // 18: livekit.StreamOutput 3453 (*EncodingOptions)(nil), // 19: livekit.EncodingOptions 3454 (*UpdateLayoutRequest)(nil), // 20: livekit.UpdateLayoutRequest 3455 (*UpdateStreamRequest)(nil), // 21: livekit.UpdateStreamRequest 3456 (*ListEgressRequest)(nil), // 22: livekit.ListEgressRequest 3457 (*ListEgressResponse)(nil), // 23: livekit.ListEgressResponse 3458 (*StopEgressRequest)(nil), // 24: livekit.StopEgressRequest 3459 (*EgressInfo)(nil), // 25: livekit.EgressInfo 3460 (*StreamInfoList)(nil), // 26: livekit.StreamInfoList 3461 (*StreamInfo)(nil), // 27: livekit.StreamInfo 3462 (*FileInfo)(nil), // 28: livekit.FileInfo 3463 (*SegmentsInfo)(nil), // 29: livekit.SegmentsInfo 3464 (*AutoTrackEgress)(nil), // 30: livekit.AutoTrackEgress 3465 nil, // 31: livekit.S3Upload.MetadataEntry 3466 (AudioCodec)(0), // 32: livekit.AudioCodec 3467 (VideoCodec)(0), // 33: livekit.VideoCodec 3468 } 3469 var file_livekit_egress_proto_depIdxs = []int32{ 3470 11, // 0: livekit.RoomCompositeEgressRequest.file:type_name -> livekit.EncodedFileOutput 3471 18, // 1: livekit.RoomCompositeEgressRequest.stream:type_name -> livekit.StreamOutput 3472 12, // 2: livekit.RoomCompositeEgressRequest.segments:type_name -> livekit.SegmentedFileOutput 3473 4, // 3: livekit.RoomCompositeEgressRequest.preset:type_name -> livekit.EncodingOptionsPreset 3474 19, // 4: livekit.RoomCompositeEgressRequest.advanced:type_name -> livekit.EncodingOptions 3475 11, // 5: livekit.RoomCompositeEgressRequest.file_outputs:type_name -> livekit.EncodedFileOutput 3476 18, // 6: livekit.RoomCompositeEgressRequest.stream_outputs:type_name -> livekit.StreamOutput 3477 12, // 7: livekit.RoomCompositeEgressRequest.segment_outputs:type_name -> livekit.SegmentedFileOutput 3478 11, // 8: livekit.WebEgressRequest.file:type_name -> livekit.EncodedFileOutput 3479 18, // 9: livekit.WebEgressRequest.stream:type_name -> livekit.StreamOutput 3480 12, // 10: livekit.WebEgressRequest.segments:type_name -> livekit.SegmentedFileOutput 3481 4, // 11: livekit.WebEgressRequest.preset:type_name -> livekit.EncodingOptionsPreset 3482 19, // 12: livekit.WebEgressRequest.advanced:type_name -> livekit.EncodingOptions 3483 11, // 13: livekit.WebEgressRequest.file_outputs:type_name -> livekit.EncodedFileOutput 3484 18, // 14: livekit.WebEgressRequest.stream_outputs:type_name -> livekit.StreamOutput 3485 12, // 15: livekit.WebEgressRequest.segment_outputs:type_name -> livekit.SegmentedFileOutput 3486 11, // 16: livekit.TrackCompositeEgressRequest.file:type_name -> livekit.EncodedFileOutput 3487 18, // 17: livekit.TrackCompositeEgressRequest.stream:type_name -> livekit.StreamOutput 3488 12, // 18: livekit.TrackCompositeEgressRequest.segments:type_name -> livekit.SegmentedFileOutput 3489 4, // 19: livekit.TrackCompositeEgressRequest.preset:type_name -> livekit.EncodingOptionsPreset 3490 19, // 20: livekit.TrackCompositeEgressRequest.advanced:type_name -> livekit.EncodingOptions 3491 11, // 21: livekit.TrackCompositeEgressRequest.file_outputs:type_name -> livekit.EncodedFileOutput 3492 18, // 22: livekit.TrackCompositeEgressRequest.stream_outputs:type_name -> livekit.StreamOutput 3493 12, // 23: livekit.TrackCompositeEgressRequest.segment_outputs:type_name -> livekit.SegmentedFileOutput 3494 13, // 24: livekit.TrackEgressRequest.file:type_name -> livekit.DirectFileOutput 3495 0, // 25: livekit.EncodedFileOutput.file_type:type_name -> livekit.EncodedFileType 3496 14, // 26: livekit.EncodedFileOutput.s3:type_name -> livekit.S3Upload 3497 15, // 27: livekit.EncodedFileOutput.gcp:type_name -> livekit.GCPUpload 3498 16, // 28: livekit.EncodedFileOutput.azure:type_name -> livekit.AzureBlobUpload 3499 17, // 29: livekit.EncodedFileOutput.aliOSS:type_name -> livekit.AliOSSUpload 3500 1, // 30: livekit.SegmentedFileOutput.protocol:type_name -> livekit.SegmentedFileProtocol 3501 2, // 31: livekit.SegmentedFileOutput.filename_suffix:type_name -> livekit.SegmentedFileSuffix 3502 14, // 32: livekit.SegmentedFileOutput.s3:type_name -> livekit.S3Upload 3503 15, // 33: livekit.SegmentedFileOutput.gcp:type_name -> livekit.GCPUpload 3504 16, // 34: livekit.SegmentedFileOutput.azure:type_name -> livekit.AzureBlobUpload 3505 17, // 35: livekit.SegmentedFileOutput.aliOSS:type_name -> livekit.AliOSSUpload 3506 14, // 36: livekit.DirectFileOutput.s3:type_name -> livekit.S3Upload 3507 15, // 37: livekit.DirectFileOutput.gcp:type_name -> livekit.GCPUpload 3508 16, // 38: livekit.DirectFileOutput.azure:type_name -> livekit.AzureBlobUpload 3509 17, // 39: livekit.DirectFileOutput.aliOSS:type_name -> livekit.AliOSSUpload 3510 31, // 40: livekit.S3Upload.metadata:type_name -> livekit.S3Upload.MetadataEntry 3511 3, // 41: livekit.StreamOutput.protocol:type_name -> livekit.StreamProtocol 3512 32, // 42: livekit.EncodingOptions.audio_codec:type_name -> livekit.AudioCodec 3513 33, // 43: livekit.EncodingOptions.video_codec:type_name -> livekit.VideoCodec 3514 25, // 44: livekit.ListEgressResponse.items:type_name -> livekit.EgressInfo 3515 5, // 45: livekit.EgressInfo.status:type_name -> livekit.EgressStatus 3516 7, // 46: livekit.EgressInfo.room_composite:type_name -> livekit.RoomCompositeEgressRequest 3517 9, // 47: livekit.EgressInfo.track_composite:type_name -> livekit.TrackCompositeEgressRequest 3518 10, // 48: livekit.EgressInfo.track:type_name -> livekit.TrackEgressRequest 3519 8, // 49: livekit.EgressInfo.web:type_name -> livekit.WebEgressRequest 3520 26, // 50: livekit.EgressInfo.stream:type_name -> livekit.StreamInfoList 3521 28, // 51: livekit.EgressInfo.file:type_name -> livekit.FileInfo 3522 29, // 52: livekit.EgressInfo.segments:type_name -> livekit.SegmentsInfo 3523 27, // 53: livekit.EgressInfo.stream_results:type_name -> livekit.StreamInfo 3524 28, // 54: livekit.EgressInfo.file_results:type_name -> livekit.FileInfo 3525 29, // 55: livekit.EgressInfo.segment_results:type_name -> livekit.SegmentsInfo 3526 27, // 56: livekit.StreamInfoList.info:type_name -> livekit.StreamInfo 3527 6, // 57: livekit.StreamInfo.status:type_name -> livekit.StreamInfo.Status 3528 14, // 58: livekit.AutoTrackEgress.s3:type_name -> livekit.S3Upload 3529 15, // 59: livekit.AutoTrackEgress.gcp:type_name -> livekit.GCPUpload 3530 16, // 60: livekit.AutoTrackEgress.azure:type_name -> livekit.AzureBlobUpload 3531 7, // 61: livekit.Egress.StartRoomCompositeEgress:input_type -> livekit.RoomCompositeEgressRequest 3532 9, // 62: livekit.Egress.StartTrackCompositeEgress:input_type -> livekit.TrackCompositeEgressRequest 3533 10, // 63: livekit.Egress.StartTrackEgress:input_type -> livekit.TrackEgressRequest 3534 8, // 64: livekit.Egress.StartWebEgress:input_type -> livekit.WebEgressRequest 3535 20, // 65: livekit.Egress.UpdateLayout:input_type -> livekit.UpdateLayoutRequest 3536 21, // 66: livekit.Egress.UpdateStream:input_type -> livekit.UpdateStreamRequest 3537 22, // 67: livekit.Egress.ListEgress:input_type -> livekit.ListEgressRequest 3538 24, // 68: livekit.Egress.StopEgress:input_type -> livekit.StopEgressRequest 3539 25, // 69: livekit.Egress.StartRoomCompositeEgress:output_type -> livekit.EgressInfo 3540 25, // 70: livekit.Egress.StartTrackCompositeEgress:output_type -> livekit.EgressInfo 3541 25, // 71: livekit.Egress.StartTrackEgress:output_type -> livekit.EgressInfo 3542 25, // 72: livekit.Egress.StartWebEgress:output_type -> livekit.EgressInfo 3543 25, // 73: livekit.Egress.UpdateLayout:output_type -> livekit.EgressInfo 3544 25, // 74: livekit.Egress.UpdateStream:output_type -> livekit.EgressInfo 3545 23, // 75: livekit.Egress.ListEgress:output_type -> livekit.ListEgressResponse 3546 25, // 76: livekit.Egress.StopEgress:output_type -> livekit.EgressInfo 3547 69, // [69:77] is the sub-list for method output_type 3548 61, // [61:69] is the sub-list for method input_type 3549 61, // [61:61] is the sub-list for extension type_name 3550 61, // [61:61] is the sub-list for extension extendee 3551 0, // [0:61] is the sub-list for field type_name 3552 } 3553 3554 func init() { file_livekit_egress_proto_init() } 3555 func file_livekit_egress_proto_init() { 3556 if File_livekit_egress_proto != nil { 3557 return 3558 } 3559 file_livekit_models_proto_init() 3560 if !protoimpl.UnsafeEnabled { 3561 file_livekit_egress_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 3562 switch v := v.(*RoomCompositeEgressRequest); i { 3563 case 0: 3564 return &v.state 3565 case 1: 3566 return &v.sizeCache 3567 case 2: 3568 return &v.unknownFields 3569 default: 3570 return nil 3571 } 3572 } 3573 file_livekit_egress_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 3574 switch v := v.(*WebEgressRequest); i { 3575 case 0: 3576 return &v.state 3577 case 1: 3578 return &v.sizeCache 3579 case 2: 3580 return &v.unknownFields 3581 default: 3582 return nil 3583 } 3584 } 3585 file_livekit_egress_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 3586 switch v := v.(*TrackCompositeEgressRequest); i { 3587 case 0: 3588 return &v.state 3589 case 1: 3590 return &v.sizeCache 3591 case 2: 3592 return &v.unknownFields 3593 default: 3594 return nil 3595 } 3596 } 3597 file_livekit_egress_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 3598 switch v := v.(*TrackEgressRequest); i { 3599 case 0: 3600 return &v.state 3601 case 1: 3602 return &v.sizeCache 3603 case 2: 3604 return &v.unknownFields 3605 default: 3606 return nil 3607 } 3608 } 3609 file_livekit_egress_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 3610 switch v := v.(*EncodedFileOutput); i { 3611 case 0: 3612 return &v.state 3613 case 1: 3614 return &v.sizeCache 3615 case 2: 3616 return &v.unknownFields 3617 default: 3618 return nil 3619 } 3620 } 3621 file_livekit_egress_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 3622 switch v := v.(*SegmentedFileOutput); i { 3623 case 0: 3624 return &v.state 3625 case 1: 3626 return &v.sizeCache 3627 case 2: 3628 return &v.unknownFields 3629 default: 3630 return nil 3631 } 3632 } 3633 file_livekit_egress_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 3634 switch v := v.(*DirectFileOutput); i { 3635 case 0: 3636 return &v.state 3637 case 1: 3638 return &v.sizeCache 3639 case 2: 3640 return &v.unknownFields 3641 default: 3642 return nil 3643 } 3644 } 3645 file_livekit_egress_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 3646 switch v := v.(*S3Upload); i { 3647 case 0: 3648 return &v.state 3649 case 1: 3650 return &v.sizeCache 3651 case 2: 3652 return &v.unknownFields 3653 default: 3654 return nil 3655 } 3656 } 3657 file_livekit_egress_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 3658 switch v := v.(*GCPUpload); i { 3659 case 0: 3660 return &v.state 3661 case 1: 3662 return &v.sizeCache 3663 case 2: 3664 return &v.unknownFields 3665 default: 3666 return nil 3667 } 3668 } 3669 file_livekit_egress_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 3670 switch v := v.(*AzureBlobUpload); i { 3671 case 0: 3672 return &v.state 3673 case 1: 3674 return &v.sizeCache 3675 case 2: 3676 return &v.unknownFields 3677 default: 3678 return nil 3679 } 3680 } 3681 file_livekit_egress_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 3682 switch v := v.(*AliOSSUpload); i { 3683 case 0: 3684 return &v.state 3685 case 1: 3686 return &v.sizeCache 3687 case 2: 3688 return &v.unknownFields 3689 default: 3690 return nil 3691 } 3692 } 3693 file_livekit_egress_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 3694 switch v := v.(*StreamOutput); i { 3695 case 0: 3696 return &v.state 3697 case 1: 3698 return &v.sizeCache 3699 case 2: 3700 return &v.unknownFields 3701 default: 3702 return nil 3703 } 3704 } 3705 file_livekit_egress_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 3706 switch v := v.(*EncodingOptions); i { 3707 case 0: 3708 return &v.state 3709 case 1: 3710 return &v.sizeCache 3711 case 2: 3712 return &v.unknownFields 3713 default: 3714 return nil 3715 } 3716 } 3717 file_livekit_egress_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 3718 switch v := v.(*UpdateLayoutRequest); i { 3719 case 0: 3720 return &v.state 3721 case 1: 3722 return &v.sizeCache 3723 case 2: 3724 return &v.unknownFields 3725 default: 3726 return nil 3727 } 3728 } 3729 file_livekit_egress_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 3730 switch v := v.(*UpdateStreamRequest); i { 3731 case 0: 3732 return &v.state 3733 case 1: 3734 return &v.sizeCache 3735 case 2: 3736 return &v.unknownFields 3737 default: 3738 return nil 3739 } 3740 } 3741 file_livekit_egress_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 3742 switch v := v.(*ListEgressRequest); i { 3743 case 0: 3744 return &v.state 3745 case 1: 3746 return &v.sizeCache 3747 case 2: 3748 return &v.unknownFields 3749 default: 3750 return nil 3751 } 3752 } 3753 file_livekit_egress_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { 3754 switch v := v.(*ListEgressResponse); i { 3755 case 0: 3756 return &v.state 3757 case 1: 3758 return &v.sizeCache 3759 case 2: 3760 return &v.unknownFields 3761 default: 3762 return nil 3763 } 3764 } 3765 file_livekit_egress_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { 3766 switch v := v.(*StopEgressRequest); i { 3767 case 0: 3768 return &v.state 3769 case 1: 3770 return &v.sizeCache 3771 case 2: 3772 return &v.unknownFields 3773 default: 3774 return nil 3775 } 3776 } 3777 file_livekit_egress_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { 3778 switch v := v.(*EgressInfo); i { 3779 case 0: 3780 return &v.state 3781 case 1: 3782 return &v.sizeCache 3783 case 2: 3784 return &v.unknownFields 3785 default: 3786 return nil 3787 } 3788 } 3789 file_livekit_egress_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { 3790 switch v := v.(*StreamInfoList); i { 3791 case 0: 3792 return &v.state 3793 case 1: 3794 return &v.sizeCache 3795 case 2: 3796 return &v.unknownFields 3797 default: 3798 return nil 3799 } 3800 } 3801 file_livekit_egress_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { 3802 switch v := v.(*StreamInfo); i { 3803 case 0: 3804 return &v.state 3805 case 1: 3806 return &v.sizeCache 3807 case 2: 3808 return &v.unknownFields 3809 default: 3810 return nil 3811 } 3812 } 3813 file_livekit_egress_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { 3814 switch v := v.(*FileInfo); i { 3815 case 0: 3816 return &v.state 3817 case 1: 3818 return &v.sizeCache 3819 case 2: 3820 return &v.unknownFields 3821 default: 3822 return nil 3823 } 3824 } 3825 file_livekit_egress_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { 3826 switch v := v.(*SegmentsInfo); i { 3827 case 0: 3828 return &v.state 3829 case 1: 3830 return &v.sizeCache 3831 case 2: 3832 return &v.unknownFields 3833 default: 3834 return nil 3835 } 3836 } 3837 file_livekit_egress_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { 3838 switch v := v.(*AutoTrackEgress); i { 3839 case 0: 3840 return &v.state 3841 case 1: 3842 return &v.sizeCache 3843 case 2: 3844 return &v.unknownFields 3845 default: 3846 return nil 3847 } 3848 } 3849 } 3850 file_livekit_egress_proto_msgTypes[0].OneofWrappers = []interface{}{ 3851 (*RoomCompositeEgressRequest_File)(nil), 3852 (*RoomCompositeEgressRequest_Stream)(nil), 3853 (*RoomCompositeEgressRequest_Segments)(nil), 3854 (*RoomCompositeEgressRequest_Preset)(nil), 3855 (*RoomCompositeEgressRequest_Advanced)(nil), 3856 } 3857 file_livekit_egress_proto_msgTypes[1].OneofWrappers = []interface{}{ 3858 (*WebEgressRequest_File)(nil), 3859 (*WebEgressRequest_Stream)(nil), 3860 (*WebEgressRequest_Segments)(nil), 3861 (*WebEgressRequest_Preset)(nil), 3862 (*WebEgressRequest_Advanced)(nil), 3863 } 3864 file_livekit_egress_proto_msgTypes[2].OneofWrappers = []interface{}{ 3865 (*TrackCompositeEgressRequest_File)(nil), 3866 (*TrackCompositeEgressRequest_Stream)(nil), 3867 (*TrackCompositeEgressRequest_Segments)(nil), 3868 (*TrackCompositeEgressRequest_Preset)(nil), 3869 (*TrackCompositeEgressRequest_Advanced)(nil), 3870 } 3871 file_livekit_egress_proto_msgTypes[3].OneofWrappers = []interface{}{ 3872 (*TrackEgressRequest_File)(nil), 3873 (*TrackEgressRequest_WebsocketUrl)(nil), 3874 } 3875 file_livekit_egress_proto_msgTypes[4].OneofWrappers = []interface{}{ 3876 (*EncodedFileOutput_S3)(nil), 3877 (*EncodedFileOutput_Gcp)(nil), 3878 (*EncodedFileOutput_Azure)(nil), 3879 (*EncodedFileOutput_AliOSS)(nil), 3880 } 3881 file_livekit_egress_proto_msgTypes[5].OneofWrappers = []interface{}{ 3882 (*SegmentedFileOutput_S3)(nil), 3883 (*SegmentedFileOutput_Gcp)(nil), 3884 (*SegmentedFileOutput_Azure)(nil), 3885 (*SegmentedFileOutput_AliOSS)(nil), 3886 } 3887 file_livekit_egress_proto_msgTypes[6].OneofWrappers = []interface{}{ 3888 (*DirectFileOutput_S3)(nil), 3889 (*DirectFileOutput_Gcp)(nil), 3890 (*DirectFileOutput_Azure)(nil), 3891 (*DirectFileOutput_AliOSS)(nil), 3892 } 3893 file_livekit_egress_proto_msgTypes[18].OneofWrappers = []interface{}{ 3894 (*EgressInfo_RoomComposite)(nil), 3895 (*EgressInfo_TrackComposite)(nil), 3896 (*EgressInfo_Track)(nil), 3897 (*EgressInfo_Web)(nil), 3898 (*EgressInfo_Stream)(nil), 3899 (*EgressInfo_File)(nil), 3900 (*EgressInfo_Segments)(nil), 3901 } 3902 file_livekit_egress_proto_msgTypes[23].OneofWrappers = []interface{}{ 3903 (*AutoTrackEgress_S3)(nil), 3904 (*AutoTrackEgress_Gcp)(nil), 3905 (*AutoTrackEgress_Azure)(nil), 3906 } 3907 type x struct{} 3908 out := protoimpl.TypeBuilder{ 3909 File: protoimpl.DescBuilder{ 3910 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 3911 RawDescriptor: file_livekit_egress_proto_rawDesc, 3912 NumEnums: 7, 3913 NumMessages: 25, 3914 NumExtensions: 0, 3915 NumServices: 1, 3916 }, 3917 GoTypes: file_livekit_egress_proto_goTypes, 3918 DependencyIndexes: file_livekit_egress_proto_depIdxs, 3919 EnumInfos: file_livekit_egress_proto_enumTypes, 3920 MessageInfos: file_livekit_egress_proto_msgTypes, 3921 }.Build() 3922 File_livekit_egress_proto = out.File 3923 file_livekit_egress_proto_rawDesc = nil 3924 file_livekit_egress_proto_goTypes = nil 3925 file_livekit_egress_proto_depIdxs = nil 3926 }