From cc85c238c3fd7dd4ba810c34440791ad3f0c59b8 Mon Sep 17 00:00:00 2001 From: David Colburn Date: Tue, 25 Aug 2026 16:44:36 -0400 Subject: [PATCH 1/2] update protocol to add egress v2 passthrough encoding option --- protocol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/protocol b/protocol index 39fc751..9a7c5cf 160000 --- a/protocol +++ b/protocol @@ -1 +1 @@ -Subproject commit 39fc751df610243c1bfdf85d3be6b3928ecef014 +Subproject commit 9a7c5cf96bbbcbc30a8ce76bca16815ba5b7bb33 From a11c8723c7eb7c2a31796f2dd4fc83b754b3621b Mon Sep 17 00:00:00 2001 From: frostbyte73 <3291089+frostbyte73@users.noreply.github.com> Date: Tue, 25 Aug 2026 20:45:36 +0000 Subject: [PATCH 2/2] chore: regenerate protobufs --- lib/livekit/proto/livekit_agent_pb.rb | 2 +- lib/livekit/proto/livekit_connector_whatsapp_pb.rb | 2 +- lib/livekit/proto/livekit_egress_pb.rb | 3 +-- lib/livekit/proto/livekit_metrics_pb.rb | 2 +- lib/livekit/proto/livekit_models_pb.rb | 7 ++++++- lib/livekit/proto/livekit_rtc_pb.rb | 2 +- lib/livekit/proto/livekit_webhook_pb.rb | 3 ++- 7 files changed, 13 insertions(+), 8 deletions(-) diff --git a/lib/livekit/proto/livekit_agent_pb.rb b/lib/livekit/proto/livekit_agent_pb.rb index 5e20b71..f6af792 100644 --- a/lib/livekit/proto/livekit_agent_pb.rb +++ b/lib/livekit/proto/livekit_agent_pb.rb @@ -8,7 +8,7 @@ require 'logger/options_pb' -descriptor_data = "\n\x13livekit_agent.proto\x12\x07livekit\x1a\x14livekit_models.proto\x1a\x14logger/options.proto\"\xb2\x03\n\x03Job\x12\n\n\x02id\x18\x01 \x01(\t\x12\"\n\x0b\x64ispatch_id\x18\t \x01(\tB\r\xbaP\ndispatchID\x12\x1e\n\x04type\x18\x02 \x01(\x0e\x32\x10.livekit.JobType\x12\x1b\n\x04room\x18\x03 \x01(\x0b\x32\r.livekit.Room\x12\x32\n\x0bparticipant\x18\x04 \x01(\x0b\x32\x18.livekit.ParticipantInfoH\x00\x88\x01\x01\x12\x15\n\tnamespace\x18\x05 \x01(\tB\x02\x18\x01\x12\x15\n\x08metadata\x18\x06 \x01(\tB\x03\xc0P\x01\x12\x12\n\nagent_name\x18\x07 \x01(\t\x12 \n\x05state\x18\x08 \x01(\x0b\x32\x11.livekit.JobState\x12\x18\n\x10\x65nable_recording\x18\n \x01(\x08\x12\x12\n\ndeployment\x18\x0b \x01(\t\x12\x35\n\nattributes\x18\x0c \x03(\x0b\x32\x1c.livekit.Job.AttributesEntryB\x03\xc0P\x01\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0e\n\x0c_participant\"\xd3\x01\n\x08JobState\x12\"\n\x06status\x18\x01 \x01(\x0e\x32\x12.livekit.JobStatus\x12\r\n\x05\x65rror\x18\x02 \x01(\t\x12\x12\n\nstarted_at\x18\x03 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x04 \x01(\x03\x12\x12\n\nupdated_at\x18\x05 \x01(\x03\x12\x1c\n\x14participant_identity\x18\x06 \x01(\t\x12\x1e\n\tworker_id\x18\x07 \x01(\tB\x0b\xbaP\x08workerID\x12\x1c\n\x08\x61gent_id\x18\x08 \x01(\tB\n\xbaP\x07\x61gentID\"\xf8\x02\n\rWorkerMessage\x12\x32\n\x08register\x18\x01 \x01(\x0b\x32\x1e.livekit.RegisterWorkerRequestH\x00\x12\x35\n\x0c\x61vailability\x18\x02 \x01(\x0b\x32\x1d.livekit.AvailabilityResponseH\x00\x12\x34\n\rupdate_worker\x18\x03 \x01(\x0b\x32\x1b.livekit.UpdateWorkerStatusH\x00\x12.\n\nupdate_job\x18\x04 \x01(\x0b\x32\x18.livekit.UpdateJobStatusH\x00\x12#\n\x04ping\x18\x05 \x01(\x0b\x32\x13.livekit.WorkerPingH\x00\x12\x33\n\x0csimulate_job\x18\x06 \x01(\x0b\x32\x1b.livekit.SimulateJobRequestH\x00\x12\x31\n\x0bmigrate_job\x18\x07 \x01(\x0b\x32\x1a.livekit.MigrateJobRequestH\x00\x42\t\n\x07message\"\x88\x02\n\rServerMessage\x12\x33\n\x08register\x18\x01 \x01(\x0b\x32\x1f.livekit.RegisterWorkerResponseH\x00\x12\x34\n\x0c\x61vailability\x18\x02 \x01(\x0b\x32\x1c.livekit.AvailabilityRequestH\x00\x12,\n\nassignment\x18\x03 \x01(\x0b\x32\x16.livekit.JobAssignmentH\x00\x12.\n\x0btermination\x18\x05 \x01(\x0b\x32\x17.livekit.JobTerminationH\x00\x12#\n\x04pong\x18\x04 \x01(\x0b\x32\x13.livekit.WorkerPongH\x00\x42\t\n\x07message\"\x80\x01\n\x12SimulateJobRequest\x12\x1e\n\x04type\x18\x01 \x01(\x0e\x32\x10.livekit.JobType\x12\x1b\n\x04room\x18\x02 \x01(\x0b\x32\r.livekit.Room\x12-\n\x0bparticipant\x18\x03 \x01(\x0b\x32\x18.livekit.ParticipantInfo\"\x1f\n\nWorkerPing\x12\x11\n\ttimestamp\x18\x01 \x01(\x03\"7\n\nWorkerPong\x12\x16\n\x0elast_timestamp\x18\x01 \x01(\x03\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\"\xea\x01\n\x15RegisterWorkerRequest\x12\x1e\n\x04type\x18\x01 \x01(\x0e\x32\x10.livekit.JobType\x12\x12\n\nagent_name\x18\x08 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\t\x12\x15\n\rping_interval\x18\x05 \x01(\r\x12\x16\n\tnamespace\x18\x06 \x01(\tH\x00\x88\x01\x01\x12;\n\x13\x61llowed_permissions\x18\x07 \x01(\x0b\x32\x1e.livekit.ParticipantPermission\x12\x12\n\ndeployment\x18\t \x01(\tB\x0c\n\n_namespace\"b\n\x16RegisterWorkerResponse\x12\x1e\n\tworker_id\x18\x01 \x01(\tB\x0b\xbaP\x08workerID\x12(\n\x0bserver_info\x18\x03 \x01(\x0b\x32\x13.livekit.ServerInfo\"$\n\x11MigrateJobRequest\x12\x0f\n\x07job_ids\x18\x02 \x03(\t\"B\n\x13\x41vailabilityRequest\x12\x19\n\x03job\x18\x01 \x01(\x0b\x32\x0c.livekit.Job\x12\x10\n\x08resuming\x18\x02 \x01(\x08\"\xdd\x02\n\x14\x41vailabilityResponse\x12\x18\n\x06job_id\x18\x01 \x01(\tB\x08\xbaP\x05jobID\x12\x11\n\tavailable\x18\x02 \x01(\x08\x12\x17\n\x0fsupports_resume\x18\x03 \x01(\x08\x12\x11\n\tterminate\x18\x08 \x01(\x08\x12\x18\n\x10participant_name\x18\x04 \x01(\t\x12\x1c\n\x14participant_identity\x18\x05 \x01(\t\x12\x1c\n\x14participant_metadata\x18\x06 \x01(\t\x12X\n\x16participant_attributes\x18\x07 \x03(\x0b\x32\x38.livekit.AvailabilityResponse.ParticipantAttributesEntry\x1a<\n\x1aParticipantAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"^\n\x0fUpdateJobStatus\x12\x18\n\x06job_id\x18\x01 \x01(\tB\x08\xbaP\x05jobID\x12\"\n\x06status\x18\x02 \x01(\x0e\x32\x12.livekit.JobStatus\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"l\n\x12UpdateWorkerStatus\x12*\n\x06status\x18\x01 \x01(\x0e\x32\x15.livekit.WorkerStatusH\x00\x88\x01\x01\x12\x0c\n\x04load\x18\x03 \x01(\x02\x12\x11\n\tjob_count\x18\x04 \x01(\rB\t\n\x07_status\"S\n\rJobAssignment\x12\x19\n\x03job\x18\x01 \x01(\x0b\x32\x0c.livekit.Job\x12\x10\n\x03url\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\r\n\x05token\x18\x03 \x01(\tB\x06\n\x04_url\"*\n\x0eJobTermination\x12\x18\n\x06job_id\x18\x01 \x01(\tB\x08\xbaP\x05jobID*<\n\x07JobType\x12\x0b\n\x07JT_ROOM\x10\x00\x12\x10\n\x0cJT_PUBLISHER\x10\x01\x12\x12\n\x0eJT_PARTICIPANT\x10\x02*-\n\x0cWorkerStatus\x12\x10\n\x0cWS_AVAILABLE\x10\x00\x12\x0b\n\x07WS_FULL\x10\x01*J\n\tJobStatus\x12\x0e\n\nJS_PENDING\x10\x00\x12\x0e\n\nJS_RUNNING\x10\x01\x12\x0e\n\nJS_SUCCESS\x10\x02\x12\r\n\tJS_FAILED\x10\x03\x42\x46Z#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3" +descriptor_data = "\n\x13livekit_agent.proto\x12\x07livekit\x1a\x14livekit_models.proto\x1a\x14logger/options.proto\"\xcc\x03\n\x03Job\x12\n\n\x02id\x18\x01 \x01(\t\x12\"\n\x0b\x64ispatch_id\x18\t \x01(\tB\r\xbaP\ndispatchID\x12\x1e\n\x04type\x18\x02 \x01(\x0e\x32\x10.livekit.JobType\x12\x1b\n\x04room\x18\x03 \x01(\x0b\x32\r.livekit.Room\x12\x32\n\x0bparticipant\x18\x04 \x01(\x0b\x32\x18.livekit.ParticipantInfoH\x00\x88\x01\x01\x12\x15\n\tnamespace\x18\x05 \x01(\tB\x02\x18\x01\x12\x15\n\x08metadata\x18\x06 \x01(\tB\x03\xc0P\x01\x12\x12\n\nagent_name\x18\x07 \x01(\t\x12 \n\x05state\x18\x08 \x01(\x0b\x32\x11.livekit.JobState\x12\x18\n\x10\x65nable_recording\x18\n \x01(\x08\x12\x12\n\ndeployment\x18\x0b \x01(\t\x12\x35\n\nattributes\x18\x0c \x03(\x0b\x32\x1c.livekit.Job.AttributesEntryB\x03\xc0P\x01\x12\x18\n\x10\x65nable_redaction\x18\r \x01(\x08\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0e\n\x0c_participant\"\xd3\x01\n\x08JobState\x12\"\n\x06status\x18\x01 \x01(\x0e\x32\x12.livekit.JobStatus\x12\r\n\x05\x65rror\x18\x02 \x01(\t\x12\x12\n\nstarted_at\x18\x03 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x04 \x01(\x03\x12\x12\n\nupdated_at\x18\x05 \x01(\x03\x12\x1c\n\x14participant_identity\x18\x06 \x01(\t\x12\x1e\n\tworker_id\x18\x07 \x01(\tB\x0b\xbaP\x08workerID\x12\x1c\n\x08\x61gent_id\x18\x08 \x01(\tB\n\xbaP\x07\x61gentID\"\xf8\x02\n\rWorkerMessage\x12\x32\n\x08register\x18\x01 \x01(\x0b\x32\x1e.livekit.RegisterWorkerRequestH\x00\x12\x35\n\x0c\x61vailability\x18\x02 \x01(\x0b\x32\x1d.livekit.AvailabilityResponseH\x00\x12\x34\n\rupdate_worker\x18\x03 \x01(\x0b\x32\x1b.livekit.UpdateWorkerStatusH\x00\x12.\n\nupdate_job\x18\x04 \x01(\x0b\x32\x18.livekit.UpdateJobStatusH\x00\x12#\n\x04ping\x18\x05 \x01(\x0b\x32\x13.livekit.WorkerPingH\x00\x12\x33\n\x0csimulate_job\x18\x06 \x01(\x0b\x32\x1b.livekit.SimulateJobRequestH\x00\x12\x31\n\x0bmigrate_job\x18\x07 \x01(\x0b\x32\x1a.livekit.MigrateJobRequestH\x00\x42\t\n\x07message\"\x88\x02\n\rServerMessage\x12\x33\n\x08register\x18\x01 \x01(\x0b\x32\x1f.livekit.RegisterWorkerResponseH\x00\x12\x34\n\x0c\x61vailability\x18\x02 \x01(\x0b\x32\x1c.livekit.AvailabilityRequestH\x00\x12,\n\nassignment\x18\x03 \x01(\x0b\x32\x16.livekit.JobAssignmentH\x00\x12.\n\x0btermination\x18\x05 \x01(\x0b\x32\x17.livekit.JobTerminationH\x00\x12#\n\x04pong\x18\x04 \x01(\x0b\x32\x13.livekit.WorkerPongH\x00\x42\t\n\x07message\"\x80\x01\n\x12SimulateJobRequest\x12\x1e\n\x04type\x18\x01 \x01(\x0e\x32\x10.livekit.JobType\x12\x1b\n\x04room\x18\x02 \x01(\x0b\x32\r.livekit.Room\x12-\n\x0bparticipant\x18\x03 \x01(\x0b\x32\x18.livekit.ParticipantInfo\"\x1f\n\nWorkerPing\x12\x11\n\ttimestamp\x18\x01 \x01(\x03\"7\n\nWorkerPong\x12\x16\n\x0elast_timestamp\x18\x01 \x01(\x03\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\"\xea\x01\n\x15RegisterWorkerRequest\x12\x1e\n\x04type\x18\x01 \x01(\x0e\x32\x10.livekit.JobType\x12\x12\n\nagent_name\x18\x08 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\t\x12\x15\n\rping_interval\x18\x05 \x01(\r\x12\x16\n\tnamespace\x18\x06 \x01(\tH\x00\x88\x01\x01\x12;\n\x13\x61llowed_permissions\x18\x07 \x01(\x0b\x32\x1e.livekit.ParticipantPermission\x12\x12\n\ndeployment\x18\t \x01(\tB\x0c\n\n_namespace\"b\n\x16RegisterWorkerResponse\x12\x1e\n\tworker_id\x18\x01 \x01(\tB\x0b\xbaP\x08workerID\x12(\n\x0bserver_info\x18\x03 \x01(\x0b\x32\x13.livekit.ServerInfo\"$\n\x11MigrateJobRequest\x12\x0f\n\x07job_ids\x18\x02 \x03(\t\"B\n\x13\x41vailabilityRequest\x12\x19\n\x03job\x18\x01 \x01(\x0b\x32\x0c.livekit.Job\x12\x10\n\x08resuming\x18\x02 \x01(\x08\"\xdd\x02\n\x14\x41vailabilityResponse\x12\x18\n\x06job_id\x18\x01 \x01(\tB\x08\xbaP\x05jobID\x12\x11\n\tavailable\x18\x02 \x01(\x08\x12\x17\n\x0fsupports_resume\x18\x03 \x01(\x08\x12\x11\n\tterminate\x18\x08 \x01(\x08\x12\x18\n\x10participant_name\x18\x04 \x01(\t\x12\x1c\n\x14participant_identity\x18\x05 \x01(\t\x12\x1c\n\x14participant_metadata\x18\x06 \x01(\t\x12X\n\x16participant_attributes\x18\x07 \x03(\x0b\x32\x38.livekit.AvailabilityResponse.ParticipantAttributesEntry\x1a<\n\x1aParticipantAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"^\n\x0fUpdateJobStatus\x12\x18\n\x06job_id\x18\x01 \x01(\tB\x08\xbaP\x05jobID\x12\"\n\x06status\x18\x02 \x01(\x0e\x32\x12.livekit.JobStatus\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"l\n\x12UpdateWorkerStatus\x12*\n\x06status\x18\x01 \x01(\x0e\x32\x15.livekit.WorkerStatusH\x00\x88\x01\x01\x12\x0c\n\x04load\x18\x03 \x01(\x02\x12\x11\n\tjob_count\x18\x04 \x01(\rB\t\n\x07_status\"S\n\rJobAssignment\x12\x19\n\x03job\x18\x01 \x01(\x0b\x32\x0c.livekit.Job\x12\x10\n\x03url\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\r\n\x05token\x18\x03 \x01(\tB\x06\n\x04_url\"*\n\x0eJobTermination\x12\x18\n\x06job_id\x18\x01 \x01(\tB\x08\xbaP\x05jobID*<\n\x07JobType\x12\x0b\n\x07JT_ROOM\x10\x00\x12\x10\n\x0cJT_PUBLISHER\x10\x01\x12\x12\n\x0eJT_PARTICIPANT\x10\x02*-\n\x0cWorkerStatus\x12\x10\n\x0cWS_AVAILABLE\x10\x00\x12\x0b\n\x07WS_FULL\x10\x01*J\n\tJobStatus\x12\x0e\n\nJS_PENDING\x10\x00\x12\x0e\n\nJS_RUNNING\x10\x01\x12\x0e\n\nJS_SUCCESS\x10\x02\x12\r\n\tJS_FAILED\x10\x03\x42\x46Z#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool pool.add_serialized_file(descriptor_data) diff --git a/lib/livekit/proto/livekit_connector_whatsapp_pb.rb b/lib/livekit/proto/livekit_connector_whatsapp_pb.rb index eff147c..dafaa0a 100644 --- a/lib/livekit/proto/livekit_connector_whatsapp_pb.rb +++ b/lib/livekit/proto/livekit_connector_whatsapp_pb.rb @@ -10,7 +10,7 @@ require 'logger/options_pb' -descriptor_data = "\n livekit_connector_whatsapp.proto\x12\x07livekit\x1a\x1egoogle/protobuf/duration.proto\x1a\x1clivekit_agent_dispatch.proto\x1a\x11livekit_rtc.proto\x1a\x14logger/options.proto\"\xde\x05\n\x17\x44ialWhatsAppCallRequest\x12:\n\x18whatsapp_phone_number_id\x18\x01 \x01(\tB\x18\xbaP\x15whatsappPhoneNumberID\x12%\n\x18whatsapp_to_phone_number\x18\x02 \x01(\tB\x03\xc0P\x01\x12\x1d\n\x10whatsapp_api_key\x18\x03 \x01(\tB\x03\xc0P\x02\x12\"\n\x1awhatsapp_cloud_api_version\x18\x0c \x01(\t\x12)\n!whatsapp_biz_opaque_callback_data\x18\x04 \x01(\t\x12\x11\n\troom_name\x18\x05 \x01(\t\x12*\n\x06\x61gents\x18\x06 \x03(\x0b\x32\x1a.livekit.RoomAgentDispatch\x12\x1c\n\x14participant_identity\x18\x07 \x01(\t\x12>\n\x10participant_name\x18\x08 \x01(\tB$\xb2P\x1e\xc0P\x01\x12\x42\n\x14participant_metadata\x18\t \x01(\tB$\xb2P\x1e\xc0P\x01\x12\x81\x01\n\x16participant_attributes\x18\n \x03(\x0b\x32;.livekit.DialWhatsAppCallRequest.ParticipantAttributesEntryB$\xb2P\x1e\xc0P\x01\x12\x1b\n\x13\x64\x65stination_country\x18\x0b \x01(\t\x12\x32\n\x0fringing_timeout\x18\r \x01(\x0b\x32\x19.google.protobuf.Duration\x1a<\n\x1aParticipantAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"Z\n\x18\x44ialWhatsAppCallResponse\x12+\n\x10whatsapp_call_id\x18\x01 \x01(\tB\x11\xbaP\x0ewhatsappCallID\x12\x11\n\troom_name\x18\x02 \x01(\t\"\xff\x01\n\x1d\x44isconnectWhatsAppCallRequest\x12+\n\x10whatsapp_call_id\x18\x01 \x01(\tB\x11\xbaP\x0ewhatsappCallID\x12\x1d\n\x10whatsapp_api_key\x18\x02 \x01(\tB\x03\xc0P\x02\x12R\n\x11\x64isconnect_reason\x18\x03 \x01(\x0e\x32\x37.livekit.DisconnectWhatsAppCallRequest.DisconnectReason\">\n\x10\x44isconnectReason\x12\x16\n\x12\x42USINESS_INITIATED\x10\x00\x12\x12\n\x0eUSER_INITIATED\x10\x01\" \n\x1e\x44isconnectWhatsAppCallResponse\"s\n\x1a\x43onnectWhatsAppCallRequest\x12+\n\x10whatsapp_call_id\x18\x01 \x01(\tB\x11\xbaP\x0ewhatsappCallID\x12(\n\x03sdp\x18\x02 \x01(\x0b\x32\x1b.livekit.SessionDescription\"\x1d\n\x1b\x43onnectWhatsAppCallResponse\"\xaf\x06\n\x19\x41\x63\x63\x65ptWhatsAppCallRequest\x12:\n\x18whatsapp_phone_number_id\x18\x01 \x01(\tB\x18\xbaP\x15whatsappPhoneNumberID\x12\x1d\n\x10whatsapp_api_key\x18\x02 \x01(\tB\x03\xc0P\x02\x12\"\n\x1awhatsapp_cloud_api_version\x18\r \x01(\t\x12+\n\x10whatsapp_call_id\x18\x03 \x01(\tB\x11\xbaP\x0ewhatsappCallID\x12)\n!whatsapp_biz_opaque_callback_data\x18\x04 \x01(\t\x12(\n\x03sdp\x18\x05 \x01(\x0b\x32\x1b.livekit.SessionDescription\x12\x11\n\troom_name\x18\x06 \x01(\t\x12*\n\x06\x61gents\x18\x07 \x03(\x0b\x32\x1a.livekit.RoomAgentDispatch\x12\x1c\n\x14participant_identity\x18\x08 \x01(\t\x12>\n\x10participant_name\x18\t \x01(\tB$\xb2P\x1e\xc0P\x01\x12\x42\n\x14participant_metadata\x18\n \x01(\tB$\xb2P\x1e\xc0P\x01\x12\x83\x01\n\x16participant_attributes\x18\x0b \x03(\x0b\x32=.livekit.AcceptWhatsAppCallRequest.ParticipantAttributesEntryB$\xb2P\x1e\xc0P\x01\x12\x1b\n\x13\x64\x65stination_country\x18\x0c \x01(\t\x12\x32\n\x0fringing_timeout\x18\x0e \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1b\n\x13wait_until_answered\x18\x0f \x01(\x08\x1a<\n\x1aParticipantAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"/\n\x1a\x41\x63\x63\x65ptWhatsAppCallResponse\x12\x11\n\troom_name\x18\x01 \x01(\t\"n\n\x0cWhatsAppCall\x12+\n\x10whatsapp_call_id\x18\x01 \x01(\tB\x11\xbaP\x0ewhatsappCallID\x12\x31\n\tdirection\x18\x02 \x01(\x0e\x32\x1e.livekit.WhatsAppCallDirection*b\n\x15WhatsAppCallDirection\x12#\n\x1fWHATSAPP_CALL_DIRECTION_INBOUND\x10\x00\x12$\n WHATSAPP_CALL_DIRECTION_OUTBOUND\x10\x02\x42\x46Z#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3" +descriptor_data = "\n livekit_connector_whatsapp.proto\x12\x07livekit\x1a\x1egoogle/protobuf/duration.proto\x1a\x1clivekit_agent_dispatch.proto\x1a\x11livekit_rtc.proto\x1a\x14logger/options.proto\"\xde\x05\n\x17\x44ialWhatsAppCallRequest\x12:\n\x18whatsapp_phone_number_id\x18\x01 \x01(\tB\x18\xbaP\x15whatsappPhoneNumberID\x12%\n\x18whatsapp_to_phone_number\x18\x02 \x01(\tB\x03\xc0P\x01\x12\x1d\n\x10whatsapp_api_key\x18\x03 \x01(\tB\x03\xc0P\x02\x12\"\n\x1awhatsapp_cloud_api_version\x18\x0c \x01(\t\x12)\n!whatsapp_biz_opaque_callback_data\x18\x04 \x01(\t\x12\x11\n\troom_name\x18\x05 \x01(\t\x12*\n\x06\x61gents\x18\x06 \x03(\x0b\x32\x1a.livekit.RoomAgentDispatch\x12\x1c\n\x14participant_identity\x18\x07 \x01(\t\x12>\n\x10participant_name\x18\x08 \x01(\tB$\xb2P\x1e\xc0P\x01\x12\x42\n\x14participant_metadata\x18\t \x01(\tB$\xb2P\x1e\xc0P\x01\x12\x81\x01\n\x16participant_attributes\x18\n \x03(\x0b\x32;.livekit.DialWhatsAppCallRequest.ParticipantAttributesEntryB$\xb2P\x1e\xc0P\x01\x12\x1b\n\x13\x64\x65stination_country\x18\x0b \x01(\t\x12\x32\n\x0fringing_timeout\x18\r \x01(\x0b\x32\x19.google.protobuf.Duration\x1a<\n\x1aParticipantAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"Z\n\x18\x44ialWhatsAppCallResponse\x12+\n\x10whatsapp_call_id\x18\x01 \x01(\tB\x11\xbaP\x0ewhatsappCallID\x12\x11\n\troom_name\x18\x02 \x01(\t\"\xff\x01\n\x1d\x44isconnectWhatsAppCallRequest\x12+\n\x10whatsapp_call_id\x18\x01 \x01(\tB\x11\xbaP\x0ewhatsappCallID\x12\x1d\n\x10whatsapp_api_key\x18\x02 \x01(\tB\x03\xc0P\x02\x12R\n\x11\x64isconnect_reason\x18\x03 \x01(\x0e\x32\x37.livekit.DisconnectWhatsAppCallRequest.DisconnectReason\">\n\x10\x44isconnectReason\x12\x16\n\x12\x42USINESS_INITIATED\x10\x00\x12\x12\n\x0eUSER_INITIATED\x10\x01\" \n\x1e\x44isconnectWhatsAppCallResponse\"\x90\x01\n\x1a\x43onnectWhatsAppCallRequest\x12+\n\x10whatsapp_call_id\x18\x01 \x01(\tB\x11\xbaP\x0ewhatsappCallID\x12(\n\x03sdp\x18\x02 \x01(\x0b\x32\x1b.livekit.SessionDescription\x12\x1b\n\x13wait_until_answered\x18\x03 \x01(\x08\"\x1d\n\x1b\x43onnectWhatsAppCallResponse\"\xaf\x06\n\x19\x41\x63\x63\x65ptWhatsAppCallRequest\x12:\n\x18whatsapp_phone_number_id\x18\x01 \x01(\tB\x18\xbaP\x15whatsappPhoneNumberID\x12\x1d\n\x10whatsapp_api_key\x18\x02 \x01(\tB\x03\xc0P\x02\x12\"\n\x1awhatsapp_cloud_api_version\x18\r \x01(\t\x12+\n\x10whatsapp_call_id\x18\x03 \x01(\tB\x11\xbaP\x0ewhatsappCallID\x12)\n!whatsapp_biz_opaque_callback_data\x18\x04 \x01(\t\x12(\n\x03sdp\x18\x05 \x01(\x0b\x32\x1b.livekit.SessionDescription\x12\x11\n\troom_name\x18\x06 \x01(\t\x12*\n\x06\x61gents\x18\x07 \x03(\x0b\x32\x1a.livekit.RoomAgentDispatch\x12\x1c\n\x14participant_identity\x18\x08 \x01(\t\x12>\n\x10participant_name\x18\t \x01(\tB$\xb2P\x1e\xc0P\x01\x12\x42\n\x14participant_metadata\x18\n \x01(\tB$\xb2P\x1e\xc0P\x01\x12\x83\x01\n\x16participant_attributes\x18\x0b \x03(\x0b\x32=.livekit.AcceptWhatsAppCallRequest.ParticipantAttributesEntryB$\xb2P\x1e\xc0P\x01\x12\x1b\n\x13\x64\x65stination_country\x18\x0c \x01(\t\x12\x32\n\x0fringing_timeout\x18\x0e \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1b\n\x13wait_until_answered\x18\x0f \x01(\x08\x1a<\n\x1aParticipantAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"/\n\x1a\x41\x63\x63\x65ptWhatsAppCallResponse\x12\x11\n\troom_name\x18\x01 \x01(\t\"n\n\x0cWhatsAppCall\x12+\n\x10whatsapp_call_id\x18\x01 \x01(\tB\x11\xbaP\x0ewhatsappCallID\x12\x31\n\tdirection\x18\x02 \x01(\x0e\x32\x1e.livekit.WhatsAppCallDirection*b\n\x15WhatsAppCallDirection\x12#\n\x1fWHATSAPP_CALL_DIRECTION_INBOUND\x10\x00\x12$\n WHATSAPP_CALL_DIRECTION_OUTBOUND\x10\x02\x42\x46Z#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool pool.add_serialized_file(descriptor_data) diff --git a/lib/livekit/proto/livekit_egress_pb.rb b/lib/livekit/proto/livekit_egress_pb.rb index 2de793a..540a138 100644 --- a/lib/livekit/proto/livekit_egress_pb.rb +++ b/lib/livekit/proto/livekit_egress_pb.rb @@ -8,7 +8,7 @@ require 'logger/options_pb' -descriptor_data = "\n\x14livekit_egress.proto\x12\x07livekit\x1a\x14livekit_models.proto\x1a\x14logger/options.proto\"\x89\x03\n\x12StartEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12+\n\x08template\x18\x02 \x01(\x0b\x32\x17.livekit.TemplateSourceH\x00\x12!\n\x03web\x18\x03 \x01(\x0b\x32\x12.livekit.WebSourceH\x00\x12%\n\x05media\x18\x04 \x01(\x0b\x32\x14.livekit.MediaSourceH\x00\x12\x30\n\x06preset\x18\x05 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\x06 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12 \n\x07outputs\x18\x07 \x03(\x0b\x32\x0f.livekit.Output\x12\'\n\x07storage\x18\x08 \x01(\x0b\x32\x16.livekit.StorageConfig\x12(\n\x08webhooks\x18\t \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06sourceB\n\n\x08\x65ncoding\"a\n\x0eTemplateSource\x12\x0e\n\x06layout\x18\x01 \x01(\t\x12\x12\n\naudio_only\x18\x02 \x01(\x08\x12\x12\n\nvideo_only\x18\x03 \x01(\x08\x12\x17\n\x0f\x63ustom_base_url\x18\x04 \x01(\t\"\\\n\tWebSource\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x12\n\naudio_only\x18\x02 \x01(\x08\x12\x12\n\nvideo_only\x18\x03 \x01(\x08\x12\x1a\n\x12\x61wait_start_signal\x18\x04 \x01(\x08\"\x9e\x01\n\x0bMediaSource\x12)\n\x0evideo_track_id\x18\x01 \x01(\tB\x0f\xbaP\x0cvideoTrackIDH\x00\x12\x36\n\x11participant_video\x18\x02 \x01(\x0b\x32\x19.livekit.ParticipantVideoH\x00\x12#\n\x05\x61udio\x18\x03 \x01(\x0b\x32\x14.livekit.AudioConfigB\x07\n\x05video\"A\n\x10ParticipantVideo\x12\x10\n\x08identity\x18\x01 \x01(\t\x12\x1b\n\x13prefer_screen_share\x18\x02 \x01(\x08\"G\n\x0b\x41udioConfig\x12\x13\n\x0b\x63\x61pture_all\x18\x01 \x01(\x08\x12#\n\x06routes\x18\x02 \x03(\x0b\x32\x13.livekit.AudioRoute\"\xb8\x01\n\nAudioRoute\x12\x1e\n\x08track_id\x18\x01 \x01(\tB\n\xbaP\x07trackIDH\x00\x12\x1e\n\x14participant_identity\x18\x02 \x01(\tH\x00\x12\x39\n\x10participant_kind\x18\x03 \x01(\x0e\x32\x1d.livekit.ParticipantInfo.KindH\x00\x12&\n\x07\x63hannel\x18\x04 \x01(\x0e\x32\x15.livekit.AudioChannelB\x07\n\x05match\"K\n\nDataConfig\x12\x13\n\x0b\x63\x61pture_all\x18\x01 \x01(\x08\x12(\n\tselectors\x18\x02 \x03(\x0b\x32\x15.livekit.DataSelector\"W\n\x0c\x44\x61taSelector\x12\x1e\n\x08track_id\x18\x01 \x01(\tB\n\xbaP\x07trackIDH\x00\x12\x1e\n\x14participant_identity\x18\x02 \x01(\tH\x00\x42\x07\n\x05match\"\xbf\x02\n\x0f\x45ncodingOptions\x12\r\n\x05width\x18\x01 \x01(\x05\x12\x0e\n\x06height\x18\x02 \x01(\x05\x12\r\n\x05\x64\x65pth\x18\x03 \x01(\x05\x12\x11\n\tframerate\x18\x04 \x01(\x05\x12(\n\x0b\x61udio_codec\x18\x05 \x01(\x0e\x32\x13.livekit.AudioCodec\x12\x15\n\raudio_bitrate\x18\x06 \x01(\x05\x12\x17\n\x0f\x61udio_frequency\x18\x07 \x01(\x05\x12(\n\x0bvideo_codec\x18\x08 \x01(\x0e\x32\x13.livekit.VideoCodec\x12\x15\n\rvideo_bitrate\x18\t \x01(\x05\x12\x1a\n\x12key_frame_interval\x18\n \x01(\x01\x12\x19\n\raudio_quality\x18\x0b \x01(\x05\x42\x02\x18\x01\x12\x19\n\rvideo_quality\x18\x0c \x01(\x05\x42\x02\x18\x01\"\xe3\x01\n\x06Output\x12#\n\x04\x66ile\x18\x01 \x01(\x0b\x32\x13.livekit.FileOutputH\x00\x12\'\n\x06stream\x18\x02 \x01(\x0b\x32\x15.livekit.StreamOutputH\x00\x12\x30\n\x08segments\x18\x03 \x01(\x0b\x32\x1c.livekit.SegmentedFileOutputH\x00\x12&\n\x06images\x18\x04 \x01(\x0b\x32\x14.livekit.ImageOutputH\x00\x12\'\n\x07storage\x18\x06 \x01(\x0b\x32\x16.livekit.StorageConfigB\x08\n\x06\x63onfig\"e\n\nFileOutput\x12+\n\tfile_type\x18\x01 \x01(\x0e\x32\x18.livekit.EncodedFileType\x12\x10\n\x08\x66ilepath\x18\x02 \x01(\t\x12\x18\n\x10\x64isable_manifest\x18\x03 \x01(\x08\"G\n\x0cStreamOutput\x12)\n\x08protocol\x18\x01 \x01(\x0e\x32\x17.livekit.StreamProtocol\x12\x0c\n\x04urls\x18\x02 \x03(\t\"\xa0\x03\n\x13SegmentedFileOutput\x12\x30\n\x08protocol\x18\x01 \x01(\x0e\x32\x1e.livekit.SegmentedFileProtocol\x12\x17\n\x0f\x66ilename_prefix\x18\x02 \x01(\t\x12\x15\n\rplaylist_name\x18\x03 \x01(\t\x12\x1a\n\x12live_playlist_name\x18\x0b \x01(\t\x12\x18\n\x10segment_duration\x18\x04 \x01(\r\x12\x35\n\x0f\x66ilename_suffix\x18\n \x01(\x0e\x32\x1c.livekit.SegmentedFileSuffix\x12\x18\n\x10\x64isable_manifest\x18\x08 \x01(\x08\x12\x1f\n\x02s3\x18\x05 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x06 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x07 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\t \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\xf8\x02\n\x0bImageOutput\x12\x18\n\x10\x63\x61pture_interval\x18\x01 \x01(\r\x12\r\n\x05width\x18\x02 \x01(\x05\x12\x0e\n\x06height\x18\x03 \x01(\x05\x12\x17\n\x0f\x66ilename_prefix\x18\x04 \x01(\t\x12\x31\n\x0f\x66ilename_suffix\x18\x05 \x01(\x0e\x32\x18.livekit.ImageFileSuffix\x12(\n\x0bimage_codec\x18\x06 \x01(\x0e\x32\x13.livekit.ImageCodec\x12\x18\n\x10\x64isable_manifest\x18\x07 \x01(\x08\x12\x1f\n\x02s3\x18\x08 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\t \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\n \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x0b \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\xb3\x01\n\rStorageConfig\x12\x1f\n\x02s3\x18\x01 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x02 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x03 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x04 \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\n\n\x08provider\"\xc1\x03\n\x08S3Upload\x12\x17\n\naccess_key\x18\x01 \x01(\tB\x03\xc0P\x02\x12\x13\n\x06secret\x18\x02 \x01(\tB\x03\xc0P\x02\x12\x1a\n\rsession_token\x18\x0b \x01(\tB\x03\xc0P\x02\x12\x1c\n\x0f\x61ssume_role_arn\x18\x0c \x01(\tB\x03\xc0P\x01\x12;\n\x17\x61ssume_role_external_id\x18\r \x01(\tB\x1a\xbaP\x14\x61ssumeRoleExternalID\xc0P\x02\x12\x0e\n\x06region\x18\x03 \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x04 \x01(\t\x12\x0e\n\x06\x62ucket\x18\x05 \x01(\t\x12\x18\n\x10\x66orce_path_style\x18\x06 \x01(\x08\x12\x36\n\x08metadata\x18\x07 \x03(\x0b\x32\x1f.livekit.S3Upload.MetadataEntryB\x03\xc0P\x01\x12\x14\n\x07tagging\x18\x08 \x01(\tB\x03\xc0P\x01\x12 \n\x13\x63ontent_disposition\x18\t \x01(\tB\x03\xc0P\x01\x12#\n\x05proxy\x18\n \x01(\x0b\x32\x14.livekit.ProxyConfig\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"Z\n\tGCPUpload\x12\x18\n\x0b\x63redentials\x18\x01 \x01(\tB\x03\xc0P\x02\x12\x0e\n\x06\x62ucket\x18\x02 \x01(\t\x12#\n\x05proxy\x18\x03 \x01(\x0b\x32\x14.livekit.ProxyConfig\"^\n\x0f\x41zureBlobUpload\x12\x19\n\x0c\x61\x63\x63ount_name\x18\x01 \x01(\tB\x03\xc0P\x01\x12\x18\n\x0b\x61\x63\x63ount_key\x18\x02 \x01(\tB\x03\xc0P\x02\x12\x16\n\x0e\x63ontainer_name\x18\x03 \x01(\t\"n\n\x0c\x41liOSSUpload\x12\x17\n\naccess_key\x18\x01 \x01(\tB\x03\xc0P\x02\x12\x13\n\x06secret\x18\x02 \x01(\tB\x03\xc0P\x02\x12\x0e\n\x06region\x18\x03 \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x04 \x01(\t\x12\x0e\n\x06\x62ucket\x18\x05 \x01(\t\"C\n\x0bProxyConfig\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x15\n\x08password\x18\x03 \x01(\tB\x03\xc0P\x02\"\x84\x01\n\x11ListEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x1e\n\tegress_id\x18\x02 \x01(\tB\x0b\xbaP\x08\x65gressID\x12\x0e\n\x06\x61\x63tive\x18\x03 \x01(\x08\x12,\n\npage_token\x18\x04 \x01(\x0b\x32\x18.livekit.TokenPagination\"k\n\x12ListEgressResponse\x12\"\n\x05items\x18\x01 \x03(\x0b\x32\x13.livekit.EgressInfo\x12\x31\n\x0fnext_page_token\x18\x02 \x01(\x0b\x32\x18.livekit.TokenPagination\"\x87\x01\n\x13UpdateEgressRequest\x12\x1e\n\tegress_id\x18\x01 \x01(\tB\x0b\xbaP\x08\x65gressID\x12\x0b\n\x03url\x18\x02 \x01(\t\x12\x0e\n\x06layout\x18\x03 \x01(\t\x12\x17\n\x0f\x61\x64\x64_stream_urls\x18\x04 \x03(\t\x12\x1a\n\x12remove_stream_urls\x18\x05 \x03(\t\"3\n\x11StopEgressRequest\x12\x1e\n\tegress_id\x18\x01 \x01(\tB\x0b\xbaP\x08\x65gressID\"\xaa\x08\n\nEgressInfo\x12\x1e\n\tegress_id\x18\x01 \x01(\tB\x0b\xbaP\x08\x65gressID\x12\x1a\n\x07room_id\x18\x02 \x01(\tB\t\xbaP\x06roomID\x12\x11\n\troom_name\x18\r \x01(\t\x12.\n\x0bsource_type\x18\x1a \x01(\x0e\x32\x19.livekit.EgressSourceType\x12%\n\x06status\x18\x03 \x01(\x0e\x32\x15.livekit.EgressStatus\x12\x12\n\nstarted_at\x18\n \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x0b \x01(\x03\x12\x12\n\nupdated_at\x18\x12 \x01(\x03\x12-\n\x06\x65gress\x18\x1d \x01(\x0b\x32\x1b.livekit.StartEgressRequestH\x00\x12.\n\x06replay\x18\x1e \x01(\x0b\x32\x1c.livekit.ExportReplayRequestH\x00\x12=\n\x0eroom_composite\x18\x04 \x01(\x0b\x32#.livekit.RoomCompositeEgressRequestH\x00\x12(\n\x03web\x18\x0e \x01(\x0b\x32\x19.livekit.WebEgressRequestH\x00\x12\x38\n\x0bparticipant\x18\x13 \x01(\x0b\x32!.livekit.ParticipantEgressRequestH\x00\x12?\n\x0ftrack_composite\x18\x05 \x01(\x0b\x32$.livekit.TrackCompositeEgressRequestH\x00\x12,\n\x05track\x18\x06 \x01(\x0b\x32\x1b.livekit.TrackEgressRequestH\x00\x12+\n\x0estream_results\x18\x0f \x03(\x0b\x32\x13.livekit.StreamInfo\x12\'\n\x0c\x66ile_results\x18\x10 \x03(\x0b\x32\x11.livekit.FileInfo\x12.\n\x0fsegment_results\x18\x11 \x03(\x0b\x32\x15.livekit.SegmentsInfo\x12*\n\rimage_results\x18\x14 \x03(\x0b\x32\x13.livekit.ImagesInfo\x12\r\n\x05\x65rror\x18\t \x01(\t\x12\x12\n\nerror_code\x18\x16 \x01(\x05\x12\x0f\n\x07\x64\x65tails\x18\x15 \x01(\t\x12\x19\n\x11manifest_location\x18\x17 \x01(\t\x12\x1b\n\x13\x62\x61\x63kup_storage_used\x18\x19 \x01(\x08\x12\x13\n\x0bretry_count\x18\x1b \x01(\x05\x12-\n\x06stream\x18\x07 \x01(\x0b\x32\x17.livekit.StreamInfoListB\x02\x18\x01H\x01\x12%\n\x04\x66ile\x18\x08 \x01(\x0b\x32\x11.livekit.FileInfoB\x02\x18\x01H\x01\x12-\n\x08segments\x18\x0c \x01(\x0b\x32\x15.livekit.SegmentsInfoB\x02\x18\x01H\x01\x42\t\n\x07requestB\x08\n\x06result\"\xe4\x01\n\nStreamInfo\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x12\n\nstarted_at\x18\x02 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x03 \x01(\x03\x12\x10\n\x08\x64uration\x18\x04 \x01(\x03\x12*\n\x06status\x18\x05 \x01(\x0e\x32\x1a.livekit.StreamInfo.Status\x12\r\n\x05\x65rror\x18\x06 \x01(\t\x12\x15\n\rlast_retry_at\x18\x07 \x01(\x03\x12\x0f\n\x07retries\x18\x08 \x01(\r\".\n\x06Status\x12\n\n\x06\x41\x43TIVE\x10\x00\x12\x0c\n\x08\x46INISHED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\"t\n\x08\x46ileInfo\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\x12\n\nstarted_at\x18\x02 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x03 \x01(\x03\x12\x10\n\x08\x64uration\x18\x06 \x01(\x03\x12\x0c\n\x04size\x18\x04 \x01(\x03\x12\x10\n\x08location\x18\x05 \x01(\t\"\xd9\x01\n\x0cSegmentsInfo\x12\x15\n\rplaylist_name\x18\x01 \x01(\t\x12\x1a\n\x12live_playlist_name\x18\x08 \x01(\t\x12\x10\n\x08\x64uration\x18\x02 \x01(\x03\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x19\n\x11playlist_location\x18\x04 \x01(\t\x12\x1e\n\x16live_playlist_location\x18\t \x01(\t\x12\x15\n\rsegment_count\x18\x05 \x01(\x03\x12\x12\n\nstarted_at\x18\x06 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x07 \x01(\x03\"`\n\nImagesInfo\x12\x17\n\x0f\x66ilename_prefix\x18\x04 \x01(\t\x12\x13\n\x0bimage_count\x18\x01 \x01(\x03\x12\x12\n\nstarted_at\x18\x02 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x03 \x01(\x03\"\xeb\x01\n\x15\x41utoParticipantEgress\x12\x30\n\x06preset\x18\x01 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x00\x12,\n\x08\x61\x64vanced\x18\x02 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x00\x12\x30\n\x0c\x66ile_outputs\x18\x03 \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12\x35\n\x0fsegment_outputs\x18\x04 \x03(\x0b\x32\x1c.livekit.SegmentedFileOutputB\t\n\x07options\"\xdf\x01\n\x0f\x41utoTrackEgress\x12\x10\n\x08\x66ilepath\x18\x01 \x01(\t\x12\x18\n\x10\x64isable_manifest\x18\x05 \x01(\x08\x12\x1f\n\x02s3\x18\x02 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x03 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x04 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x06 \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\xc7\x03\n\x13\x45xportReplayRequest\x12\x1e\n\treplay_id\x18\x01 \x01(\tB\x0b\xbaP\x08replayID\x12\x17\n\x0fstart_offset_ms\x18\x02 \x01(\x03\x12\x15\n\rend_offset_ms\x18\x03 \x01(\x03\x12+\n\x08template\x18\x04 \x01(\x0b\x32\x17.livekit.TemplateSourceH\x00\x12!\n\x03web\x18\x05 \x01(\x0b\x32\x12.livekit.WebSourceH\x00\x12%\n\x05media\x18\x06 \x01(\x0b\x32\x14.livekit.MediaSourceH\x00\x12\x30\n\x06preset\x18\x07 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\x08 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12 \n\x07outputs\x18\t \x03(\x0b\x32\x0f.livekit.Output\x12\'\n\x07storage\x18\n \x01(\x0b\x32\x16.livekit.StorageConfig\x12(\n\x08webhooks\x18\x0b \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06sourceB\n\n\x08\x65ncoding\"\xa3\x05\n\x1aRoomCompositeEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x0e\n\x06layout\x18\x02 \x01(\t\x12\x12\n\naudio_only\x18\x03 \x01(\x08\x12*\n\x0c\x61udio_mixing\x18\x0f \x01(\x0e\x32\x14.livekit.AudioMixing\x12\x12\n\nvideo_only\x18\x04 \x01(\x08\x12\x17\n\x0f\x63ustom_base_url\x18\x05 \x01(\t\x12.\n\x04\x66ile\x18\x06 \x01(\x0b\x32\x1a.livekit.EncodedFileOutputB\x02\x18\x01H\x00\x12+\n\x06stream\x18\x07 \x01(\x0b\x32\x15.livekit.StreamOutputB\x02\x18\x01H\x00\x12\x34\n\x08segments\x18\n \x01(\x0b\x32\x1c.livekit.SegmentedFileOutputB\x02\x18\x01H\x00\x12\x30\n\x06preset\x18\x08 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\t \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12\x30\n\x0c\x66ile_outputs\x18\x0b \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\x0c \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\r \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\x0e \x03(\x0b\x32\x14.livekit.ImageOutput\x12(\n\x08webhooks\x18\x10 \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06outputB\t\n\x07options\"\xda\x04\n\x10WebEgressRequest\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x12\n\naudio_only\x18\x02 \x01(\x08\x12\x12\n\nvideo_only\x18\x03 \x01(\x08\x12\x1a\n\x12\x61wait_start_signal\x18\x0c \x01(\x08\x12.\n\x04\x66ile\x18\x04 \x01(\x0b\x32\x1a.livekit.EncodedFileOutputB\x02\x18\x01H\x00\x12+\n\x06stream\x18\x05 \x01(\x0b\x32\x15.livekit.StreamOutputB\x02\x18\x01H\x00\x12\x34\n\x08segments\x18\x06 \x01(\x0b\x32\x1c.livekit.SegmentedFileOutputB\x02\x18\x01H\x00\x12\x30\n\x06preset\x18\x07 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\x08 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12\x30\n\x0c\x66ile_outputs\x18\t \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\n \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\x0b \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\r \x03(\x0b\x32\x14.livekit.ImageOutput\x12(\n\x08webhooks\x18\x0e \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06outputB\t\n\x07options\"\xaf\x03\n\x18ParticipantEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x14\n\x0cscreen_share\x18\x03 \x01(\x08\x12\x30\n\x06preset\x18\x04 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x00\x12,\n\x08\x61\x64vanced\x18\x05 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x00\x12\x30\n\x0c\x66ile_outputs\x18\x06 \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\x07 \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\x08 \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\t \x03(\x0b\x32\x14.livekit.ImageOutput\x12(\n\x08webhooks\x18\n \x03(\x0b\x32\x16.livekit.WebhookConfigB\t\n\x07options\"\xf9\x04\n\x1bTrackCompositeEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\'\n\x0e\x61udio_track_id\x18\x02 \x01(\tB\x0f\xbaP\x0c\x61udioTrackID\x12\'\n\x0evideo_track_id\x18\x03 \x01(\tB\x0f\xbaP\x0cvideoTrackID\x12.\n\x04\x66ile\x18\x04 \x01(\x0b\x32\x1a.livekit.EncodedFileOutputB\x02\x18\x01H\x00\x12+\n\x06stream\x18\x05 \x01(\x0b\x32\x15.livekit.StreamOutputB\x02\x18\x01H\x00\x12\x34\n\x08segments\x18\x08 \x01(\x0b\x32\x1c.livekit.SegmentedFileOutputB\x02\x18\x01H\x00\x12\x30\n\x06preset\x18\x06 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\x07 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12\x30\n\x0c\x66ile_outputs\x18\x0b \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\x0c \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\r \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\x0e \x03(\x0b\x32\x14.livekit.ImageOutput\x12(\n\x08webhooks\x18\x0f \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06outputB\t\n\x07options\"\xbd\x01\n\x12TrackEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x1c\n\x08track_id\x18\x02 \x01(\tB\n\xbaP\x07trackID\x12)\n\x04\x66ile\x18\x03 \x01(\x0b\x32\x19.livekit.DirectFileOutputH\x00\x12\x17\n\rwebsocket_url\x18\x04 \x01(\tH\x00\x12(\n\x08webhooks\x18\x05 \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06output\"\xe0\x01\n\x10\x44irectFileOutput\x12\x10\n\x08\x66ilepath\x18\x01 \x01(\t\x12\x18\n\x10\x64isable_manifest\x18\x05 \x01(\x08\x12\x1f\n\x02s3\x18\x02 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x03 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x04 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x06 \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\x8e\x02\n\x11\x45ncodedFileOutput\x12+\n\tfile_type\x18\x01 \x01(\x0e\x32\x18.livekit.EncodedFileType\x12\x10\n\x08\x66ilepath\x18\x02 \x01(\t\x12\x18\n\x10\x64isable_manifest\x18\x06 \x01(\x08\x12\x1f\n\x02s3\x18\x03 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x04 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x05 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x07 \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"E\n\x13UpdateLayoutRequest\x12\x1e\n\tegress_id\x18\x01 \x01(\tB\x0b\xbaP\x08\x65gressID\x12\x0e\n\x06layout\x18\x02 \x01(\t\"j\n\x13UpdateStreamRequest\x12\x1e\n\tegress_id\x18\x01 \x01(\tB\x0b\xbaP\x08\x65gressID\x12\x17\n\x0f\x61\x64\x64_output_urls\x18\x02 \x03(\t\x12\x1a\n\x12remove_output_urls\x18\x03 \x03(\t\"3\n\x0eStreamInfoList\x12!\n\x04info\x18\x01 \x03(\x0b\x32\x13.livekit.StreamInfo*W\n\x0c\x41udioChannel\x12\x16\n\x12\x41UDIO_CHANNEL_BOTH\x10\x00\x12\x16\n\x12\x41UDIO_CHANNEL_LEFT\x10\x01\x12\x17\n\x13\x41UDIO_CHANNEL_RIGHT\x10\x02*\xcf\x01\n\x15\x45ncodingOptionsPreset\x12\x10\n\x0cH264_720P_30\x10\x00\x12\x10\n\x0cH264_720P_60\x10\x01\x12\x11\n\rH264_1080P_30\x10\x02\x12\x11\n\rH264_1080P_60\x10\x03\x12\x19\n\x15PORTRAIT_H264_720P_30\x10\x04\x12\x19\n\x15PORTRAIT_H264_720P_60\x10\x05\x12\x1a\n\x16PORTRAIT_H264_1080P_30\x10\x06\x12\x1a\n\x16PORTRAIT_H264_1080P_60\x10\x07*B\n\x0f\x45ncodedFileType\x12\x14\n\x10\x44\x45\x46\x41ULT_FILETYPE\x10\x00\x12\x07\n\x03MP4\x10\x01\x12\x07\n\x03OGG\x10\x02\x12\x07\n\x03MP3\x10\x03*H\n\x0eStreamProtocol\x12\x14\n\x10\x44\x45\x46\x41ULT_PROTOCOL\x10\x00\x12\x08\n\x04RTMP\x10\x01\x12\x07\n\x03SRT\x10\x02\x12\r\n\tWEBSOCKET\x10\x03*N\n\x15SegmentedFileProtocol\x12#\n\x1f\x44\x45\x46\x41ULT_SEGMENTED_FILE_PROTOCOL\x10\x00\x12\x10\n\x0cHLS_PROTOCOL\x10\x01*/\n\x13SegmentedFileSuffix\x12\t\n\x05INDEX\x10\x00\x12\r\n\tTIMESTAMP\x10\x01*f\n\x0fImageFileSuffix\x12\x16\n\x12IMAGE_SUFFIX_INDEX\x10\x00\x12\x1a\n\x16IMAGE_SUFFIX_TIMESTAMP\x10\x01\x12\x1f\n\x1bIMAGE_SUFFIX_NONE_OVERWRITE\x10\x02*J\n\x10\x45gressSourceType\x12\x1a\n\x16\x45GRESS_SOURCE_TYPE_WEB\x10\x00\x12\x1a\n\x16\x45GRESS_SOURCE_TYPE_SDK\x10\x01*\x9f\x01\n\x0c\x45gressStatus\x12\x13\n\x0f\x45GRESS_STARTING\x10\x00\x12\x11\n\rEGRESS_ACTIVE\x10\x01\x12\x11\n\rEGRESS_ENDING\x10\x02\x12\x13\n\x0f\x45GRESS_COMPLETE\x10\x03\x12\x11\n\rEGRESS_FAILED\x10\x04\x12\x12\n\x0e\x45GRESS_ABORTED\x10\x05\x12\x18\n\x14\x45GRESS_LIMIT_REACHED\x10\x06*U\n\x0b\x41udioMixing\x12\x12\n\x0e\x44\x45\x46\x41ULT_MIXING\x10\x00\x12\x16\n\x12\x44UAL_CHANNEL_AGENT\x10\x01\x12\x1a\n\x16\x44UAL_CHANNEL_ALTERNATE\x10\x02\x32\xdd\x05\n\x06\x45gress\x12?\n\x0bStartEgress\x12\x1b.livekit.StartEgressRequest\x1a\x13.livekit.EgressInfo\x12\x41\n\x0cUpdateLayout\x12\x1c.livekit.UpdateLayoutRequest\x1a\x13.livekit.EgressInfo\x12\x41\n\x0cUpdateStream\x12\x1c.livekit.UpdateStreamRequest\x1a\x13.livekit.EgressInfo\x12\x45\n\nListEgress\x12\x1a.livekit.ListEgressRequest\x1a\x1b.livekit.ListEgressResponse\x12=\n\nStopEgress\x12\x1a.livekit.StopEgressRequest\x1a\x13.livekit.EgressInfo\x12T\n\x18StartRoomCompositeEgress\x12#.livekit.RoomCompositeEgressRequest\x1a\x13.livekit.EgressInfo\x12@\n\x0eStartWebEgress\x12\x19.livekit.WebEgressRequest\x1a\x13.livekit.EgressInfo\x12P\n\x16StartParticipantEgress\x12!.livekit.ParticipantEgressRequest\x1a\x13.livekit.EgressInfo\x12V\n\x19StartTrackCompositeEgress\x12$.livekit.TrackCompositeEgressRequest\x1a\x13.livekit.EgressInfo\x12\x44\n\x10StartTrackEgress\x12\x1b.livekit.TrackEgressRequest\x1a\x13.livekit.EgressInfoBFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3" +descriptor_data = "\n\x14livekit_egress.proto\x12\x07livekit\x1a\x14livekit_models.proto\x1a\x14logger/options.proto\"\x89\x03\n\x12StartEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12+\n\x08template\x18\x02 \x01(\x0b\x32\x17.livekit.TemplateSourceH\x00\x12!\n\x03web\x18\x03 \x01(\x0b\x32\x12.livekit.WebSourceH\x00\x12%\n\x05media\x18\x04 \x01(\x0b\x32\x14.livekit.MediaSourceH\x00\x12\x30\n\x06preset\x18\x05 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\x06 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12 \n\x07outputs\x18\x07 \x03(\x0b\x32\x0f.livekit.Output\x12\'\n\x07storage\x18\x08 \x01(\x0b\x32\x16.livekit.StorageConfig\x12(\n\x08webhooks\x18\t \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06sourceB\n\n\x08\x65ncoding\"a\n\x0eTemplateSource\x12\x0e\n\x06layout\x18\x01 \x01(\t\x12\x12\n\naudio_only\x18\x02 \x01(\x08\x12\x12\n\nvideo_only\x18\x03 \x01(\x08\x12\x17\n\x0f\x63ustom_base_url\x18\x04 \x01(\t\"\\\n\tWebSource\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x12\n\naudio_only\x18\x02 \x01(\x08\x12\x12\n\nvideo_only\x18\x03 \x01(\x08\x12\x1a\n\x12\x61wait_start_signal\x18\x04 \x01(\x08\"\x9e\x01\n\x0bMediaSource\x12)\n\x0evideo_track_id\x18\x01 \x01(\tB\x0f\xbaP\x0cvideoTrackIDH\x00\x12\x36\n\x11participant_video\x18\x02 \x01(\x0b\x32\x19.livekit.ParticipantVideoH\x00\x12#\n\x05\x61udio\x18\x03 \x01(\x0b\x32\x14.livekit.AudioConfigB\x07\n\x05video\"A\n\x10ParticipantVideo\x12\x10\n\x08identity\x18\x01 \x01(\t\x12\x1b\n\x13prefer_screen_share\x18\x02 \x01(\x08\"G\n\x0b\x41udioConfig\x12\x13\n\x0b\x63\x61pture_all\x18\x01 \x01(\x08\x12#\n\x06routes\x18\x02 \x03(\x0b\x32\x13.livekit.AudioRoute\"\xb8\x01\n\nAudioRoute\x12\x1e\n\x08track_id\x18\x01 \x01(\tB\n\xbaP\x07trackIDH\x00\x12\x1e\n\x14participant_identity\x18\x02 \x01(\tH\x00\x12\x39\n\x10participant_kind\x18\x03 \x01(\x0e\x32\x1d.livekit.ParticipantInfo.KindH\x00\x12&\n\x07\x63hannel\x18\x04 \x01(\x0e\x32\x15.livekit.AudioChannelB\x07\n\x05match\"K\n\nDataConfig\x12\x13\n\x0b\x63\x61pture_all\x18\x01 \x01(\x08\x12(\n\tselectors\x18\x02 \x03(\x0b\x32\x15.livekit.DataSelector\"W\n\x0c\x44\x61taSelector\x12\x1e\n\x08track_id\x18\x01 \x01(\tB\n\xbaP\x07trackIDH\x00\x12\x1e\n\x14participant_identity\x18\x02 \x01(\tH\x00\x42\x07\n\x05match\"\xbf\x02\n\x0f\x45ncodingOptions\x12\r\n\x05width\x18\x01 \x01(\x05\x12\x0e\n\x06height\x18\x02 \x01(\x05\x12\r\n\x05\x64\x65pth\x18\x03 \x01(\x05\x12\x11\n\tframerate\x18\x04 \x01(\x05\x12(\n\x0b\x61udio_codec\x18\x05 \x01(\x0e\x32\x13.livekit.AudioCodec\x12\x15\n\raudio_bitrate\x18\x06 \x01(\x05\x12\x17\n\x0f\x61udio_frequency\x18\x07 \x01(\x05\x12(\n\x0bvideo_codec\x18\x08 \x01(\x0e\x32\x13.livekit.VideoCodec\x12\x15\n\rvideo_bitrate\x18\t \x01(\x05\x12\x1a\n\x12key_frame_interval\x18\n \x01(\x01\x12\x19\n\raudio_quality\x18\x0b \x01(\x05\x42\x02\x18\x01\x12\x19\n\rvideo_quality\x18\x0c \x01(\x05\x42\x02\x18\x01\"\xe3\x01\n\x06Output\x12#\n\x04\x66ile\x18\x01 \x01(\x0b\x32\x13.livekit.FileOutputH\x00\x12\'\n\x06stream\x18\x02 \x01(\x0b\x32\x15.livekit.StreamOutputH\x00\x12\x30\n\x08segments\x18\x03 \x01(\x0b\x32\x1c.livekit.SegmentedFileOutputH\x00\x12&\n\x06images\x18\x04 \x01(\x0b\x32\x14.livekit.ImageOutputH\x00\x12\'\n\x07storage\x18\x06 \x01(\x0b\x32\x16.livekit.StorageConfigB\x08\n\x06\x63onfig\"e\n\nFileOutput\x12+\n\tfile_type\x18\x01 \x01(\x0e\x32\x18.livekit.EncodedFileType\x12\x10\n\x08\x66ilepath\x18\x02 \x01(\t\x12\x18\n\x10\x64isable_manifest\x18\x03 \x01(\x08\"G\n\x0cStreamOutput\x12)\n\x08protocol\x18\x01 \x01(\x0e\x32\x17.livekit.StreamProtocol\x12\x0c\n\x04urls\x18\x02 \x03(\t\"\xa0\x03\n\x13SegmentedFileOutput\x12\x30\n\x08protocol\x18\x01 \x01(\x0e\x32\x1e.livekit.SegmentedFileProtocol\x12\x17\n\x0f\x66ilename_prefix\x18\x02 \x01(\t\x12\x15\n\rplaylist_name\x18\x03 \x01(\t\x12\x1a\n\x12live_playlist_name\x18\x0b \x01(\t\x12\x18\n\x10segment_duration\x18\x04 \x01(\r\x12\x35\n\x0f\x66ilename_suffix\x18\n \x01(\x0e\x32\x1c.livekit.SegmentedFileSuffix\x12\x18\n\x10\x64isable_manifest\x18\x08 \x01(\x08\x12\x1f\n\x02s3\x18\x05 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x06 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x07 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\t \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\xf8\x02\n\x0bImageOutput\x12\x18\n\x10\x63\x61pture_interval\x18\x01 \x01(\r\x12\r\n\x05width\x18\x02 \x01(\x05\x12\x0e\n\x06height\x18\x03 \x01(\x05\x12\x17\n\x0f\x66ilename_prefix\x18\x04 \x01(\t\x12\x31\n\x0f\x66ilename_suffix\x18\x05 \x01(\x0e\x32\x18.livekit.ImageFileSuffix\x12(\n\x0bimage_codec\x18\x06 \x01(\x0e\x32\x13.livekit.ImageCodec\x12\x18\n\x10\x64isable_manifest\x18\x07 \x01(\x08\x12\x1f\n\x02s3\x18\x08 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\t \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\n \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x0b \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\xb3\x01\n\rStorageConfig\x12\x1f\n\x02s3\x18\x01 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x02 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x03 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x04 \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\n\n\x08provider\"\xc1\x03\n\x08S3Upload\x12\x17\n\naccess_key\x18\x01 \x01(\tB\x03\xc0P\x02\x12\x13\n\x06secret\x18\x02 \x01(\tB\x03\xc0P\x02\x12\x1a\n\rsession_token\x18\x0b \x01(\tB\x03\xc0P\x02\x12\x1c\n\x0f\x61ssume_role_arn\x18\x0c \x01(\tB\x03\xc0P\x01\x12;\n\x17\x61ssume_role_external_id\x18\r \x01(\tB\x1a\xbaP\x14\x61ssumeRoleExternalID\xc0P\x02\x12\x0e\n\x06region\x18\x03 \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x04 \x01(\t\x12\x0e\n\x06\x62ucket\x18\x05 \x01(\t\x12\x18\n\x10\x66orce_path_style\x18\x06 \x01(\x08\x12\x36\n\x08metadata\x18\x07 \x03(\x0b\x32\x1f.livekit.S3Upload.MetadataEntryB\x03\xc0P\x01\x12\x14\n\x07tagging\x18\x08 \x01(\tB\x03\xc0P\x01\x12 \n\x13\x63ontent_disposition\x18\t \x01(\tB\x03\xc0P\x01\x12#\n\x05proxy\x18\n \x01(\x0b\x32\x14.livekit.ProxyConfig\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"Z\n\tGCPUpload\x12\x18\n\x0b\x63redentials\x18\x01 \x01(\tB\x03\xc0P\x02\x12\x0e\n\x06\x62ucket\x18\x02 \x01(\t\x12#\n\x05proxy\x18\x03 \x01(\x0b\x32\x14.livekit.ProxyConfig\"^\n\x0f\x41zureBlobUpload\x12\x19\n\x0c\x61\x63\x63ount_name\x18\x01 \x01(\tB\x03\xc0P\x01\x12\x18\n\x0b\x61\x63\x63ount_key\x18\x02 \x01(\tB\x03\xc0P\x02\x12\x16\n\x0e\x63ontainer_name\x18\x03 \x01(\t\"n\n\x0c\x41liOSSUpload\x12\x17\n\naccess_key\x18\x01 \x01(\tB\x03\xc0P\x02\x12\x13\n\x06secret\x18\x02 \x01(\tB\x03\xc0P\x02\x12\x0e\n\x06region\x18\x03 \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x04 \x01(\t\x12\x0e\n\x06\x62ucket\x18\x05 \x01(\t\"C\n\x0bProxyConfig\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x15\n\x08password\x18\x03 \x01(\tB\x03\xc0P\x02\"\x84\x01\n\x11ListEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x1e\n\tegress_id\x18\x02 \x01(\tB\x0b\xbaP\x08\x65gressID\x12\x0e\n\x06\x61\x63tive\x18\x03 \x01(\x08\x12,\n\npage_token\x18\x04 \x01(\x0b\x32\x18.livekit.TokenPagination\"k\n\x12ListEgressResponse\x12\"\n\x05items\x18\x01 \x03(\x0b\x32\x13.livekit.EgressInfo\x12\x31\n\x0fnext_page_token\x18\x02 \x01(\x0b\x32\x18.livekit.TokenPagination\"3\n\x11StopEgressRequest\x12\x1e\n\tegress_id\x18\x01 \x01(\tB\x0b\xbaP\x08\x65gressID\"\xaa\x08\n\nEgressInfo\x12\x1e\n\tegress_id\x18\x01 \x01(\tB\x0b\xbaP\x08\x65gressID\x12\x1a\n\x07room_id\x18\x02 \x01(\tB\t\xbaP\x06roomID\x12\x11\n\troom_name\x18\r \x01(\t\x12.\n\x0bsource_type\x18\x1a \x01(\x0e\x32\x19.livekit.EgressSourceType\x12%\n\x06status\x18\x03 \x01(\x0e\x32\x15.livekit.EgressStatus\x12\x12\n\nstarted_at\x18\n \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x0b \x01(\x03\x12\x12\n\nupdated_at\x18\x12 \x01(\x03\x12-\n\x06\x65gress\x18\x1d \x01(\x0b\x32\x1b.livekit.StartEgressRequestH\x00\x12.\n\x06replay\x18\x1e \x01(\x0b\x32\x1c.livekit.ExportReplayRequestH\x00\x12=\n\x0eroom_composite\x18\x04 \x01(\x0b\x32#.livekit.RoomCompositeEgressRequestH\x00\x12(\n\x03web\x18\x0e \x01(\x0b\x32\x19.livekit.WebEgressRequestH\x00\x12\x38\n\x0bparticipant\x18\x13 \x01(\x0b\x32!.livekit.ParticipantEgressRequestH\x00\x12?\n\x0ftrack_composite\x18\x05 \x01(\x0b\x32$.livekit.TrackCompositeEgressRequestH\x00\x12,\n\x05track\x18\x06 \x01(\x0b\x32\x1b.livekit.TrackEgressRequestH\x00\x12+\n\x0estream_results\x18\x0f \x03(\x0b\x32\x13.livekit.StreamInfo\x12\'\n\x0c\x66ile_results\x18\x10 \x03(\x0b\x32\x11.livekit.FileInfo\x12.\n\x0fsegment_results\x18\x11 \x03(\x0b\x32\x15.livekit.SegmentsInfo\x12*\n\rimage_results\x18\x14 \x03(\x0b\x32\x13.livekit.ImagesInfo\x12\r\n\x05\x65rror\x18\t \x01(\t\x12\x12\n\nerror_code\x18\x16 \x01(\x05\x12\x0f\n\x07\x64\x65tails\x18\x15 \x01(\t\x12\x19\n\x11manifest_location\x18\x17 \x01(\t\x12\x1b\n\x13\x62\x61\x63kup_storage_used\x18\x19 \x01(\x08\x12\x13\n\x0bretry_count\x18\x1b \x01(\x05\x12-\n\x06stream\x18\x07 \x01(\x0b\x32\x17.livekit.StreamInfoListB\x02\x18\x01H\x01\x12%\n\x04\x66ile\x18\x08 \x01(\x0b\x32\x11.livekit.FileInfoB\x02\x18\x01H\x01\x12-\n\x08segments\x18\x0c \x01(\x0b\x32\x15.livekit.SegmentsInfoB\x02\x18\x01H\x01\x42\t\n\x07requestB\x08\n\x06result\"\xe4\x01\n\nStreamInfo\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x12\n\nstarted_at\x18\x02 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x03 \x01(\x03\x12\x10\n\x08\x64uration\x18\x04 \x01(\x03\x12*\n\x06status\x18\x05 \x01(\x0e\x32\x1a.livekit.StreamInfo.Status\x12\r\n\x05\x65rror\x18\x06 \x01(\t\x12\x15\n\rlast_retry_at\x18\x07 \x01(\x03\x12\x0f\n\x07retries\x18\x08 \x01(\r\".\n\x06Status\x12\n\n\x06\x41\x43TIVE\x10\x00\x12\x0c\n\x08\x46INISHED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\"t\n\x08\x46ileInfo\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\x12\n\nstarted_at\x18\x02 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x03 \x01(\x03\x12\x10\n\x08\x64uration\x18\x06 \x01(\x03\x12\x0c\n\x04size\x18\x04 \x01(\x03\x12\x10\n\x08location\x18\x05 \x01(\t\"\xd9\x01\n\x0cSegmentsInfo\x12\x15\n\rplaylist_name\x18\x01 \x01(\t\x12\x1a\n\x12live_playlist_name\x18\x08 \x01(\t\x12\x10\n\x08\x64uration\x18\x02 \x01(\x03\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x19\n\x11playlist_location\x18\x04 \x01(\t\x12\x1e\n\x16live_playlist_location\x18\t \x01(\t\x12\x15\n\rsegment_count\x18\x05 \x01(\x03\x12\x12\n\nstarted_at\x18\x06 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x07 \x01(\x03\"`\n\nImagesInfo\x12\x17\n\x0f\x66ilename_prefix\x18\x04 \x01(\t\x12\x13\n\x0bimage_count\x18\x01 \x01(\x03\x12\x12\n\nstarted_at\x18\x02 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x03 \x01(\x03\"\xeb\x01\n\x15\x41utoParticipantEgress\x12\x30\n\x06preset\x18\x01 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x00\x12,\n\x08\x61\x64vanced\x18\x02 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x00\x12\x30\n\x0c\x66ile_outputs\x18\x03 \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12\x35\n\x0fsegment_outputs\x18\x04 \x03(\x0b\x32\x1c.livekit.SegmentedFileOutputB\t\n\x07options\"\xdf\x01\n\x0f\x41utoTrackEgress\x12\x10\n\x08\x66ilepath\x18\x01 \x01(\t\x12\x18\n\x10\x64isable_manifest\x18\x05 \x01(\x08\x12\x1f\n\x02s3\x18\x02 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x03 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x04 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x06 \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\xc7\x03\n\x13\x45xportReplayRequest\x12\x1e\n\treplay_id\x18\x01 \x01(\tB\x0b\xbaP\x08replayID\x12\x17\n\x0fstart_offset_ms\x18\x02 \x01(\x03\x12\x15\n\rend_offset_ms\x18\x03 \x01(\x03\x12+\n\x08template\x18\x04 \x01(\x0b\x32\x17.livekit.TemplateSourceH\x00\x12!\n\x03web\x18\x05 \x01(\x0b\x32\x12.livekit.WebSourceH\x00\x12%\n\x05media\x18\x06 \x01(\x0b\x32\x14.livekit.MediaSourceH\x00\x12\x30\n\x06preset\x18\x07 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\x08 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12 \n\x07outputs\x18\t \x03(\x0b\x32\x0f.livekit.Output\x12\'\n\x07storage\x18\n \x01(\x0b\x32\x16.livekit.StorageConfig\x12(\n\x08webhooks\x18\x0b \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06sourceB\n\n\x08\x65ncoding\"\xa3\x05\n\x1aRoomCompositeEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x0e\n\x06layout\x18\x02 \x01(\t\x12\x12\n\naudio_only\x18\x03 \x01(\x08\x12*\n\x0c\x61udio_mixing\x18\x0f \x01(\x0e\x32\x14.livekit.AudioMixing\x12\x12\n\nvideo_only\x18\x04 \x01(\x08\x12\x17\n\x0f\x63ustom_base_url\x18\x05 \x01(\t\x12.\n\x04\x66ile\x18\x06 \x01(\x0b\x32\x1a.livekit.EncodedFileOutputB\x02\x18\x01H\x00\x12+\n\x06stream\x18\x07 \x01(\x0b\x32\x15.livekit.StreamOutputB\x02\x18\x01H\x00\x12\x34\n\x08segments\x18\n \x01(\x0b\x32\x1c.livekit.SegmentedFileOutputB\x02\x18\x01H\x00\x12\x30\n\x06preset\x18\x08 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\t \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12\x30\n\x0c\x66ile_outputs\x18\x0b \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\x0c \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\r \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\x0e \x03(\x0b\x32\x14.livekit.ImageOutput\x12(\n\x08webhooks\x18\x10 \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06outputB\t\n\x07options\"\xda\x04\n\x10WebEgressRequest\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x12\n\naudio_only\x18\x02 \x01(\x08\x12\x12\n\nvideo_only\x18\x03 \x01(\x08\x12\x1a\n\x12\x61wait_start_signal\x18\x0c \x01(\x08\x12.\n\x04\x66ile\x18\x04 \x01(\x0b\x32\x1a.livekit.EncodedFileOutputB\x02\x18\x01H\x00\x12+\n\x06stream\x18\x05 \x01(\x0b\x32\x15.livekit.StreamOutputB\x02\x18\x01H\x00\x12\x34\n\x08segments\x18\x06 \x01(\x0b\x32\x1c.livekit.SegmentedFileOutputB\x02\x18\x01H\x00\x12\x30\n\x06preset\x18\x07 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\x08 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12\x30\n\x0c\x66ile_outputs\x18\t \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\n \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\x0b \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\r \x03(\x0b\x32\x14.livekit.ImageOutput\x12(\n\x08webhooks\x18\x0e \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06outputB\t\n\x07options\"\xaf\x03\n\x18ParticipantEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x14\n\x0cscreen_share\x18\x03 \x01(\x08\x12\x30\n\x06preset\x18\x04 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x00\x12,\n\x08\x61\x64vanced\x18\x05 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x00\x12\x30\n\x0c\x66ile_outputs\x18\x06 \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\x07 \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\x08 \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\t \x03(\x0b\x32\x14.livekit.ImageOutput\x12(\n\x08webhooks\x18\n \x03(\x0b\x32\x16.livekit.WebhookConfigB\t\n\x07options\"\xf9\x04\n\x1bTrackCompositeEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\'\n\x0e\x61udio_track_id\x18\x02 \x01(\tB\x0f\xbaP\x0c\x61udioTrackID\x12\'\n\x0evideo_track_id\x18\x03 \x01(\tB\x0f\xbaP\x0cvideoTrackID\x12.\n\x04\x66ile\x18\x04 \x01(\x0b\x32\x1a.livekit.EncodedFileOutputB\x02\x18\x01H\x00\x12+\n\x06stream\x18\x05 \x01(\x0b\x32\x15.livekit.StreamOutputB\x02\x18\x01H\x00\x12\x34\n\x08segments\x18\x08 \x01(\x0b\x32\x1c.livekit.SegmentedFileOutputB\x02\x18\x01H\x00\x12\x30\n\x06preset\x18\x06 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\x07 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12\x30\n\x0c\x66ile_outputs\x18\x0b \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\x0c \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\r \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\x0e \x03(\x0b\x32\x14.livekit.ImageOutput\x12(\n\x08webhooks\x18\x0f \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06outputB\t\n\x07options\"\xbd\x01\n\x12TrackEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x1c\n\x08track_id\x18\x02 \x01(\tB\n\xbaP\x07trackID\x12)\n\x04\x66ile\x18\x03 \x01(\x0b\x32\x19.livekit.DirectFileOutputH\x00\x12\x17\n\rwebsocket_url\x18\x04 \x01(\tH\x00\x12(\n\x08webhooks\x18\x05 \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06output\"\xe0\x01\n\x10\x44irectFileOutput\x12\x10\n\x08\x66ilepath\x18\x01 \x01(\t\x12\x18\n\x10\x64isable_manifest\x18\x05 \x01(\x08\x12\x1f\n\x02s3\x18\x02 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x03 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x04 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x06 \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\x8e\x02\n\x11\x45ncodedFileOutput\x12+\n\tfile_type\x18\x01 \x01(\x0e\x32\x18.livekit.EncodedFileType\x12\x10\n\x08\x66ilepath\x18\x02 \x01(\t\x12\x18\n\x10\x64isable_manifest\x18\x06 \x01(\x08\x12\x1f\n\x02s3\x18\x03 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x04 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x05 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x07 \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"E\n\x13UpdateLayoutRequest\x12\x1e\n\tegress_id\x18\x01 \x01(\tB\x0b\xbaP\x08\x65gressID\x12\x0e\n\x06layout\x18\x02 \x01(\t\"j\n\x13UpdateStreamRequest\x12\x1e\n\tegress_id\x18\x01 \x01(\tB\x0b\xbaP\x08\x65gressID\x12\x17\n\x0f\x61\x64\x64_output_urls\x18\x02 \x03(\t\x12\x1a\n\x12remove_output_urls\x18\x03 \x03(\t\"3\n\x0eStreamInfoList\x12!\n\x04info\x18\x01 \x03(\x0b\x32\x13.livekit.StreamInfo*W\n\x0c\x41udioChannel\x12\x16\n\x12\x41UDIO_CHANNEL_BOTH\x10\x00\x12\x16\n\x12\x41UDIO_CHANNEL_LEFT\x10\x01\x12\x17\n\x13\x41UDIO_CHANNEL_RIGHT\x10\x02*\xe0\x01\n\x15\x45ncodingOptionsPreset\x12\x10\n\x0cH264_720P_30\x10\x00\x12\x10\n\x0cH264_720P_60\x10\x01\x12\x11\n\rH264_1080P_30\x10\x02\x12\x11\n\rH264_1080P_60\x10\x03\x12\x19\n\x15PORTRAIT_H264_720P_30\x10\x04\x12\x19\n\x15PORTRAIT_H264_720P_60\x10\x05\x12\x1a\n\x16PORTRAIT_H264_1080P_30\x10\x06\x12\x1a\n\x16PORTRAIT_H264_1080P_60\x10\x07\x12\x0f\n\x0bPASSTHROUGH\x10\x08*B\n\x0f\x45ncodedFileType\x12\x14\n\x10\x44\x45\x46\x41ULT_FILETYPE\x10\x00\x12\x07\n\x03MP4\x10\x01\x12\x07\n\x03OGG\x10\x02\x12\x07\n\x03MP3\x10\x03*H\n\x0eStreamProtocol\x12\x14\n\x10\x44\x45\x46\x41ULT_PROTOCOL\x10\x00\x12\x08\n\x04RTMP\x10\x01\x12\x07\n\x03SRT\x10\x02\x12\r\n\tWEBSOCKET\x10\x03*N\n\x15SegmentedFileProtocol\x12#\n\x1f\x44\x45\x46\x41ULT_SEGMENTED_FILE_PROTOCOL\x10\x00\x12\x10\n\x0cHLS_PROTOCOL\x10\x01*/\n\x13SegmentedFileSuffix\x12\t\n\x05INDEX\x10\x00\x12\r\n\tTIMESTAMP\x10\x01*f\n\x0fImageFileSuffix\x12\x16\n\x12IMAGE_SUFFIX_INDEX\x10\x00\x12\x1a\n\x16IMAGE_SUFFIX_TIMESTAMP\x10\x01\x12\x1f\n\x1bIMAGE_SUFFIX_NONE_OVERWRITE\x10\x02*J\n\x10\x45gressSourceType\x12\x1a\n\x16\x45GRESS_SOURCE_TYPE_WEB\x10\x00\x12\x1a\n\x16\x45GRESS_SOURCE_TYPE_SDK\x10\x01*\x9f\x01\n\x0c\x45gressStatus\x12\x13\n\x0f\x45GRESS_STARTING\x10\x00\x12\x11\n\rEGRESS_ACTIVE\x10\x01\x12\x11\n\rEGRESS_ENDING\x10\x02\x12\x13\n\x0f\x45GRESS_COMPLETE\x10\x03\x12\x11\n\rEGRESS_FAILED\x10\x04\x12\x12\n\x0e\x45GRESS_ABORTED\x10\x05\x12\x18\n\x14\x45GRESS_LIMIT_REACHED\x10\x06*U\n\x0b\x41udioMixing\x12\x12\n\x0e\x44\x45\x46\x41ULT_MIXING\x10\x00\x12\x16\n\x12\x44UAL_CHANNEL_AGENT\x10\x01\x12\x1a\n\x16\x44UAL_CHANNEL_ALTERNATE\x10\x02\x32\xdd\x05\n\x06\x45gress\x12?\n\x0bStartEgress\x12\x1b.livekit.StartEgressRequest\x1a\x13.livekit.EgressInfo\x12\x41\n\x0cUpdateLayout\x12\x1c.livekit.UpdateLayoutRequest\x1a\x13.livekit.EgressInfo\x12\x41\n\x0cUpdateStream\x12\x1c.livekit.UpdateStreamRequest\x1a\x13.livekit.EgressInfo\x12\x45\n\nListEgress\x12\x1a.livekit.ListEgressRequest\x1a\x1b.livekit.ListEgressResponse\x12=\n\nStopEgress\x12\x1a.livekit.StopEgressRequest\x1a\x13.livekit.EgressInfo\x12T\n\x18StartRoomCompositeEgress\x12#.livekit.RoomCompositeEgressRequest\x1a\x13.livekit.EgressInfo\x12@\n\x0eStartWebEgress\x12\x19.livekit.WebEgressRequest\x1a\x13.livekit.EgressInfo\x12P\n\x16StartParticipantEgress\x12!.livekit.ParticipantEgressRequest\x1a\x13.livekit.EgressInfo\x12V\n\x19StartTrackCompositeEgress\x12$.livekit.TrackCompositeEgressRequest\x1a\x13.livekit.EgressInfo\x12\x44\n\x10StartTrackEgress\x12\x1b.livekit.TrackEgressRequest\x1a\x13.livekit.EgressInfoBFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool pool.add_serialized_file(descriptor_data) @@ -38,7 +38,6 @@ module Proto ProxyConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ProxyConfig").msgclass ListEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ListEgressRequest").msgclass ListEgressResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ListEgressResponse").msgclass - UpdateEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.UpdateEgressRequest").msgclass StopEgressRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.StopEgressRequest").msgclass EgressInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.EgressInfo").msgclass StreamInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.StreamInfo").msgclass diff --git a/lib/livekit/proto/livekit_metrics_pb.rb b/lib/livekit/proto/livekit_metrics_pb.rb index 2b59e50..7aa5052 100644 --- a/lib/livekit/proto/livekit_metrics_pb.rb +++ b/lib/livekit/proto/livekit_metrics_pb.rb @@ -8,7 +8,7 @@ require 'logger/options_pb' -descriptor_data = "\n\x15livekit_metrics.proto\x12\x07livekit\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x14logger/options.proto\"\xc6\x01\n\x0cMetricsBatch\x12\x14\n\x0ctimestamp_ms\x18\x01 \x01(\x03\x12\x38\n\x14normalized_timestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08str_data\x18\x03 \x03(\t\x12.\n\x0btime_series\x18\x04 \x03(\x0b\x32\x19.livekit.TimeSeriesMetric\x12$\n\x06\x65vents\x18\x05 \x03(\x0b\x32\x14.livekit.EventMetric\"\x87\x01\n\x10TimeSeriesMetric\x12\r\n\x05label\x18\x01 \x01(\r\x12\x1c\n\x14participant_identity\x18\x02 \x01(\r\x12\x11\n\ttrack_sid\x18\x03 \x01(\r\x12&\n\x07samples\x18\x04 \x03(\x0b\x32\x15.livekit.MetricSample\x12\x0b\n\x03rid\x18\x05 \x01(\r\"m\n\x0cMetricSample\x12\x14\n\x0ctimestamp_ms\x18\x01 \x01(\x03\x12\x38\n\x14normalized_timestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\r\n\x05value\x18\x03 \x01(\x02\"\xdc\x02\n\x0b\x45ventMetric\x12\r\n\x05label\x18\x01 \x01(\r\x12\x1c\n\x14participant_identity\x18\x02 \x01(\r\x12\x11\n\ttrack_sid\x18\x03 \x01(\r\x12\x1a\n\x12start_timestamp_ms\x18\x04 \x01(\x03\x12\x1d\n\x10\x65nd_timestamp_ms\x18\x05 \x01(\x03H\x00\x88\x01\x01\x12>\n\x1anormalized_start_timestamp\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x41\n\x18normalized_end_timestamp\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01\x88\x01\x01\x12\x10\n\x08metadata\x18\x08 \x01(\t\x12\x0b\n\x03rid\x18\t \x01(\rB\x13\n\x11_end_timestamp_msB\x1b\n\x19_normalized_end_timestamp\"\xb1\x02\n\x16MetricsRecordingHeader\x12\x1a\n\x07room_id\x18\x01 \x01(\tB\t\xbaP\x06roomID\x12\x10\n\x08\x64uration\x18\x03 \x01(\x04\x12.\n\nstart_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12@\n\troom_tags\x18\x05 \x03(\x0b\x32-.livekit.MetricsRecordingHeader.RoomTagsEntry\x12\x11\n\troom_name\x18\x06 \x01(\t\x12\x33\n\x0froom_start_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a/\n\rRoomTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01*\x81\x07\n\x0bMetricLabel\x12\x13\n\x0f\x41GENTS_LLM_TTFT\x10\x00\x12\x13\n\x0f\x41GENTS_STT_TTFT\x10\x01\x12\x13\n\x0f\x41GENTS_TTS_TTFB\x10\x02\x12(\n$CLIENT_VIDEO_SUBSCRIBER_FREEZE_COUNT\x10\x03\x12\x31\n-CLIENT_VIDEO_SUBSCRIBER_TOTAL_FREEZE_DURATION\x10\x04\x12\'\n#CLIENT_VIDEO_SUBSCRIBER_PAUSE_COUNT\x10\x05\x12\x31\n-CLIENT_VIDEO_SUBSCRIBER_TOTAL_PAUSES_DURATION\x10\x06\x12-\n)CLIENT_AUDIO_SUBSCRIBER_CONCEALED_SAMPLES\x10\x07\x12\x34\n0CLIENT_AUDIO_SUBSCRIBER_SILENT_CONCEALED_SAMPLES\x10\x08\x12.\n*CLIENT_AUDIO_SUBSCRIBER_CONCEALMENT_EVENTS\x10\t\x12.\n*CLIENT_AUDIO_SUBSCRIBER_INTERRUPTION_COUNT\x10\n\x12\x37\n3CLIENT_AUDIO_SUBSCRIBER_TOTAL_INTERRUPTION_DURATION\x10\x0b\x12)\n%CLIENT_SUBSCRIBER_JITTER_BUFFER_DELAY\x10\x0c\x12\x31\n-CLIENT_SUBSCRIBER_JITTER_BUFFER_EMITTED_COUNT\x10\r\x12@\n\n\x1anormalized_start_timestamp\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x41\n\x18normalized_end_timestamp\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01\x88\x01\x01\x12\x10\n\x08metadata\x18\x08 \x01(\t\x12\x0b\n\x03rid\x18\t \x01(\rB\x13\n\x11_end_timestamp_msB\x1b\n\x19_normalized_end_timestamp\"\xf5\x02\n\x16MetricsRecordingHeader\x12\x1a\n\x07room_id\x18\x01 \x01(\tB\t\xbaP\x06roomID\x12\x10\n\x08\x64uration\x18\x03 \x01(\x04\x12.\n\nstart_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12@\n\troom_tags\x18\x05 \x03(\x0b\x32-.livekit.MetricsRecordingHeader.RoomTagsEntry\x12\x11\n\troom_name\x18\x06 \x01(\t\x12\x33\n\x0froom_start_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0e\n\x06job_id\x18\x08 \x01(\t\x12\x11\n\tsimulated\x18\t \x01(\x08\x12\x19\n\x11redaction_enabled\x18\n \x01(\x08\x1a/\n\rRoomTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01J\x04\x08\x02\x10\x03*\x81\x07\n\x0bMetricLabel\x12\x13\n\x0f\x41GENTS_LLM_TTFT\x10\x00\x12\x13\n\x0f\x41GENTS_STT_TTFT\x10\x01\x12\x13\n\x0f\x41GENTS_TTS_TTFB\x10\x02\x12(\n$CLIENT_VIDEO_SUBSCRIBER_FREEZE_COUNT\x10\x03\x12\x31\n-CLIENT_VIDEO_SUBSCRIBER_TOTAL_FREEZE_DURATION\x10\x04\x12\'\n#CLIENT_VIDEO_SUBSCRIBER_PAUSE_COUNT\x10\x05\x12\x31\n-CLIENT_VIDEO_SUBSCRIBER_TOTAL_PAUSES_DURATION\x10\x06\x12-\n)CLIENT_AUDIO_SUBSCRIBER_CONCEALED_SAMPLES\x10\x07\x12\x34\n0CLIENT_AUDIO_SUBSCRIBER_SILENT_CONCEALED_SAMPLES\x10\x08\x12.\n*CLIENT_AUDIO_SUBSCRIBER_CONCEALMENT_EVENTS\x10\t\x12.\n*CLIENT_AUDIO_SUBSCRIBER_INTERRUPTION_COUNT\x10\n\x12\x37\n3CLIENT_AUDIO_SUBSCRIBER_TOTAL_INTERRUPTION_DURATION\x10\x0b\x12)\n%CLIENT_SUBSCRIBER_JITTER_BUFFER_DELAY\x10\x0c\x12\x31\n-CLIENT_SUBSCRIBER_JITTER_BUFFER_EMITTED_COUNT\x10\r\x12@\n\xc0P\x01\x12\x18\n\x10num_participants\x18\t \x01(\r\x12\x16\n\x0enum_publishers\x18\x0b \x01(\r\x12\x18\n\x10\x61\x63tive_recording\x18\n \x01(\x08\x12&\n\x07version\x18\r \x01(\x0b\x32\x15.livekit.TimedVersion\"(\n\x05\x43odec\x12\x0c\n\x04mime\x18\x01 \x01(\t\x12\x11\n\tfmtp_line\x18\x02 \x01(\t\"9\n\x0cPlayoutDelay\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0b\n\x03min\x18\x02 \x01(\r\x12\x0b\n\x03max\x18\x03 \x01(\r\"\xa7\x02\n\x15ParticipantPermission\x12\x15\n\rcan_subscribe\x18\x01 \x01(\x08\x12\x13\n\x0b\x63\x61n_publish\x18\x02 \x01(\x08\x12\x18\n\x10\x63\x61n_publish_data\x18\x03 \x01(\x08\x12\x31\n\x13\x63\x61n_publish_sources\x18\t \x03(\x0e\x32\x14.livekit.TrackSource\x12\x0e\n\x06hidden\x18\x07 \x01(\x08\x12\x14\n\x08recorder\x18\x08 \x01(\x08\x42\x02\x18\x01\x12\x1b\n\x13\x63\x61n_update_metadata\x18\n \x01(\x08\x12\x11\n\x05\x61gent\x18\x0b \x01(\x08\x42\x02\x18\x01\x12\x1d\n\x15\x63\x61n_subscribe_metrics\x18\x0c \x01(\x08\x12 \n\x18\x63\x61n_manage_agent_session\x18\r \x01(\x08\"\x9e\x08\n\x0fParticipantInfo\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12-\n\x05state\x18\x03 \x01(\x0e\x32\x1e.livekit.ParticipantInfo.State\x12\"\n\x06tracks\x18\x04 \x03(\x0b\x32\x12.livekit.TrackInfo\x12\x36\n\x08metadata\x18\x05 \x01(\tB$\xb2P\x1e\xc0P\x01\x12\x11\n\tjoined_at\x18\x06 \x01(\x03\x12\x14\n\x0cjoined_at_ms\x18\x11 \x01(\x03\x12\x11\n\x04name\x18\t \x01(\tB\x03\xc0P\x01\x12\x0f\n\x07version\x18\n \x01(\r\x12\x32\n\npermission\x18\x0b \x01(\x0b\x32\x1e.livekit.ParticipantPermission\x12\x0e\n\x06region\x18\x0c \x01(\t\x12\x14\n\x0cis_publisher\x18\r \x01(\x08\x12+\n\x04kind\x18\x0e \x01(\x0e\x32\x1d.livekit.ParticipantInfo.Kind\x12\x62\n\nattributes\x18\x0f \x03(\x0b\x32(.livekit.ParticipantInfo.AttributesEntryB$\xb2P\x1e\xc0P\x01\x12\x34\n\x11\x64isconnect_reason\x18\x10 \x01(\x0e\x32\x19.livekit.DisconnectReason\x12\x39\n\x0ckind_details\x18\x12 \x03(\x0e\x32#.livekit.ParticipantInfo.KindDetail\x12+\n\x0b\x64\x61ta_tracks\x18\x13 \x03(\x0b\x32\x16.livekit.DataTrackInfo\x12\x17\n\x0f\x63lient_protocol\x18\x14 \x01(\x05\x12\x34\n\x0c\x63\x61pabilities\x18\x15 \x03(\x0e\x32\x1e.livekit.ClientInfo.Capability\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\">\n\x05State\x12\x0b\n\x07JOINING\x10\x00\x12\n\n\x06JOINED\x10\x01\x12\n\n\x06\x41\x43TIVE\x10\x02\x12\x10\n\x0c\x44ISCONNECTED\x10\x03\"\\\n\x04Kind\x12\x0c\n\x08STANDARD\x10\x00\x12\x0b\n\x07INGRESS\x10\x01\x12\n\n\x06\x45GRESS\x10\x02\x12\x07\n\x03SIP\x10\x03\x12\t\n\x05\x41GENT\x10\x04\x12\r\n\tCONNECTOR\x10\x07\x12\n\n\x06\x42RIDGE\x10\x08\"k\n\nKindDetail\x12\x0f\n\x0b\x43LOUD_AGENT\x10\x00\x12\r\n\tFORWARDED\x10\x01\x12\x16\n\x12\x43ONNECTOR_WHATSAPP\x10\x02\x12\x14\n\x10\x43ONNECTOR_TWILIO\x10\x03\x12\x0f\n\x0b\x42RIDGE_RTSP\x10\x04\"3\n\nEncryption\"%\n\x04Type\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03GCM\x10\x01\x12\n\n\x06\x43USTOM\x10\x02\"\xab\x01\n\x12SimulcastCodecInfo\x12\x11\n\tmime_type\x18\x01 \x01(\t\x12\x0b\n\x03mid\x18\x02 \x01(\t\x12\x0b\n\x03\x63id\x18\x03 \x01(\t\x12#\n\x06layers\x18\x04 \x03(\x0b\x32\x13.livekit.VideoLayer\x12\x32\n\x10video_layer_mode\x18\x05 \x01(\x0e\x32\x18.livekit.VideoLayer.Mode\x12\x0f\n\x07sdp_cid\x18\x06 \x01(\t\"\x83\x05\n\tTrackInfo\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12 \n\x04type\x18\x02 \x01(\x0e\x32\x12.livekit.TrackType\x12\x11\n\x04name\x18\x03 \x01(\tB\x03\xc0P\x01\x12\r\n\x05muted\x18\x04 \x01(\x08\x12\r\n\x05width\x18\x05 \x01(\r\x12\x0e\n\x06height\x18\x06 \x01(\r\x12\x15\n\tsimulcast\x18\x07 \x01(\x08\x42\x02\x18\x01\x12\x17\n\x0b\x64isable_dtx\x18\x08 \x01(\x08\x42\x02\x18\x01\x12$\n\x06source\x18\t \x01(\x0e\x32\x14.livekit.TrackSource\x12\'\n\x06layers\x18\n \x03(\x0b\x32\x13.livekit.VideoLayerB\x02\x18\x01\x12\x11\n\tmime_type\x18\x0b \x01(\t\x12\x0b\n\x03mid\x18\x0c \x01(\t\x12+\n\x06\x63odecs\x18\r \x03(\x0b\x32\x1b.livekit.SimulcastCodecInfo\x12\x12\n\x06stereo\x18\x0e \x01(\x08\x42\x02\x18\x01\x12\x13\n\x0b\x64isable_red\x18\x0f \x01(\x08\x12,\n\nencryption\x18\x10 \x01(\x0e\x32\x18.livekit.Encryption.Type\x12\x0e\n\x06stream\x18\x11 \x01(\t\x12&\n\x07version\x18\x12 \x01(\x0b\x32\x15.livekit.TimedVersion\x12\x32\n\x0e\x61udio_features\x18\x13 \x03(\x0e\x32\x1a.livekit.AudioTrackFeature\x12\x37\n\x13\x62\x61\x63kup_codec_policy\x18\x14 \x01(\x0e\x32\x1a.livekit.BackupCodecPolicy\x12>\n\x17packet_trailer_features\x18\x15 \x03(\x0e\x32\x1d.livekit.PacketTrailerFeature\"l\n\rDataTrackInfo\x12\x12\n\npub_handle\x18\x01 \x01(\r\x12\x0b\n\x03sid\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12,\n\nencryption\x18\x04 \x01(\x0e\x32\x18.livekit.Encryption.Type\"f\n DataTrackExtensionParticipantSid\x12)\n\x02id\x18\x01 \x01(\x0e\x32\x1d.livekit.DataTrackExtensionID\x12\x17\n\x0fparticipant_sid\x18\x02 \x01(\t\"F\n\x1c\x44\x61taTrackSubscriptionOptions\x12\x17\n\ntarget_fps\x18\x01 \x01(\rH\x00\x88\x01\x01\x42\r\n\x0b_target_fps\"\'\n\x0b\x44\x61taBlobKey\x12\x11\n\x07generic\x18\x01 \x01(\tH\x00\x42\x05\n\x03key\"e\n\x08\x44\x61taBlob\x12!\n\x03key\x18\x01 \x01(\x0b\x32\x14.livekit.DataBlobKey\x12\x36\n\x08\x63ontents\x18\x02 \x01(\x0c\x42$\xb2P\x1e\xc0P\x01\"\xc4\x02\n\nVideoLayer\x12&\n\x07quality\x18\x01 \x01(\x0e\x32\x15.livekit.VideoQuality\x12\r\n\x05width\x18\x02 \x01(\r\x12\x0e\n\x06height\x18\x03 \x01(\r\x12\x0f\n\x07\x62itrate\x18\x04 \x01(\r\x12\x0c\n\x04ssrc\x18\x05 \x01(\r\x12\x15\n\rspatial_layer\x18\x06 \x01(\x05\x12\x0b\n\x03rid\x18\x07 \x01(\t\x12\x13\n\x0brepair_ssrc\x18\x08 \x01(\r\"\x96\x01\n\x04Mode\x12\x0f\n\x0bMODE_UNUSED\x10\x00\x12 \n\x1cONE_SPATIAL_LAYER_PER_STREAM\x10\x01\x12&\n\"MULTIPLE_SPATIAL_LAYERS_PER_STREAM\x10\x02\x12\x33\n/ONE_SPATIAL_LAYER_PER_STREAM_INCOMPLETE_RTCP_SR\x10\x03\"\xa7\x06\n\nDataPacket\x12*\n\x04kind\x18\x01 \x01(\x0e\x32\x18.livekit.DataPacket.KindB\x02\x18\x01\x12\x1c\n\x14participant_identity\x18\x04 \x01(\t\x12\x1e\n\x16\x64\x65stination_identities\x18\x05 \x03(\t\x12#\n\x04user\x18\x02 \x01(\x0b\x32\x13.livekit.UserPacketH\x00\x12\x33\n\x07speaker\x18\x03 \x01(\x0b\x32\x1c.livekit.ActiveSpeakerUpdateB\x02\x18\x01H\x00\x12$\n\x08sip_dtmf\x18\x06 \x01(\x0b\x32\x10.livekit.SipDTMFH\x00\x12/\n\rtranscription\x18\x07 \x01(\x0b\x32\x16.livekit.TranscriptionH\x00\x12(\n\x07metrics\x18\x08 \x01(\x0b\x32\x15.livekit.MetricsBatchH\x00\x12,\n\x0c\x63hat_message\x18\t \x01(\x0b\x32\x14.livekit.ChatMessageH\x00\x12*\n\x0brpc_request\x18\n \x01(\x0b\x32\x13.livekit.RpcRequestH\x00\x12\"\n\x07rpc_ack\x18\x0b \x01(\x0b\x32\x0f.livekit.RpcAckH\x00\x12,\n\x0crpc_response\x18\x0c \x01(\x0b\x32\x14.livekit.RpcResponseH\x00\x12\x33\n\rstream_header\x18\r \x01(\x0b\x32\x1a.livekit.DataStream.HeaderH\x00\x12\x31\n\x0cstream_chunk\x18\x0e \x01(\x0b\x32\x19.livekit.DataStream.ChunkH\x00\x12\x35\n\x0estream_trailer\x18\x0f \x01(\x0b\x32\x1b.livekit.DataStream.TrailerH\x00\x12\x34\n\x10\x65ncrypted_packet\x18\x12 \x01(\x0b\x32\x18.livekit.EncryptedPacketH\x00\x12\x10\n\x08sequence\x18\x10 \x01(\r\x12\x17\n\x0fparticipant_sid\x18\x11 \x01(\t\"\x1f\n\x04Kind\x12\x0c\n\x08RELIABLE\x10\x00\x12\t\n\x05LOSSY\x10\x01\x42\x07\n\x05value\"|\n\x0f\x45ncryptedPacket\x12\x31\n\x0f\x65ncryption_type\x18\x01 \x01(\x0e\x32\x18.livekit.Encryption.Type\x12\n\n\x02iv\x18\x02 \x01(\x0c\x12\x11\n\tkey_index\x18\x03 \x01(\r\x12\x17\n\x0f\x65ncrypted_value\x18\x04 \x01(\x0c\"\x91\x03\n\x16\x45ncryptedPacketPayload\x12#\n\x04user\x18\x01 \x01(\x0b\x32\x13.livekit.UserPacketH\x00\x12,\n\x0c\x63hat_message\x18\x03 \x01(\x0b\x32\x14.livekit.ChatMessageH\x00\x12*\n\x0brpc_request\x18\x04 \x01(\x0b\x32\x13.livekit.RpcRequestH\x00\x12\"\n\x07rpc_ack\x18\x05 \x01(\x0b\x32\x0f.livekit.RpcAckH\x00\x12,\n\x0crpc_response\x18\x06 \x01(\x0b\x32\x14.livekit.RpcResponseH\x00\x12\x33\n\rstream_header\x18\x07 \x01(\x0b\x32\x1a.livekit.DataStream.HeaderH\x00\x12\x31\n\x0cstream_chunk\x18\x08 \x01(\x0b\x32\x19.livekit.DataStream.ChunkH\x00\x12\x35\n\x0estream_trailer\x18\t \x01(\x0b\x32\x1b.livekit.DataStream.TrailerH\x00\x42\x07\n\x05value\"A\n\x13\x41\x63tiveSpeakerUpdate\x12&\n\x08speakers\x18\x01 \x03(\x0b\x32\x14.livekit.SpeakerInfo:\x02\x18\x01\"9\n\x0bSpeakerInfo\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\r\n\x05level\x18\x02 \x01(\x02\x12\x0e\n\x06\x61\x63tive\x18\x03 \x01(\x08\"\xaf\x02\n\nUserPacket\x12\x1b\n\x0fparticipant_sid\x18\x01 \x01(\tB\x02\x18\x01\x12 \n\x14participant_identity\x18\x05 \x01(\tB\x02\x18\x01\x12\x0f\n\x07payload\x18\x02 \x01(\x0c\x12\x1c\n\x10\x64\x65stination_sids\x18\x03 \x03(\tB\x02\x18\x01\x12\"\n\x16\x64\x65stination_identities\x18\x06 \x03(\tB\x02\x18\x01\x12\x12\n\x05topic\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x02id\x18\x08 \x01(\tH\x01\x88\x01\x01\x12\x17\n\nstart_time\x18\t \x01(\x04H\x02\x88\x01\x01\x12\x15\n\x08\x65nd_time\x18\n \x01(\x04H\x03\x88\x01\x01\x12\r\n\x05nonce\x18\x0b \x01(\x0c\x42\x08\n\x06_topicB\x05\n\x03_idB\r\n\x0b_start_timeB\x0b\n\t_end_time\"&\n\x07SipDTMF\x12\x0c\n\x04\x63ode\x18\x03 \x01(\r\x12\r\n\x05\x64igit\x18\x04 \x01(\t\"\x88\x01\n\rTranscription\x12(\n transcribed_participant_identity\x18\x02 \x01(\t\x12\x1c\n\x08track_id\x18\x03 \x01(\tB\n\xbaP\x07trackID\x12/\n\x08segments\x18\x04 \x03(\x0b\x32\x1d.livekit.TranscriptionSegment\"w\n\x14TranscriptionSegment\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04text\x18\x02 \x01(\t\x12\x12\n\nstart_time\x18\x03 \x01(\x04\x12\x10\n\x08\x65nd_time\x18\x04 \x01(\x04\x12\r\n\x05\x66inal\x18\x05 \x01(\x08\x12\x10\n\x08language\x18\x06 \x01(\t\"\x91\x01\n\x0b\x43hatMessage\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\x12\x1b\n\x0e\x65\x64it_timestamp\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12\x0f\n\x07message\x18\x04 \x01(\t\x12\x0f\n\x07\x64\x65leted\x18\x05 \x01(\x08\x12\x11\n\tgenerated\x18\x06 \x01(\x08\x42\x11\n\x0f_edit_timestamp\"\x83\x01\n\nRpcRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0e\n\x06method\x18\x02 \x01(\t\x12\x0f\n\x07payload\x18\x03 \x01(\t\x12\x1b\n\x13response_timeout_ms\x18\x04 \x01(\r\x12\x0f\n\x07version\x18\x05 \x01(\r\x12\x1a\n\x12\x63ompressed_payload\x18\x06 \x01(\x0c\"*\n\x06RpcAck\x12 \n\nrequest_id\x18\x01 \x01(\tB\x0c\xbaP\trequestID\"\x8d\x01\n\x0bRpcResponse\x12 \n\nrequest_id\x18\x01 \x01(\tB\x0c\xbaP\trequestID\x12\x11\n\x07payload\x18\x02 \x01(\tH\x00\x12\"\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x11.livekit.RpcErrorH\x00\x12\x1c\n\x12\x63ompressed_payload\x18\x04 \x01(\x0cH\x00\x42\x07\n\x05value\"7\n\x08RpcError\x12\x0c\n\x04\x63ode\x18\x01 \x01(\r\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\t\"@\n\x11ParticipantTracks\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x12\n\ntrack_sids\x18\x02 \x03(\t\"\xd9\x01\n\nServerInfo\x12,\n\x07\x65\x64ition\x18\x01 \x01(\x0e\x32\x1b.livekit.ServerInfo.Edition\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x10\n\x08protocol\x18\x03 \x01(\x05\x12\x0e\n\x06region\x18\x04 \x01(\t\x12\x1a\n\x07node_id\x18\x05 \x01(\tB\t\xbaP\x06nodeID\x12\x12\n\ndebug_info\x18\x06 \x01(\t\x12\x16\n\x0e\x61gent_protocol\x18\x07 \x01(\x05\"\"\n\x07\x45\x64ition\x12\x0c\n\x08Standard\x10\x00\x12\t\n\x05\x43loud\x10\x01\"\xc7\x04\n\nClientInfo\x12$\n\x03sdk\x18\x01 \x01(\x0e\x32\x17.livekit.ClientInfo.SDK\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x10\n\x08protocol\x18\x03 \x01(\x05\x12\n\n\x02os\x18\x04 \x01(\t\x12\x12\n\nos_version\x18\x05 \x01(\t\x12\x14\n\x0c\x64\x65vice_model\x18\x06 \x01(\t\x12\x0f\n\x07\x62rowser\x18\x07 \x01(\t\x12\x17\n\x0f\x62rowser_version\x18\x08 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\t \x01(\t\x12\x0f\n\x07network\x18\n \x01(\t\x12\x12\n\nother_sdks\x18\x0b \x01(\t\x12\x17\n\x0f\x63lient_protocol\x18\x0c \x01(\x05\x12\x34\n\x0c\x63\x61pabilities\x18\r \x03(\x0e\x32\x1e.livekit.ClientInfo.Capability\"\xb3\x01\n\x03SDK\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x06\n\x02JS\x10\x01\x12\t\n\x05SWIFT\x10\x02\x12\x0b\n\x07\x41NDROID\x10\x03\x12\x0b\n\x07\x46LUTTER\x10\x04\x12\x06\n\x02GO\x10\x05\x12\t\n\x05UNITY\x10\x06\x12\x10\n\x0cREACT_NATIVE\x10\x07\x12\x08\n\x04RUST\x10\x08\x12\n\n\x06PYTHON\x10\t\x12\x07\n\x03\x43PP\x10\n\x12\r\n\tUNITY_WEB\x10\x0b\x12\x08\n\x04NODE\x10\x0c\x12\n\n\x06UNREAL\x10\r\x12\t\n\x05\x45SP32\x10\x0e\"U\n\nCapability\x12\x0e\n\nCAP_UNUSED\x10\x00\x12\x16\n\x12\x43\x41P_PACKET_TRAILER\x10\x01\x12\x1f\n\x1b\x43\x41P_COMPRESSION_DEFLATE_RAW\x10\x02\"\x8c\x02\n\x13\x43lientConfiguration\x12*\n\x05video\x18\x01 \x01(\x0b\x32\x1b.livekit.VideoConfiguration\x12+\n\x06screen\x18\x02 \x01(\x0b\x32\x1b.livekit.VideoConfiguration\x12\x37\n\x11resume_connection\x18\x03 \x01(\x0e\x32\x1c.livekit.ClientConfigSetting\x12\x30\n\x0f\x64isabled_codecs\x18\x04 \x01(\x0b\x32\x17.livekit.DisabledCodecs\x12\x31\n\x0b\x66orce_relay\x18\x05 \x01(\x0e\x32\x1c.livekit.ClientConfigSetting\"L\n\x12VideoConfiguration\x12\x36\n\x10hardware_encoder\x18\x01 \x01(\x0e\x32\x1c.livekit.ClientConfigSetting\"Q\n\x0e\x44isabledCodecs\x12\x1e\n\x06\x63odecs\x18\x01 \x03(\x0b\x32\x0e.livekit.Codec\x12\x1f\n\x07publish\x18\x02 \x03(\x0b\x32\x0e.livekit.Codec\"\x80\x02\n\x08RTPDrift\x12.\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08\x64uration\x18\x03 \x01(\x01\x12\x17\n\x0fstart_timestamp\x18\x04 \x01(\x04\x12\x15\n\rend_timestamp\x18\x05 \x01(\x04\x12\x17\n\x0frtp_clock_ticks\x18\x06 \x01(\x04\x12\x15\n\rdrift_samples\x18\x07 \x01(\x03\x12\x10\n\x08\x64rift_ms\x18\x08 \x01(\x01\x12\x12\n\nclock_rate\x18\t \x01(\x01\"\xd6\n\n\x08RTPStats\x12.\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08\x64uration\x18\x03 \x01(\x01\x12\x0f\n\x07packets\x18\x04 \x01(\r\x12\x13\n\x0bpacket_rate\x18\x05 \x01(\x01\x12\r\n\x05\x62ytes\x18\x06 \x01(\x04\x12\x14\n\x0cheader_bytes\x18\' \x01(\x04\x12\x0f\n\x07\x62itrate\x18\x07 \x01(\x01\x12\x14\n\x0cpackets_lost\x18\x08 \x01(\r\x12\x18\n\x10packet_loss_rate\x18\t \x01(\x01\x12\x1e\n\x16packet_loss_percentage\x18\n \x01(\x02\x12\x19\n\x11packets_duplicate\x18\x0b \x01(\r\x12\x1d\n\x15packet_duplicate_rate\x18\x0c \x01(\x01\x12\x17\n\x0f\x62ytes_duplicate\x18\r \x01(\x04\x12\x1e\n\x16header_bytes_duplicate\x18( \x01(\x04\x12\x19\n\x11\x62itrate_duplicate\x18\x0e \x01(\x01\x12\x17\n\x0fpackets_padding\x18\x0f \x01(\r\x12\x1b\n\x13packet_padding_rate\x18\x10 \x01(\x01\x12\x15\n\rbytes_padding\x18\x11 \x01(\x04\x12\x1c\n\x14header_bytes_padding\x18) \x01(\x04\x12\x17\n\x0f\x62itrate_padding\x18\x12 \x01(\x01\x12\x1c\n\x14packets_out_of_order\x18\x13 \x01(\r\x12\x0e\n\x06\x66rames\x18\x14 \x01(\r\x12\x12\n\nframe_rate\x18\x15 \x01(\x01\x12\x16\n\x0ejitter_current\x18\x16 \x01(\x01\x12\x12\n\njitter_max\x18\x17 \x01(\x01\x12:\n\rgap_histogram\x18\x18 \x03(\x0b\x32#.livekit.RTPStats.GapHistogramEntry\x12\r\n\x05nacks\x18\x19 \x01(\r\x12\x11\n\tnack_acks\x18% \x01(\r\x12\x13\n\x0bnack_misses\x18\x1a \x01(\r\x12\x15\n\rnack_repeated\x18& \x01(\r\x12\x0c\n\x04plis\x18\x1b \x01(\r\x12,\n\x08last_pli\x18\x1c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04\x66irs\x18\x1d \x01(\r\x12,\n\x08last_fir\x18\x1e \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x13\n\x0brtt_current\x18\x1f \x01(\r\x12\x0f\n\x07rtt_max\x18 \x01(\r\x12\x12\n\nkey_frames\x18! \x01(\r\x12\x32\n\x0elast_key_frame\x18\" \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x17\n\x0flayer_lock_plis\x18# \x01(\r\x12\x37\n\x13last_layer_lock_pli\x18$ \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\'\n\x0cpacket_drift\x18, \x01(\x0b\x32\x11.livekit.RTPDrift\x12+\n\x10ntp_report_drift\x18- \x01(\x0b\x32\x11.livekit.RTPDrift\x12/\n\x14rebased_report_drift\x18. \x01(\x0b\x32\x11.livekit.RTPDrift\x12\x30\n\x15received_report_drift\x18/ \x01(\x0b\x32\x11.livekit.RTPDrift\x1a\x33\n\x11GapHistogramEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\"\xa2\x01\n\x15RTCPSenderReportState\x12\x15\n\rrtp_timestamp\x18\x01 \x01(\r\x12\x19\n\x11rtp_timestamp_ext\x18\x02 \x01(\x04\x12\x15\n\rntp_timestamp\x18\x03 \x01(\x04\x12\n\n\x02\x61t\x18\x04 \x01(\x03\x12\x13\n\x0b\x61t_adjusted\x18\x05 \x01(\x03\x12\x0f\n\x07packets\x18\x06 \x01(\r\x12\x0e\n\x06octets\x18\x07 \x01(\x04\"\xc9\x02\n\x11RTPForwarderState\x12\x0f\n\x07started\x18\x01 \x01(\x08\x12\x1f\n\x17reference_layer_spatial\x18\x02 \x01(\x05\x12\x16\n\x0epre_start_time\x18\x03 \x01(\x03\x12\x1b\n\x13\x65xt_first_timestamp\x18\x04 \x01(\x04\x12$\n\x1c\x64ummy_start_timestamp_offset\x18\x05 \x01(\x04\x12+\n\nrtp_munger\x18\x06 \x01(\x0b\x32\x17.livekit.RTPMungerState\x12-\n\nvp8_munger\x18\x07 \x01(\x0b\x32\x17.livekit.VP8MungerStateH\x00\x12;\n\x13sender_report_state\x18\x08 \x03(\x0b\x32\x1e.livekit.RTCPSenderReportStateB\x0e\n\x0c\x63odec_munger\"\xcb\x01\n\x0eRTPMungerState\x12 \n\x18\x65xt_last_sequence_number\x18\x01 \x01(\x04\x12\'\n\x1f\x65xt_second_last_sequence_number\x18\x02 \x01(\x04\x12\x1a\n\x12\x65xt_last_timestamp\x18\x03 \x01(\x04\x12!\n\x19\x65xt_second_last_timestamp\x18\x04 \x01(\x04\x12\x13\n\x0blast_marker\x18\x05 \x01(\x08\x12\x1a\n\x12second_last_marker\x18\x06 \x01(\x08\"\xcd\x01\n\x0eVP8MungerState\x12\x30\n\x13\x65xt_last_picture_id\x18\x01 \x01(\x05\x42\x13\xbaP\x10\x65xtLastPictureID\x12\x17\n\x0fpicture_id_used\x18\x02 \x01(\x08\x12\x18\n\x10last_tl0_pic_idx\x18\x03 \x01(\r\x12\x18\n\x10tl0_pic_idx_used\x18\x04 \x01(\x08\x12\x10\n\x08tid_used\x18\x05 \x01(\x08\x12\x14\n\x0clast_key_idx\x18\x06 \x01(\r\x12\x14\n\x0ckey_idx_used\x18\x07 \x01(\x08\"1\n\x0cTimedVersion\x12\x12\n\nunix_micro\x18\x01 \x01(\x03\x12\r\n\x05ticks\x18\x02 \x01(\x05\"\xa0\t\n\nDataStream\x1a\xb8\x01\n\nTextHeader\x12\x39\n\x0eoperation_type\x18\x01 \x01(\x0e\x32!.livekit.DataStream.OperationType\x12\x0f\n\x07version\x18\x02 \x01(\x05\x12.\n\x12reply_to_stream_id\x18\x03 \x01(\tB\x12\xbaP\x0freplyToStreamID\x12\x1b\n\x13\x61ttached_stream_ids\x18\x04 \x03(\t\x12\x11\n\tgenerated\x18\x05 \x01(\x08\x1a\x1a\n\nByteHeader\x12\x0c\n\x04name\x18\x01 \x01(\t\x1a\x9d\x04\n\x06Header\x12\x1e\n\tstream_id\x18\x01 \x01(\tB\x0b\xbaP\x08streamID\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\x12\r\n\x05topic\x18\x03 \x01(\t\x12\x11\n\tmime_type\x18\x04 \x01(\t\x12\x19\n\x0ctotal_length\x18\x05 \x01(\x04H\x01\x88\x01\x01\x12\x35\n\x0f\x65ncryption_type\x18\x07 \x01(\x0e\x32\x18.livekit.Encryption.TypeB\x02\x18\x01\x12>\n\nattributes\x18\x08 \x03(\x0b\x32*.livekit.DataStream.Header.AttributesEntry\x12\x35\n\x0btext_header\x18\t \x01(\x0b\x32\x1e.livekit.DataStream.TextHeaderH\x00\x12\x35\n\x0b\x62yte_header\x18\n \x01(\x0b\x32\x1e.livekit.DataStream.ByteHeaderH\x00\x12\x1b\n\x0einline_content\x18\x0b \x01(\x0cH\x02\x88\x01\x01\x12\x38\n\x0b\x63ompression\x18\x0c \x01(\x0e\x32#.livekit.DataStream.CompressionType\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x10\n\x0e\x63ontent_headerB\x0f\n\r_total_lengthB\x11\n\x0f_inline_content\x1az\n\x05\x43hunk\x12\x1e\n\tstream_id\x18\x01 \x01(\tB\x0b\xbaP\x08streamID\x12\x13\n\x0b\x63hunk_index\x18\x02 \x01(\x04\x12\x0f\n\x07\x63ontent\x18\x03 \x01(\x0c\x12\x0f\n\x07version\x18\x04 \x01(\x05\x12\x13\n\x02iv\x18\x05 \x01(\x0c\x42\x02\x18\x01H\x00\x88\x01\x01\x42\x05\n\x03_iv\x1a\xad\x01\n\x07Trailer\x12\x1e\n\tstream_id\x18\x01 \x01(\tB\x0b\xbaP\x08streamID\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12?\n\nattributes\x18\x03 \x03(\x0b\x32+.livekit.DataStream.Trailer.AttributesEntry\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"A\n\rOperationType\x12\n\n\x06\x43REATE\x10\x00\x12\n\n\x06UPDATE\x10\x01\x12\n\n\x06\x44\x45LETE\x10\x02\x12\x0c\n\x08REACTION\x10\x03\",\n\x0f\x43ompressionType\x12\x08\n\x04NONE\x10\x00\x12\x0f\n\x0b\x44\x45\x46LATE_RAW\x10\x01\">\n\x0c\x46ilterParams\x12\x16\n\x0einclude_events\x18\x01 \x03(\t\x12\x16\n\x0e\x65xclude_events\x18\x02 \x03(\t\"_\n\rWebhookConfig\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x13\n\x0bsigning_key\x18\x02 \x01(\t\x12,\n\rfilter_params\x18\x03 \x01(\x0b\x32\x15.livekit.FilterParams\"6\n\x14SubscribedAudioCodec\x12\r\n\x05\x63odec\x18\x01 \x01(\t\x12\x0f\n\x07\x65nabled\x18\x02 \x01(\x08*;\n\nAudioCodec\x12\x0e\n\nDEFAULT_AC\x10\x00\x12\x08\n\x04OPUS\x10\x01\x12\x07\n\x03\x41\x41\x43\x10\x02\x12\n\n\x06\x41\x43_MP3\x10\x03*V\n\nVideoCodec\x12\x0e\n\nDEFAULT_VC\x10\x00\x12\x11\n\rH264_BASELINE\x10\x01\x12\r\n\tH264_MAIN\x10\x02\x12\r\n\tH264_HIGH\x10\x03\x12\x07\n\x03VP8\x10\x04*)\n\nImageCodec\x12\x0e\n\nIC_DEFAULT\x10\x00\x12\x0b\n\x07IC_JPEG\x10\x01*I\n\x11\x42\x61\x63kupCodecPolicy\x12\x15\n\x11PREFER_REGRESSION\x10\x00\x12\r\n\tSIMULCAST\x10\x01\x12\x0e\n\nREGRESSION\x10\x02*+\n\tTrackType\x12\t\n\x05\x41UDIO\x10\x00\x12\t\n\x05VIDEO\x10\x01\x12\x08\n\x04\x44\x41TA\x10\x02*`\n\x0bTrackSource\x12\x0b\n\x07UNKNOWN\x10\x00\x12\n\n\x06\x43\x41MERA\x10\x01\x12\x0e\n\nMICROPHONE\x10\x02\x12\x10\n\x0cSCREEN_SHARE\x10\x03\x12\x16\n\x12SCREEN_SHARE_AUDIO\x10\x04*B\n\x14\x44\x61taTrackExtensionID\x12\x10\n\x0c\x44TEI_INVALID\x10\x00\x12\x18\n\x14\x44TEI_PARTICIPANT_SID\x10\x01*6\n\x0cVideoQuality\x12\x07\n\x03LOW\x10\x00\x12\n\n\x06MEDIUM\x10\x01\x12\x08\n\x04HIGH\x10\x02\x12\x07\n\x03OFF\x10\x03*@\n\x11\x43onnectionQuality\x12\x08\n\x04POOR\x10\x00\x12\x08\n\x04GOOD\x10\x01\x12\r\n\tEXCELLENT\x10\x02\x12\x08\n\x04LOST\x10\x03*;\n\x13\x43lientConfigSetting\x12\t\n\x05UNSET\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\x0b\n\x07\x45NABLED\x10\x02*\xe8\x02\n\x10\x44isconnectReason\x12\x12\n\x0eUNKNOWN_REASON\x10\x00\x12\x14\n\x10\x43LIENT_INITIATED\x10\x01\x12\x16\n\x12\x44UPLICATE_IDENTITY\x10\x02\x12\x13\n\x0fSERVER_SHUTDOWN\x10\x03\x12\x17\n\x13PARTICIPANT_REMOVED\x10\x04\x12\x10\n\x0cROOM_DELETED\x10\x05\x12\x12\n\x0eSTATE_MISMATCH\x10\x06\x12\x10\n\x0cJOIN_FAILURE\x10\x07\x12\r\n\tMIGRATION\x10\x08\x12\x10\n\x0cSIGNAL_CLOSE\x10\t\x12\x0f\n\x0bROOM_CLOSED\x10\n\x12\x14\n\x10USER_UNAVAILABLE\x10\x0b\x12\x11\n\rUSER_REJECTED\x10\x0c\x12\x15\n\x11SIP_TRUNK_FAILURE\x10\r\x12\x16\n\x12\x43ONNECTION_TIMEOUT\x10\x0e\x12\x11\n\rMEDIA_FAILURE\x10\x0f\x12\x0f\n\x0b\x41GENT_ERROR\x10\x10*\x89\x01\n\x0fReconnectReason\x12\x0e\n\nRR_UNKNOWN\x10\x00\x12\x1a\n\x16RR_SIGNAL_DISCONNECTED\x10\x01\x12\x17\n\x13RR_PUBLISHER_FAILED\x10\x02\x12\x18\n\x14RR_SUBSCRIBER_FAILED\x10\x03\x12\x17\n\x13RR_SWITCH_CANDIDATE\x10\x04*T\n\x11SubscriptionError\x12\x0e\n\nSE_UNKNOWN\x10\x00\x12\x18\n\x14SE_CODEC_UNSUPPORTED\x10\x01\x12\x15\n\x11SE_TRACK_NOTFOUND\x10\x02*\xbd\x01\n\x11\x41udioTrackFeature\x12\r\n\tTF_STEREO\x10\x00\x12\r\n\tTF_NO_DTX\x10\x01\x12\x18\n\x14TF_AUTO_GAIN_CONTROL\x10\x02\x12\x18\n\x14TF_ECHO_CANCELLATION\x10\x03\x12\x18\n\x14TF_NOISE_SUPPRESSION\x10\x04\x12\"\n\x1eTF_ENHANCED_NOISE_CANCELLATION\x10\x05\x12\x18\n\x14TF_PRECONNECT_BUFFER\x10\x06*S\n\x14PacketTrailerFeature\x12\x16\n\x12PTF_USER_TIMESTAMP\x10\x00\x12\x10\n\x0cPTF_FRAME_ID\x10\x01\x12\x11\n\rPTF_USER_DATA\x10\x02\x42\x46Z#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3" +descriptor_data = "\n\x14livekit_models.proto\x12\x07livekit\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x15livekit_metrics.proto\x1a\x14logger/options.proto\"9\n\nPagination\x12\x1c\n\x08\x61\x66ter_id\x18\x01 \x01(\tB\n\xbaP\x07\x61\x66terID\x12\r\n\x05limit\x18\x02 \x01(\x05\" \n\x0fTokenPagination\x12\r\n\x05token\x18\x01 \x01(\t\"E\n\nListUpdate\x12\x0b\n\x03set\x18\x01 \x03(\t\x12\x0b\n\x03\x61\x64\x64\x18\x02 \x03(\t\x12\x0e\n\x06remove\x18\x03 \x03(\t\x12\r\n\x05\x63lear\x18\x04 \x01(\x08\"\x89\x03\n\x04Room\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x15\n\rempty_timeout\x18\x03 \x01(\r\x12\x19\n\x11\x64\x65parture_timeout\x18\x0e \x01(\r\x12\x18\n\x10max_participants\x18\x04 \x01(\r\x12\x15\n\rcreation_time\x18\x05 \x01(\x03\x12\x18\n\x10\x63reation_time_ms\x18\x0f \x01(\x03\x12\x15\n\rturn_password\x18\x06 \x01(\t\x12&\n\x0e\x65nabled_codecs\x18\x07 \x03(\x0b\x32\x0e.livekit.Codec\x12\x36\n\x08metadata\x18\x08 \x01(\tB$\xb2P\x1e\xc0P\x01\x12\x18\n\x10num_participants\x18\t \x01(\r\x12\x16\n\x0enum_publishers\x18\x0b \x01(\r\x12\x18\n\x10\x61\x63tive_recording\x18\n \x01(\x08\x12&\n\x07version\x18\r \x01(\x0b\x32\x15.livekit.TimedVersion\"(\n\x05\x43odec\x12\x0c\n\x04mime\x18\x01 \x01(\t\x12\x11\n\tfmtp_line\x18\x02 \x01(\t\"9\n\x0cPlayoutDelay\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0b\n\x03min\x18\x02 \x01(\r\x12\x0b\n\x03max\x18\x03 \x01(\r\"\xa7\x02\n\x15ParticipantPermission\x12\x15\n\rcan_subscribe\x18\x01 \x01(\x08\x12\x13\n\x0b\x63\x61n_publish\x18\x02 \x01(\x08\x12\x18\n\x10\x63\x61n_publish_data\x18\x03 \x01(\x08\x12\x31\n\x13\x63\x61n_publish_sources\x18\t \x03(\x0e\x32\x14.livekit.TrackSource\x12\x0e\n\x06hidden\x18\x07 \x01(\x08\x12\x14\n\x08recorder\x18\x08 \x01(\x08\x42\x02\x18\x01\x12\x1b\n\x13\x63\x61n_update_metadata\x18\n \x01(\x08\x12\x11\n\x05\x61gent\x18\x0b \x01(\x08\x42\x02\x18\x01\x12\x1d\n\x15\x63\x61n_subscribe_metrics\x18\x0c \x01(\x08\x12 \n\x18\x63\x61n_manage_agent_session\x18\r \x01(\x08\"\xae\x08\n\x0fParticipantInfo\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12-\n\x05state\x18\x03 \x01(\x0e\x32\x1e.livekit.ParticipantInfo.State\x12\"\n\x06tracks\x18\x04 \x03(\x0b\x32\x12.livekit.TrackInfo\x12\x36\n\x08metadata\x18\x05 \x01(\tB$\xb2P\x1e\xc0P\x01\x12\x11\n\tjoined_at\x18\x06 \x01(\x03\x12\x14\n\x0cjoined_at_ms\x18\x11 \x01(\x03\x12\x11\n\x04name\x18\t \x01(\tB\x03\xc0P\x01\x12\x0f\n\x07version\x18\n \x01(\r\x12\x32\n\npermission\x18\x0b \x01(\x0b\x32\x1e.livekit.ParticipantPermission\x12\x0e\n\x06region\x18\x0c \x01(\t\x12\x14\n\x0cis_publisher\x18\r \x01(\x08\x12+\n\x04kind\x18\x0e \x01(\x0e\x32\x1d.livekit.ParticipantInfo.Kind\x12\x62\n\nattributes\x18\x0f \x03(\x0b\x32(.livekit.ParticipantInfo.AttributesEntryB$\xb2P\x1e\xc0P\x01\x12\x34\n\x11\x64isconnect_reason\x18\x10 \x01(\x0e\x32\x19.livekit.DisconnectReason\x12\x39\n\x0ckind_details\x18\x12 \x03(\x0e\x32#.livekit.ParticipantInfo.KindDetail\x12+\n\x0b\x64\x61ta_tracks\x18\x13 \x03(\x0b\x32\x16.livekit.DataTrackInfo\x12\x17\n\x0f\x63lient_protocol\x18\x14 \x01(\x05\x12\x34\n\x0c\x63\x61pabilities\x18\x15 \x03(\x0e\x32\x1e.livekit.ClientInfo.Capability\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\">\n\x05State\x12\x0b\n\x07JOINING\x10\x00\x12\n\n\x06JOINED\x10\x01\x12\n\n\x06\x41\x43TIVE\x10\x02\x12\x10\n\x0c\x44ISCONNECTED\x10\x03\"\\\n\x04Kind\x12\x0c\n\x08STANDARD\x10\x00\x12\x0b\n\x07INGRESS\x10\x01\x12\n\n\x06\x45GRESS\x10\x02\x12\x07\n\x03SIP\x10\x03\x12\t\n\x05\x41GENT\x10\x04\x12\r\n\tCONNECTOR\x10\x07\x12\n\n\x06\x42RIDGE\x10\x08\"{\n\nKindDetail\x12\x0f\n\x0b\x43LOUD_AGENT\x10\x00\x12\r\n\tFORWARDED\x10\x01\x12\x16\n\x12\x43ONNECTOR_WHATSAPP\x10\x02\x12\x14\n\x10\x43ONNECTOR_TWILIO\x10\x03\x12\x0f\n\x0b\x42RIDGE_RTSP\x10\x04\x12\x0e\n\nSIMULATION\x10\x05\"3\n\nEncryption\"%\n\x04Type\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03GCM\x10\x01\x12\n\n\x06\x43USTOM\x10\x02\"\xab\x01\n\x12SimulcastCodecInfo\x12\x11\n\tmime_type\x18\x01 \x01(\t\x12\x0b\n\x03mid\x18\x02 \x01(\t\x12\x0b\n\x03\x63id\x18\x03 \x01(\t\x12#\n\x06layers\x18\x04 \x03(\x0b\x32\x13.livekit.VideoLayer\x12\x32\n\x10video_layer_mode\x18\x05 \x01(\x0e\x32\x18.livekit.VideoLayer.Mode\x12\x0f\n\x07sdp_cid\x18\x06 \x01(\t\"\x83\x05\n\tTrackInfo\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12 \n\x04type\x18\x02 \x01(\x0e\x32\x12.livekit.TrackType\x12\x11\n\x04name\x18\x03 \x01(\tB\x03\xc0P\x01\x12\r\n\x05muted\x18\x04 \x01(\x08\x12\r\n\x05width\x18\x05 \x01(\r\x12\x0e\n\x06height\x18\x06 \x01(\r\x12\x15\n\tsimulcast\x18\x07 \x01(\x08\x42\x02\x18\x01\x12\x17\n\x0b\x64isable_dtx\x18\x08 \x01(\x08\x42\x02\x18\x01\x12$\n\x06source\x18\t \x01(\x0e\x32\x14.livekit.TrackSource\x12\'\n\x06layers\x18\n \x03(\x0b\x32\x13.livekit.VideoLayerB\x02\x18\x01\x12\x11\n\tmime_type\x18\x0b \x01(\t\x12\x0b\n\x03mid\x18\x0c \x01(\t\x12+\n\x06\x63odecs\x18\r \x03(\x0b\x32\x1b.livekit.SimulcastCodecInfo\x12\x12\n\x06stereo\x18\x0e \x01(\x08\x42\x02\x18\x01\x12\x13\n\x0b\x64isable_red\x18\x0f \x01(\x08\x12,\n\nencryption\x18\x10 \x01(\x0e\x32\x18.livekit.Encryption.Type\x12\x0e\n\x06stream\x18\x11 \x01(\t\x12&\n\x07version\x18\x12 \x01(\x0b\x32\x15.livekit.TimedVersion\x12\x32\n\x0e\x61udio_features\x18\x13 \x03(\x0e\x32\x1a.livekit.AudioTrackFeature\x12\x37\n\x13\x62\x61\x63kup_codec_policy\x18\x14 \x01(\x0e\x32\x1a.livekit.BackupCodecPolicy\x12>\n\x17packet_trailer_features\x18\x15 \x03(\x0e\x32\x1d.livekit.PacketTrailerFeature\"\xf9\x01\n\rDataTrackInfo\x12\x12\n\npub_handle\x18\x01 \x01(\r\x12\x0b\n\x03sid\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12,\n\nencryption\x18\x04 \x01(\x0e\x32\x18.livekit.Encryption.Type\x12<\n\x0e\x66rame_encoding\x18\x05 \x01(\x0b\x32\x1f.livekit.DataTrackFrameEncodingH\x00\x88\x01\x01\x12/\n\x06schema\x18\x06 \x01(\x0b\x32\x1a.livekit.DataTrackSchemaIdH\x01\x88\x01\x01\x42\x11\n\x0f_frame_encodingB\t\n\x07_schema\"\xcf\x03\n\x16\x44\x61taTrackFrameEncoding\x12L\n\nwell_known\x18\x01 \x01(\x0e\x32\x36.livekit.DataTrackFrameEncoding.WellKnownFrameEncodingH\x00\x12\x10\n\x06\x63ustom\x18\x02 \x01(\tH\x00\"\xcb\x02\n\x16WellKnownFrameEncoding\x12)\n%WELL_KNOWN_FRAME_ENCODING_UNSPECIFIED\x10\x00\x12\"\n\x1eWELL_KNOWN_FRAME_ENCODING_ROS1\x10\x01\x12!\n\x1dWELL_KNOWN_FRAME_ENCODING_CDR\x10\x02\x12&\n\"WELL_KNOWN_FRAME_ENCODING_PROTOBUF\x10\x03\x12(\n$WELL_KNOWN_FRAME_ENCODING_FLATBUFFER\x10\x04\x12\"\n\x1eWELL_KNOWN_FRAME_ENCODING_CBOR\x10\x05\x12%\n!WELL_KNOWN_FRAME_ENCODING_MSGPACK\x10\x06\x12\"\n\x1eWELL_KNOWN_FRAME_ENCODING_JSON\x10\x07\x42\x07\n\x05value\"\xef\x03\n\x17\x44\x61taTrackSchemaEncoding\x12N\n\nwell_known\x18\x01 \x01(\x0e\x32\x38.livekit.DataTrackSchemaEncoding.WellKnownSchemaEncodingH\x00\x12\x10\n\x06\x63ustom\x18\x02 \x01(\tH\x00\"\xe8\x02\n\x17WellKnownSchemaEncoding\x12*\n&WELL_KNOWN_SCHEMA_ENCODING_UNSPECIFIED\x10\x00\x12\'\n#WELL_KNOWN_SCHEMA_ENCODING_PROTOBUF\x10\x01\x12)\n%WELL_KNOWN_SCHEMA_ENCODING_FLATBUFFER\x10\x02\x12\'\n#WELL_KNOWN_SCHEMA_ENCODING_ROS1_MSG\x10\x03\x12\'\n#WELL_KNOWN_SCHEMA_ENCODING_ROS2_MSG\x10\x04\x12\'\n#WELL_KNOWN_SCHEMA_ENCODING_ROS2_IDL\x10\x05\x12&\n\"WELL_KNOWN_SCHEMA_ENCODING_OMG_IDL\x10\x06\x12*\n&WELL_KNOWN_SCHEMA_ENCODING_JSON_SCHEMA\x10\x07\x42\x07\n\x05value\"U\n\x11\x44\x61taTrackSchemaId\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x32\n\x08\x65ncoding\x18\x02 \x01(\x0b\x32 .livekit.DataTrackSchemaEncoding\"f\n DataTrackExtensionParticipantSid\x12)\n\x02id\x18\x01 \x01(\x0e\x32\x1d.livekit.DataTrackExtensionID\x12\x17\n\x0fparticipant_sid\x18\x02 \x01(\t\"F\n\x1c\x44\x61taTrackSubscriptionOptions\x12\x17\n\ntarget_fps\x18\x01 \x01(\rH\x00\x88\x01\x01\x42\r\n\x0b_target_fps\"e\n\x0b\x44\x61taBlobKey\x12\x11\n\x07generic\x18\x01 \x01(\tH\x00\x12<\n\tschema_id\x18\x02 \x01(\x0b\x32\x1a.livekit.DataTrackSchemaIdB\x0b\xbaP\x08schemaIDH\x00\x42\x05\n\x03key\"e\n\x08\x44\x61taBlob\x12!\n\x03key\x18\x01 \x01(\x0b\x32\x14.livekit.DataBlobKey\x12\x36\n\x08\x63ontents\x18\x02 \x01(\x0c\x42$\xb2P\x1e\xc0P\x01\"\xc4\x02\n\nVideoLayer\x12&\n\x07quality\x18\x01 \x01(\x0e\x32\x15.livekit.VideoQuality\x12\r\n\x05width\x18\x02 \x01(\r\x12\x0e\n\x06height\x18\x03 \x01(\r\x12\x0f\n\x07\x62itrate\x18\x04 \x01(\r\x12\x0c\n\x04ssrc\x18\x05 \x01(\r\x12\x15\n\rspatial_layer\x18\x06 \x01(\x05\x12\x0b\n\x03rid\x18\x07 \x01(\t\x12\x13\n\x0brepair_ssrc\x18\x08 \x01(\r\"\x96\x01\n\x04Mode\x12\x0f\n\x0bMODE_UNUSED\x10\x00\x12 \n\x1cONE_SPATIAL_LAYER_PER_STREAM\x10\x01\x12&\n\"MULTIPLE_SPATIAL_LAYERS_PER_STREAM\x10\x02\x12\x33\n/ONE_SPATIAL_LAYER_PER_STREAM_INCOMPLETE_RTCP_SR\x10\x03\"\xa7\x06\n\nDataPacket\x12*\n\x04kind\x18\x01 \x01(\x0e\x32\x18.livekit.DataPacket.KindB\x02\x18\x01\x12\x1c\n\x14participant_identity\x18\x04 \x01(\t\x12\x1e\n\x16\x64\x65stination_identities\x18\x05 \x03(\t\x12#\n\x04user\x18\x02 \x01(\x0b\x32\x13.livekit.UserPacketH\x00\x12\x33\n\x07speaker\x18\x03 \x01(\x0b\x32\x1c.livekit.ActiveSpeakerUpdateB\x02\x18\x01H\x00\x12$\n\x08sip_dtmf\x18\x06 \x01(\x0b\x32\x10.livekit.SipDTMFH\x00\x12/\n\rtranscription\x18\x07 \x01(\x0b\x32\x16.livekit.TranscriptionH\x00\x12(\n\x07metrics\x18\x08 \x01(\x0b\x32\x15.livekit.MetricsBatchH\x00\x12,\n\x0c\x63hat_message\x18\t \x01(\x0b\x32\x14.livekit.ChatMessageH\x00\x12*\n\x0brpc_request\x18\n \x01(\x0b\x32\x13.livekit.RpcRequestH\x00\x12\"\n\x07rpc_ack\x18\x0b \x01(\x0b\x32\x0f.livekit.RpcAckH\x00\x12,\n\x0crpc_response\x18\x0c \x01(\x0b\x32\x14.livekit.RpcResponseH\x00\x12\x33\n\rstream_header\x18\r \x01(\x0b\x32\x1a.livekit.DataStream.HeaderH\x00\x12\x31\n\x0cstream_chunk\x18\x0e \x01(\x0b\x32\x19.livekit.DataStream.ChunkH\x00\x12\x35\n\x0estream_trailer\x18\x0f \x01(\x0b\x32\x1b.livekit.DataStream.TrailerH\x00\x12\x34\n\x10\x65ncrypted_packet\x18\x12 \x01(\x0b\x32\x18.livekit.EncryptedPacketH\x00\x12\x10\n\x08sequence\x18\x10 \x01(\r\x12\x17\n\x0fparticipant_sid\x18\x11 \x01(\t\"\x1f\n\x04Kind\x12\x0c\n\x08RELIABLE\x10\x00\x12\t\n\x05LOSSY\x10\x01\x42\x07\n\x05value\"|\n\x0f\x45ncryptedPacket\x12\x31\n\x0f\x65ncryption_type\x18\x01 \x01(\x0e\x32\x18.livekit.Encryption.Type\x12\n\n\x02iv\x18\x02 \x01(\x0c\x12\x11\n\tkey_index\x18\x03 \x01(\r\x12\x17\n\x0f\x65ncrypted_value\x18\x04 \x01(\x0c\"\x91\x03\n\x16\x45ncryptedPacketPayload\x12#\n\x04user\x18\x01 \x01(\x0b\x32\x13.livekit.UserPacketH\x00\x12,\n\x0c\x63hat_message\x18\x03 \x01(\x0b\x32\x14.livekit.ChatMessageH\x00\x12*\n\x0brpc_request\x18\x04 \x01(\x0b\x32\x13.livekit.RpcRequestH\x00\x12\"\n\x07rpc_ack\x18\x05 \x01(\x0b\x32\x0f.livekit.RpcAckH\x00\x12,\n\x0crpc_response\x18\x06 \x01(\x0b\x32\x14.livekit.RpcResponseH\x00\x12\x33\n\rstream_header\x18\x07 \x01(\x0b\x32\x1a.livekit.DataStream.HeaderH\x00\x12\x31\n\x0cstream_chunk\x18\x08 \x01(\x0b\x32\x19.livekit.DataStream.ChunkH\x00\x12\x35\n\x0estream_trailer\x18\t \x01(\x0b\x32\x1b.livekit.DataStream.TrailerH\x00\x42\x07\n\x05value\"A\n\x13\x41\x63tiveSpeakerUpdate\x12&\n\x08speakers\x18\x01 \x03(\x0b\x32\x14.livekit.SpeakerInfo:\x02\x18\x01\"9\n\x0bSpeakerInfo\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\r\n\x05level\x18\x02 \x01(\x02\x12\x0e\n\x06\x61\x63tive\x18\x03 \x01(\x08\"\xaf\x02\n\nUserPacket\x12\x1b\n\x0fparticipant_sid\x18\x01 \x01(\tB\x02\x18\x01\x12 \n\x14participant_identity\x18\x05 \x01(\tB\x02\x18\x01\x12\x0f\n\x07payload\x18\x02 \x01(\x0c\x12\x1c\n\x10\x64\x65stination_sids\x18\x03 \x03(\tB\x02\x18\x01\x12\"\n\x16\x64\x65stination_identities\x18\x06 \x03(\tB\x02\x18\x01\x12\x12\n\x05topic\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x02id\x18\x08 \x01(\tH\x01\x88\x01\x01\x12\x17\n\nstart_time\x18\t \x01(\x04H\x02\x88\x01\x01\x12\x15\n\x08\x65nd_time\x18\n \x01(\x04H\x03\x88\x01\x01\x12\r\n\x05nonce\x18\x0b \x01(\x0c\x42\x08\n\x06_topicB\x05\n\x03_idB\r\n\x0b_start_timeB\x0b\n\t_end_time\"&\n\x07SipDTMF\x12\x0c\n\x04\x63ode\x18\x03 \x01(\r\x12\r\n\x05\x64igit\x18\x04 \x01(\t\"\x88\x01\n\rTranscription\x12(\n transcribed_participant_identity\x18\x02 \x01(\t\x12\x1c\n\x08track_id\x18\x03 \x01(\tB\n\xbaP\x07trackID\x12/\n\x08segments\x18\x04 \x03(\x0b\x32\x1d.livekit.TranscriptionSegment\"w\n\x14TranscriptionSegment\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04text\x18\x02 \x01(\t\x12\x12\n\nstart_time\x18\x03 \x01(\x04\x12\x10\n\x08\x65nd_time\x18\x04 \x01(\x04\x12\r\n\x05\x66inal\x18\x05 \x01(\x08\x12\x10\n\x08language\x18\x06 \x01(\t\"\x91\x01\n\x0b\x43hatMessage\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\x12\x1b\n\x0e\x65\x64it_timestamp\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12\x0f\n\x07message\x18\x04 \x01(\t\x12\x0f\n\x07\x64\x65leted\x18\x05 \x01(\x08\x12\x11\n\tgenerated\x18\x06 \x01(\x08\x42\x11\n\x0f_edit_timestamp\"\x83\x01\n\nRpcRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0e\n\x06method\x18\x02 \x01(\t\x12\x0f\n\x07payload\x18\x03 \x01(\t\x12\x1b\n\x13response_timeout_ms\x18\x04 \x01(\r\x12\x0f\n\x07version\x18\x05 \x01(\r\x12\x1a\n\x12\x63ompressed_payload\x18\x06 \x01(\x0c\"*\n\x06RpcAck\x12 \n\nrequest_id\x18\x01 \x01(\tB\x0c\xbaP\trequestID\"\x8d\x01\n\x0bRpcResponse\x12 \n\nrequest_id\x18\x01 \x01(\tB\x0c\xbaP\trequestID\x12\x11\n\x07payload\x18\x02 \x01(\tH\x00\x12\"\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x11.livekit.RpcErrorH\x00\x12\x1c\n\x12\x63ompressed_payload\x18\x04 \x01(\x0cH\x00\x42\x07\n\x05value\"7\n\x08RpcError\x12\x0c\n\x04\x63ode\x18\x01 \x01(\r\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\t\"@\n\x11ParticipantTracks\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x12\n\ntrack_sids\x18\x02 \x03(\t\"\xd9\x01\n\nServerInfo\x12,\n\x07\x65\x64ition\x18\x01 \x01(\x0e\x32\x1b.livekit.ServerInfo.Edition\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x10\n\x08protocol\x18\x03 \x01(\x05\x12\x0e\n\x06region\x18\x04 \x01(\t\x12\x1a\n\x07node_id\x18\x05 \x01(\tB\t\xbaP\x06nodeID\x12\x12\n\ndebug_info\x18\x06 \x01(\t\x12\x16\n\x0e\x61gent_protocol\x18\x07 \x01(\x05\"\"\n\x07\x45\x64ition\x12\x0c\n\x08Standard\x10\x00\x12\t\n\x05\x43loud\x10\x01\"\xc7\x04\n\nClientInfo\x12$\n\x03sdk\x18\x01 \x01(\x0e\x32\x17.livekit.ClientInfo.SDK\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x10\n\x08protocol\x18\x03 \x01(\x05\x12\n\n\x02os\x18\x04 \x01(\t\x12\x12\n\nos_version\x18\x05 \x01(\t\x12\x14\n\x0c\x64\x65vice_model\x18\x06 \x01(\t\x12\x0f\n\x07\x62rowser\x18\x07 \x01(\t\x12\x17\n\x0f\x62rowser_version\x18\x08 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\t \x01(\t\x12\x0f\n\x07network\x18\n \x01(\t\x12\x12\n\nother_sdks\x18\x0b \x01(\t\x12\x17\n\x0f\x63lient_protocol\x18\x0c \x01(\x05\x12\x34\n\x0c\x63\x61pabilities\x18\r \x03(\x0e\x32\x1e.livekit.ClientInfo.Capability\"\xb3\x01\n\x03SDK\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x06\n\x02JS\x10\x01\x12\t\n\x05SWIFT\x10\x02\x12\x0b\n\x07\x41NDROID\x10\x03\x12\x0b\n\x07\x46LUTTER\x10\x04\x12\x06\n\x02GO\x10\x05\x12\t\n\x05UNITY\x10\x06\x12\x10\n\x0cREACT_NATIVE\x10\x07\x12\x08\n\x04RUST\x10\x08\x12\n\n\x06PYTHON\x10\t\x12\x07\n\x03\x43PP\x10\n\x12\r\n\tUNITY_WEB\x10\x0b\x12\x08\n\x04NODE\x10\x0c\x12\n\n\x06UNREAL\x10\r\x12\t\n\x05\x45SP32\x10\x0e\"U\n\nCapability\x12\x0e\n\nCAP_UNUSED\x10\x00\x12\x16\n\x12\x43\x41P_PACKET_TRAILER\x10\x01\x12\x1f\n\x1b\x43\x41P_COMPRESSION_DEFLATE_RAW\x10\x02\"\x8c\x02\n\x13\x43lientConfiguration\x12*\n\x05video\x18\x01 \x01(\x0b\x32\x1b.livekit.VideoConfiguration\x12+\n\x06screen\x18\x02 \x01(\x0b\x32\x1b.livekit.VideoConfiguration\x12\x37\n\x11resume_connection\x18\x03 \x01(\x0e\x32\x1c.livekit.ClientConfigSetting\x12\x30\n\x0f\x64isabled_codecs\x18\x04 \x01(\x0b\x32\x17.livekit.DisabledCodecs\x12\x31\n\x0b\x66orce_relay\x18\x05 \x01(\x0e\x32\x1c.livekit.ClientConfigSetting\"L\n\x12VideoConfiguration\x12\x36\n\x10hardware_encoder\x18\x01 \x01(\x0e\x32\x1c.livekit.ClientConfigSetting\"Q\n\x0e\x44isabledCodecs\x12\x1e\n\x06\x63odecs\x18\x01 \x03(\x0b\x32\x0e.livekit.Codec\x12\x1f\n\x07publish\x18\x02 \x03(\x0b\x32\x0e.livekit.Codec\"\x80\x02\n\x08RTPDrift\x12.\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08\x64uration\x18\x03 \x01(\x01\x12\x17\n\x0fstart_timestamp\x18\x04 \x01(\x04\x12\x15\n\rend_timestamp\x18\x05 \x01(\x04\x12\x17\n\x0frtp_clock_ticks\x18\x06 \x01(\x04\x12\x15\n\rdrift_samples\x18\x07 \x01(\x03\x12\x10\n\x08\x64rift_ms\x18\x08 \x01(\x01\x12\x12\n\nclock_rate\x18\t \x01(\x01\"\xd6\n\n\x08RTPStats\x12.\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08\x64uration\x18\x03 \x01(\x01\x12\x0f\n\x07packets\x18\x04 \x01(\r\x12\x13\n\x0bpacket_rate\x18\x05 \x01(\x01\x12\r\n\x05\x62ytes\x18\x06 \x01(\x04\x12\x14\n\x0cheader_bytes\x18\' \x01(\x04\x12\x0f\n\x07\x62itrate\x18\x07 \x01(\x01\x12\x14\n\x0cpackets_lost\x18\x08 \x01(\r\x12\x18\n\x10packet_loss_rate\x18\t \x01(\x01\x12\x1e\n\x16packet_loss_percentage\x18\n \x01(\x02\x12\x19\n\x11packets_duplicate\x18\x0b \x01(\r\x12\x1d\n\x15packet_duplicate_rate\x18\x0c \x01(\x01\x12\x17\n\x0f\x62ytes_duplicate\x18\r \x01(\x04\x12\x1e\n\x16header_bytes_duplicate\x18( \x01(\x04\x12\x19\n\x11\x62itrate_duplicate\x18\x0e \x01(\x01\x12\x17\n\x0fpackets_padding\x18\x0f \x01(\r\x12\x1b\n\x13packet_padding_rate\x18\x10 \x01(\x01\x12\x15\n\rbytes_padding\x18\x11 \x01(\x04\x12\x1c\n\x14header_bytes_padding\x18) \x01(\x04\x12\x17\n\x0f\x62itrate_padding\x18\x12 \x01(\x01\x12\x1c\n\x14packets_out_of_order\x18\x13 \x01(\r\x12\x0e\n\x06\x66rames\x18\x14 \x01(\r\x12\x12\n\nframe_rate\x18\x15 \x01(\x01\x12\x16\n\x0ejitter_current\x18\x16 \x01(\x01\x12\x12\n\njitter_max\x18\x17 \x01(\x01\x12:\n\rgap_histogram\x18\x18 \x03(\x0b\x32#.livekit.RTPStats.GapHistogramEntry\x12\r\n\x05nacks\x18\x19 \x01(\r\x12\x11\n\tnack_acks\x18% \x01(\r\x12\x13\n\x0bnack_misses\x18\x1a \x01(\r\x12\x15\n\rnack_repeated\x18& \x01(\r\x12\x0c\n\x04plis\x18\x1b \x01(\r\x12,\n\x08last_pli\x18\x1c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04\x66irs\x18\x1d \x01(\r\x12,\n\x08last_fir\x18\x1e \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x13\n\x0brtt_current\x18\x1f \x01(\r\x12\x0f\n\x07rtt_max\x18 \x01(\r\x12\x12\n\nkey_frames\x18! \x01(\r\x12\x32\n\x0elast_key_frame\x18\" \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x17\n\x0flayer_lock_plis\x18# \x01(\r\x12\x37\n\x13last_layer_lock_pli\x18$ \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\'\n\x0cpacket_drift\x18, \x01(\x0b\x32\x11.livekit.RTPDrift\x12+\n\x10ntp_report_drift\x18- \x01(\x0b\x32\x11.livekit.RTPDrift\x12/\n\x14rebased_report_drift\x18. \x01(\x0b\x32\x11.livekit.RTPDrift\x12\x30\n\x15received_report_drift\x18/ \x01(\x0b\x32\x11.livekit.RTPDrift\x1a\x33\n\x11GapHistogramEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\"\xa2\x01\n\x15RTCPSenderReportState\x12\x15\n\rrtp_timestamp\x18\x01 \x01(\r\x12\x19\n\x11rtp_timestamp_ext\x18\x02 \x01(\x04\x12\x15\n\rntp_timestamp\x18\x03 \x01(\x04\x12\n\n\x02\x61t\x18\x04 \x01(\x03\x12\x13\n\x0b\x61t_adjusted\x18\x05 \x01(\x03\x12\x0f\n\x07packets\x18\x06 \x01(\r\x12\x0e\n\x06octets\x18\x07 \x01(\x04\"\xc9\x02\n\x11RTPForwarderState\x12\x0f\n\x07started\x18\x01 \x01(\x08\x12\x1f\n\x17reference_layer_spatial\x18\x02 \x01(\x05\x12\x16\n\x0epre_start_time\x18\x03 \x01(\x03\x12\x1b\n\x13\x65xt_first_timestamp\x18\x04 \x01(\x04\x12$\n\x1c\x64ummy_start_timestamp_offset\x18\x05 \x01(\x04\x12+\n\nrtp_munger\x18\x06 \x01(\x0b\x32\x17.livekit.RTPMungerState\x12-\n\nvp8_munger\x18\x07 \x01(\x0b\x32\x17.livekit.VP8MungerStateH\x00\x12;\n\x13sender_report_state\x18\x08 \x03(\x0b\x32\x1e.livekit.RTCPSenderReportStateB\x0e\n\x0c\x63odec_munger\"\xcb\x01\n\x0eRTPMungerState\x12 \n\x18\x65xt_last_sequence_number\x18\x01 \x01(\x04\x12\'\n\x1f\x65xt_second_last_sequence_number\x18\x02 \x01(\x04\x12\x1a\n\x12\x65xt_last_timestamp\x18\x03 \x01(\x04\x12!\n\x19\x65xt_second_last_timestamp\x18\x04 \x01(\x04\x12\x13\n\x0blast_marker\x18\x05 \x01(\x08\x12\x1a\n\x12second_last_marker\x18\x06 \x01(\x08\"\xcd\x01\n\x0eVP8MungerState\x12\x30\n\x13\x65xt_last_picture_id\x18\x01 \x01(\x05\x42\x13\xbaP\x10\x65xtLastPictureID\x12\x17\n\x0fpicture_id_used\x18\x02 \x01(\x08\x12\x18\n\x10last_tl0_pic_idx\x18\x03 \x01(\r\x12\x18\n\x10tl0_pic_idx_used\x18\x04 \x01(\x08\x12\x10\n\x08tid_used\x18\x05 \x01(\x08\x12\x14\n\x0clast_key_idx\x18\x06 \x01(\r\x12\x14\n\x0ckey_idx_used\x18\x07 \x01(\x08\"1\n\x0cTimedVersion\x12\x12\n\nunix_micro\x18\x01 \x01(\x03\x12\r\n\x05ticks\x18\x02 \x01(\x05\"\xa0\t\n\nDataStream\x1a\xb8\x01\n\nTextHeader\x12\x39\n\x0eoperation_type\x18\x01 \x01(\x0e\x32!.livekit.DataStream.OperationType\x12\x0f\n\x07version\x18\x02 \x01(\x05\x12.\n\x12reply_to_stream_id\x18\x03 \x01(\tB\x12\xbaP\x0freplyToStreamID\x12\x1b\n\x13\x61ttached_stream_ids\x18\x04 \x03(\t\x12\x11\n\tgenerated\x18\x05 \x01(\x08\x1a\x1a\n\nByteHeader\x12\x0c\n\x04name\x18\x01 \x01(\t\x1a\x9d\x04\n\x06Header\x12\x1e\n\tstream_id\x18\x01 \x01(\tB\x0b\xbaP\x08streamID\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\x12\r\n\x05topic\x18\x03 \x01(\t\x12\x11\n\tmime_type\x18\x04 \x01(\t\x12\x19\n\x0ctotal_length\x18\x05 \x01(\x04H\x01\x88\x01\x01\x12\x35\n\x0f\x65ncryption_type\x18\x07 \x01(\x0e\x32\x18.livekit.Encryption.TypeB\x02\x18\x01\x12>\n\nattributes\x18\x08 \x03(\x0b\x32*.livekit.DataStream.Header.AttributesEntry\x12\x35\n\x0btext_header\x18\t \x01(\x0b\x32\x1e.livekit.DataStream.TextHeaderH\x00\x12\x35\n\x0b\x62yte_header\x18\n \x01(\x0b\x32\x1e.livekit.DataStream.ByteHeaderH\x00\x12\x1b\n\x0einline_content\x18\x0b \x01(\x0cH\x02\x88\x01\x01\x12\x38\n\x0b\x63ompression\x18\x0c \x01(\x0e\x32#.livekit.DataStream.CompressionType\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x10\n\x0e\x63ontent_headerB\x0f\n\r_total_lengthB\x11\n\x0f_inline_content\x1az\n\x05\x43hunk\x12\x1e\n\tstream_id\x18\x01 \x01(\tB\x0b\xbaP\x08streamID\x12\x13\n\x0b\x63hunk_index\x18\x02 \x01(\x04\x12\x0f\n\x07\x63ontent\x18\x03 \x01(\x0c\x12\x0f\n\x07version\x18\x04 \x01(\x05\x12\x13\n\x02iv\x18\x05 \x01(\x0c\x42\x02\x18\x01H\x00\x88\x01\x01\x42\x05\n\x03_iv\x1a\xad\x01\n\x07Trailer\x12\x1e\n\tstream_id\x18\x01 \x01(\tB\x0b\xbaP\x08streamID\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12?\n\nattributes\x18\x03 \x03(\x0b\x32+.livekit.DataStream.Trailer.AttributesEntry\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"A\n\rOperationType\x12\n\n\x06\x43REATE\x10\x00\x12\n\n\x06UPDATE\x10\x01\x12\n\n\x06\x44\x45LETE\x10\x02\x12\x0c\n\x08REACTION\x10\x03\",\n\x0f\x43ompressionType\x12\x08\n\x04NONE\x10\x00\x12\x0f\n\x0b\x44\x45\x46LATE_RAW\x10\x01\">\n\x0c\x46ilterParams\x12\x16\n\x0einclude_events\x18\x01 \x03(\t\x12\x16\n\x0e\x65xclude_events\x18\x02 \x03(\t\"_\n\rWebhookConfig\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x13\n\x0bsigning_key\x18\x02 \x01(\t\x12,\n\rfilter_params\x18\x03 \x01(\x0b\x32\x15.livekit.FilterParams\"6\n\x14SubscribedAudioCodec\x12\r\n\x05\x63odec\x18\x01 \x01(\t\x12\x0f\n\x07\x65nabled\x18\x02 \x01(\x08*;\n\nAudioCodec\x12\x0e\n\nDEFAULT_AC\x10\x00\x12\x08\n\x04OPUS\x10\x01\x12\x07\n\x03\x41\x41\x43\x10\x02\x12\n\n\x06\x41\x43_MP3\x10\x03*V\n\nVideoCodec\x12\x0e\n\nDEFAULT_VC\x10\x00\x12\x11\n\rH264_BASELINE\x10\x01\x12\r\n\tH264_MAIN\x10\x02\x12\r\n\tH264_HIGH\x10\x03\x12\x07\n\x03VP8\x10\x04*)\n\nImageCodec\x12\x0e\n\nIC_DEFAULT\x10\x00\x12\x0b\n\x07IC_JPEG\x10\x01*I\n\x11\x42\x61\x63kupCodecPolicy\x12\x15\n\x11PREFER_REGRESSION\x10\x00\x12\r\n\tSIMULCAST\x10\x01\x12\x0e\n\nREGRESSION\x10\x02*+\n\tTrackType\x12\t\n\x05\x41UDIO\x10\x00\x12\t\n\x05VIDEO\x10\x01\x12\x08\n\x04\x44\x41TA\x10\x02*`\n\x0bTrackSource\x12\x0b\n\x07UNKNOWN\x10\x00\x12\n\n\x06\x43\x41MERA\x10\x01\x12\x0e\n\nMICROPHONE\x10\x02\x12\x10\n\x0cSCREEN_SHARE\x10\x03\x12\x16\n\x12SCREEN_SHARE_AUDIO\x10\x04*B\n\x14\x44\x61taTrackExtensionID\x12\x10\n\x0c\x44TEI_INVALID\x10\x00\x12\x18\n\x14\x44TEI_PARTICIPANT_SID\x10\x01*6\n\x0cVideoQuality\x12\x07\n\x03LOW\x10\x00\x12\n\n\x06MEDIUM\x10\x01\x12\x08\n\x04HIGH\x10\x02\x12\x07\n\x03OFF\x10\x03*@\n\x11\x43onnectionQuality\x12\x08\n\x04POOR\x10\x00\x12\x08\n\x04GOOD\x10\x01\x12\r\n\tEXCELLENT\x10\x02\x12\x08\n\x04LOST\x10\x03*;\n\x13\x43lientConfigSetting\x12\t\n\x05UNSET\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\x0b\n\x07\x45NABLED\x10\x02*\xe8\x02\n\x10\x44isconnectReason\x12\x12\n\x0eUNKNOWN_REASON\x10\x00\x12\x14\n\x10\x43LIENT_INITIATED\x10\x01\x12\x16\n\x12\x44UPLICATE_IDENTITY\x10\x02\x12\x13\n\x0fSERVER_SHUTDOWN\x10\x03\x12\x17\n\x13PARTICIPANT_REMOVED\x10\x04\x12\x10\n\x0cROOM_DELETED\x10\x05\x12\x12\n\x0eSTATE_MISMATCH\x10\x06\x12\x10\n\x0cJOIN_FAILURE\x10\x07\x12\r\n\tMIGRATION\x10\x08\x12\x10\n\x0cSIGNAL_CLOSE\x10\t\x12\x0f\n\x0bROOM_CLOSED\x10\n\x12\x14\n\x10USER_UNAVAILABLE\x10\x0b\x12\x11\n\rUSER_REJECTED\x10\x0c\x12\x15\n\x11SIP_TRUNK_FAILURE\x10\r\x12\x16\n\x12\x43ONNECTION_TIMEOUT\x10\x0e\x12\x11\n\rMEDIA_FAILURE\x10\x0f\x12\x0f\n\x0b\x41GENT_ERROR\x10\x10*\x89\x01\n\x0fReconnectReason\x12\x0e\n\nRR_UNKNOWN\x10\x00\x12\x1a\n\x16RR_SIGNAL_DISCONNECTED\x10\x01\x12\x17\n\x13RR_PUBLISHER_FAILED\x10\x02\x12\x18\n\x14RR_SUBSCRIBER_FAILED\x10\x03\x12\x17\n\x13RR_SWITCH_CANDIDATE\x10\x04*T\n\x11SubscriptionError\x12\x0e\n\nSE_UNKNOWN\x10\x00\x12\x18\n\x14SE_CODEC_UNSUPPORTED\x10\x01\x12\x15\n\x11SE_TRACK_NOTFOUND\x10\x02*\xbd\x01\n\x11\x41udioTrackFeature\x12\r\n\tTF_STEREO\x10\x00\x12\r\n\tTF_NO_DTX\x10\x01\x12\x18\n\x14TF_AUTO_GAIN_CONTROL\x10\x02\x12\x18\n\x14TF_ECHO_CANCELLATION\x10\x03\x12\x18\n\x14TF_NOISE_SUPPRESSION\x10\x04\x12\"\n\x1eTF_ENHANCED_NOISE_CANCELLATION\x10\x05\x12\x18\n\x14TF_PRECONNECT_BUFFER\x10\x06*S\n\x14PacketTrailerFeature\x12\x16\n\x12PTF_USER_TIMESTAMP\x10\x00\x12\x10\n\x0cPTF_FRAME_ID\x10\x01\x12\x11\n\rPTF_USER_DATA\x10\x02\x42\x46Z#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool pool.add_serialized_file(descriptor_data) @@ -32,6 +32,11 @@ module Proto SimulcastCodecInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SimulcastCodecInfo").msgclass TrackInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackInfo").msgclass DataTrackInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DataTrackInfo").msgclass + DataTrackFrameEncoding = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DataTrackFrameEncoding").msgclass + DataTrackFrameEncoding::WellKnownFrameEncoding = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DataTrackFrameEncoding.WellKnownFrameEncoding").enummodule + DataTrackSchemaEncoding = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DataTrackSchemaEncoding").msgclass + DataTrackSchemaEncoding::WellKnownSchemaEncoding = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DataTrackSchemaEncoding.WellKnownSchemaEncoding").enummodule + DataTrackSchemaId = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DataTrackSchemaId").msgclass DataTrackExtensionParticipantSid = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DataTrackExtensionParticipantSid").msgclass DataTrackSubscriptionOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DataTrackSubscriptionOptions").msgclass DataBlobKey = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DataBlobKey").msgclass diff --git a/lib/livekit/proto/livekit_rtc_pb.rb b/lib/livekit/proto/livekit_rtc_pb.rb index 373f007..cff498b 100644 --- a/lib/livekit/proto/livekit_rtc_pb.rb +++ b/lib/livekit/proto/livekit_rtc_pb.rb @@ -8,7 +8,7 @@ require 'logger/options_pb' -descriptor_data = "\n\x11livekit_rtc.proto\x12\x07livekit\x1a\x14livekit_models.proto\x1a\x14logger/options.proto\"\xae\t\n\rSignalRequest\x12,\n\x05offer\x18\x01 \x01(\x0b\x32\x1b.livekit.SessionDescriptionH\x00\x12-\n\x06\x61nswer\x18\x02 \x01(\x0b\x32\x1b.livekit.SessionDescriptionH\x00\x12*\n\x07trickle\x18\x03 \x01(\x0b\x32\x17.livekit.TrickleRequestH\x00\x12-\n\tadd_track\x18\x04 \x01(\x0b\x32\x18.livekit.AddTrackRequestH\x00\x12)\n\x04mute\x18\x05 \x01(\x0b\x32\x19.livekit.MuteTrackRequestH\x00\x12\x33\n\x0csubscription\x18\x06 \x01(\x0b\x32\x1b.livekit.UpdateSubscriptionH\x00\x12\x35\n\rtrack_setting\x18\x07 \x01(\x0b\x32\x1c.livekit.UpdateTrackSettingsH\x00\x12&\n\x05leave\x18\x08 \x01(\x0b\x32\x15.livekit.LeaveRequestH\x00\x12\x37\n\rupdate_layers\x18\n \x01(\x0b\x32\x1a.livekit.UpdateVideoLayersB\x02\x18\x01H\x00\x12\x42\n\x17subscription_permission\x18\x0b \x01(\x0b\x32\x1f.livekit.SubscriptionPermissionH\x00\x12(\n\nsync_state\x18\x0c \x01(\x0b\x32\x12.livekit.SyncStateH\x00\x12-\n\x08simulate\x18\r \x01(\x0b\x32\x19.livekit.SimulateScenarioH\x00\x12\x0e\n\x04ping\x18\x0e \x01(\x03H\x00\x12=\n\x0fupdate_metadata\x18\x0f \x01(\x0b\x32\".livekit.UpdateParticipantMetadataH\x00\x12!\n\x08ping_req\x18\x10 \x01(\x0b\x32\r.livekit.PingH\x00\x12<\n\x12update_audio_track\x18\x11 \x01(\x0b\x32\x1e.livekit.UpdateLocalAudioTrackH\x00\x12<\n\x12update_video_track\x18\x12 \x01(\x0b\x32\x1e.livekit.UpdateLocalVideoTrackH\x00\x12\x46\n\x1apublish_data_track_request\x18\x13 \x01(\x0b\x32 .livekit.PublishDataTrackRequestH\x00\x12J\n\x1cunpublish_data_track_request\x18\x14 \x01(\x0b\x32\".livekit.UnpublishDataTrackRequestH\x00\x12\x43\n\x18update_data_subscription\x18\x15 \x01(\x0b\x32\x1f.livekit.UpdateDataSubscriptionH\x00\x12@\n\x17store_data_blob_request\x18\x16 \x01(\x0b\x32\x1d.livekit.StoreDataBlobRequestH\x00\x12<\n\x15get_data_blob_request\x18\x17 \x01(\x0b\x32\x1b.livekit.GetDataBlobRequestH\x00\x42\t\n\x07message\"\x9a\r\n\x0eSignalResponse\x12%\n\x04join\x18\x01 \x01(\x0b\x32\x15.livekit.JoinResponseH\x00\x12-\n\x06\x61nswer\x18\x02 \x01(\x0b\x32\x1b.livekit.SessionDescriptionH\x00\x12,\n\x05offer\x18\x03 \x01(\x0b\x32\x1b.livekit.SessionDescriptionH\x00\x12*\n\x07trickle\x18\x04 \x01(\x0b\x32\x17.livekit.TrickleRequestH\x00\x12,\n\x06update\x18\x05 \x01(\x0b\x32\x1a.livekit.ParticipantUpdateH\x00\x12:\n\x0ftrack_published\x18\x06 \x01(\x0b\x32\x1f.livekit.TrackPublishedResponseH\x00\x12&\n\x05leave\x18\x08 \x01(\x0b\x32\x15.livekit.LeaveRequestH\x00\x12)\n\x04mute\x18\t \x01(\x0b\x32\x19.livekit.MuteTrackRequestH\x00\x12\x34\n\x10speakers_changed\x18\n \x01(\x0b\x32\x18.livekit.SpeakersChangedH\x00\x12*\n\x0broom_update\x18\x0b \x01(\x0b\x32\x13.livekit.RoomUpdateH\x00\x12>\n\x12\x63onnection_quality\x18\x0c \x01(\x0b\x32 .livekit.ConnectionQualityUpdateH\x00\x12\x39\n\x13stream_state_update\x18\r \x01(\x0b\x32\x1a.livekit.StreamStateUpdateH\x00\x12\x45\n\x19subscribed_quality_update\x18\x0e \x01(\x0b\x32 .livekit.SubscribedQualityUpdateH\x00\x12O\n\x1esubscription_permission_update\x18\x0f \x01(\x0b\x32%.livekit.SubscriptionPermissionUpdateH\x00\x12\x17\n\rrefresh_token\x18\x10 \x01(\tH\x00\x12>\n\x11track_unpublished\x18\x11 \x01(\x0b\x32!.livekit.TrackUnpublishedResponseH\x00\x12\x0e\n\x04pong\x18\x12 \x01(\x03H\x00\x12/\n\treconnect\x18\x13 \x01(\x0b\x32\x1a.livekit.ReconnectResponseH\x00\x12\"\n\tpong_resp\x18\x14 \x01(\x0b\x32\r.livekit.PongH\x00\x12>\n\x15subscription_response\x18\x15 \x01(\x0b\x32\x1d.livekit.SubscriptionResponseH\x00\x12\x34\n\x10request_response\x18\x16 \x01(\x0b\x32\x18.livekit.RequestResponseH\x00\x12\x34\n\x10track_subscribed\x18\x17 \x01(\x0b\x32\x18.livekit.TrackSubscribedH\x00\x12\x30\n\nroom_moved\x18\x18 \x01(\x0b\x32\x1a.livekit.RoomMovedResponseH\x00\x12G\n\x1amedia_sections_requirement\x18\x19 \x01(\x0b\x32!.livekit.MediaSectionsRequirementH\x00\x12L\n\x1dsubscribed_audio_codec_update\x18\x1a \x01(\x0b\x32#.livekit.SubscribedAudioCodecUpdateH\x00\x12H\n\x1bpublish_data_track_response\x18\x1b \x01(\x0b\x32!.livekit.PublishDataTrackResponseH\x00\x12L\n\x1dunpublish_data_track_response\x18\x1c \x01(\x0b\x32#.livekit.UnpublishDataTrackResponseH\x00\x12L\n\x1d\x64\x61ta_track_subscriber_handles\x18\x1d \x01(\x0b\x32#.livekit.DataTrackSubscriberHandlesH\x00\x12\x42\n\x18store_data_blob_response\x18\x1e \x01(\x0b\x32\x1e.livekit.StoreDataBlobResponseH\x00\x12>\n\x16get_data_blob_response\x18\x1f \x01(\x0b\x32\x1c.livekit.GetDataBlobResponseH\x00\x42\t\n\x07message\"\x85\x01\n\x0eSimulcastCodec\x12\r\n\x05\x63odec\x18\x01 \x01(\t\x12\x0b\n\x03\x63id\x18\x02 \x01(\t\x12#\n\x06layers\x18\x04 \x03(\x0b\x32\x13.livekit.VideoLayer\x12\x32\n\x10video_layer_mode\x18\x05 \x01(\x0e\x32\x18.livekit.VideoLayer.Mode\"\xb4\x04\n\x0f\x41\x64\x64TrackRequest\x12\x0b\n\x03\x63id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12 \n\x04type\x18\x03 \x01(\x0e\x32\x12.livekit.TrackType\x12\r\n\x05width\x18\x04 \x01(\r\x12\x0e\n\x06height\x18\x05 \x01(\r\x12\r\n\x05muted\x18\x06 \x01(\x08\x12\x17\n\x0b\x64isable_dtx\x18\x07 \x01(\x08\x42\x02\x18\x01\x12$\n\x06source\x18\x08 \x01(\x0e\x32\x14.livekit.TrackSource\x12#\n\x06layers\x18\t \x03(\x0b\x32\x13.livekit.VideoLayer\x12\x31\n\x10simulcast_codecs\x18\n \x03(\x0b\x32\x17.livekit.SimulcastCodec\x12\x0b\n\x03sid\x18\x0b \x01(\t\x12\x12\n\x06stereo\x18\x0c \x01(\x08\x42\x02\x18\x01\x12\x13\n\x0b\x64isable_red\x18\r \x01(\x08\x12,\n\nencryption\x18\x0e \x01(\x0e\x32\x18.livekit.Encryption.Type\x12\x0e\n\x06stream\x18\x0f \x01(\t\x12\x37\n\x13\x62\x61\x63kup_codec_policy\x18\x10 \x01(\x0e\x32\x1a.livekit.BackupCodecPolicy\x12\x32\n\x0e\x61udio_features\x18\x11 \x03(\x0e\x32\x1a.livekit.AudioTrackFeature\x12>\n\x17packet_trailer_features\x18\x12 \x03(\x0e\x32\x1d.livekit.PacketTrailerFeature\"i\n\x17PublishDataTrackRequest\x12\x12\n\npub_handle\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12,\n\nencryption\x18\x03 \x01(\x0e\x32\x18.livekit.Encryption.Type\"@\n\x18PublishDataTrackResponse\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.livekit.DataTrackInfo\"/\n\x19UnpublishDataTrackRequest\x12\x12\n\npub_handle\x18\x01 \x01(\r\"B\n\x1aUnpublishDataTrackResponse\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.livekit.DataTrackInfo\"\xad\x02\n\x1a\x44\x61taTrackSubscriberHandles\x12H\n\x0bsub_handles\x18\x01 \x03(\x0b\x32\x33.livekit.DataTrackSubscriberHandles.SubHandlesEntry\x1aZ\n\x12PublishedDataTrack\x12\x1a\n\x12publisher_identity\x18\x01 \x01(\t\x12\x15\n\rpublisher_sid\x18\x02 \x01(\t\x12\x11\n\ttrack_sid\x18\x03 \x01(\t\x1ai\n\x0fSubHandlesEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\x45\n\x05value\x18\x02 \x01(\x0b\x32\x36.livekit.DataTrackSubscriberHandles.PublishedDataTrack:\x02\x38\x01\"]\n\x0eTrickleRequest\x12\x15\n\rcandidateInit\x18\x01 \x01(\t\x12%\n\x06target\x18\x02 \x01(\x0e\x32\x15.livekit.SignalTarget\x12\r\n\x05\x66inal\x18\x03 \x01(\x08\".\n\x10MuteTrackRequest\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\r\n\x05muted\x18\x02 \x01(\x08\"\x8b\x04\n\x0cJoinResponse\x12\x1b\n\x04room\x18\x01 \x01(\x0b\x32\r.livekit.Room\x12-\n\x0bparticipant\x18\x02 \x01(\x0b\x32\x18.livekit.ParticipantInfo\x12\x34\n\x12other_participants\x18\x03 \x03(\x0b\x32\x18.livekit.ParticipantInfo\x12\x16\n\x0eserver_version\x18\x04 \x01(\t\x12\'\n\x0bice_servers\x18\x05 \x03(\x0b\x32\x12.livekit.ICEServer\x12\x1a\n\x12subscriber_primary\x18\x06 \x01(\x08\x12\x17\n\x0f\x61lternative_url\x18\x07 \x01(\t\x12:\n\x14\x63lient_configuration\x18\x08 \x01(\x0b\x32\x1c.livekit.ClientConfiguration\x12\x15\n\rserver_region\x18\t \x01(\t\x12\x14\n\x0cping_timeout\x18\n \x01(\x05\x12\x15\n\rping_interval\x18\x0b \x01(\x05\x12(\n\x0bserver_info\x18\x0c \x01(\x0b\x32\x13.livekit.ServerInfo\x12\x13\n\x0bsif_trailer\x18\r \x01(\x0c\x12.\n\x16\x65nabled_publish_codecs\x18\x0e \x03(\x0b\x32\x0e.livekit.Codec\x12\x14\n\x0c\x66\x61st_publish\x18\x0f \x01(\x08\"\xbc\x01\n\x11ReconnectResponse\x12\'\n\x0bice_servers\x18\x01 \x03(\x0b\x32\x12.livekit.ICEServer\x12:\n\x14\x63lient_configuration\x18\x02 \x01(\x0b\x32\x1c.livekit.ClientConfiguration\x12(\n\x0bserver_info\x18\x03 \x01(\x0b\x32\x13.livekit.ServerInfo\x12\x18\n\x10last_message_seq\x18\x04 \x01(\r\"H\n\x16TrackPublishedResponse\x12\x0b\n\x03\x63id\x18\x01 \x01(\t\x12!\n\x05track\x18\x02 \x01(\x0b\x32\x12.livekit.TrackInfo\"-\n\x18TrackUnpublishedResponse\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\"\xc9\x01\n\x12SessionDescription\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0b\n\x03sdp\x18\x02 \x01(\t\x12\n\n\x02id\x18\x03 \x01(\r\x12W\n\x0fmid_to_track_id\x18\x04 \x03(\x0b\x32-.livekit.SessionDescription.MidToTrackIdEntryB\x0f\xbaP\x0cmidToTrackID\x1a\x33\n\x11MidToTrackIdEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"C\n\x11ParticipantUpdate\x12.\n\x0cparticipants\x18\x01 \x03(\x0b\x32\x18.livekit.ParticipantInfo\"s\n\x12UpdateSubscription\x12\x12\n\ntrack_sids\x18\x01 \x03(\t\x12\x11\n\tsubscribe\x18\x02 \x01(\x08\x12\x36\n\x12participant_tracks\x18\x03 \x03(\x0b\x32\x1a.livekit.ParticipantTracks\"\xb9\x01\n\x16UpdateDataSubscription\x12\x37\n\x07updates\x18\x01 \x03(\x0b\x32&.livekit.UpdateDataSubscription.Update\x1a\x66\n\x06Update\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\x12\x11\n\tsubscribe\x18\x02 \x01(\x08\x12\x36\n\x07options\x18\x03 \x01(\x0b\x32%.livekit.DataTrackSubscriptionOptions\"Y\n\x14StoreDataBlobRequest\x12 \n\nrequest_id\x18\x01 \x01(\rB\x0c\xbaP\trequestID\x12\x1f\n\x04\x62lob\x18\x02 \x01(\x0b\x32\x11.livekit.DataBlob\"\\\n\x15StoreDataBlobResponse\x12 \n\nrequest_id\x18\x01 \x01(\rB\x0c\xbaP\trequestID\x12!\n\x03key\x18\x02 \x01(\x0b\x32\x14.livekit.DataBlobKey\"w\n\x12GetDataBlobRequest\x12 \n\nrequest_id\x18\x01 \x01(\rB\x0c\xbaP\trequestID\x12\x1c\n\x14participant_identity\x18\x02 \x01(\t\x12!\n\x03key\x18\x03 \x01(\x0b\x32\x14.livekit.DataBlobKey\"X\n\x13GetDataBlobResponse\x12 \n\nrequest_id\x18\x01 \x01(\rB\x0c\xbaP\trequestID\x12\x1f\n\x04\x62lob\x18\x02 \x01(\x0b\x32\x11.livekit.DataBlob\"\xa1\x01\n\x13UpdateTrackSettings\x12\x12\n\ntrack_sids\x18\x01 \x03(\t\x12\x10\n\x08\x64isabled\x18\x03 \x01(\x08\x12&\n\x07quality\x18\x04 \x01(\x0e\x32\x15.livekit.VideoQuality\x12\r\n\x05width\x18\x05 \x01(\r\x12\x0e\n\x06height\x18\x06 \x01(\r\x12\x0b\n\x03\x66ps\x18\x07 \x01(\r\x12\x10\n\x08priority\x18\x08 \x01(\r\"X\n\x15UpdateLocalAudioTrack\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\x12,\n\x08\x66\x65\x61tures\x18\x02 \x03(\x0e\x32\x1a.livekit.AudioTrackFeature\"I\n\x15UpdateLocalVideoTrack\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\x12\r\n\x05width\x18\x02 \x01(\r\x12\x0e\n\x06height\x18\x03 \x01(\r\"\xdd\x01\n\x0cLeaveRequest\x12\x15\n\rcan_reconnect\x18\x01 \x01(\x08\x12)\n\x06reason\x18\x02 \x01(\x0e\x32\x19.livekit.DisconnectReason\x12,\n\x06\x61\x63tion\x18\x03 \x01(\x0e\x32\x1c.livekit.LeaveRequest.Action\x12(\n\x07regions\x18\x04 \x01(\x0b\x32\x17.livekit.RegionSettings\"3\n\x06\x41\x63tion\x12\x0e\n\nDISCONNECT\x10\x00\x12\n\n\x06RESUME\x10\x01\x12\r\n\tRECONNECT\x10\x02\"O\n\x11UpdateVideoLayers\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\x12#\n\x06layers\x18\x02 \x03(\x0b\x32\x13.livekit.VideoLayer:\x02\x18\x01\"\xca\x02\n\x19UpdateParticipantMetadata\x12\x36\n\x08metadata\x18\x01 \x01(\tB$\xb2P\x1e\xc0P\x01\x12\x32\n\x04name\x18\x02 \x01(\tB$\xb2P\x1e\xc0P\x01\x12l\n\nattributes\x18\x03 \x03(\x0b\x32\x32.livekit.UpdateParticipantMetadata.AttributesEntryB$\xb2P\x1e\xc0P\x01\x12 \n\nrequest_id\x18\x04 \x01(\rB\x0c\xbaP\trequestID\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"I\n\tICEServer\x12\x0c\n\x04urls\x18\x01 \x03(\t\x12\x15\n\x08username\x18\x02 \x01(\tB\x03\xc0P\x01\x12\x17\n\ncredential\x18\x03 \x01(\tB\x03\xc0P\x02\"9\n\x0fSpeakersChanged\x12&\n\x08speakers\x18\x01 \x03(\x0b\x32\x14.livekit.SpeakerInfo\")\n\nRoomUpdate\x12\x1b\n\x04room\x18\x01 \x01(\x0b\x32\r.livekit.Room\"l\n\x15\x43onnectionQualityInfo\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12+\n\x07quality\x18\x02 \x01(\x0e\x32\x1a.livekit.ConnectionQuality\x12\r\n\x05score\x18\x03 \x01(\x02\"J\n\x17\x43onnectionQualityUpdate\x12/\n\x07updates\x18\x01 \x03(\x0b\x32\x1e.livekit.ConnectionQualityInfo\"b\n\x0fStreamStateInfo\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x11\n\ttrack_sid\x18\x02 \x01(\t\x12#\n\x05state\x18\x03 \x01(\x0e\x32\x14.livekit.StreamState\"D\n\x11StreamStateUpdate\x12/\n\rstream_states\x18\x01 \x03(\x0b\x32\x18.livekit.StreamStateInfo\"L\n\x11SubscribedQuality\x12&\n\x07quality\x18\x01 \x01(\x0e\x32\x15.livekit.VideoQuality\x12\x0f\n\x07\x65nabled\x18\x02 \x01(\x08\"O\n\x0fSubscribedCodec\x12\r\n\x05\x63odec\x18\x01 \x01(\t\x12-\n\tqualities\x18\x02 \x03(\x0b\x32\x1a.livekit.SubscribedQuality\"\x9f\x01\n\x17SubscribedQualityUpdate\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\x12<\n\x14subscribed_qualities\x18\x02 \x03(\x0b\x32\x1a.livekit.SubscribedQualityB\x02\x18\x01\x12\x33\n\x11subscribed_codecs\x18\x03 \x03(\x0b\x32\x18.livekit.SubscribedCodec\"o\n\x1aSubscribedAudioCodecUpdate\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\x12>\n\x17subscribed_audio_codecs\x18\x02 \x03(\x0b\x32\x1d.livekit.SubscribedAudioCodec\"p\n\x0fTrackPermission\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x12\n\nall_tracks\x18\x02 \x01(\x08\x12\x12\n\ntrack_sids\x18\x03 \x03(\t\x12\x1c\n\x14participant_identity\x18\x04 \x01(\t\"g\n\x16SubscriptionPermission\x12\x18\n\x10\x61ll_participants\x18\x01 \x01(\x08\x12\x33\n\x11track_permissions\x18\x02 \x03(\x0b\x32\x18.livekit.TrackPermission\"[\n\x1cSubscriptionPermissionUpdate\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x11\n\ttrack_sid\x18\x02 \x01(\t\x12\x0f\n\x07\x61llowed\x18\x03 \x01(\x08\"\xa4\x01\n\x11RoomMovedResponse\x12\x1b\n\x04room\x18\x01 \x01(\x0b\x32\r.livekit.Room\x12\r\n\x05token\x18\x02 \x01(\t\x12-\n\x0bparticipant\x18\x03 \x01(\x0b\x32\x18.livekit.ParticipantInfo\x12\x34\n\x12other_participants\x18\x04 \x03(\x0b\x32\x18.livekit.ParticipantInfo\"\xa4\x03\n\tSyncState\x12+\n\x06\x61nswer\x18\x01 \x01(\x0b\x32\x1b.livekit.SessionDescription\x12\x31\n\x0csubscription\x18\x02 \x01(\x0b\x32\x1b.livekit.UpdateSubscription\x12\x37\n\x0epublish_tracks\x18\x03 \x03(\x0b\x32\x1f.livekit.TrackPublishedResponse\x12/\n\rdata_channels\x18\x04 \x03(\x0b\x32\x18.livekit.DataChannelInfo\x12*\n\x05offer\x18\x05 \x01(\x0b\x32\x1b.livekit.SessionDescription\x12\x1b\n\x13track_sids_disabled\x18\x06 \x03(\t\x12\x44\n\x1a\x64\x61tachannel_receive_states\x18\x07 \x03(\x0b\x32 .livekit.DataChannelReceiveState\x12>\n\x13publish_data_tracks\x18\x08 \x03(\x0b\x32!.livekit.PublishDataTrackResponse\"B\n\x17\x44\x61taChannelReceiveState\x12\x15\n\rpublisher_sid\x18\x01 \x01(\t\x12\x10\n\x08last_seq\x18\x02 \x01(\r\"S\n\x0f\x44\x61taChannelInfo\x12\r\n\x05label\x18\x01 \x01(\t\x12\n\n\x02id\x18\x02 \x01(\r\x12%\n\x06target\x18\x03 \x01(\x0e\x32\x15.livekit.SignalTarget\"\xe0\x02\n\x10SimulateScenario\x12\x18\n\x0espeaker_update\x18\x01 \x01(\x05H\x00\x12\x16\n\x0cnode_failure\x18\x02 \x01(\x08H\x00\x12\x13\n\tmigration\x18\x03 \x01(\x08H\x00\x12\x16\n\x0cserver_leave\x18\x04 \x01(\x08H\x00\x12?\n\x19switch_candidate_protocol\x18\x05 \x01(\x0e\x32\x1a.livekit.CandidateProtocolH\x00\x12\x1e\n\x14subscriber_bandwidth\x18\x06 \x01(\x03H\x00\x12%\n\x1b\x64isconnect_signal_on_resume\x18\x07 \x01(\x08H\x00\x12\x31\n\'disconnect_signal_on_resume_no_messages\x18\x08 \x01(\x08H\x00\x12&\n\x1cleave_request_full_reconnect\x18\t \x01(\x08H\x00\x42\n\n\x08scenario\"&\n\x04Ping\x12\x11\n\ttimestamp\x18\x01 \x01(\x03\x12\x0b\n\x03rtt\x18\x02 \x01(\x03\"6\n\x04Pong\x12\x1b\n\x13last_ping_timestamp\x18\x01 \x01(\x03\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\"6\n\x0eRegionSettings\x12$\n\x07regions\x18\x01 \x03(\x0b\x32\x13.livekit.RegionInfo\";\n\nRegionInfo\x12\x0e\n\x06region\x18\x01 \x01(\t\x12\x0b\n\x03url\x18\x02 \x01(\t\x12\x10\n\x08\x64istance\x18\x03 \x01(\x03\"R\n\x14SubscriptionResponse\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\x12\'\n\x03\x65rr\x18\x02 \x01(\x0e\x32\x1a.livekit.SubscriptionError\"\xab\x06\n\x0fRequestResponse\x12 \n\nrequest_id\x18\x01 \x01(\rB\x0c\xbaP\trequestID\x12/\n\x06reason\x18\x02 \x01(\x0e\x32\x1f.livekit.RequestResponse.Reason\x12\x0f\n\x07message\x18\x03 \x01(\t\x12*\n\x07trickle\x18\x04 \x01(\x0b\x32\x17.livekit.TrickleRequestH\x00\x12-\n\tadd_track\x18\x05 \x01(\x0b\x32\x18.livekit.AddTrackRequestH\x00\x12)\n\x04mute\x18\x06 \x01(\x0b\x32\x19.livekit.MuteTrackRequestH\x00\x12=\n\x0fupdate_metadata\x18\x07 \x01(\x0b\x32\".livekit.UpdateParticipantMetadataH\x00\x12<\n\x12update_audio_track\x18\x08 \x01(\x0b\x32\x1e.livekit.UpdateLocalAudioTrackH\x00\x12<\n\x12update_video_track\x18\t \x01(\x0b\x32\x1e.livekit.UpdateLocalVideoTrackH\x00\x12>\n\x12publish_data_track\x18\n \x01(\x0b\x32 .livekit.PublishDataTrackRequestH\x00\x12\x42\n\x14unpublish_data_track\x18\x0b \x01(\x0b\x32\".livekit.UnpublishDataTrackRequestH\x00\"\xe3\x01\n\x06Reason\x12\x06\n\x02OK\x10\x00\x12\r\n\tNOT_FOUND\x10\x01\x12\x0f\n\x0bNOT_ALLOWED\x10\x02\x12\x12\n\x0eLIMIT_EXCEEDED\x10\x03\x12\n\n\x06QUEUED\x10\x04\x12\x14\n\x10UNSUPPORTED_TYPE\x10\x05\x12\x16\n\x12UNCLASSIFIED_ERROR\x10\x06\x12\x12\n\x0eINVALID_HANDLE\x10\x07\x12\x10\n\x0cINVALID_NAME\x10\x08\x12\x14\n\x10\x44UPLICATE_HANDLE\x10\t\x12\x12\n\x0e\x44UPLICATE_NAME\x10\n\x12\x13\n\x0fINVALID_REQUEST\x10\x0b\x42\t\n\x07request\"$\n\x0fTrackSubscribed\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\"\xe5\x01\n\x12\x43onnectionSettings\x12\x16\n\x0e\x61uto_subscribe\x18\x01 \x01(\x08\x12\x17\n\x0f\x61\x64\x61ptive_stream\x18\x02 \x01(\x08\x12#\n\x16subscriber_allow_pause\x18\x03 \x01(\x08H\x00\x88\x01\x01\x12\x18\n\x10\x64isable_ice_lite\x18\x04 \x01(\x08\x12&\n\x19\x61uto_subscribe_data_track\x18\x05 \x01(\x08H\x01\x88\x01\x01\x42\x19\n\x17_subscriber_allow_pauseB\x1c\n\x1a_auto_subscribe_data_track\"\xd2\x04\n\x0bJoinRequest\x12(\n\x0b\x63lient_info\x18\x01 \x01(\x0b\x32\x13.livekit.ClientInfo\x12\x38\n\x13\x63onnection_settings\x18\x02 \x01(\x0b\x32\x1b.livekit.ConnectionSettings\x12\x36\n\x08metadata\x18\x03 \x01(\tB$\xb2P\x1e\xc0P\x01\x12u\n\x16participant_attributes\x18\x04 \x03(\x0b\x32/.livekit.JoinRequest.ParticipantAttributesEntryB$\xb2P\x1e\xc0P\x01\x12\x34\n\x12\x61\x64\x64_track_requests\x18\x05 \x03(\x0b\x32\x18.livekit.AddTrackRequest\x12\x34\n\x0fpublisher_offer\x18\x06 \x01(\x0b\x32\x1b.livekit.SessionDescription\x12\x11\n\treconnect\x18\x07 \x01(\x08\x12\x32\n\x10reconnect_reason\x18\x08 \x01(\x0e\x32\x18.livekit.ReconnectReason\x12\x17\n\x0fparticipant_sid\x18\t \x01(\t\x12&\n\nsync_state\x18\n \x01(\x0b\x32\x12.livekit.SyncState\x1a<\n\x1aParticipantAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x8b\x01\n\x12WrappedJoinRequest\x12<\n\x0b\x63ompression\x18\x01 \x01(\x0e\x32\'.livekit.WrappedJoinRequest.Compression\x12\x14\n\x0cjoin_request\x18\x02 \x01(\x0c\"!\n\x0b\x43ompression\x12\x08\n\x04NONE\x10\x00\x12\x08\n\x04GZIP\x10\x01\"B\n\x18MediaSectionsRequirement\x12\x12\n\nnum_audios\x18\x01 \x01(\r\x12\x12\n\nnum_videos\x18\x02 \x01(\r*-\n\x0cSignalTarget\x12\r\n\tPUBLISHER\x10\x00\x12\x0e\n\nSUBSCRIBER\x10\x01*%\n\x0bStreamState\x12\n\n\x06\x41\x43TIVE\x10\x00\x12\n\n\x06PAUSED\x10\x01*.\n\x11\x43\x61ndidateProtocol\x12\x07\n\x03UDP\x10\x00\x12\x07\n\x03TCP\x10\x01\x12\x07\n\x03TLS\x10\x02\x42\x46Z#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3" +descriptor_data = "\n\x11livekit_rtc.proto\x12\x07livekit\x1a\x14livekit_models.proto\x1a\x14logger/options.proto\"\xae\t\n\rSignalRequest\x12,\n\x05offer\x18\x01 \x01(\x0b\x32\x1b.livekit.SessionDescriptionH\x00\x12-\n\x06\x61nswer\x18\x02 \x01(\x0b\x32\x1b.livekit.SessionDescriptionH\x00\x12*\n\x07trickle\x18\x03 \x01(\x0b\x32\x17.livekit.TrickleRequestH\x00\x12-\n\tadd_track\x18\x04 \x01(\x0b\x32\x18.livekit.AddTrackRequestH\x00\x12)\n\x04mute\x18\x05 \x01(\x0b\x32\x19.livekit.MuteTrackRequestH\x00\x12\x33\n\x0csubscription\x18\x06 \x01(\x0b\x32\x1b.livekit.UpdateSubscriptionH\x00\x12\x35\n\rtrack_setting\x18\x07 \x01(\x0b\x32\x1c.livekit.UpdateTrackSettingsH\x00\x12&\n\x05leave\x18\x08 \x01(\x0b\x32\x15.livekit.LeaveRequestH\x00\x12\x37\n\rupdate_layers\x18\n \x01(\x0b\x32\x1a.livekit.UpdateVideoLayersB\x02\x18\x01H\x00\x12\x42\n\x17subscription_permission\x18\x0b \x01(\x0b\x32\x1f.livekit.SubscriptionPermissionH\x00\x12(\n\nsync_state\x18\x0c \x01(\x0b\x32\x12.livekit.SyncStateH\x00\x12-\n\x08simulate\x18\r \x01(\x0b\x32\x19.livekit.SimulateScenarioH\x00\x12\x0e\n\x04ping\x18\x0e \x01(\x03H\x00\x12=\n\x0fupdate_metadata\x18\x0f \x01(\x0b\x32\".livekit.UpdateParticipantMetadataH\x00\x12!\n\x08ping_req\x18\x10 \x01(\x0b\x32\r.livekit.PingH\x00\x12<\n\x12update_audio_track\x18\x11 \x01(\x0b\x32\x1e.livekit.UpdateLocalAudioTrackH\x00\x12<\n\x12update_video_track\x18\x12 \x01(\x0b\x32\x1e.livekit.UpdateLocalVideoTrackH\x00\x12\x46\n\x1apublish_data_track_request\x18\x13 \x01(\x0b\x32 .livekit.PublishDataTrackRequestH\x00\x12J\n\x1cunpublish_data_track_request\x18\x14 \x01(\x0b\x32\".livekit.UnpublishDataTrackRequestH\x00\x12\x43\n\x18update_data_subscription\x18\x15 \x01(\x0b\x32\x1f.livekit.UpdateDataSubscriptionH\x00\x12@\n\x17store_data_blob_request\x18\x16 \x01(\x0b\x32\x1d.livekit.StoreDataBlobRequestH\x00\x12<\n\x15get_data_blob_request\x18\x17 \x01(\x0b\x32\x1b.livekit.GetDataBlobRequestH\x00\x42\t\n\x07message\"\x9a\r\n\x0eSignalResponse\x12%\n\x04join\x18\x01 \x01(\x0b\x32\x15.livekit.JoinResponseH\x00\x12-\n\x06\x61nswer\x18\x02 \x01(\x0b\x32\x1b.livekit.SessionDescriptionH\x00\x12,\n\x05offer\x18\x03 \x01(\x0b\x32\x1b.livekit.SessionDescriptionH\x00\x12*\n\x07trickle\x18\x04 \x01(\x0b\x32\x17.livekit.TrickleRequestH\x00\x12,\n\x06update\x18\x05 \x01(\x0b\x32\x1a.livekit.ParticipantUpdateH\x00\x12:\n\x0ftrack_published\x18\x06 \x01(\x0b\x32\x1f.livekit.TrackPublishedResponseH\x00\x12&\n\x05leave\x18\x08 \x01(\x0b\x32\x15.livekit.LeaveRequestH\x00\x12)\n\x04mute\x18\t \x01(\x0b\x32\x19.livekit.MuteTrackRequestH\x00\x12\x34\n\x10speakers_changed\x18\n \x01(\x0b\x32\x18.livekit.SpeakersChangedH\x00\x12*\n\x0broom_update\x18\x0b \x01(\x0b\x32\x13.livekit.RoomUpdateH\x00\x12>\n\x12\x63onnection_quality\x18\x0c \x01(\x0b\x32 .livekit.ConnectionQualityUpdateH\x00\x12\x39\n\x13stream_state_update\x18\r \x01(\x0b\x32\x1a.livekit.StreamStateUpdateH\x00\x12\x45\n\x19subscribed_quality_update\x18\x0e \x01(\x0b\x32 .livekit.SubscribedQualityUpdateH\x00\x12O\n\x1esubscription_permission_update\x18\x0f \x01(\x0b\x32%.livekit.SubscriptionPermissionUpdateH\x00\x12\x17\n\rrefresh_token\x18\x10 \x01(\tH\x00\x12>\n\x11track_unpublished\x18\x11 \x01(\x0b\x32!.livekit.TrackUnpublishedResponseH\x00\x12\x0e\n\x04pong\x18\x12 \x01(\x03H\x00\x12/\n\treconnect\x18\x13 \x01(\x0b\x32\x1a.livekit.ReconnectResponseH\x00\x12\"\n\tpong_resp\x18\x14 \x01(\x0b\x32\r.livekit.PongH\x00\x12>\n\x15subscription_response\x18\x15 \x01(\x0b\x32\x1d.livekit.SubscriptionResponseH\x00\x12\x34\n\x10request_response\x18\x16 \x01(\x0b\x32\x18.livekit.RequestResponseH\x00\x12\x34\n\x10track_subscribed\x18\x17 \x01(\x0b\x32\x18.livekit.TrackSubscribedH\x00\x12\x30\n\nroom_moved\x18\x18 \x01(\x0b\x32\x1a.livekit.RoomMovedResponseH\x00\x12G\n\x1amedia_sections_requirement\x18\x19 \x01(\x0b\x32!.livekit.MediaSectionsRequirementH\x00\x12L\n\x1dsubscribed_audio_codec_update\x18\x1a \x01(\x0b\x32#.livekit.SubscribedAudioCodecUpdateH\x00\x12H\n\x1bpublish_data_track_response\x18\x1b \x01(\x0b\x32!.livekit.PublishDataTrackResponseH\x00\x12L\n\x1dunpublish_data_track_response\x18\x1c \x01(\x0b\x32#.livekit.UnpublishDataTrackResponseH\x00\x12L\n\x1d\x64\x61ta_track_subscriber_handles\x18\x1d \x01(\x0b\x32#.livekit.DataTrackSubscriberHandlesH\x00\x12\x42\n\x18store_data_blob_response\x18\x1e \x01(\x0b\x32\x1e.livekit.StoreDataBlobResponseH\x00\x12>\n\x16get_data_blob_response\x18\x1f \x01(\x0b\x32\x1c.livekit.GetDataBlobResponseH\x00\x42\t\n\x07message\"\x85\x01\n\x0eSimulcastCodec\x12\r\n\x05\x63odec\x18\x01 \x01(\t\x12\x0b\n\x03\x63id\x18\x02 \x01(\t\x12#\n\x06layers\x18\x04 \x03(\x0b\x32\x13.livekit.VideoLayer\x12\x32\n\x10video_layer_mode\x18\x05 \x01(\x0e\x32\x18.livekit.VideoLayer.Mode\"\xb4\x04\n\x0f\x41\x64\x64TrackRequest\x12\x0b\n\x03\x63id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12 \n\x04type\x18\x03 \x01(\x0e\x32\x12.livekit.TrackType\x12\r\n\x05width\x18\x04 \x01(\r\x12\x0e\n\x06height\x18\x05 \x01(\r\x12\r\n\x05muted\x18\x06 \x01(\x08\x12\x17\n\x0b\x64isable_dtx\x18\x07 \x01(\x08\x42\x02\x18\x01\x12$\n\x06source\x18\x08 \x01(\x0e\x32\x14.livekit.TrackSource\x12#\n\x06layers\x18\t \x03(\x0b\x32\x13.livekit.VideoLayer\x12\x31\n\x10simulcast_codecs\x18\n \x03(\x0b\x32\x17.livekit.SimulcastCodec\x12\x0b\n\x03sid\x18\x0b \x01(\t\x12\x12\n\x06stereo\x18\x0c \x01(\x08\x42\x02\x18\x01\x12\x13\n\x0b\x64isable_red\x18\r \x01(\x08\x12,\n\nencryption\x18\x0e \x01(\x0e\x32\x18.livekit.Encryption.Type\x12\x0e\n\x06stream\x18\x0f \x01(\t\x12\x37\n\x13\x62\x61\x63kup_codec_policy\x18\x10 \x01(\x0e\x32\x1a.livekit.BackupCodecPolicy\x12\x32\n\x0e\x61udio_features\x18\x11 \x03(\x0e\x32\x1a.livekit.AudioTrackFeature\x12>\n\x17packet_trailer_features\x18\x12 \x03(\x0e\x32\x1d.livekit.PacketTrailerFeature\"\xf6\x01\n\x17PublishDataTrackRequest\x12\x12\n\npub_handle\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12,\n\nencryption\x18\x03 \x01(\x0e\x32\x18.livekit.Encryption.Type\x12<\n\x0e\x66rame_encoding\x18\x04 \x01(\x0b\x32\x1f.livekit.DataTrackFrameEncodingH\x00\x88\x01\x01\x12/\n\x06schema\x18\x05 \x01(\x0b\x32\x1a.livekit.DataTrackSchemaIdH\x01\x88\x01\x01\x42\x11\n\x0f_frame_encodingB\t\n\x07_schema\"@\n\x18PublishDataTrackResponse\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.livekit.DataTrackInfo\"/\n\x19UnpublishDataTrackRequest\x12\x12\n\npub_handle\x18\x01 \x01(\r\"B\n\x1aUnpublishDataTrackResponse\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.livekit.DataTrackInfo\"\xad\x02\n\x1a\x44\x61taTrackSubscriberHandles\x12H\n\x0bsub_handles\x18\x01 \x03(\x0b\x32\x33.livekit.DataTrackSubscriberHandles.SubHandlesEntry\x1aZ\n\x12PublishedDataTrack\x12\x1a\n\x12publisher_identity\x18\x01 \x01(\t\x12\x15\n\rpublisher_sid\x18\x02 \x01(\t\x12\x11\n\ttrack_sid\x18\x03 \x01(\t\x1ai\n\x0fSubHandlesEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\x45\n\x05value\x18\x02 \x01(\x0b\x32\x36.livekit.DataTrackSubscriberHandles.PublishedDataTrack:\x02\x38\x01\"]\n\x0eTrickleRequest\x12\x15\n\rcandidateInit\x18\x01 \x01(\t\x12%\n\x06target\x18\x02 \x01(\x0e\x32\x15.livekit.SignalTarget\x12\r\n\x05\x66inal\x18\x03 \x01(\x08\".\n\x10MuteTrackRequest\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\r\n\x05muted\x18\x02 \x01(\x08\"\x8b\x04\n\x0cJoinResponse\x12\x1b\n\x04room\x18\x01 \x01(\x0b\x32\r.livekit.Room\x12-\n\x0bparticipant\x18\x02 \x01(\x0b\x32\x18.livekit.ParticipantInfo\x12\x34\n\x12other_participants\x18\x03 \x03(\x0b\x32\x18.livekit.ParticipantInfo\x12\x16\n\x0eserver_version\x18\x04 \x01(\t\x12\'\n\x0bice_servers\x18\x05 \x03(\x0b\x32\x12.livekit.ICEServer\x12\x1a\n\x12subscriber_primary\x18\x06 \x01(\x08\x12\x17\n\x0f\x61lternative_url\x18\x07 \x01(\t\x12:\n\x14\x63lient_configuration\x18\x08 \x01(\x0b\x32\x1c.livekit.ClientConfiguration\x12\x15\n\rserver_region\x18\t \x01(\t\x12\x14\n\x0cping_timeout\x18\n \x01(\x05\x12\x15\n\rping_interval\x18\x0b \x01(\x05\x12(\n\x0bserver_info\x18\x0c \x01(\x0b\x32\x13.livekit.ServerInfo\x12\x13\n\x0bsif_trailer\x18\r \x01(\x0c\x12.\n\x16\x65nabled_publish_codecs\x18\x0e \x03(\x0b\x32\x0e.livekit.Codec\x12\x14\n\x0c\x66\x61st_publish\x18\x0f \x01(\x08\"\xbc\x01\n\x11ReconnectResponse\x12\'\n\x0bice_servers\x18\x01 \x03(\x0b\x32\x12.livekit.ICEServer\x12:\n\x14\x63lient_configuration\x18\x02 \x01(\x0b\x32\x1c.livekit.ClientConfiguration\x12(\n\x0bserver_info\x18\x03 \x01(\x0b\x32\x13.livekit.ServerInfo\x12\x18\n\x10last_message_seq\x18\x04 \x01(\r\"H\n\x16TrackPublishedResponse\x12\x0b\n\x03\x63id\x18\x01 \x01(\t\x12!\n\x05track\x18\x02 \x01(\x0b\x32\x12.livekit.TrackInfo\"-\n\x18TrackUnpublishedResponse\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\"\xc9\x01\n\x12SessionDescription\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0b\n\x03sdp\x18\x02 \x01(\t\x12\n\n\x02id\x18\x03 \x01(\r\x12W\n\x0fmid_to_track_id\x18\x04 \x03(\x0b\x32-.livekit.SessionDescription.MidToTrackIdEntryB\x0f\xbaP\x0cmidToTrackID\x1a\x33\n\x11MidToTrackIdEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"C\n\x11ParticipantUpdate\x12.\n\x0cparticipants\x18\x01 \x03(\x0b\x32\x18.livekit.ParticipantInfo\"s\n\x12UpdateSubscription\x12\x12\n\ntrack_sids\x18\x01 \x03(\t\x12\x11\n\tsubscribe\x18\x02 \x01(\x08\x12\x36\n\x12participant_tracks\x18\x03 \x03(\x0b\x32\x1a.livekit.ParticipantTracks\"\xb9\x01\n\x16UpdateDataSubscription\x12\x37\n\x07updates\x18\x01 \x03(\x0b\x32&.livekit.UpdateDataSubscription.Update\x1a\x66\n\x06Update\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\x12\x11\n\tsubscribe\x18\x02 \x01(\x08\x12\x36\n\x07options\x18\x03 \x01(\x0b\x32%.livekit.DataTrackSubscriptionOptions\"Y\n\x14StoreDataBlobRequest\x12 \n\nrequest_id\x18\x01 \x01(\rB\x0c\xbaP\trequestID\x12\x1f\n\x04\x62lob\x18\x02 \x01(\x0b\x32\x11.livekit.DataBlob\"\\\n\x15StoreDataBlobResponse\x12 \n\nrequest_id\x18\x01 \x01(\rB\x0c\xbaP\trequestID\x12!\n\x03key\x18\x02 \x01(\x0b\x32\x14.livekit.DataBlobKey\"w\n\x12GetDataBlobRequest\x12 \n\nrequest_id\x18\x01 \x01(\rB\x0c\xbaP\trequestID\x12\x1c\n\x14participant_identity\x18\x02 \x01(\t\x12!\n\x03key\x18\x03 \x01(\x0b\x32\x14.livekit.DataBlobKey\"X\n\x13GetDataBlobResponse\x12 \n\nrequest_id\x18\x01 \x01(\rB\x0c\xbaP\trequestID\x12\x1f\n\x04\x62lob\x18\x02 \x01(\x0b\x32\x11.livekit.DataBlob\"\xa1\x01\n\x13UpdateTrackSettings\x12\x12\n\ntrack_sids\x18\x01 \x03(\t\x12\x10\n\x08\x64isabled\x18\x03 \x01(\x08\x12&\n\x07quality\x18\x04 \x01(\x0e\x32\x15.livekit.VideoQuality\x12\r\n\x05width\x18\x05 \x01(\r\x12\x0e\n\x06height\x18\x06 \x01(\r\x12\x0b\n\x03\x66ps\x18\x07 \x01(\r\x12\x10\n\x08priority\x18\x08 \x01(\r\"X\n\x15UpdateLocalAudioTrack\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\x12,\n\x08\x66\x65\x61tures\x18\x02 \x03(\x0e\x32\x1a.livekit.AudioTrackFeature\"I\n\x15UpdateLocalVideoTrack\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\x12\r\n\x05width\x18\x02 \x01(\r\x12\x0e\n\x06height\x18\x03 \x01(\r\"\xdd\x01\n\x0cLeaveRequest\x12\x15\n\rcan_reconnect\x18\x01 \x01(\x08\x12)\n\x06reason\x18\x02 \x01(\x0e\x32\x19.livekit.DisconnectReason\x12,\n\x06\x61\x63tion\x18\x03 \x01(\x0e\x32\x1c.livekit.LeaveRequest.Action\x12(\n\x07regions\x18\x04 \x01(\x0b\x32\x17.livekit.RegionSettings\"3\n\x06\x41\x63tion\x12\x0e\n\nDISCONNECT\x10\x00\x12\n\n\x06RESUME\x10\x01\x12\r\n\tRECONNECT\x10\x02\"O\n\x11UpdateVideoLayers\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\x12#\n\x06layers\x18\x02 \x03(\x0b\x32\x13.livekit.VideoLayer:\x02\x18\x01\"\xca\x02\n\x19UpdateParticipantMetadata\x12\x36\n\x08metadata\x18\x01 \x01(\tB$\xb2P\x1e\xc0P\x01\x12\x32\n\x04name\x18\x02 \x01(\tB$\xb2P\x1e\xc0P\x01\x12l\n\nattributes\x18\x03 \x03(\x0b\x32\x32.livekit.UpdateParticipantMetadata.AttributesEntryB$\xb2P\x1e\xc0P\x01\x12 \n\nrequest_id\x18\x04 \x01(\rB\x0c\xbaP\trequestID\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"I\n\tICEServer\x12\x0c\n\x04urls\x18\x01 \x03(\t\x12\x15\n\x08username\x18\x02 \x01(\tB\x03\xc0P\x01\x12\x17\n\ncredential\x18\x03 \x01(\tB\x03\xc0P\x02\"9\n\x0fSpeakersChanged\x12&\n\x08speakers\x18\x01 \x03(\x0b\x32\x14.livekit.SpeakerInfo\")\n\nRoomUpdate\x12\x1b\n\x04room\x18\x01 \x01(\x0b\x32\r.livekit.Room\"l\n\x15\x43onnectionQualityInfo\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12+\n\x07quality\x18\x02 \x01(\x0e\x32\x1a.livekit.ConnectionQuality\x12\r\n\x05score\x18\x03 \x01(\x02\"J\n\x17\x43onnectionQualityUpdate\x12/\n\x07updates\x18\x01 \x03(\x0b\x32\x1e.livekit.ConnectionQualityInfo\"b\n\x0fStreamStateInfo\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x11\n\ttrack_sid\x18\x02 \x01(\t\x12#\n\x05state\x18\x03 \x01(\x0e\x32\x14.livekit.StreamState\"D\n\x11StreamStateUpdate\x12/\n\rstream_states\x18\x01 \x03(\x0b\x32\x18.livekit.StreamStateInfo\"L\n\x11SubscribedQuality\x12&\n\x07quality\x18\x01 \x01(\x0e\x32\x15.livekit.VideoQuality\x12\x0f\n\x07\x65nabled\x18\x02 \x01(\x08\"O\n\x0fSubscribedCodec\x12\r\n\x05\x63odec\x18\x01 \x01(\t\x12-\n\tqualities\x18\x02 \x03(\x0b\x32\x1a.livekit.SubscribedQuality\"\x9f\x01\n\x17SubscribedQualityUpdate\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\x12<\n\x14subscribed_qualities\x18\x02 \x03(\x0b\x32\x1a.livekit.SubscribedQualityB\x02\x18\x01\x12\x33\n\x11subscribed_codecs\x18\x03 \x03(\x0b\x32\x18.livekit.SubscribedCodec\"o\n\x1aSubscribedAudioCodecUpdate\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\x12>\n\x17subscribed_audio_codecs\x18\x02 \x03(\x0b\x32\x1d.livekit.SubscribedAudioCodec\"p\n\x0fTrackPermission\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x12\n\nall_tracks\x18\x02 \x01(\x08\x12\x12\n\ntrack_sids\x18\x03 \x03(\t\x12\x1c\n\x14participant_identity\x18\x04 \x01(\t\"g\n\x16SubscriptionPermission\x12\x18\n\x10\x61ll_participants\x18\x01 \x01(\x08\x12\x33\n\x11track_permissions\x18\x02 \x03(\x0b\x32\x18.livekit.TrackPermission\"[\n\x1cSubscriptionPermissionUpdate\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x11\n\ttrack_sid\x18\x02 \x01(\t\x12\x0f\n\x07\x61llowed\x18\x03 \x01(\x08\"\xa4\x01\n\x11RoomMovedResponse\x12\x1b\n\x04room\x18\x01 \x01(\x0b\x32\r.livekit.Room\x12\r\n\x05token\x18\x02 \x01(\t\x12-\n\x0bparticipant\x18\x03 \x01(\x0b\x32\x18.livekit.ParticipantInfo\x12\x34\n\x12other_participants\x18\x04 \x03(\x0b\x32\x18.livekit.ParticipantInfo\"\xe0\x03\n\tSyncState\x12+\n\x06\x61nswer\x18\x01 \x01(\x0b\x32\x1b.livekit.SessionDescription\x12\x31\n\x0csubscription\x18\x02 \x01(\x0b\x32\x1b.livekit.UpdateSubscription\x12\x37\n\x0epublish_tracks\x18\x03 \x03(\x0b\x32\x1f.livekit.TrackPublishedResponse\x12/\n\rdata_channels\x18\x04 \x03(\x0b\x32\x18.livekit.DataChannelInfo\x12*\n\x05offer\x18\x05 \x01(\x0b\x32\x1b.livekit.SessionDescription\x12\x1b\n\x13track_sids_disabled\x18\x06 \x03(\t\x12\x44\n\x1a\x64\x61tachannel_receive_states\x18\x07 \x03(\x0b\x32 .livekit.DataChannelReceiveState\x12>\n\x13publish_data_tracks\x18\x08 \x03(\x0b\x32!.livekit.PublishDataTrackResponse\x12:\n\x11\x64\x61ta_subscription\x18\t \x01(\x0b\x32\x1f.livekit.UpdateDataSubscription\"B\n\x17\x44\x61taChannelReceiveState\x12\x15\n\rpublisher_sid\x18\x01 \x01(\t\x12\x10\n\x08last_seq\x18\x02 \x01(\r\"S\n\x0f\x44\x61taChannelInfo\x12\r\n\x05label\x18\x01 \x01(\t\x12\n\n\x02id\x18\x02 \x01(\r\x12%\n\x06target\x18\x03 \x01(\x0e\x32\x15.livekit.SignalTarget\"\xe0\x02\n\x10SimulateScenario\x12\x18\n\x0espeaker_update\x18\x01 \x01(\x05H\x00\x12\x16\n\x0cnode_failure\x18\x02 \x01(\x08H\x00\x12\x13\n\tmigration\x18\x03 \x01(\x08H\x00\x12\x16\n\x0cserver_leave\x18\x04 \x01(\x08H\x00\x12?\n\x19switch_candidate_protocol\x18\x05 \x01(\x0e\x32\x1a.livekit.CandidateProtocolH\x00\x12\x1e\n\x14subscriber_bandwidth\x18\x06 \x01(\x03H\x00\x12%\n\x1b\x64isconnect_signal_on_resume\x18\x07 \x01(\x08H\x00\x12\x31\n\'disconnect_signal_on_resume_no_messages\x18\x08 \x01(\x08H\x00\x12&\n\x1cleave_request_full_reconnect\x18\t \x01(\x08H\x00\x42\n\n\x08scenario\"&\n\x04Ping\x12\x11\n\ttimestamp\x18\x01 \x01(\x03\x12\x0b\n\x03rtt\x18\x02 \x01(\x03\"6\n\x04Pong\x12\x1b\n\x13last_ping_timestamp\x18\x01 \x01(\x03\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\"6\n\x0eRegionSettings\x12$\n\x07regions\x18\x01 \x03(\x0b\x32\x13.livekit.RegionInfo\";\n\nRegionInfo\x12\x0e\n\x06region\x18\x01 \x01(\t\x12\x0b\n\x03url\x18\x02 \x01(\t\x12\x10\n\x08\x64istance\x18\x03 \x01(\x03\"R\n\x14SubscriptionResponse\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\x12\'\n\x03\x65rr\x18\x02 \x01(\x0e\x32\x1a.livekit.SubscriptionError\"\xab\x06\n\x0fRequestResponse\x12 \n\nrequest_id\x18\x01 \x01(\rB\x0c\xbaP\trequestID\x12/\n\x06reason\x18\x02 \x01(\x0e\x32\x1f.livekit.RequestResponse.Reason\x12\x0f\n\x07message\x18\x03 \x01(\t\x12*\n\x07trickle\x18\x04 \x01(\x0b\x32\x17.livekit.TrickleRequestH\x00\x12-\n\tadd_track\x18\x05 \x01(\x0b\x32\x18.livekit.AddTrackRequestH\x00\x12)\n\x04mute\x18\x06 \x01(\x0b\x32\x19.livekit.MuteTrackRequestH\x00\x12=\n\x0fupdate_metadata\x18\x07 \x01(\x0b\x32\".livekit.UpdateParticipantMetadataH\x00\x12<\n\x12update_audio_track\x18\x08 \x01(\x0b\x32\x1e.livekit.UpdateLocalAudioTrackH\x00\x12<\n\x12update_video_track\x18\t \x01(\x0b\x32\x1e.livekit.UpdateLocalVideoTrackH\x00\x12>\n\x12publish_data_track\x18\n \x01(\x0b\x32 .livekit.PublishDataTrackRequestH\x00\x12\x42\n\x14unpublish_data_track\x18\x0b \x01(\x0b\x32\".livekit.UnpublishDataTrackRequestH\x00\"\xe3\x01\n\x06Reason\x12\x06\n\x02OK\x10\x00\x12\r\n\tNOT_FOUND\x10\x01\x12\x0f\n\x0bNOT_ALLOWED\x10\x02\x12\x12\n\x0eLIMIT_EXCEEDED\x10\x03\x12\n\n\x06QUEUED\x10\x04\x12\x14\n\x10UNSUPPORTED_TYPE\x10\x05\x12\x16\n\x12UNCLASSIFIED_ERROR\x10\x06\x12\x12\n\x0eINVALID_HANDLE\x10\x07\x12\x10\n\x0cINVALID_NAME\x10\x08\x12\x14\n\x10\x44UPLICATE_HANDLE\x10\t\x12\x12\n\x0e\x44UPLICATE_NAME\x10\n\x12\x13\n\x0fINVALID_REQUEST\x10\x0b\x42\t\n\x07request\"$\n\x0fTrackSubscribed\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\"\xe5\x01\n\x12\x43onnectionSettings\x12\x16\n\x0e\x61uto_subscribe\x18\x01 \x01(\x08\x12\x17\n\x0f\x61\x64\x61ptive_stream\x18\x02 \x01(\x08\x12#\n\x16subscriber_allow_pause\x18\x03 \x01(\x08H\x00\x88\x01\x01\x12\x18\n\x10\x64isable_ice_lite\x18\x04 \x01(\x08\x12&\n\x19\x61uto_subscribe_data_track\x18\x05 \x01(\x08H\x01\x88\x01\x01\x42\x19\n\x17_subscriber_allow_pauseB\x1c\n\x1a_auto_subscribe_data_track\"\xd2\x04\n\x0bJoinRequest\x12(\n\x0b\x63lient_info\x18\x01 \x01(\x0b\x32\x13.livekit.ClientInfo\x12\x38\n\x13\x63onnection_settings\x18\x02 \x01(\x0b\x32\x1b.livekit.ConnectionSettings\x12\x36\n\x08metadata\x18\x03 \x01(\tB$\xb2P\x1e\xc0P\x01\x12u\n\x16participant_attributes\x18\x04 \x03(\x0b\x32/.livekit.JoinRequest.ParticipantAttributesEntryB$\xb2P\x1e\xc0P\x01\x12\x34\n\x12\x61\x64\x64_track_requests\x18\x05 \x03(\x0b\x32\x18.livekit.AddTrackRequest\x12\x34\n\x0fpublisher_offer\x18\x06 \x01(\x0b\x32\x1b.livekit.SessionDescription\x12\x11\n\treconnect\x18\x07 \x01(\x08\x12\x32\n\x10reconnect_reason\x18\x08 \x01(\x0e\x32\x18.livekit.ReconnectReason\x12\x17\n\x0fparticipant_sid\x18\t \x01(\t\x12&\n\nsync_state\x18\n \x01(\x0b\x32\x12.livekit.SyncState\x1a<\n\x1aParticipantAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x8b\x01\n\x12WrappedJoinRequest\x12<\n\x0b\x63ompression\x18\x01 \x01(\x0e\x32\'.livekit.WrappedJoinRequest.Compression\x12\x14\n\x0cjoin_request\x18\x02 \x01(\x0c\"!\n\x0b\x43ompression\x12\x08\n\x04NONE\x10\x00\x12\x08\n\x04GZIP\x10\x01\"B\n\x18MediaSectionsRequirement\x12\x12\n\nnum_audios\x18\x01 \x01(\r\x12\x12\n\nnum_videos\x18\x02 \x01(\r*-\n\x0cSignalTarget\x12\r\n\tPUBLISHER\x10\x00\x12\x0e\n\nSUBSCRIBER\x10\x01*%\n\x0bStreamState\x12\n\n\x06\x41\x43TIVE\x10\x00\x12\n\n\x06PAUSED\x10\x01*.\n\x11\x43\x61ndidateProtocol\x12\x07\n\x03UDP\x10\x00\x12\x07\n\x03TCP\x10\x01\x12\x07\n\x03TLS\x10\x02\x42\x46Z#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool pool.add_serialized_file(descriptor_data) diff --git a/lib/livekit/proto/livekit_webhook_pb.rb b/lib/livekit/proto/livekit_webhook_pb.rb index 16013fa..a9c97fa 100644 --- a/lib/livekit/proto/livekit_webhook_pb.rb +++ b/lib/livekit/proto/livekit_webhook_pb.rb @@ -7,9 +7,10 @@ require 'livekit_models_pb' require 'livekit_egress_pb' require 'livekit_ingress_pb' +require 'livekit_agent_pb' -descriptor_data = "\n\x15livekit_webhook.proto\x12\x07livekit\x1a\x14livekit_models.proto\x1a\x14livekit_egress.proto\x1a\x15livekit_ingress.proto\"\x9b\x02\n\x0cWebhookEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\t\x12\x1b\n\x04room\x18\x02 \x01(\x0b\x32\r.livekit.Room\x12-\n\x0bparticipant\x18\x03 \x01(\x0b\x32\x18.livekit.ParticipantInfo\x12(\n\x0b\x65gress_info\x18\t \x01(\x0b\x32\x13.livekit.EgressInfo\x12*\n\x0cingress_info\x18\n \x01(\x0b\x32\x14.livekit.IngressInfo\x12!\n\x05track\x18\x08 \x01(\x0b\x32\x12.livekit.TrackInfo\x12\n\n\x02id\x18\x06 \x01(\t\x12\x12\n\ncreated_at\x18\x07 \x01(\x03\x12\x17\n\x0bnum_dropped\x18\x0b \x01(\x05\x42\x02\x18\x01\x42\x46Z#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3" +descriptor_data = "\n\x15livekit_webhook.proto\x12\x07livekit\x1a\x14livekit_models.proto\x1a\x14livekit_egress.proto\x1a\x15livekit_ingress.proto\x1a\x13livekit_agent.proto\"\xb6\x02\n\x0cWebhookEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\t\x12\x1b\n\x04room\x18\x02 \x01(\x0b\x32\r.livekit.Room\x12-\n\x0bparticipant\x18\x03 \x01(\x0b\x32\x18.livekit.ParticipantInfo\x12(\n\x0b\x65gress_info\x18\t \x01(\x0b\x32\x13.livekit.EgressInfo\x12*\n\x0cingress_info\x18\n \x01(\x0b\x32\x14.livekit.IngressInfo\x12!\n\x05track\x18\x08 \x01(\x0b\x32\x12.livekit.TrackInfo\x12\x19\n\x03job\x18\x0c \x01(\x0b\x32\x0c.livekit.Job\x12\n\n\x02id\x18\x06 \x01(\t\x12\x12\n\ncreated_at\x18\x07 \x01(\x03\x12\x17\n\x0bnum_dropped\x18\x0b \x01(\x05\x42\x02\x18\x01\x42\x46Z#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool pool.add_serialized_file(descriptor_data)