syntax = "proto3"; package livekit; option go_package = "github.com/livekit/protocol/livekit"; option csharp_namespace = "LiveKit.Proto"; option ruby_package = "LiveKit::Proto"; import "livekit_egress.proto"; import "livekit_ingress.proto"; message StartEgressRequest { // request metadata string egress_id = 1; string request_id = 2; string sender_id = 10; int64 sent_at = 4; // request oneof request { RoomCompositeEgressRequest room_composite = 5; TrackCompositeEgressRequest track_composite = 6; TrackEgressRequest track = 7; } // connection info string room_id = 3; string token = 8; string ws_url = 9; } message EgressRequest { // request metadata string egress_id = 1; string request_id = 2; string sender_id = 5; // request oneof request { UpdateStreamRequest update_stream = 3; StopEgressRequest stop = 4; } } message EgressResponse { EgressInfo info = 1; string error = 2; string request_id = 3; } message IngressRequest { // request metadata string ingress_id = 1; string request_id = 2; string sender_id = 3; oneof request { UpdateIngressRequest update = 4; DeleteIngressRequest delete = 5; } } // Query an ingress info from an ingress ID or stream key message GetIngressInfoRequest { string ingress_id = 1; string stream_key = 2; string request_id = 3; string sender_id = 4; int64 sent_at = 5; } message IngressResponse { IngressInfo info = 1; string error = 2; string request_id = 3; } message GetIngressInfoResponse { IngressInfo info = 1; string token = 2; string ws_url = 3; string error = 4; string request_id = 5; }