77
88 "github.com/pkg/errors"
99
10+ "github.com/livekit/protocol/egress"
1011 "github.com/livekit/protocol/livekit"
1112)
1213
@@ -18,18 +19,42 @@ type EgressResults struct {
1819}
1920
2021func GetSourceType (info * livekit.EgressInfo ) SessionSourceType {
21- switch info .SourceType {
22- case livekit .EgressSourceType_EGRESS_SOURCE_TYPE_WEB :
23- return SessionSourceTypeWeb
24- case livekit .EgressSourceType_EGRESS_SOURCE_TYPE_SDK :
25- return SessionSourceTypeSdk
22+ switch r := info .Request .( type ) {
23+ // case * livekit.EgressInfo_Egress :
24+ // return getSourceTypeV2(r.Egress)
25+ case * livekit.EgressInfo_Replay :
26+ return getSourceTypeV2 ( r . Replay )
2627 default :
27- return SessionSourceTypeUndefined
28+ switch info .SourceType {
29+ case livekit .EgressSourceType_EGRESS_SOURCE_TYPE_WEB :
30+ return SessionSourceTypeWeb
31+ case livekit .EgressSourceType_EGRESS_SOURCE_TYPE_SDK :
32+ return SessionSourceTypeSdk
33+ default :
34+ return SessionSourceTypeUndefined
35+ }
2836 }
2937}
3038
39+ func getSourceTypeV2 (r egress.EgressRequest ) SessionSourceType {
40+ if r .GetMedia () != nil {
41+ return SessionSourceTypeMedia
42+ }
43+ if r .GetTemplate () != nil {
44+ return SessionSourceTypeTemplate
45+ }
46+ if r .GetWeb () != nil {
47+ return SessionSourceTypeWeb
48+ }
49+ return SessionSourceTypeUndefined
50+ }
51+
3152func GetRequestType (info * livekit.EgressInfo ) EgressRequestType {
3253 switch info .Request .(type ) {
54+ // case *livekit.EgressInfo_Egress:
55+ // return EgressRequestTypeEgress
56+ case * livekit.EgressInfo_Replay :
57+ return EgressRequestTypeReplay
3358 case * livekit.EgressInfo_RoomComposite :
3459 return EgressRequestTypeRoomComposite
3560 case * livekit.EgressInfo_Web :
@@ -68,6 +93,18 @@ func GetStatus(info *livekit.EgressInfo) SessionStatus {
6893
6994func GetRequest (info * livekit.EgressInfo ) (string , error ) {
7095 switch req := info .Request .(type ) {
96+ // case *livekit.EgressInfo_Egress:
97+ // b, err := protojson.Marshal(req.Egress)
98+ // if err != nil {
99+ // return "", errors.Wrap(err, "failed to marshal egress request")
100+ // }
101+ // return string(b), nil
102+ case * livekit.EgressInfo_Replay :
103+ b , err := protojson .Marshal (req .Replay )
104+ if err != nil {
105+ return "" , errors .Wrap (err , "failed serializing Replay request" )
106+ }
107+ return string (b ), nil
71108 case * livekit.EgressInfo_RoomComposite :
72109 b , err := protojson .Marshal (req .RoomComposite )
73110 if err != nil {
0 commit comments