Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion protocol
Submodule protocol updated 71 files
+5 −0 .changeset/angry-seas-beg.md
+0 −5 .changeset/blue-birds-add.md
+0 −6 .changeset/clever-jars-invent.md
+5 −0 .changeset/five-pumas-love.md
+5 −0 .changeset/little-panthers-leave.md
+0 −6 .changeset/nervous-ways-yawn.md
+0 −6 .changeset/popular-dodos-study.md
+0 −5 .changeset/pretty-gifts-look.md
+5 −0 .changeset/pretty-planets-impress.md
+0 −5 .changeset/sip-status-helper.md
+0 −6 .changeset/sip-transfer-timeout.md
+0 −5 .changeset/sip-update-fix.md
+0 −6 .changeset/thick-rivers-mate.md
+0 −6 .changeset/thirty-cougars-dream.md
+0 −5 .changeset/tricky-ties-marry.md
+44 −0 CHANGELOG.md
+1 −1 agent/token.go
+4 −4 auth/accesstoken_test.go
+3 −3 auth/verifier_test.go
+61 −0 egress/notify_options.go
+1 −1 egress/token.go
+6 −6 go.mod
+10 −10 go.sum
+6 −3 ingress/token.go
+4 −0 livekit/attrs.go
+69 −50 livekit/livekit_analytics.pb.go
+185 −129 livekit/livekit_egress.pb.go
+203 −199 livekit/livekit_egress.twirp.go
+107 −46 livekit/livekit_models.pb.go
+151 −42 livekit/livekit_room.pb.go
+376 −90 livekit/livekit_room.twirp.go
+251 −136 livekit/livekit_rtc.pb.go
+415 −214 livekit/livekit_sip.pb.go
+278 −266 livekit/livekit_sip.twirp.go
+4 −1 livekit/sip.go
+15 −3 logger/logger.go
+11 −25 logger/logger_test.go
+46 −7 logger/pionlogger/logger.go
+32 −0 logger/pionlogger/logger_test.go
+23 −0 logger/testutil/testutil.go
+57 −24 logger/zaputil/deferrer.go
+104 −12 logger/zaputil/deferrer_test.go
+1 −1 package.json
+52 −0 packages/javascript/CHANGELOG.md
+1 −1 packages/javascript/package.json
+5 −2 protobufs/livekit_analytics.proto
+22 −0 protobufs/livekit_egress.proto
+5 −0 protobufs/livekit_models.proto
+20 −1 protobufs/livekit_room.proto
+15 −2 protobufs/livekit_rtc.proto
+22 −0 protobufs/livekit_sip.proto
+3 −2 protobufs/rpc/io.proto
+10 −0 protobufs/rpc/participant.proto
+11 −11 replay/cloud_replay.pb.go
+50 −39 rpc/io.pb.go
+108 −107 rpc/io.psrpc.go
+27 −21 rpc/participant.pb.go
+44 −21 rpc/participant.psrpc.go
+85 −0 rpc/rpcfakes/fake_typed_participant_client.go
+40 −36 sdp/sdp.go
+9 −4 sdp/sdp_test.go
+1 −0 utils/guid/id.go
+4 −7 utils/hwstats/memory_linux.go
+1 −0 utils/id.go
+2 −2 utils/lock_tracker_test.go
+11 −0 utils/timed_version.go
+79 −6 webhook/notifier.go
+6 −5 webhook/resource_queue.go
+55 −30 webhook/resource_url_notifier.go
+45 −21 webhook/url_notifier.go
+24 −10 webhook/webhook_test.go
4 changes: 4 additions & 0 deletions src/main/kotlin/io/livekit/server/RoomService.kt
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,10 @@ interface RoomService {
@POST("/twirp/livekit.RoomService/ForwardParticipant")
fun forwardParticipant(@Body request: LivekitRoom.ForwardParticipantRequest, @Header("Authorization") authorization: String): Call<LivekitRoom.ForwardParticipantResponse>

@Headers("Content-Type: application/protobuf")
@POST("/twirp/livekit.RoomService/MoveParticipant")
fun moveParticipant(@Body request: LivekitRoom.MoveParticipantRequest, @Header("Authorization") authorization: String): Call<LivekitRoom.MoveParticipantResponse>

@Headers("Content-Type: application/protobuf")
@POST("/twirp/livekit.RoomService/MutePublishedTrack")
fun mutePublishedTrack(
Expand Down
20 changes: 20 additions & 0 deletions src/main/kotlin/io/livekit/server/RoomServiceClient.kt
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,26 @@ class RoomServiceClient(
return service.forwardParticipant(request, credentials)
}

/**
* Move a participant from one room to another room.
* @param roomName
* @param identity
* @param destinationRoomName
*/
fun moveParticipant(roomName: String, identity: String, destinationRoomName: String): Call<LivekitRoom.MoveParticipantResponse> {
val request = LivekitRoom.MoveParticipantRequest.newBuilder()
.setRoom(roomName)
.setIdentity(identity)
.setDestinationRoom(destinationRoomName)
.build()
val credentials = authHeader(
RoomAdmin(true),
RoomName(roomName),
DestinationRoomName(destinationRoomName),
)
return service.moveParticipant(request, credentials)
}

/**
* Mutes a track that the participant has published.
* @param roomName
Expand Down