github.com/whoyao/protocol@v0.0.0-20230519045905-2d8ace718ca5/rpc/egress.proto (about) 1 syntax = "proto3"; 2 3 package rpc; 4 5 option go_package = "github.com/livekit/livekit/pkg/service/rpc"; 6 7 import "options.proto"; 8 import "livekit_egress.proto"; 9 10 service EgressInternal { 11 rpc StartEgress(StartEgressRequest) returns (livekit.EgressInfo) { 12 option (psrpc.options).affinity_func = true; 13 option (psrpc.options).topics = true; 14 }; 15 rpc ListActiveEgress(ListActiveEgressRequest) returns (ListActiveEgressResponse) { 16 option (psrpc.options).multi = true; 17 } 18 } 19 20 service EgressHandler { 21 rpc UpdateStream(livekit.UpdateStreamRequest) returns (livekit.EgressInfo) { 22 option (psrpc.options).topics = true; 23 } 24 rpc StopEgress(livekit.StopEgressRequest) returns (livekit.EgressInfo) { 25 option (psrpc.options).topics = true; 26 } 27 } 28 29 message StartEgressRequest { 30 // request metadata 31 string egress_id = 1; 32 33 // request 34 oneof request { 35 livekit.RoomCompositeEgressRequest room_composite = 5; 36 livekit.TrackCompositeEgressRequest track_composite = 6; 37 livekit.TrackEgressRequest track = 7; 38 livekit.WebEgressRequest web = 11; 39 } 40 41 // connection info 42 string room_id = 3; 43 string token = 8; 44 string ws_url = 9; 45 } 46 47 message ListActiveEgressRequest {} 48 49 message ListActiveEgressResponse { 50 repeated string egress_ids = 1; 51 }