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  }