From f26a4127edc418f1adbd25d0f348b1ad6e1a7038 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?The=CC=81o=20Monnom?= Date: Tue, 10 Jun 2025 17:43:59 +0200 Subject: [PATCH 1/4] wip --- .../livekit/rtc/_proto/audio_frame_pb2.py | 204 +++++++++--------- .../livekit/rtc/_proto/audio_frame_pb2.pyi | 14 +- livekit-rtc/livekit/rtc/audio_stream.py | 8 + 3 files changed, 120 insertions(+), 106 deletions(-) diff --git a/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.py b/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.py index 166112ad..0c7c5a8c 100644 --- a/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.py @@ -16,7 +16,7 @@ from . import track_pb2 as track__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11\x61udio_frame.proto\x12\rlivekit.proto\x1a\x0chandle.proto\x1a\x0btrack.proto\"\xc4\x01\n\x15NewAudioStreamRequest\x12\x14\n\x0ctrack_handle\x18\x01 \x02(\x04\x12,\n\x04type\x18\x02 \x02(\x0e\x32\x1e.livekit.proto.AudioStreamType\x12\x13\n\x0bsample_rate\x18\x03 \x01(\r\x12\x14\n\x0cnum_channels\x18\x04 \x01(\r\x12\x1e\n\x16\x61udio_filter_module_id\x18\x05 \x01(\t\x12\x1c\n\x14\x61udio_filter_options\x18\x06 \x01(\t\"I\n\x16NewAudioStreamResponse\x12/\n\x06stream\x18\x01 \x02(\x0b\x32\x1f.livekit.proto.OwnedAudioStream\"\x88\x02\n!AudioStreamFromParticipantRequest\x12\x1a\n\x12participant_handle\x18\x01 \x02(\x04\x12,\n\x04type\x18\x02 \x02(\x0e\x32\x1e.livekit.proto.AudioStreamType\x12\x30\n\x0ctrack_source\x18\x03 \x01(\x0e\x32\x1a.livekit.proto.TrackSource\x12\x13\n\x0bsample_rate\x18\x05 \x01(\r\x12\x14\n\x0cnum_channels\x18\x06 \x01(\r\x12\x1e\n\x16\x61udio_filter_module_id\x18\x07 \x01(\t\x12\x1c\n\x14\x61udio_filter_options\x18\x08 \x01(\t\"U\n\"AudioStreamFromParticipantResponse\x12/\n\x06stream\x18\x01 \x02(\x0b\x32\x1f.livekit.proto.OwnedAudioStream\"\xbb\x01\n\x15NewAudioSourceRequest\x12,\n\x04type\x18\x01 \x02(\x0e\x32\x1e.livekit.proto.AudioSourceType\x12\x32\n\x07options\x18\x02 \x01(\x0b\x32!.livekit.proto.AudioSourceOptions\x12\x13\n\x0bsample_rate\x18\x03 \x02(\r\x12\x14\n\x0cnum_channels\x18\x04 \x02(\r\x12\x15\n\rqueue_size_ms\x18\x05 \x01(\r\"I\n\x16NewAudioSourceResponse\x12/\n\x06source\x18\x01 \x02(\x0b\x32\x1f.livekit.proto.OwnedAudioSource\"f\n\x18\x43\x61ptureAudioFrameRequest\x12\x15\n\rsource_handle\x18\x01 \x02(\x04\x12\x33\n\x06\x62uffer\x18\x02 \x02(\x0b\x32#.livekit.proto.AudioFrameBufferInfo\"-\n\x19\x43\x61ptureAudioFrameResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"<\n\x19\x43\x61ptureAudioFrameCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"0\n\x17\x43learAudioBufferRequest\x12\x15\n\rsource_handle\x18\x01 \x02(\x04\"\x1a\n\x18\x43learAudioBufferResponse\"\x1a\n\x18NewAudioResamplerRequest\"R\n\x19NewAudioResamplerResponse\x12\x35\n\tresampler\x18\x01 \x02(\x0b\x32\".livekit.proto.OwnedAudioResampler\"\x93\x01\n\x17RemixAndResampleRequest\x12\x18\n\x10resampler_handle\x18\x01 \x02(\x04\x12\x33\n\x06\x62uffer\x18\x02 \x02(\x0b\x32#.livekit.proto.AudioFrameBufferInfo\x12\x14\n\x0cnum_channels\x18\x03 \x02(\r\x12\x13\n\x0bsample_rate\x18\x04 \x02(\r\"P\n\x18RemixAndResampleResponse\x12\x34\n\x06\x62uffer\x18\x01 \x02(\x0b\x32$.livekit.proto.OwnedAudioFrameBuffer\"\x95\x01\n\rNewApmRequest\x12\x1e\n\x16\x65\x63ho_canceller_enabled\x18\x01 \x02(\x08\x12\x1f\n\x17gain_controller_enabled\x18\x02 \x02(\x08\x12 \n\x18high_pass_filter_enabled\x18\x03 \x02(\x08\x12!\n\x19noise_suppression_enabled\x18\x04 \x02(\x08\"6\n\x0eNewApmResponse\x12$\n\x03\x61pm\x18\x01 \x02(\x0b\x32\x17.livekit.proto.OwnedApm\"x\n\x17\x41pmProcessStreamRequest\x12\x12\n\napm_handle\x18\x01 \x02(\x04\x12\x10\n\x08\x64\x61ta_ptr\x18\x02 \x02(\x04\x12\x0c\n\x04size\x18\x03 \x02(\r\x12\x13\n\x0bsample_rate\x18\x04 \x02(\r\x12\x14\n\x0cnum_channels\x18\x05 \x02(\r\")\n\x18\x41pmProcessStreamResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\"\x7f\n\x1e\x41pmProcessReverseStreamRequest\x12\x12\n\napm_handle\x18\x01 \x02(\x04\x12\x10\n\x08\x64\x61ta_ptr\x18\x02 \x02(\x04\x12\x0c\n\x04size\x18\x03 \x02(\r\x12\x13\n\x0bsample_rate\x18\x04 \x02(\r\x12\x14\n\x0cnum_channels\x18\x05 \x02(\r\"0\n\x1f\x41pmProcessReverseStreamResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\"@\n\x18\x41pmSetStreamDelayRequest\x12\x12\n\napm_handle\x18\x01 \x02(\x04\x12\x10\n\x08\x64\x65lay_ms\x18\x02 \x02(\x05\"*\n\x19\x41pmSetStreamDelayResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\"\x9c\x02\n\x16NewSoxResamplerRequest\x12\x12\n\ninput_rate\x18\x01 \x02(\x01\x12\x13\n\x0boutput_rate\x18\x02 \x02(\x01\x12\x14\n\x0cnum_channels\x18\x03 \x02(\r\x12<\n\x0finput_data_type\x18\x04 \x02(\x0e\x32#.livekit.proto.SoxResamplerDataType\x12=\n\x10output_data_type\x18\x05 \x02(\x0e\x32#.livekit.proto.SoxResamplerDataType\x12\x37\n\x0equality_recipe\x18\x06 \x02(\x0e\x32\x1f.livekit.proto.SoxQualityRecipe\x12\r\n\x05\x66lags\x18\x07 \x01(\r\"l\n\x17NewSoxResamplerResponse\x12\x35\n\tresampler\x18\x01 \x01(\x0b\x32 .livekit.proto.OwnedSoxResamplerH\x00\x12\x0f\n\x05\x65rror\x18\x02 \x01(\tH\x00\x42\t\n\x07message\"S\n\x17PushSoxResamplerRequest\x12\x18\n\x10resampler_handle\x18\x01 \x02(\x04\x12\x10\n\x08\x64\x61ta_ptr\x18\x02 \x02(\x04\x12\x0c\n\x04size\x18\x03 \x02(\r\"K\n\x18PushSoxResamplerResponse\x12\x12\n\noutput_ptr\x18\x01 \x02(\x04\x12\x0c\n\x04size\x18\x02 \x02(\r\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"4\n\x18\x46lushSoxResamplerRequest\x12\x18\n\x10resampler_handle\x18\x01 \x02(\x04\"L\n\x19\x46lushSoxResamplerResponse\x12\x12\n\noutput_ptr\x18\x01 \x02(\x04\x12\x0c\n\x04size\x18\x02 \x02(\r\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"p\n\x14\x41udioFrameBufferInfo\x12\x10\n\x08\x64\x61ta_ptr\x18\x01 \x02(\x04\x12\x14\n\x0cnum_channels\x18\x02 \x02(\r\x12\x13\n\x0bsample_rate\x18\x03 \x02(\r\x12\x1b\n\x13samples_per_channel\x18\x04 \x02(\r\"y\n\x15OwnedAudioFrameBuffer\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12\x31\n\x04info\x18\x02 \x02(\x0b\x32#.livekit.proto.AudioFrameBufferInfo\"?\n\x0f\x41udioStreamInfo\x12,\n\x04type\x18\x01 \x02(\x0e\x32\x1e.livekit.proto.AudioStreamType\"o\n\x10OwnedAudioStream\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12,\n\x04info\x18\x02 \x02(\x0b\x32\x1e.livekit.proto.AudioStreamInfo\"\x9f\x01\n\x10\x41udioStreamEvent\x12\x15\n\rstream_handle\x18\x01 \x02(\x04\x12;\n\x0e\x66rame_received\x18\x02 \x01(\x0b\x32!.livekit.proto.AudioFrameReceivedH\x00\x12,\n\x03\x65os\x18\x03 \x01(\x0b\x32\x1d.livekit.proto.AudioStreamEOSH\x00\x42\t\n\x07message\"I\n\x12\x41udioFrameReceived\x12\x33\n\x05\x66rame\x18\x01 \x02(\x0b\x32$.livekit.proto.OwnedAudioFrameBuffer\"\x10\n\x0e\x41udioStreamEOS\"e\n\x12\x41udioSourceOptions\x12\x19\n\x11\x65\x63ho_cancellation\x18\x01 \x02(\x08\x12\x19\n\x11noise_suppression\x18\x02 \x02(\x08\x12\x19\n\x11\x61uto_gain_control\x18\x03 \x02(\x08\"?\n\x0f\x41udioSourceInfo\x12,\n\x04type\x18\x02 \x02(\x0e\x32\x1e.livekit.proto.AudioSourceType\"o\n\x10OwnedAudioSource\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12,\n\x04info\x18\x02 \x02(\x0b\x32\x1e.livekit.proto.AudioSourceInfo\"\x14\n\x12\x41udioResamplerInfo\"u\n\x13OwnedAudioResampler\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12/\n\x04info\x18\x02 \x02(\x0b\x32!.livekit.proto.AudioResamplerInfo\"9\n\x08OwnedApm\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\"\x12\n\x10SoxResamplerInfo\"q\n\x11OwnedSoxResampler\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12-\n\x04info\x18\x02 \x02(\x0b\x32\x1f.livekit.proto.SoxResamplerInfo\"\\\n\x1cLoadAudioFilterPluginRequest\x12\x13\n\x0bplugin_path\x18\x01 \x02(\t\x12\x14\n\x0c\x64\x65pendencies\x18\x02 \x03(\t\x12\x11\n\tmodule_id\x18\x03 \x02(\t\".\n\x1dLoadAudioFilterPluginResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t*J\n\x14SoxResamplerDataType\x12\x18\n\x14SOXR_DATATYPE_INT16I\x10\x00\x12\x18\n\x14SOXR_DATATYPE_INT16S\x10\x01*\x8b\x01\n\x10SoxQualityRecipe\x12\x16\n\x12SOXR_QUALITY_QUICK\x10\x00\x12\x14\n\x10SOXR_QUALITY_LOW\x10\x01\x12\x17\n\x13SOXR_QUALITY_MEDIUM\x10\x02\x12\x15\n\x11SOXR_QUALITY_HIGH\x10\x03\x12\x19\n\x15SOXR_QUALITY_VERYHIGH\x10\x04*\x97\x01\n\x0bSoxFlagBits\x12\x16\n\x12SOXR_ROLLOFF_SMALL\x10\x00\x12\x17\n\x13SOXR_ROLLOFF_MEDIUM\x10\x01\x12\x15\n\x11SOXR_ROLLOFF_NONE\x10\x02\x12\x18\n\x14SOXR_HIGH_PREC_CLOCK\x10\x03\x12\x19\n\x15SOXR_DOUBLE_PRECISION\x10\x04\x12\x0b\n\x07SOXR_VR\x10\x05*A\n\x0f\x41udioStreamType\x12\x17\n\x13\x41UDIO_STREAM_NATIVE\x10\x00\x12\x15\n\x11\x41UDIO_STREAM_HTML\x10\x01**\n\x0f\x41udioSourceType\x12\x17\n\x13\x41UDIO_SOURCE_NATIVE\x10\x00\x42\x10\xaa\x02\rLiveKit.Proto') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11\x61udio_frame.proto\x12\rlivekit.proto\x1a\x0chandle.proto\x1a\x0btrack.proto\"\xdb\x01\n\x15NewAudioStreamRequest\x12\x14\n\x0ctrack_handle\x18\x01 \x02(\x04\x12,\n\x04type\x18\x02 \x02(\x0e\x32\x1e.livekit.proto.AudioStreamType\x12\x13\n\x0bsample_rate\x18\x03 \x01(\r\x12\x14\n\x0cnum_channels\x18\x04 \x01(\r\x12\x1e\n\x16\x61udio_filter_module_id\x18\x05 \x01(\t\x12\x1c\n\x14\x61udio_filter_options\x18\x06 \x01(\t\x12\x15\n\rframe_size_ms\x18\x07 \x01(\r\"I\n\x16NewAudioStreamResponse\x12/\n\x06stream\x18\x01 \x02(\x0b\x32\x1f.livekit.proto.OwnedAudioStream\"\x9f\x02\n!AudioStreamFromParticipantRequest\x12\x1a\n\x12participant_handle\x18\x01 \x02(\x04\x12,\n\x04type\x18\x02 \x02(\x0e\x32\x1e.livekit.proto.AudioStreamType\x12\x30\n\x0ctrack_source\x18\x03 \x01(\x0e\x32\x1a.livekit.proto.TrackSource\x12\x13\n\x0bsample_rate\x18\x05 \x01(\r\x12\x14\n\x0cnum_channels\x18\x06 \x01(\r\x12\x1e\n\x16\x61udio_filter_module_id\x18\x07 \x01(\t\x12\x1c\n\x14\x61udio_filter_options\x18\x08 \x01(\t\x12\x15\n\rframe_size_ms\x18\t \x01(\r\"U\n\"AudioStreamFromParticipantResponse\x12/\n\x06stream\x18\x01 \x02(\x0b\x32\x1f.livekit.proto.OwnedAudioStream\"\xbb\x01\n\x15NewAudioSourceRequest\x12,\n\x04type\x18\x01 \x02(\x0e\x32\x1e.livekit.proto.AudioSourceType\x12\x32\n\x07options\x18\x02 \x01(\x0b\x32!.livekit.proto.AudioSourceOptions\x12\x13\n\x0bsample_rate\x18\x03 \x02(\r\x12\x14\n\x0cnum_channels\x18\x04 \x02(\r\x12\x15\n\rqueue_size_ms\x18\x05 \x01(\r\"I\n\x16NewAudioSourceResponse\x12/\n\x06source\x18\x01 \x02(\x0b\x32\x1f.livekit.proto.OwnedAudioSource\"f\n\x18\x43\x61ptureAudioFrameRequest\x12\x15\n\rsource_handle\x18\x01 \x02(\x04\x12\x33\n\x06\x62uffer\x18\x02 \x02(\x0b\x32#.livekit.proto.AudioFrameBufferInfo\"-\n\x19\x43\x61ptureAudioFrameResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"<\n\x19\x43\x61ptureAudioFrameCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"0\n\x17\x43learAudioBufferRequest\x12\x15\n\rsource_handle\x18\x01 \x02(\x04\"\x1a\n\x18\x43learAudioBufferResponse\"\x1a\n\x18NewAudioResamplerRequest\"R\n\x19NewAudioResamplerResponse\x12\x35\n\tresampler\x18\x01 \x02(\x0b\x32\".livekit.proto.OwnedAudioResampler\"\x93\x01\n\x17RemixAndResampleRequest\x12\x18\n\x10resampler_handle\x18\x01 \x02(\x04\x12\x33\n\x06\x62uffer\x18\x02 \x02(\x0b\x32#.livekit.proto.AudioFrameBufferInfo\x12\x14\n\x0cnum_channels\x18\x03 \x02(\r\x12\x13\n\x0bsample_rate\x18\x04 \x02(\r\"P\n\x18RemixAndResampleResponse\x12\x34\n\x06\x62uffer\x18\x01 \x02(\x0b\x32$.livekit.proto.OwnedAudioFrameBuffer\"\x95\x01\n\rNewApmRequest\x12\x1e\n\x16\x65\x63ho_canceller_enabled\x18\x01 \x02(\x08\x12\x1f\n\x17gain_controller_enabled\x18\x02 \x02(\x08\x12 \n\x18high_pass_filter_enabled\x18\x03 \x02(\x08\x12!\n\x19noise_suppression_enabled\x18\x04 \x02(\x08\"6\n\x0eNewApmResponse\x12$\n\x03\x61pm\x18\x01 \x02(\x0b\x32\x17.livekit.proto.OwnedApm\"x\n\x17\x41pmProcessStreamRequest\x12\x12\n\napm_handle\x18\x01 \x02(\x04\x12\x10\n\x08\x64\x61ta_ptr\x18\x02 \x02(\x04\x12\x0c\n\x04size\x18\x03 \x02(\r\x12\x13\n\x0bsample_rate\x18\x04 \x02(\r\x12\x14\n\x0cnum_channels\x18\x05 \x02(\r\")\n\x18\x41pmProcessStreamResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\"\x7f\n\x1e\x41pmProcessReverseStreamRequest\x12\x12\n\napm_handle\x18\x01 \x02(\x04\x12\x10\n\x08\x64\x61ta_ptr\x18\x02 \x02(\x04\x12\x0c\n\x04size\x18\x03 \x02(\r\x12\x13\n\x0bsample_rate\x18\x04 \x02(\r\x12\x14\n\x0cnum_channels\x18\x05 \x02(\r\"0\n\x1f\x41pmProcessReverseStreamResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\"@\n\x18\x41pmSetStreamDelayRequest\x12\x12\n\napm_handle\x18\x01 \x02(\x04\x12\x10\n\x08\x64\x65lay_ms\x18\x02 \x02(\x05\"*\n\x19\x41pmSetStreamDelayResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\"\x9c\x02\n\x16NewSoxResamplerRequest\x12\x12\n\ninput_rate\x18\x01 \x02(\x01\x12\x13\n\x0boutput_rate\x18\x02 \x02(\x01\x12\x14\n\x0cnum_channels\x18\x03 \x02(\r\x12<\n\x0finput_data_type\x18\x04 \x02(\x0e\x32#.livekit.proto.SoxResamplerDataType\x12=\n\x10output_data_type\x18\x05 \x02(\x0e\x32#.livekit.proto.SoxResamplerDataType\x12\x37\n\x0equality_recipe\x18\x06 \x02(\x0e\x32\x1f.livekit.proto.SoxQualityRecipe\x12\r\n\x05\x66lags\x18\x07 \x01(\r\"l\n\x17NewSoxResamplerResponse\x12\x35\n\tresampler\x18\x01 \x01(\x0b\x32 .livekit.proto.OwnedSoxResamplerH\x00\x12\x0f\n\x05\x65rror\x18\x02 \x01(\tH\x00\x42\t\n\x07message\"S\n\x17PushSoxResamplerRequest\x12\x18\n\x10resampler_handle\x18\x01 \x02(\x04\x12\x10\n\x08\x64\x61ta_ptr\x18\x02 \x02(\x04\x12\x0c\n\x04size\x18\x03 \x02(\r\"K\n\x18PushSoxResamplerResponse\x12\x12\n\noutput_ptr\x18\x01 \x02(\x04\x12\x0c\n\x04size\x18\x02 \x02(\r\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"4\n\x18\x46lushSoxResamplerRequest\x12\x18\n\x10resampler_handle\x18\x01 \x02(\x04\"L\n\x19\x46lushSoxResamplerResponse\x12\x12\n\noutput_ptr\x18\x01 \x02(\x04\x12\x0c\n\x04size\x18\x02 \x02(\r\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"p\n\x14\x41udioFrameBufferInfo\x12\x10\n\x08\x64\x61ta_ptr\x18\x01 \x02(\x04\x12\x14\n\x0cnum_channels\x18\x02 \x02(\r\x12\x13\n\x0bsample_rate\x18\x03 \x02(\r\x12\x1b\n\x13samples_per_channel\x18\x04 \x02(\r\"y\n\x15OwnedAudioFrameBuffer\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12\x31\n\x04info\x18\x02 \x02(\x0b\x32#.livekit.proto.AudioFrameBufferInfo\"?\n\x0f\x41udioStreamInfo\x12,\n\x04type\x18\x01 \x02(\x0e\x32\x1e.livekit.proto.AudioStreamType\"o\n\x10OwnedAudioStream\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12,\n\x04info\x18\x02 \x02(\x0b\x32\x1e.livekit.proto.AudioStreamInfo\"\x9f\x01\n\x10\x41udioStreamEvent\x12\x15\n\rstream_handle\x18\x01 \x02(\x04\x12;\n\x0e\x66rame_received\x18\x02 \x01(\x0b\x32!.livekit.proto.AudioFrameReceivedH\x00\x12,\n\x03\x65os\x18\x03 \x01(\x0b\x32\x1d.livekit.proto.AudioStreamEOSH\x00\x42\t\n\x07message\"I\n\x12\x41udioFrameReceived\x12\x33\n\x05\x66rame\x18\x01 \x02(\x0b\x32$.livekit.proto.OwnedAudioFrameBuffer\"\x10\n\x0e\x41udioStreamEOS\"e\n\x12\x41udioSourceOptions\x12\x19\n\x11\x65\x63ho_cancellation\x18\x01 \x02(\x08\x12\x19\n\x11noise_suppression\x18\x02 \x02(\x08\x12\x19\n\x11\x61uto_gain_control\x18\x03 \x02(\x08\"?\n\x0f\x41udioSourceInfo\x12,\n\x04type\x18\x02 \x02(\x0e\x32\x1e.livekit.proto.AudioSourceType\"o\n\x10OwnedAudioSource\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12,\n\x04info\x18\x02 \x02(\x0b\x32\x1e.livekit.proto.AudioSourceInfo\"\x14\n\x12\x41udioResamplerInfo\"u\n\x13OwnedAudioResampler\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12/\n\x04info\x18\x02 \x02(\x0b\x32!.livekit.proto.AudioResamplerInfo\"9\n\x08OwnedApm\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\"\x12\n\x10SoxResamplerInfo\"q\n\x11OwnedSoxResampler\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12-\n\x04info\x18\x02 \x02(\x0b\x32\x1f.livekit.proto.SoxResamplerInfo\"\\\n\x1cLoadAudioFilterPluginRequest\x12\x13\n\x0bplugin_path\x18\x01 \x02(\t\x12\x14\n\x0c\x64\x65pendencies\x18\x02 \x03(\t\x12\x11\n\tmodule_id\x18\x03 \x02(\t\".\n\x1dLoadAudioFilterPluginResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t*J\n\x14SoxResamplerDataType\x12\x18\n\x14SOXR_DATATYPE_INT16I\x10\x00\x12\x18\n\x14SOXR_DATATYPE_INT16S\x10\x01*\x8b\x01\n\x10SoxQualityRecipe\x12\x16\n\x12SOXR_QUALITY_QUICK\x10\x00\x12\x14\n\x10SOXR_QUALITY_LOW\x10\x01\x12\x17\n\x13SOXR_QUALITY_MEDIUM\x10\x02\x12\x15\n\x11SOXR_QUALITY_HIGH\x10\x03\x12\x19\n\x15SOXR_QUALITY_VERYHIGH\x10\x04*\x97\x01\n\x0bSoxFlagBits\x12\x16\n\x12SOXR_ROLLOFF_SMALL\x10\x00\x12\x17\n\x13SOXR_ROLLOFF_MEDIUM\x10\x01\x12\x15\n\x11SOXR_ROLLOFF_NONE\x10\x02\x12\x18\n\x14SOXR_HIGH_PREC_CLOCK\x10\x03\x12\x19\n\x15SOXR_DOUBLE_PRECISION\x10\x04\x12\x0b\n\x07SOXR_VR\x10\x05*A\n\x0f\x41udioStreamType\x12\x17\n\x13\x41UDIO_STREAM_NATIVE\x10\x00\x12\x15\n\x11\x41UDIO_STREAM_HTML\x10\x01**\n\x0f\x41udioSourceType\x12\x17\n\x13\x41UDIO_SOURCE_NATIVE\x10\x00\x42\x10\xaa\x02\rLiveKit.Proto') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -24,106 +24,106 @@ if _descriptor._USE_C_DESCRIPTORS == False: _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' - _globals['_SOXRESAMPLERDATATYPE']._serialized_start=4372 - _globals['_SOXRESAMPLERDATATYPE']._serialized_end=4446 - _globals['_SOXQUALITYRECIPE']._serialized_start=4449 - _globals['_SOXQUALITYRECIPE']._serialized_end=4588 - _globals['_SOXFLAGBITS']._serialized_start=4591 - _globals['_SOXFLAGBITS']._serialized_end=4742 - _globals['_AUDIOSTREAMTYPE']._serialized_start=4744 - _globals['_AUDIOSTREAMTYPE']._serialized_end=4809 - _globals['_AUDIOSOURCETYPE']._serialized_start=4811 - _globals['_AUDIOSOURCETYPE']._serialized_end=4853 + _globals['_SOXRESAMPLERDATATYPE']._serialized_start=4418 + _globals['_SOXRESAMPLERDATATYPE']._serialized_end=4492 + _globals['_SOXQUALITYRECIPE']._serialized_start=4495 + _globals['_SOXQUALITYRECIPE']._serialized_end=4634 + _globals['_SOXFLAGBITS']._serialized_start=4637 + _globals['_SOXFLAGBITS']._serialized_end=4788 + _globals['_AUDIOSTREAMTYPE']._serialized_start=4790 + _globals['_AUDIOSTREAMTYPE']._serialized_end=4855 + _globals['_AUDIOSOURCETYPE']._serialized_start=4857 + _globals['_AUDIOSOURCETYPE']._serialized_end=4899 _globals['_NEWAUDIOSTREAMREQUEST']._serialized_start=64 - _globals['_NEWAUDIOSTREAMREQUEST']._serialized_end=260 - _globals['_NEWAUDIOSTREAMRESPONSE']._serialized_start=262 - _globals['_NEWAUDIOSTREAMRESPONSE']._serialized_end=335 - _globals['_AUDIOSTREAMFROMPARTICIPANTREQUEST']._serialized_start=338 - _globals['_AUDIOSTREAMFROMPARTICIPANTREQUEST']._serialized_end=602 - _globals['_AUDIOSTREAMFROMPARTICIPANTRESPONSE']._serialized_start=604 - _globals['_AUDIOSTREAMFROMPARTICIPANTRESPONSE']._serialized_end=689 - _globals['_NEWAUDIOSOURCEREQUEST']._serialized_start=692 - _globals['_NEWAUDIOSOURCEREQUEST']._serialized_end=879 - _globals['_NEWAUDIOSOURCERESPONSE']._serialized_start=881 - _globals['_NEWAUDIOSOURCERESPONSE']._serialized_end=954 - _globals['_CAPTUREAUDIOFRAMEREQUEST']._serialized_start=956 - _globals['_CAPTUREAUDIOFRAMEREQUEST']._serialized_end=1058 - _globals['_CAPTUREAUDIOFRAMERESPONSE']._serialized_start=1060 - _globals['_CAPTUREAUDIOFRAMERESPONSE']._serialized_end=1105 - _globals['_CAPTUREAUDIOFRAMECALLBACK']._serialized_start=1107 - _globals['_CAPTUREAUDIOFRAMECALLBACK']._serialized_end=1167 - _globals['_CLEARAUDIOBUFFERREQUEST']._serialized_start=1169 - _globals['_CLEARAUDIOBUFFERREQUEST']._serialized_end=1217 - _globals['_CLEARAUDIOBUFFERRESPONSE']._serialized_start=1219 - _globals['_CLEARAUDIOBUFFERRESPONSE']._serialized_end=1245 - _globals['_NEWAUDIORESAMPLERREQUEST']._serialized_start=1247 - _globals['_NEWAUDIORESAMPLERREQUEST']._serialized_end=1273 - _globals['_NEWAUDIORESAMPLERRESPONSE']._serialized_start=1275 - _globals['_NEWAUDIORESAMPLERRESPONSE']._serialized_end=1357 - _globals['_REMIXANDRESAMPLEREQUEST']._serialized_start=1360 - _globals['_REMIXANDRESAMPLEREQUEST']._serialized_end=1507 - _globals['_REMIXANDRESAMPLERESPONSE']._serialized_start=1509 - _globals['_REMIXANDRESAMPLERESPONSE']._serialized_end=1589 - _globals['_NEWAPMREQUEST']._serialized_start=1592 - _globals['_NEWAPMREQUEST']._serialized_end=1741 - _globals['_NEWAPMRESPONSE']._serialized_start=1743 - _globals['_NEWAPMRESPONSE']._serialized_end=1797 - _globals['_APMPROCESSSTREAMREQUEST']._serialized_start=1799 - _globals['_APMPROCESSSTREAMREQUEST']._serialized_end=1919 - _globals['_APMPROCESSSTREAMRESPONSE']._serialized_start=1921 - _globals['_APMPROCESSSTREAMRESPONSE']._serialized_end=1962 - _globals['_APMPROCESSREVERSESTREAMREQUEST']._serialized_start=1964 - _globals['_APMPROCESSREVERSESTREAMREQUEST']._serialized_end=2091 - _globals['_APMPROCESSREVERSESTREAMRESPONSE']._serialized_start=2093 - _globals['_APMPROCESSREVERSESTREAMRESPONSE']._serialized_end=2141 - _globals['_APMSETSTREAMDELAYREQUEST']._serialized_start=2143 - _globals['_APMSETSTREAMDELAYREQUEST']._serialized_end=2207 - _globals['_APMSETSTREAMDELAYRESPONSE']._serialized_start=2209 - _globals['_APMSETSTREAMDELAYRESPONSE']._serialized_end=2251 - _globals['_NEWSOXRESAMPLERREQUEST']._serialized_start=2254 - _globals['_NEWSOXRESAMPLERREQUEST']._serialized_end=2538 - _globals['_NEWSOXRESAMPLERRESPONSE']._serialized_start=2540 - _globals['_NEWSOXRESAMPLERRESPONSE']._serialized_end=2648 - _globals['_PUSHSOXRESAMPLERREQUEST']._serialized_start=2650 - _globals['_PUSHSOXRESAMPLERREQUEST']._serialized_end=2733 - _globals['_PUSHSOXRESAMPLERRESPONSE']._serialized_start=2735 - _globals['_PUSHSOXRESAMPLERRESPONSE']._serialized_end=2810 - _globals['_FLUSHSOXRESAMPLERREQUEST']._serialized_start=2812 - _globals['_FLUSHSOXRESAMPLERREQUEST']._serialized_end=2864 - _globals['_FLUSHSOXRESAMPLERRESPONSE']._serialized_start=2866 - _globals['_FLUSHSOXRESAMPLERRESPONSE']._serialized_end=2942 - _globals['_AUDIOFRAMEBUFFERINFO']._serialized_start=2944 - _globals['_AUDIOFRAMEBUFFERINFO']._serialized_end=3056 - _globals['_OWNEDAUDIOFRAMEBUFFER']._serialized_start=3058 - _globals['_OWNEDAUDIOFRAMEBUFFER']._serialized_end=3179 - _globals['_AUDIOSTREAMINFO']._serialized_start=3181 - _globals['_AUDIOSTREAMINFO']._serialized_end=3244 - _globals['_OWNEDAUDIOSTREAM']._serialized_start=3246 - _globals['_OWNEDAUDIOSTREAM']._serialized_end=3357 - _globals['_AUDIOSTREAMEVENT']._serialized_start=3360 - _globals['_AUDIOSTREAMEVENT']._serialized_end=3519 - _globals['_AUDIOFRAMERECEIVED']._serialized_start=3521 - _globals['_AUDIOFRAMERECEIVED']._serialized_end=3594 - _globals['_AUDIOSTREAMEOS']._serialized_start=3596 - _globals['_AUDIOSTREAMEOS']._serialized_end=3612 - _globals['_AUDIOSOURCEOPTIONS']._serialized_start=3614 - _globals['_AUDIOSOURCEOPTIONS']._serialized_end=3715 - _globals['_AUDIOSOURCEINFO']._serialized_start=3717 - _globals['_AUDIOSOURCEINFO']._serialized_end=3780 - _globals['_OWNEDAUDIOSOURCE']._serialized_start=3782 - _globals['_OWNEDAUDIOSOURCE']._serialized_end=3893 - _globals['_AUDIORESAMPLERINFO']._serialized_start=3895 - _globals['_AUDIORESAMPLERINFO']._serialized_end=3915 - _globals['_OWNEDAUDIORESAMPLER']._serialized_start=3917 - _globals['_OWNEDAUDIORESAMPLER']._serialized_end=4034 - _globals['_OWNEDAPM']._serialized_start=4036 - _globals['_OWNEDAPM']._serialized_end=4093 - _globals['_SOXRESAMPLERINFO']._serialized_start=4095 - _globals['_SOXRESAMPLERINFO']._serialized_end=4113 - _globals['_OWNEDSOXRESAMPLER']._serialized_start=4115 - _globals['_OWNEDSOXRESAMPLER']._serialized_end=4228 - _globals['_LOADAUDIOFILTERPLUGINREQUEST']._serialized_start=4230 - _globals['_LOADAUDIOFILTERPLUGINREQUEST']._serialized_end=4322 - _globals['_LOADAUDIOFILTERPLUGINRESPONSE']._serialized_start=4324 - _globals['_LOADAUDIOFILTERPLUGINRESPONSE']._serialized_end=4370 + _globals['_NEWAUDIOSTREAMREQUEST']._serialized_end=283 + _globals['_NEWAUDIOSTREAMRESPONSE']._serialized_start=285 + _globals['_NEWAUDIOSTREAMRESPONSE']._serialized_end=358 + _globals['_AUDIOSTREAMFROMPARTICIPANTREQUEST']._serialized_start=361 + _globals['_AUDIOSTREAMFROMPARTICIPANTREQUEST']._serialized_end=648 + _globals['_AUDIOSTREAMFROMPARTICIPANTRESPONSE']._serialized_start=650 + _globals['_AUDIOSTREAMFROMPARTICIPANTRESPONSE']._serialized_end=735 + _globals['_NEWAUDIOSOURCEREQUEST']._serialized_start=738 + _globals['_NEWAUDIOSOURCEREQUEST']._serialized_end=925 + _globals['_NEWAUDIOSOURCERESPONSE']._serialized_start=927 + _globals['_NEWAUDIOSOURCERESPONSE']._serialized_end=1000 + _globals['_CAPTUREAUDIOFRAMEREQUEST']._serialized_start=1002 + _globals['_CAPTUREAUDIOFRAMEREQUEST']._serialized_end=1104 + _globals['_CAPTUREAUDIOFRAMERESPONSE']._serialized_start=1106 + _globals['_CAPTUREAUDIOFRAMERESPONSE']._serialized_end=1151 + _globals['_CAPTUREAUDIOFRAMECALLBACK']._serialized_start=1153 + _globals['_CAPTUREAUDIOFRAMECALLBACK']._serialized_end=1213 + _globals['_CLEARAUDIOBUFFERREQUEST']._serialized_start=1215 + _globals['_CLEARAUDIOBUFFERREQUEST']._serialized_end=1263 + _globals['_CLEARAUDIOBUFFERRESPONSE']._serialized_start=1265 + _globals['_CLEARAUDIOBUFFERRESPONSE']._serialized_end=1291 + _globals['_NEWAUDIORESAMPLERREQUEST']._serialized_start=1293 + _globals['_NEWAUDIORESAMPLERREQUEST']._serialized_end=1319 + _globals['_NEWAUDIORESAMPLERRESPONSE']._serialized_start=1321 + _globals['_NEWAUDIORESAMPLERRESPONSE']._serialized_end=1403 + _globals['_REMIXANDRESAMPLEREQUEST']._serialized_start=1406 + _globals['_REMIXANDRESAMPLEREQUEST']._serialized_end=1553 + _globals['_REMIXANDRESAMPLERESPONSE']._serialized_start=1555 + _globals['_REMIXANDRESAMPLERESPONSE']._serialized_end=1635 + _globals['_NEWAPMREQUEST']._serialized_start=1638 + _globals['_NEWAPMREQUEST']._serialized_end=1787 + _globals['_NEWAPMRESPONSE']._serialized_start=1789 + _globals['_NEWAPMRESPONSE']._serialized_end=1843 + _globals['_APMPROCESSSTREAMREQUEST']._serialized_start=1845 + _globals['_APMPROCESSSTREAMREQUEST']._serialized_end=1965 + _globals['_APMPROCESSSTREAMRESPONSE']._serialized_start=1967 + _globals['_APMPROCESSSTREAMRESPONSE']._serialized_end=2008 + _globals['_APMPROCESSREVERSESTREAMREQUEST']._serialized_start=2010 + _globals['_APMPROCESSREVERSESTREAMREQUEST']._serialized_end=2137 + _globals['_APMPROCESSREVERSESTREAMRESPONSE']._serialized_start=2139 + _globals['_APMPROCESSREVERSESTREAMRESPONSE']._serialized_end=2187 + _globals['_APMSETSTREAMDELAYREQUEST']._serialized_start=2189 + _globals['_APMSETSTREAMDELAYREQUEST']._serialized_end=2253 + _globals['_APMSETSTREAMDELAYRESPONSE']._serialized_start=2255 + _globals['_APMSETSTREAMDELAYRESPONSE']._serialized_end=2297 + _globals['_NEWSOXRESAMPLERREQUEST']._serialized_start=2300 + _globals['_NEWSOXRESAMPLERREQUEST']._serialized_end=2584 + _globals['_NEWSOXRESAMPLERRESPONSE']._serialized_start=2586 + _globals['_NEWSOXRESAMPLERRESPONSE']._serialized_end=2694 + _globals['_PUSHSOXRESAMPLERREQUEST']._serialized_start=2696 + _globals['_PUSHSOXRESAMPLERREQUEST']._serialized_end=2779 + _globals['_PUSHSOXRESAMPLERRESPONSE']._serialized_start=2781 + _globals['_PUSHSOXRESAMPLERRESPONSE']._serialized_end=2856 + _globals['_FLUSHSOXRESAMPLERREQUEST']._serialized_start=2858 + _globals['_FLUSHSOXRESAMPLERREQUEST']._serialized_end=2910 + _globals['_FLUSHSOXRESAMPLERRESPONSE']._serialized_start=2912 + _globals['_FLUSHSOXRESAMPLERRESPONSE']._serialized_end=2988 + _globals['_AUDIOFRAMEBUFFERINFO']._serialized_start=2990 + _globals['_AUDIOFRAMEBUFFERINFO']._serialized_end=3102 + _globals['_OWNEDAUDIOFRAMEBUFFER']._serialized_start=3104 + _globals['_OWNEDAUDIOFRAMEBUFFER']._serialized_end=3225 + _globals['_AUDIOSTREAMINFO']._serialized_start=3227 + _globals['_AUDIOSTREAMINFO']._serialized_end=3290 + _globals['_OWNEDAUDIOSTREAM']._serialized_start=3292 + _globals['_OWNEDAUDIOSTREAM']._serialized_end=3403 + _globals['_AUDIOSTREAMEVENT']._serialized_start=3406 + _globals['_AUDIOSTREAMEVENT']._serialized_end=3565 + _globals['_AUDIOFRAMERECEIVED']._serialized_start=3567 + _globals['_AUDIOFRAMERECEIVED']._serialized_end=3640 + _globals['_AUDIOSTREAMEOS']._serialized_start=3642 + _globals['_AUDIOSTREAMEOS']._serialized_end=3658 + _globals['_AUDIOSOURCEOPTIONS']._serialized_start=3660 + _globals['_AUDIOSOURCEOPTIONS']._serialized_end=3761 + _globals['_AUDIOSOURCEINFO']._serialized_start=3763 + _globals['_AUDIOSOURCEINFO']._serialized_end=3826 + _globals['_OWNEDAUDIOSOURCE']._serialized_start=3828 + _globals['_OWNEDAUDIOSOURCE']._serialized_end=3939 + _globals['_AUDIORESAMPLERINFO']._serialized_start=3941 + _globals['_AUDIORESAMPLERINFO']._serialized_end=3961 + _globals['_OWNEDAUDIORESAMPLER']._serialized_start=3963 + _globals['_OWNEDAUDIORESAMPLER']._serialized_end=4080 + _globals['_OWNEDAPM']._serialized_start=4082 + _globals['_OWNEDAPM']._serialized_end=4139 + _globals['_SOXRESAMPLERINFO']._serialized_start=4141 + _globals['_SOXRESAMPLERINFO']._serialized_end=4159 + _globals['_OWNEDSOXRESAMPLER']._serialized_start=4161 + _globals['_OWNEDSOXRESAMPLER']._serialized_end=4274 + _globals['_LOADAUDIOFILTERPLUGINREQUEST']._serialized_start=4276 + _globals['_LOADAUDIOFILTERPLUGINREQUEST']._serialized_end=4368 + _globals['_LOADAUDIOFILTERPLUGINRESPONSE']._serialized_start=4370 + _globals['_LOADAUDIOFILTERPLUGINRESPONSE']._serialized_end=4416 # @@protoc_insertion_point(module_scope) diff --git a/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.pyi index 61cb067b..03a79033 100644 --- a/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.pyi @@ -152,6 +152,7 @@ class NewAudioStreamRequest(google.protobuf.message.Message): NUM_CHANNELS_FIELD_NUMBER: builtins.int AUDIO_FILTER_MODULE_ID_FIELD_NUMBER: builtins.int AUDIO_FILTER_OPTIONS_FIELD_NUMBER: builtins.int + FRAME_SIZE_MS_FIELD_NUMBER: builtins.int track_handle: builtins.int type: global___AudioStreamType.ValueType sample_rate: builtins.int @@ -159,6 +160,7 @@ class NewAudioStreamRequest(google.protobuf.message.Message): audio_filter_module_id: builtins.str """Unique identifier passed in LoadAudioFilterPluginRequest""" audio_filter_options: builtins.str + frame_size_ms: builtins.int def __init__( self, *, @@ -168,9 +170,10 @@ class NewAudioStreamRequest(google.protobuf.message.Message): num_channels: builtins.int | None = ..., audio_filter_module_id: builtins.str | None = ..., audio_filter_options: builtins.str | None = ..., + frame_size_ms: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["audio_filter_module_id", b"audio_filter_module_id", "audio_filter_options", b"audio_filter_options", "num_channels", b"num_channels", "sample_rate", b"sample_rate", "track_handle", b"track_handle", "type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["audio_filter_module_id", b"audio_filter_module_id", "audio_filter_options", b"audio_filter_options", "num_channels", b"num_channels", "sample_rate", b"sample_rate", "track_handle", b"track_handle", "type", b"type"]) -> None: ... + def HasField(self, field_name: typing.Literal["audio_filter_module_id", b"audio_filter_module_id", "audio_filter_options", b"audio_filter_options", "frame_size_ms", b"frame_size_ms", "num_channels", b"num_channels", "sample_rate", b"sample_rate", "track_handle", b"track_handle", "type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["audio_filter_module_id", b"audio_filter_module_id", "audio_filter_options", b"audio_filter_options", "frame_size_ms", b"frame_size_ms", "num_channels", b"num_channels", "sample_rate", b"sample_rate", "track_handle", b"track_handle", "type", b"type"]) -> None: ... global___NewAudioStreamRequest = NewAudioStreamRequest @@ -202,6 +205,7 @@ class AudioStreamFromParticipantRequest(google.protobuf.message.Message): NUM_CHANNELS_FIELD_NUMBER: builtins.int AUDIO_FILTER_MODULE_ID_FIELD_NUMBER: builtins.int AUDIO_FILTER_OPTIONS_FIELD_NUMBER: builtins.int + FRAME_SIZE_MS_FIELD_NUMBER: builtins.int participant_handle: builtins.int type: global___AudioStreamType.ValueType track_source: track_pb2.TrackSource.ValueType @@ -209,6 +213,7 @@ class AudioStreamFromParticipantRequest(google.protobuf.message.Message): num_channels: builtins.int audio_filter_module_id: builtins.str audio_filter_options: builtins.str + frame_size_ms: builtins.int def __init__( self, *, @@ -219,9 +224,10 @@ class AudioStreamFromParticipantRequest(google.protobuf.message.Message): num_channels: builtins.int | None = ..., audio_filter_module_id: builtins.str | None = ..., audio_filter_options: builtins.str | None = ..., + frame_size_ms: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["audio_filter_module_id", b"audio_filter_module_id", "audio_filter_options", b"audio_filter_options", "num_channels", b"num_channels", "participant_handle", b"participant_handle", "sample_rate", b"sample_rate", "track_source", b"track_source", "type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["audio_filter_module_id", b"audio_filter_module_id", "audio_filter_options", b"audio_filter_options", "num_channels", b"num_channels", "participant_handle", b"participant_handle", "sample_rate", b"sample_rate", "track_source", b"track_source", "type", b"type"]) -> None: ... + def HasField(self, field_name: typing.Literal["audio_filter_module_id", b"audio_filter_module_id", "audio_filter_options", b"audio_filter_options", "frame_size_ms", b"frame_size_ms", "num_channels", b"num_channels", "participant_handle", b"participant_handle", "sample_rate", b"sample_rate", "track_source", b"track_source", "type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["audio_filter_module_id", b"audio_filter_module_id", "audio_filter_options", b"audio_filter_options", "frame_size_ms", b"frame_size_ms", "num_channels", b"num_channels", "participant_handle", b"participant_handle", "sample_rate", b"sample_rate", "track_source", b"track_source", "type", b"type"]) -> None: ... global___AudioStreamFromParticipantRequest = AudioStreamFromParticipantRequest diff --git a/livekit-rtc/livekit/rtc/audio_stream.py b/livekit-rtc/livekit/rtc/audio_stream.py index b06f05d4..f6c82e41 100644 --- a/livekit-rtc/livekit/rtc/audio_stream.py +++ b/livekit-rtc/livekit/rtc/audio_stream.py @@ -61,6 +61,7 @@ def __init__( capacity: int = 0, sample_rate: int = 48000, num_channels: int = 1, + frame_size_ms: int | None = None, noise_cancellation: Optional[NoiseCancellationOptions] = None, **kwargs, ) -> None: @@ -97,6 +98,7 @@ def __init__( self._track: Track | None = track self._sample_rate = sample_rate self._num_channels = num_channels + self._frame_size_ms = frame_size_ms self._loop = loop or asyncio.get_event_loop() self._ffi_queue = FfiClient.instance.queue.subscribe(self._loop) self._queue: RingQueue[AudioFrameEvent | None] = RingQueue(capacity) @@ -129,6 +131,7 @@ def from_participant( capacity: int = 0, sample_rate: int = 48000, num_channels: int = 1, + frame_size_ms: int | None = None, noise_cancellation: Optional[NoiseCancellationOptions] = None, ) -> AudioStream: """Create an `AudioStream` from a participant's audio track. @@ -166,6 +169,7 @@ def from_participant( sample_rate=sample_rate, num_channels=num_channels, noise_cancellation=noise_cancellation, + frame_size_ms=frame_size_ms, ) @classmethod @@ -177,6 +181,7 @@ def from_track( capacity: int = 0, sample_rate: int = 48000, num_channels: int = 1, + frame_size_ms: int | None = None, noise_cancellation: Optional[NoiseCancellationOptions] = None, ) -> AudioStream: """Create an `AudioStream` from an existing audio track. @@ -210,6 +215,7 @@ def from_track( sample_rate=sample_rate, num_channels=num_channels, noise_cancellation=noise_cancellation, + frame_size_ms=frame_size_ms, ) def __del__(self) -> None: @@ -222,6 +228,7 @@ def _create_owned_stream(self) -> Any: new_audio_stream.track_handle = self._track._ffi_handle.handle new_audio_stream.sample_rate = self._sample_rate new_audio_stream.num_channels = self._num_channels + new_audio_stream.frame_size_ms = self._frame_size_ms new_audio_stream.type = proto_audio_frame.AudioStreamType.AUDIO_STREAM_NATIVE if self._audio_filter_module is not None: new_audio_stream.audio_filter_module_id = self._audio_filter_module @@ -240,6 +247,7 @@ def _create_owned_stream_from_participant( audio_stream_from_participant.num_channels = self._num_channels audio_stream_from_participant.type = proto_audio_frame.AudioStreamType.AUDIO_STREAM_NATIVE audio_stream_from_participant.track_source = track_source + audio_stream_from_participant.frame_size_ms = self._frame_size_ms if self._audio_filter_module is not None: audio_stream_from_participant.audio_filter_module_id = self._audio_filter_module if self._audio_filter_options is not None: From dd70417afdb5d3dd349dfe62a5d671c534ff915c Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 10 Jun 2025 15:44:48 +0000 Subject: [PATCH 2/4] generated protobuf --- .../livekit/rtc/_proto/audio_frame_pb2.py | 204 +++++++++--------- .../livekit/rtc/_proto/audio_frame_pb2.pyi | 14 +- 2 files changed, 106 insertions(+), 112 deletions(-) diff --git a/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.py b/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.py index 0c7c5a8c..166112ad 100644 --- a/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.py @@ -16,7 +16,7 @@ from . import track_pb2 as track__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11\x61udio_frame.proto\x12\rlivekit.proto\x1a\x0chandle.proto\x1a\x0btrack.proto\"\xdb\x01\n\x15NewAudioStreamRequest\x12\x14\n\x0ctrack_handle\x18\x01 \x02(\x04\x12,\n\x04type\x18\x02 \x02(\x0e\x32\x1e.livekit.proto.AudioStreamType\x12\x13\n\x0bsample_rate\x18\x03 \x01(\r\x12\x14\n\x0cnum_channels\x18\x04 \x01(\r\x12\x1e\n\x16\x61udio_filter_module_id\x18\x05 \x01(\t\x12\x1c\n\x14\x61udio_filter_options\x18\x06 \x01(\t\x12\x15\n\rframe_size_ms\x18\x07 \x01(\r\"I\n\x16NewAudioStreamResponse\x12/\n\x06stream\x18\x01 \x02(\x0b\x32\x1f.livekit.proto.OwnedAudioStream\"\x9f\x02\n!AudioStreamFromParticipantRequest\x12\x1a\n\x12participant_handle\x18\x01 \x02(\x04\x12,\n\x04type\x18\x02 \x02(\x0e\x32\x1e.livekit.proto.AudioStreamType\x12\x30\n\x0ctrack_source\x18\x03 \x01(\x0e\x32\x1a.livekit.proto.TrackSource\x12\x13\n\x0bsample_rate\x18\x05 \x01(\r\x12\x14\n\x0cnum_channels\x18\x06 \x01(\r\x12\x1e\n\x16\x61udio_filter_module_id\x18\x07 \x01(\t\x12\x1c\n\x14\x61udio_filter_options\x18\x08 \x01(\t\x12\x15\n\rframe_size_ms\x18\t \x01(\r\"U\n\"AudioStreamFromParticipantResponse\x12/\n\x06stream\x18\x01 \x02(\x0b\x32\x1f.livekit.proto.OwnedAudioStream\"\xbb\x01\n\x15NewAudioSourceRequest\x12,\n\x04type\x18\x01 \x02(\x0e\x32\x1e.livekit.proto.AudioSourceType\x12\x32\n\x07options\x18\x02 \x01(\x0b\x32!.livekit.proto.AudioSourceOptions\x12\x13\n\x0bsample_rate\x18\x03 \x02(\r\x12\x14\n\x0cnum_channels\x18\x04 \x02(\r\x12\x15\n\rqueue_size_ms\x18\x05 \x01(\r\"I\n\x16NewAudioSourceResponse\x12/\n\x06source\x18\x01 \x02(\x0b\x32\x1f.livekit.proto.OwnedAudioSource\"f\n\x18\x43\x61ptureAudioFrameRequest\x12\x15\n\rsource_handle\x18\x01 \x02(\x04\x12\x33\n\x06\x62uffer\x18\x02 \x02(\x0b\x32#.livekit.proto.AudioFrameBufferInfo\"-\n\x19\x43\x61ptureAudioFrameResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"<\n\x19\x43\x61ptureAudioFrameCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"0\n\x17\x43learAudioBufferRequest\x12\x15\n\rsource_handle\x18\x01 \x02(\x04\"\x1a\n\x18\x43learAudioBufferResponse\"\x1a\n\x18NewAudioResamplerRequest\"R\n\x19NewAudioResamplerResponse\x12\x35\n\tresampler\x18\x01 \x02(\x0b\x32\".livekit.proto.OwnedAudioResampler\"\x93\x01\n\x17RemixAndResampleRequest\x12\x18\n\x10resampler_handle\x18\x01 \x02(\x04\x12\x33\n\x06\x62uffer\x18\x02 \x02(\x0b\x32#.livekit.proto.AudioFrameBufferInfo\x12\x14\n\x0cnum_channels\x18\x03 \x02(\r\x12\x13\n\x0bsample_rate\x18\x04 \x02(\r\"P\n\x18RemixAndResampleResponse\x12\x34\n\x06\x62uffer\x18\x01 \x02(\x0b\x32$.livekit.proto.OwnedAudioFrameBuffer\"\x95\x01\n\rNewApmRequest\x12\x1e\n\x16\x65\x63ho_canceller_enabled\x18\x01 \x02(\x08\x12\x1f\n\x17gain_controller_enabled\x18\x02 \x02(\x08\x12 \n\x18high_pass_filter_enabled\x18\x03 \x02(\x08\x12!\n\x19noise_suppression_enabled\x18\x04 \x02(\x08\"6\n\x0eNewApmResponse\x12$\n\x03\x61pm\x18\x01 \x02(\x0b\x32\x17.livekit.proto.OwnedApm\"x\n\x17\x41pmProcessStreamRequest\x12\x12\n\napm_handle\x18\x01 \x02(\x04\x12\x10\n\x08\x64\x61ta_ptr\x18\x02 \x02(\x04\x12\x0c\n\x04size\x18\x03 \x02(\r\x12\x13\n\x0bsample_rate\x18\x04 \x02(\r\x12\x14\n\x0cnum_channels\x18\x05 \x02(\r\")\n\x18\x41pmProcessStreamResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\"\x7f\n\x1e\x41pmProcessReverseStreamRequest\x12\x12\n\napm_handle\x18\x01 \x02(\x04\x12\x10\n\x08\x64\x61ta_ptr\x18\x02 \x02(\x04\x12\x0c\n\x04size\x18\x03 \x02(\r\x12\x13\n\x0bsample_rate\x18\x04 \x02(\r\x12\x14\n\x0cnum_channels\x18\x05 \x02(\r\"0\n\x1f\x41pmProcessReverseStreamResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\"@\n\x18\x41pmSetStreamDelayRequest\x12\x12\n\napm_handle\x18\x01 \x02(\x04\x12\x10\n\x08\x64\x65lay_ms\x18\x02 \x02(\x05\"*\n\x19\x41pmSetStreamDelayResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\"\x9c\x02\n\x16NewSoxResamplerRequest\x12\x12\n\ninput_rate\x18\x01 \x02(\x01\x12\x13\n\x0boutput_rate\x18\x02 \x02(\x01\x12\x14\n\x0cnum_channels\x18\x03 \x02(\r\x12<\n\x0finput_data_type\x18\x04 \x02(\x0e\x32#.livekit.proto.SoxResamplerDataType\x12=\n\x10output_data_type\x18\x05 \x02(\x0e\x32#.livekit.proto.SoxResamplerDataType\x12\x37\n\x0equality_recipe\x18\x06 \x02(\x0e\x32\x1f.livekit.proto.SoxQualityRecipe\x12\r\n\x05\x66lags\x18\x07 \x01(\r\"l\n\x17NewSoxResamplerResponse\x12\x35\n\tresampler\x18\x01 \x01(\x0b\x32 .livekit.proto.OwnedSoxResamplerH\x00\x12\x0f\n\x05\x65rror\x18\x02 \x01(\tH\x00\x42\t\n\x07message\"S\n\x17PushSoxResamplerRequest\x12\x18\n\x10resampler_handle\x18\x01 \x02(\x04\x12\x10\n\x08\x64\x61ta_ptr\x18\x02 \x02(\x04\x12\x0c\n\x04size\x18\x03 \x02(\r\"K\n\x18PushSoxResamplerResponse\x12\x12\n\noutput_ptr\x18\x01 \x02(\x04\x12\x0c\n\x04size\x18\x02 \x02(\r\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"4\n\x18\x46lushSoxResamplerRequest\x12\x18\n\x10resampler_handle\x18\x01 \x02(\x04\"L\n\x19\x46lushSoxResamplerResponse\x12\x12\n\noutput_ptr\x18\x01 \x02(\x04\x12\x0c\n\x04size\x18\x02 \x02(\r\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"p\n\x14\x41udioFrameBufferInfo\x12\x10\n\x08\x64\x61ta_ptr\x18\x01 \x02(\x04\x12\x14\n\x0cnum_channels\x18\x02 \x02(\r\x12\x13\n\x0bsample_rate\x18\x03 \x02(\r\x12\x1b\n\x13samples_per_channel\x18\x04 \x02(\r\"y\n\x15OwnedAudioFrameBuffer\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12\x31\n\x04info\x18\x02 \x02(\x0b\x32#.livekit.proto.AudioFrameBufferInfo\"?\n\x0f\x41udioStreamInfo\x12,\n\x04type\x18\x01 \x02(\x0e\x32\x1e.livekit.proto.AudioStreamType\"o\n\x10OwnedAudioStream\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12,\n\x04info\x18\x02 \x02(\x0b\x32\x1e.livekit.proto.AudioStreamInfo\"\x9f\x01\n\x10\x41udioStreamEvent\x12\x15\n\rstream_handle\x18\x01 \x02(\x04\x12;\n\x0e\x66rame_received\x18\x02 \x01(\x0b\x32!.livekit.proto.AudioFrameReceivedH\x00\x12,\n\x03\x65os\x18\x03 \x01(\x0b\x32\x1d.livekit.proto.AudioStreamEOSH\x00\x42\t\n\x07message\"I\n\x12\x41udioFrameReceived\x12\x33\n\x05\x66rame\x18\x01 \x02(\x0b\x32$.livekit.proto.OwnedAudioFrameBuffer\"\x10\n\x0e\x41udioStreamEOS\"e\n\x12\x41udioSourceOptions\x12\x19\n\x11\x65\x63ho_cancellation\x18\x01 \x02(\x08\x12\x19\n\x11noise_suppression\x18\x02 \x02(\x08\x12\x19\n\x11\x61uto_gain_control\x18\x03 \x02(\x08\"?\n\x0f\x41udioSourceInfo\x12,\n\x04type\x18\x02 \x02(\x0e\x32\x1e.livekit.proto.AudioSourceType\"o\n\x10OwnedAudioSource\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12,\n\x04info\x18\x02 \x02(\x0b\x32\x1e.livekit.proto.AudioSourceInfo\"\x14\n\x12\x41udioResamplerInfo\"u\n\x13OwnedAudioResampler\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12/\n\x04info\x18\x02 \x02(\x0b\x32!.livekit.proto.AudioResamplerInfo\"9\n\x08OwnedApm\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\"\x12\n\x10SoxResamplerInfo\"q\n\x11OwnedSoxResampler\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12-\n\x04info\x18\x02 \x02(\x0b\x32\x1f.livekit.proto.SoxResamplerInfo\"\\\n\x1cLoadAudioFilterPluginRequest\x12\x13\n\x0bplugin_path\x18\x01 \x02(\t\x12\x14\n\x0c\x64\x65pendencies\x18\x02 \x03(\t\x12\x11\n\tmodule_id\x18\x03 \x02(\t\".\n\x1dLoadAudioFilterPluginResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t*J\n\x14SoxResamplerDataType\x12\x18\n\x14SOXR_DATATYPE_INT16I\x10\x00\x12\x18\n\x14SOXR_DATATYPE_INT16S\x10\x01*\x8b\x01\n\x10SoxQualityRecipe\x12\x16\n\x12SOXR_QUALITY_QUICK\x10\x00\x12\x14\n\x10SOXR_QUALITY_LOW\x10\x01\x12\x17\n\x13SOXR_QUALITY_MEDIUM\x10\x02\x12\x15\n\x11SOXR_QUALITY_HIGH\x10\x03\x12\x19\n\x15SOXR_QUALITY_VERYHIGH\x10\x04*\x97\x01\n\x0bSoxFlagBits\x12\x16\n\x12SOXR_ROLLOFF_SMALL\x10\x00\x12\x17\n\x13SOXR_ROLLOFF_MEDIUM\x10\x01\x12\x15\n\x11SOXR_ROLLOFF_NONE\x10\x02\x12\x18\n\x14SOXR_HIGH_PREC_CLOCK\x10\x03\x12\x19\n\x15SOXR_DOUBLE_PRECISION\x10\x04\x12\x0b\n\x07SOXR_VR\x10\x05*A\n\x0f\x41udioStreamType\x12\x17\n\x13\x41UDIO_STREAM_NATIVE\x10\x00\x12\x15\n\x11\x41UDIO_STREAM_HTML\x10\x01**\n\x0f\x41udioSourceType\x12\x17\n\x13\x41UDIO_SOURCE_NATIVE\x10\x00\x42\x10\xaa\x02\rLiveKit.Proto') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11\x61udio_frame.proto\x12\rlivekit.proto\x1a\x0chandle.proto\x1a\x0btrack.proto\"\xc4\x01\n\x15NewAudioStreamRequest\x12\x14\n\x0ctrack_handle\x18\x01 \x02(\x04\x12,\n\x04type\x18\x02 \x02(\x0e\x32\x1e.livekit.proto.AudioStreamType\x12\x13\n\x0bsample_rate\x18\x03 \x01(\r\x12\x14\n\x0cnum_channels\x18\x04 \x01(\r\x12\x1e\n\x16\x61udio_filter_module_id\x18\x05 \x01(\t\x12\x1c\n\x14\x61udio_filter_options\x18\x06 \x01(\t\"I\n\x16NewAudioStreamResponse\x12/\n\x06stream\x18\x01 \x02(\x0b\x32\x1f.livekit.proto.OwnedAudioStream\"\x88\x02\n!AudioStreamFromParticipantRequest\x12\x1a\n\x12participant_handle\x18\x01 \x02(\x04\x12,\n\x04type\x18\x02 \x02(\x0e\x32\x1e.livekit.proto.AudioStreamType\x12\x30\n\x0ctrack_source\x18\x03 \x01(\x0e\x32\x1a.livekit.proto.TrackSource\x12\x13\n\x0bsample_rate\x18\x05 \x01(\r\x12\x14\n\x0cnum_channels\x18\x06 \x01(\r\x12\x1e\n\x16\x61udio_filter_module_id\x18\x07 \x01(\t\x12\x1c\n\x14\x61udio_filter_options\x18\x08 \x01(\t\"U\n\"AudioStreamFromParticipantResponse\x12/\n\x06stream\x18\x01 \x02(\x0b\x32\x1f.livekit.proto.OwnedAudioStream\"\xbb\x01\n\x15NewAudioSourceRequest\x12,\n\x04type\x18\x01 \x02(\x0e\x32\x1e.livekit.proto.AudioSourceType\x12\x32\n\x07options\x18\x02 \x01(\x0b\x32!.livekit.proto.AudioSourceOptions\x12\x13\n\x0bsample_rate\x18\x03 \x02(\r\x12\x14\n\x0cnum_channels\x18\x04 \x02(\r\x12\x15\n\rqueue_size_ms\x18\x05 \x01(\r\"I\n\x16NewAudioSourceResponse\x12/\n\x06source\x18\x01 \x02(\x0b\x32\x1f.livekit.proto.OwnedAudioSource\"f\n\x18\x43\x61ptureAudioFrameRequest\x12\x15\n\rsource_handle\x18\x01 \x02(\x04\x12\x33\n\x06\x62uffer\x18\x02 \x02(\x0b\x32#.livekit.proto.AudioFrameBufferInfo\"-\n\x19\x43\x61ptureAudioFrameResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"<\n\x19\x43\x61ptureAudioFrameCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"0\n\x17\x43learAudioBufferRequest\x12\x15\n\rsource_handle\x18\x01 \x02(\x04\"\x1a\n\x18\x43learAudioBufferResponse\"\x1a\n\x18NewAudioResamplerRequest\"R\n\x19NewAudioResamplerResponse\x12\x35\n\tresampler\x18\x01 \x02(\x0b\x32\".livekit.proto.OwnedAudioResampler\"\x93\x01\n\x17RemixAndResampleRequest\x12\x18\n\x10resampler_handle\x18\x01 \x02(\x04\x12\x33\n\x06\x62uffer\x18\x02 \x02(\x0b\x32#.livekit.proto.AudioFrameBufferInfo\x12\x14\n\x0cnum_channels\x18\x03 \x02(\r\x12\x13\n\x0bsample_rate\x18\x04 \x02(\r\"P\n\x18RemixAndResampleResponse\x12\x34\n\x06\x62uffer\x18\x01 \x02(\x0b\x32$.livekit.proto.OwnedAudioFrameBuffer\"\x95\x01\n\rNewApmRequest\x12\x1e\n\x16\x65\x63ho_canceller_enabled\x18\x01 \x02(\x08\x12\x1f\n\x17gain_controller_enabled\x18\x02 \x02(\x08\x12 \n\x18high_pass_filter_enabled\x18\x03 \x02(\x08\x12!\n\x19noise_suppression_enabled\x18\x04 \x02(\x08\"6\n\x0eNewApmResponse\x12$\n\x03\x61pm\x18\x01 \x02(\x0b\x32\x17.livekit.proto.OwnedApm\"x\n\x17\x41pmProcessStreamRequest\x12\x12\n\napm_handle\x18\x01 \x02(\x04\x12\x10\n\x08\x64\x61ta_ptr\x18\x02 \x02(\x04\x12\x0c\n\x04size\x18\x03 \x02(\r\x12\x13\n\x0bsample_rate\x18\x04 \x02(\r\x12\x14\n\x0cnum_channels\x18\x05 \x02(\r\")\n\x18\x41pmProcessStreamResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\"\x7f\n\x1e\x41pmProcessReverseStreamRequest\x12\x12\n\napm_handle\x18\x01 \x02(\x04\x12\x10\n\x08\x64\x61ta_ptr\x18\x02 \x02(\x04\x12\x0c\n\x04size\x18\x03 \x02(\r\x12\x13\n\x0bsample_rate\x18\x04 \x02(\r\x12\x14\n\x0cnum_channels\x18\x05 \x02(\r\"0\n\x1f\x41pmProcessReverseStreamResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\"@\n\x18\x41pmSetStreamDelayRequest\x12\x12\n\napm_handle\x18\x01 \x02(\x04\x12\x10\n\x08\x64\x65lay_ms\x18\x02 \x02(\x05\"*\n\x19\x41pmSetStreamDelayResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\"\x9c\x02\n\x16NewSoxResamplerRequest\x12\x12\n\ninput_rate\x18\x01 \x02(\x01\x12\x13\n\x0boutput_rate\x18\x02 \x02(\x01\x12\x14\n\x0cnum_channels\x18\x03 \x02(\r\x12<\n\x0finput_data_type\x18\x04 \x02(\x0e\x32#.livekit.proto.SoxResamplerDataType\x12=\n\x10output_data_type\x18\x05 \x02(\x0e\x32#.livekit.proto.SoxResamplerDataType\x12\x37\n\x0equality_recipe\x18\x06 \x02(\x0e\x32\x1f.livekit.proto.SoxQualityRecipe\x12\r\n\x05\x66lags\x18\x07 \x01(\r\"l\n\x17NewSoxResamplerResponse\x12\x35\n\tresampler\x18\x01 \x01(\x0b\x32 .livekit.proto.OwnedSoxResamplerH\x00\x12\x0f\n\x05\x65rror\x18\x02 \x01(\tH\x00\x42\t\n\x07message\"S\n\x17PushSoxResamplerRequest\x12\x18\n\x10resampler_handle\x18\x01 \x02(\x04\x12\x10\n\x08\x64\x61ta_ptr\x18\x02 \x02(\x04\x12\x0c\n\x04size\x18\x03 \x02(\r\"K\n\x18PushSoxResamplerResponse\x12\x12\n\noutput_ptr\x18\x01 \x02(\x04\x12\x0c\n\x04size\x18\x02 \x02(\r\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"4\n\x18\x46lushSoxResamplerRequest\x12\x18\n\x10resampler_handle\x18\x01 \x02(\x04\"L\n\x19\x46lushSoxResamplerResponse\x12\x12\n\noutput_ptr\x18\x01 \x02(\x04\x12\x0c\n\x04size\x18\x02 \x02(\r\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"p\n\x14\x41udioFrameBufferInfo\x12\x10\n\x08\x64\x61ta_ptr\x18\x01 \x02(\x04\x12\x14\n\x0cnum_channels\x18\x02 \x02(\r\x12\x13\n\x0bsample_rate\x18\x03 \x02(\r\x12\x1b\n\x13samples_per_channel\x18\x04 \x02(\r\"y\n\x15OwnedAudioFrameBuffer\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12\x31\n\x04info\x18\x02 \x02(\x0b\x32#.livekit.proto.AudioFrameBufferInfo\"?\n\x0f\x41udioStreamInfo\x12,\n\x04type\x18\x01 \x02(\x0e\x32\x1e.livekit.proto.AudioStreamType\"o\n\x10OwnedAudioStream\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12,\n\x04info\x18\x02 \x02(\x0b\x32\x1e.livekit.proto.AudioStreamInfo\"\x9f\x01\n\x10\x41udioStreamEvent\x12\x15\n\rstream_handle\x18\x01 \x02(\x04\x12;\n\x0e\x66rame_received\x18\x02 \x01(\x0b\x32!.livekit.proto.AudioFrameReceivedH\x00\x12,\n\x03\x65os\x18\x03 \x01(\x0b\x32\x1d.livekit.proto.AudioStreamEOSH\x00\x42\t\n\x07message\"I\n\x12\x41udioFrameReceived\x12\x33\n\x05\x66rame\x18\x01 \x02(\x0b\x32$.livekit.proto.OwnedAudioFrameBuffer\"\x10\n\x0e\x41udioStreamEOS\"e\n\x12\x41udioSourceOptions\x12\x19\n\x11\x65\x63ho_cancellation\x18\x01 \x02(\x08\x12\x19\n\x11noise_suppression\x18\x02 \x02(\x08\x12\x19\n\x11\x61uto_gain_control\x18\x03 \x02(\x08\"?\n\x0f\x41udioSourceInfo\x12,\n\x04type\x18\x02 \x02(\x0e\x32\x1e.livekit.proto.AudioSourceType\"o\n\x10OwnedAudioSource\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12,\n\x04info\x18\x02 \x02(\x0b\x32\x1e.livekit.proto.AudioSourceInfo\"\x14\n\x12\x41udioResamplerInfo\"u\n\x13OwnedAudioResampler\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12/\n\x04info\x18\x02 \x02(\x0b\x32!.livekit.proto.AudioResamplerInfo\"9\n\x08OwnedApm\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\"\x12\n\x10SoxResamplerInfo\"q\n\x11OwnedSoxResampler\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12-\n\x04info\x18\x02 \x02(\x0b\x32\x1f.livekit.proto.SoxResamplerInfo\"\\\n\x1cLoadAudioFilterPluginRequest\x12\x13\n\x0bplugin_path\x18\x01 \x02(\t\x12\x14\n\x0c\x64\x65pendencies\x18\x02 \x03(\t\x12\x11\n\tmodule_id\x18\x03 \x02(\t\".\n\x1dLoadAudioFilterPluginResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t*J\n\x14SoxResamplerDataType\x12\x18\n\x14SOXR_DATATYPE_INT16I\x10\x00\x12\x18\n\x14SOXR_DATATYPE_INT16S\x10\x01*\x8b\x01\n\x10SoxQualityRecipe\x12\x16\n\x12SOXR_QUALITY_QUICK\x10\x00\x12\x14\n\x10SOXR_QUALITY_LOW\x10\x01\x12\x17\n\x13SOXR_QUALITY_MEDIUM\x10\x02\x12\x15\n\x11SOXR_QUALITY_HIGH\x10\x03\x12\x19\n\x15SOXR_QUALITY_VERYHIGH\x10\x04*\x97\x01\n\x0bSoxFlagBits\x12\x16\n\x12SOXR_ROLLOFF_SMALL\x10\x00\x12\x17\n\x13SOXR_ROLLOFF_MEDIUM\x10\x01\x12\x15\n\x11SOXR_ROLLOFF_NONE\x10\x02\x12\x18\n\x14SOXR_HIGH_PREC_CLOCK\x10\x03\x12\x19\n\x15SOXR_DOUBLE_PRECISION\x10\x04\x12\x0b\n\x07SOXR_VR\x10\x05*A\n\x0f\x41udioStreamType\x12\x17\n\x13\x41UDIO_STREAM_NATIVE\x10\x00\x12\x15\n\x11\x41UDIO_STREAM_HTML\x10\x01**\n\x0f\x41udioSourceType\x12\x17\n\x13\x41UDIO_SOURCE_NATIVE\x10\x00\x42\x10\xaa\x02\rLiveKit.Proto') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -24,106 +24,106 @@ if _descriptor._USE_C_DESCRIPTORS == False: _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' - _globals['_SOXRESAMPLERDATATYPE']._serialized_start=4418 - _globals['_SOXRESAMPLERDATATYPE']._serialized_end=4492 - _globals['_SOXQUALITYRECIPE']._serialized_start=4495 - _globals['_SOXQUALITYRECIPE']._serialized_end=4634 - _globals['_SOXFLAGBITS']._serialized_start=4637 - _globals['_SOXFLAGBITS']._serialized_end=4788 - _globals['_AUDIOSTREAMTYPE']._serialized_start=4790 - _globals['_AUDIOSTREAMTYPE']._serialized_end=4855 - _globals['_AUDIOSOURCETYPE']._serialized_start=4857 - _globals['_AUDIOSOURCETYPE']._serialized_end=4899 + _globals['_SOXRESAMPLERDATATYPE']._serialized_start=4372 + _globals['_SOXRESAMPLERDATATYPE']._serialized_end=4446 + _globals['_SOXQUALITYRECIPE']._serialized_start=4449 + _globals['_SOXQUALITYRECIPE']._serialized_end=4588 + _globals['_SOXFLAGBITS']._serialized_start=4591 + _globals['_SOXFLAGBITS']._serialized_end=4742 + _globals['_AUDIOSTREAMTYPE']._serialized_start=4744 + _globals['_AUDIOSTREAMTYPE']._serialized_end=4809 + _globals['_AUDIOSOURCETYPE']._serialized_start=4811 + _globals['_AUDIOSOURCETYPE']._serialized_end=4853 _globals['_NEWAUDIOSTREAMREQUEST']._serialized_start=64 - _globals['_NEWAUDIOSTREAMREQUEST']._serialized_end=283 - _globals['_NEWAUDIOSTREAMRESPONSE']._serialized_start=285 - _globals['_NEWAUDIOSTREAMRESPONSE']._serialized_end=358 - _globals['_AUDIOSTREAMFROMPARTICIPANTREQUEST']._serialized_start=361 - _globals['_AUDIOSTREAMFROMPARTICIPANTREQUEST']._serialized_end=648 - _globals['_AUDIOSTREAMFROMPARTICIPANTRESPONSE']._serialized_start=650 - _globals['_AUDIOSTREAMFROMPARTICIPANTRESPONSE']._serialized_end=735 - _globals['_NEWAUDIOSOURCEREQUEST']._serialized_start=738 - _globals['_NEWAUDIOSOURCEREQUEST']._serialized_end=925 - _globals['_NEWAUDIOSOURCERESPONSE']._serialized_start=927 - _globals['_NEWAUDIOSOURCERESPONSE']._serialized_end=1000 - _globals['_CAPTUREAUDIOFRAMEREQUEST']._serialized_start=1002 - _globals['_CAPTUREAUDIOFRAMEREQUEST']._serialized_end=1104 - _globals['_CAPTUREAUDIOFRAMERESPONSE']._serialized_start=1106 - _globals['_CAPTUREAUDIOFRAMERESPONSE']._serialized_end=1151 - _globals['_CAPTUREAUDIOFRAMECALLBACK']._serialized_start=1153 - _globals['_CAPTUREAUDIOFRAMECALLBACK']._serialized_end=1213 - _globals['_CLEARAUDIOBUFFERREQUEST']._serialized_start=1215 - _globals['_CLEARAUDIOBUFFERREQUEST']._serialized_end=1263 - _globals['_CLEARAUDIOBUFFERRESPONSE']._serialized_start=1265 - _globals['_CLEARAUDIOBUFFERRESPONSE']._serialized_end=1291 - _globals['_NEWAUDIORESAMPLERREQUEST']._serialized_start=1293 - _globals['_NEWAUDIORESAMPLERREQUEST']._serialized_end=1319 - _globals['_NEWAUDIORESAMPLERRESPONSE']._serialized_start=1321 - _globals['_NEWAUDIORESAMPLERRESPONSE']._serialized_end=1403 - _globals['_REMIXANDRESAMPLEREQUEST']._serialized_start=1406 - _globals['_REMIXANDRESAMPLEREQUEST']._serialized_end=1553 - _globals['_REMIXANDRESAMPLERESPONSE']._serialized_start=1555 - _globals['_REMIXANDRESAMPLERESPONSE']._serialized_end=1635 - _globals['_NEWAPMREQUEST']._serialized_start=1638 - _globals['_NEWAPMREQUEST']._serialized_end=1787 - _globals['_NEWAPMRESPONSE']._serialized_start=1789 - _globals['_NEWAPMRESPONSE']._serialized_end=1843 - _globals['_APMPROCESSSTREAMREQUEST']._serialized_start=1845 - _globals['_APMPROCESSSTREAMREQUEST']._serialized_end=1965 - _globals['_APMPROCESSSTREAMRESPONSE']._serialized_start=1967 - _globals['_APMPROCESSSTREAMRESPONSE']._serialized_end=2008 - _globals['_APMPROCESSREVERSESTREAMREQUEST']._serialized_start=2010 - _globals['_APMPROCESSREVERSESTREAMREQUEST']._serialized_end=2137 - _globals['_APMPROCESSREVERSESTREAMRESPONSE']._serialized_start=2139 - _globals['_APMPROCESSREVERSESTREAMRESPONSE']._serialized_end=2187 - _globals['_APMSETSTREAMDELAYREQUEST']._serialized_start=2189 - _globals['_APMSETSTREAMDELAYREQUEST']._serialized_end=2253 - _globals['_APMSETSTREAMDELAYRESPONSE']._serialized_start=2255 - _globals['_APMSETSTREAMDELAYRESPONSE']._serialized_end=2297 - _globals['_NEWSOXRESAMPLERREQUEST']._serialized_start=2300 - _globals['_NEWSOXRESAMPLERREQUEST']._serialized_end=2584 - _globals['_NEWSOXRESAMPLERRESPONSE']._serialized_start=2586 - _globals['_NEWSOXRESAMPLERRESPONSE']._serialized_end=2694 - _globals['_PUSHSOXRESAMPLERREQUEST']._serialized_start=2696 - _globals['_PUSHSOXRESAMPLERREQUEST']._serialized_end=2779 - _globals['_PUSHSOXRESAMPLERRESPONSE']._serialized_start=2781 - _globals['_PUSHSOXRESAMPLERRESPONSE']._serialized_end=2856 - _globals['_FLUSHSOXRESAMPLERREQUEST']._serialized_start=2858 - _globals['_FLUSHSOXRESAMPLERREQUEST']._serialized_end=2910 - _globals['_FLUSHSOXRESAMPLERRESPONSE']._serialized_start=2912 - _globals['_FLUSHSOXRESAMPLERRESPONSE']._serialized_end=2988 - _globals['_AUDIOFRAMEBUFFERINFO']._serialized_start=2990 - _globals['_AUDIOFRAMEBUFFERINFO']._serialized_end=3102 - _globals['_OWNEDAUDIOFRAMEBUFFER']._serialized_start=3104 - _globals['_OWNEDAUDIOFRAMEBUFFER']._serialized_end=3225 - _globals['_AUDIOSTREAMINFO']._serialized_start=3227 - _globals['_AUDIOSTREAMINFO']._serialized_end=3290 - _globals['_OWNEDAUDIOSTREAM']._serialized_start=3292 - _globals['_OWNEDAUDIOSTREAM']._serialized_end=3403 - _globals['_AUDIOSTREAMEVENT']._serialized_start=3406 - _globals['_AUDIOSTREAMEVENT']._serialized_end=3565 - _globals['_AUDIOFRAMERECEIVED']._serialized_start=3567 - _globals['_AUDIOFRAMERECEIVED']._serialized_end=3640 - _globals['_AUDIOSTREAMEOS']._serialized_start=3642 - _globals['_AUDIOSTREAMEOS']._serialized_end=3658 - _globals['_AUDIOSOURCEOPTIONS']._serialized_start=3660 - _globals['_AUDIOSOURCEOPTIONS']._serialized_end=3761 - _globals['_AUDIOSOURCEINFO']._serialized_start=3763 - _globals['_AUDIOSOURCEINFO']._serialized_end=3826 - _globals['_OWNEDAUDIOSOURCE']._serialized_start=3828 - _globals['_OWNEDAUDIOSOURCE']._serialized_end=3939 - _globals['_AUDIORESAMPLERINFO']._serialized_start=3941 - _globals['_AUDIORESAMPLERINFO']._serialized_end=3961 - _globals['_OWNEDAUDIORESAMPLER']._serialized_start=3963 - _globals['_OWNEDAUDIORESAMPLER']._serialized_end=4080 - _globals['_OWNEDAPM']._serialized_start=4082 - _globals['_OWNEDAPM']._serialized_end=4139 - _globals['_SOXRESAMPLERINFO']._serialized_start=4141 - _globals['_SOXRESAMPLERINFO']._serialized_end=4159 - _globals['_OWNEDSOXRESAMPLER']._serialized_start=4161 - _globals['_OWNEDSOXRESAMPLER']._serialized_end=4274 - _globals['_LOADAUDIOFILTERPLUGINREQUEST']._serialized_start=4276 - _globals['_LOADAUDIOFILTERPLUGINREQUEST']._serialized_end=4368 - _globals['_LOADAUDIOFILTERPLUGINRESPONSE']._serialized_start=4370 - _globals['_LOADAUDIOFILTERPLUGINRESPONSE']._serialized_end=4416 + _globals['_NEWAUDIOSTREAMREQUEST']._serialized_end=260 + _globals['_NEWAUDIOSTREAMRESPONSE']._serialized_start=262 + _globals['_NEWAUDIOSTREAMRESPONSE']._serialized_end=335 + _globals['_AUDIOSTREAMFROMPARTICIPANTREQUEST']._serialized_start=338 + _globals['_AUDIOSTREAMFROMPARTICIPANTREQUEST']._serialized_end=602 + _globals['_AUDIOSTREAMFROMPARTICIPANTRESPONSE']._serialized_start=604 + _globals['_AUDIOSTREAMFROMPARTICIPANTRESPONSE']._serialized_end=689 + _globals['_NEWAUDIOSOURCEREQUEST']._serialized_start=692 + _globals['_NEWAUDIOSOURCEREQUEST']._serialized_end=879 + _globals['_NEWAUDIOSOURCERESPONSE']._serialized_start=881 + _globals['_NEWAUDIOSOURCERESPONSE']._serialized_end=954 + _globals['_CAPTUREAUDIOFRAMEREQUEST']._serialized_start=956 + _globals['_CAPTUREAUDIOFRAMEREQUEST']._serialized_end=1058 + _globals['_CAPTUREAUDIOFRAMERESPONSE']._serialized_start=1060 + _globals['_CAPTUREAUDIOFRAMERESPONSE']._serialized_end=1105 + _globals['_CAPTUREAUDIOFRAMECALLBACK']._serialized_start=1107 + _globals['_CAPTUREAUDIOFRAMECALLBACK']._serialized_end=1167 + _globals['_CLEARAUDIOBUFFERREQUEST']._serialized_start=1169 + _globals['_CLEARAUDIOBUFFERREQUEST']._serialized_end=1217 + _globals['_CLEARAUDIOBUFFERRESPONSE']._serialized_start=1219 + _globals['_CLEARAUDIOBUFFERRESPONSE']._serialized_end=1245 + _globals['_NEWAUDIORESAMPLERREQUEST']._serialized_start=1247 + _globals['_NEWAUDIORESAMPLERREQUEST']._serialized_end=1273 + _globals['_NEWAUDIORESAMPLERRESPONSE']._serialized_start=1275 + _globals['_NEWAUDIORESAMPLERRESPONSE']._serialized_end=1357 + _globals['_REMIXANDRESAMPLEREQUEST']._serialized_start=1360 + _globals['_REMIXANDRESAMPLEREQUEST']._serialized_end=1507 + _globals['_REMIXANDRESAMPLERESPONSE']._serialized_start=1509 + _globals['_REMIXANDRESAMPLERESPONSE']._serialized_end=1589 + _globals['_NEWAPMREQUEST']._serialized_start=1592 + _globals['_NEWAPMREQUEST']._serialized_end=1741 + _globals['_NEWAPMRESPONSE']._serialized_start=1743 + _globals['_NEWAPMRESPONSE']._serialized_end=1797 + _globals['_APMPROCESSSTREAMREQUEST']._serialized_start=1799 + _globals['_APMPROCESSSTREAMREQUEST']._serialized_end=1919 + _globals['_APMPROCESSSTREAMRESPONSE']._serialized_start=1921 + _globals['_APMPROCESSSTREAMRESPONSE']._serialized_end=1962 + _globals['_APMPROCESSREVERSESTREAMREQUEST']._serialized_start=1964 + _globals['_APMPROCESSREVERSESTREAMREQUEST']._serialized_end=2091 + _globals['_APMPROCESSREVERSESTREAMRESPONSE']._serialized_start=2093 + _globals['_APMPROCESSREVERSESTREAMRESPONSE']._serialized_end=2141 + _globals['_APMSETSTREAMDELAYREQUEST']._serialized_start=2143 + _globals['_APMSETSTREAMDELAYREQUEST']._serialized_end=2207 + _globals['_APMSETSTREAMDELAYRESPONSE']._serialized_start=2209 + _globals['_APMSETSTREAMDELAYRESPONSE']._serialized_end=2251 + _globals['_NEWSOXRESAMPLERREQUEST']._serialized_start=2254 + _globals['_NEWSOXRESAMPLERREQUEST']._serialized_end=2538 + _globals['_NEWSOXRESAMPLERRESPONSE']._serialized_start=2540 + _globals['_NEWSOXRESAMPLERRESPONSE']._serialized_end=2648 + _globals['_PUSHSOXRESAMPLERREQUEST']._serialized_start=2650 + _globals['_PUSHSOXRESAMPLERREQUEST']._serialized_end=2733 + _globals['_PUSHSOXRESAMPLERRESPONSE']._serialized_start=2735 + _globals['_PUSHSOXRESAMPLERRESPONSE']._serialized_end=2810 + _globals['_FLUSHSOXRESAMPLERREQUEST']._serialized_start=2812 + _globals['_FLUSHSOXRESAMPLERREQUEST']._serialized_end=2864 + _globals['_FLUSHSOXRESAMPLERRESPONSE']._serialized_start=2866 + _globals['_FLUSHSOXRESAMPLERRESPONSE']._serialized_end=2942 + _globals['_AUDIOFRAMEBUFFERINFO']._serialized_start=2944 + _globals['_AUDIOFRAMEBUFFERINFO']._serialized_end=3056 + _globals['_OWNEDAUDIOFRAMEBUFFER']._serialized_start=3058 + _globals['_OWNEDAUDIOFRAMEBUFFER']._serialized_end=3179 + _globals['_AUDIOSTREAMINFO']._serialized_start=3181 + _globals['_AUDIOSTREAMINFO']._serialized_end=3244 + _globals['_OWNEDAUDIOSTREAM']._serialized_start=3246 + _globals['_OWNEDAUDIOSTREAM']._serialized_end=3357 + _globals['_AUDIOSTREAMEVENT']._serialized_start=3360 + _globals['_AUDIOSTREAMEVENT']._serialized_end=3519 + _globals['_AUDIOFRAMERECEIVED']._serialized_start=3521 + _globals['_AUDIOFRAMERECEIVED']._serialized_end=3594 + _globals['_AUDIOSTREAMEOS']._serialized_start=3596 + _globals['_AUDIOSTREAMEOS']._serialized_end=3612 + _globals['_AUDIOSOURCEOPTIONS']._serialized_start=3614 + _globals['_AUDIOSOURCEOPTIONS']._serialized_end=3715 + _globals['_AUDIOSOURCEINFO']._serialized_start=3717 + _globals['_AUDIOSOURCEINFO']._serialized_end=3780 + _globals['_OWNEDAUDIOSOURCE']._serialized_start=3782 + _globals['_OWNEDAUDIOSOURCE']._serialized_end=3893 + _globals['_AUDIORESAMPLERINFO']._serialized_start=3895 + _globals['_AUDIORESAMPLERINFO']._serialized_end=3915 + _globals['_OWNEDAUDIORESAMPLER']._serialized_start=3917 + _globals['_OWNEDAUDIORESAMPLER']._serialized_end=4034 + _globals['_OWNEDAPM']._serialized_start=4036 + _globals['_OWNEDAPM']._serialized_end=4093 + _globals['_SOXRESAMPLERINFO']._serialized_start=4095 + _globals['_SOXRESAMPLERINFO']._serialized_end=4113 + _globals['_OWNEDSOXRESAMPLER']._serialized_start=4115 + _globals['_OWNEDSOXRESAMPLER']._serialized_end=4228 + _globals['_LOADAUDIOFILTERPLUGINREQUEST']._serialized_start=4230 + _globals['_LOADAUDIOFILTERPLUGINREQUEST']._serialized_end=4322 + _globals['_LOADAUDIOFILTERPLUGINRESPONSE']._serialized_start=4324 + _globals['_LOADAUDIOFILTERPLUGINRESPONSE']._serialized_end=4370 # @@protoc_insertion_point(module_scope) diff --git a/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.pyi index 03a79033..61cb067b 100644 --- a/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.pyi @@ -152,7 +152,6 @@ class NewAudioStreamRequest(google.protobuf.message.Message): NUM_CHANNELS_FIELD_NUMBER: builtins.int AUDIO_FILTER_MODULE_ID_FIELD_NUMBER: builtins.int AUDIO_FILTER_OPTIONS_FIELD_NUMBER: builtins.int - FRAME_SIZE_MS_FIELD_NUMBER: builtins.int track_handle: builtins.int type: global___AudioStreamType.ValueType sample_rate: builtins.int @@ -160,7 +159,6 @@ class NewAudioStreamRequest(google.protobuf.message.Message): audio_filter_module_id: builtins.str """Unique identifier passed in LoadAudioFilterPluginRequest""" audio_filter_options: builtins.str - frame_size_ms: builtins.int def __init__( self, *, @@ -170,10 +168,9 @@ class NewAudioStreamRequest(google.protobuf.message.Message): num_channels: builtins.int | None = ..., audio_filter_module_id: builtins.str | None = ..., audio_filter_options: builtins.str | None = ..., - frame_size_ms: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["audio_filter_module_id", b"audio_filter_module_id", "audio_filter_options", b"audio_filter_options", "frame_size_ms", b"frame_size_ms", "num_channels", b"num_channels", "sample_rate", b"sample_rate", "track_handle", b"track_handle", "type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["audio_filter_module_id", b"audio_filter_module_id", "audio_filter_options", b"audio_filter_options", "frame_size_ms", b"frame_size_ms", "num_channels", b"num_channels", "sample_rate", b"sample_rate", "track_handle", b"track_handle", "type", b"type"]) -> None: ... + def HasField(self, field_name: typing.Literal["audio_filter_module_id", b"audio_filter_module_id", "audio_filter_options", b"audio_filter_options", "num_channels", b"num_channels", "sample_rate", b"sample_rate", "track_handle", b"track_handle", "type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["audio_filter_module_id", b"audio_filter_module_id", "audio_filter_options", b"audio_filter_options", "num_channels", b"num_channels", "sample_rate", b"sample_rate", "track_handle", b"track_handle", "type", b"type"]) -> None: ... global___NewAudioStreamRequest = NewAudioStreamRequest @@ -205,7 +202,6 @@ class AudioStreamFromParticipantRequest(google.protobuf.message.Message): NUM_CHANNELS_FIELD_NUMBER: builtins.int AUDIO_FILTER_MODULE_ID_FIELD_NUMBER: builtins.int AUDIO_FILTER_OPTIONS_FIELD_NUMBER: builtins.int - FRAME_SIZE_MS_FIELD_NUMBER: builtins.int participant_handle: builtins.int type: global___AudioStreamType.ValueType track_source: track_pb2.TrackSource.ValueType @@ -213,7 +209,6 @@ class AudioStreamFromParticipantRequest(google.protobuf.message.Message): num_channels: builtins.int audio_filter_module_id: builtins.str audio_filter_options: builtins.str - frame_size_ms: builtins.int def __init__( self, *, @@ -224,10 +219,9 @@ class AudioStreamFromParticipantRequest(google.protobuf.message.Message): num_channels: builtins.int | None = ..., audio_filter_module_id: builtins.str | None = ..., audio_filter_options: builtins.str | None = ..., - frame_size_ms: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["audio_filter_module_id", b"audio_filter_module_id", "audio_filter_options", b"audio_filter_options", "frame_size_ms", b"frame_size_ms", "num_channels", b"num_channels", "participant_handle", b"participant_handle", "sample_rate", b"sample_rate", "track_source", b"track_source", "type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["audio_filter_module_id", b"audio_filter_module_id", "audio_filter_options", b"audio_filter_options", "frame_size_ms", b"frame_size_ms", "num_channels", b"num_channels", "participant_handle", b"participant_handle", "sample_rate", b"sample_rate", "track_source", b"track_source", "type", b"type"]) -> None: ... + def HasField(self, field_name: typing.Literal["audio_filter_module_id", b"audio_filter_module_id", "audio_filter_options", b"audio_filter_options", "num_channels", b"num_channels", "participant_handle", b"participant_handle", "sample_rate", b"sample_rate", "track_source", b"track_source", "type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["audio_filter_module_id", b"audio_filter_module_id", "audio_filter_options", b"audio_filter_options", "num_channels", b"num_channels", "participant_handle", b"participant_handle", "sample_rate", b"sample_rate", "track_source", b"track_source", "type", b"type"]) -> None: ... global___AudioStreamFromParticipantRequest = AudioStreamFromParticipantRequest From 1909356635131fee27188f5d52ec9e2ecca0ed90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?The=CC=81o=20Monnom?= Date: Wed, 11 Jun 2025 21:38:22 +0200 Subject: [PATCH 3/4] wip --- livekit-rtc/livekit/rtc/audio_stream.py | 7 +++++-- livekit-rtc/rust-sdks | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/livekit-rtc/livekit/rtc/audio_stream.py b/livekit-rtc/livekit/rtc/audio_stream.py index f6c82e41..b33e668f 100644 --- a/livekit-rtc/livekit/rtc/audio_stream.py +++ b/livekit-rtc/livekit/rtc/audio_stream.py @@ -228,7 +228,8 @@ def _create_owned_stream(self) -> Any: new_audio_stream.track_handle = self._track._ffi_handle.handle new_audio_stream.sample_rate = self._sample_rate new_audio_stream.num_channels = self._num_channels - new_audio_stream.frame_size_ms = self._frame_size_ms + if self._frame_size_ms: + new_audio_stream.frame_size_ms = self._frame_size_ms new_audio_stream.type = proto_audio_frame.AudioStreamType.AUDIO_STREAM_NATIVE if self._audio_filter_module is not None: new_audio_stream.audio_filter_module_id = self._audio_filter_module @@ -247,7 +248,9 @@ def _create_owned_stream_from_participant( audio_stream_from_participant.num_channels = self._num_channels audio_stream_from_participant.type = proto_audio_frame.AudioStreamType.AUDIO_STREAM_NATIVE audio_stream_from_participant.track_source = track_source - audio_stream_from_participant.frame_size_ms = self._frame_size_ms + if self._frame_size_ms: + audio_stream_from_participant.frame_size_ms = self._frame_size_ms + if self._audio_filter_module is not None: audio_stream_from_participant.audio_filter_module_id = self._audio_filter_module if self._audio_filter_options is not None: diff --git a/livekit-rtc/rust-sdks b/livekit-rtc/rust-sdks index 696ea4a1..fd7866cc 160000 --- a/livekit-rtc/rust-sdks +++ b/livekit-rtc/rust-sdks @@ -1 +1 @@ -Subproject commit 696ea4a1e98fcd81b43ffba7d07484ae0a2fae82 +Subproject commit fd7866cc4823f31282d34f00231b5b527a2878e8 From 036e39a8278a7f63367231e6bcb58424498091bd Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 11 Jun 2025 19:38:46 +0000 Subject: [PATCH 4/4] generated protobuf --- .../livekit/rtc/_proto/audio_frame_pb2.py | 204 +++++++++--------- .../livekit/rtc/_proto/audio_frame_pb2.pyi | 14 +- 2 files changed, 112 insertions(+), 106 deletions(-) diff --git a/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.py b/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.py index 166112ad..0c7c5a8c 100644 --- a/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.py +++ b/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.py @@ -16,7 +16,7 @@ from . import track_pb2 as track__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11\x61udio_frame.proto\x12\rlivekit.proto\x1a\x0chandle.proto\x1a\x0btrack.proto\"\xc4\x01\n\x15NewAudioStreamRequest\x12\x14\n\x0ctrack_handle\x18\x01 \x02(\x04\x12,\n\x04type\x18\x02 \x02(\x0e\x32\x1e.livekit.proto.AudioStreamType\x12\x13\n\x0bsample_rate\x18\x03 \x01(\r\x12\x14\n\x0cnum_channels\x18\x04 \x01(\r\x12\x1e\n\x16\x61udio_filter_module_id\x18\x05 \x01(\t\x12\x1c\n\x14\x61udio_filter_options\x18\x06 \x01(\t\"I\n\x16NewAudioStreamResponse\x12/\n\x06stream\x18\x01 \x02(\x0b\x32\x1f.livekit.proto.OwnedAudioStream\"\x88\x02\n!AudioStreamFromParticipantRequest\x12\x1a\n\x12participant_handle\x18\x01 \x02(\x04\x12,\n\x04type\x18\x02 \x02(\x0e\x32\x1e.livekit.proto.AudioStreamType\x12\x30\n\x0ctrack_source\x18\x03 \x01(\x0e\x32\x1a.livekit.proto.TrackSource\x12\x13\n\x0bsample_rate\x18\x05 \x01(\r\x12\x14\n\x0cnum_channels\x18\x06 \x01(\r\x12\x1e\n\x16\x61udio_filter_module_id\x18\x07 \x01(\t\x12\x1c\n\x14\x61udio_filter_options\x18\x08 \x01(\t\"U\n\"AudioStreamFromParticipantResponse\x12/\n\x06stream\x18\x01 \x02(\x0b\x32\x1f.livekit.proto.OwnedAudioStream\"\xbb\x01\n\x15NewAudioSourceRequest\x12,\n\x04type\x18\x01 \x02(\x0e\x32\x1e.livekit.proto.AudioSourceType\x12\x32\n\x07options\x18\x02 \x01(\x0b\x32!.livekit.proto.AudioSourceOptions\x12\x13\n\x0bsample_rate\x18\x03 \x02(\r\x12\x14\n\x0cnum_channels\x18\x04 \x02(\r\x12\x15\n\rqueue_size_ms\x18\x05 \x01(\r\"I\n\x16NewAudioSourceResponse\x12/\n\x06source\x18\x01 \x02(\x0b\x32\x1f.livekit.proto.OwnedAudioSource\"f\n\x18\x43\x61ptureAudioFrameRequest\x12\x15\n\rsource_handle\x18\x01 \x02(\x04\x12\x33\n\x06\x62uffer\x18\x02 \x02(\x0b\x32#.livekit.proto.AudioFrameBufferInfo\"-\n\x19\x43\x61ptureAudioFrameResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"<\n\x19\x43\x61ptureAudioFrameCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"0\n\x17\x43learAudioBufferRequest\x12\x15\n\rsource_handle\x18\x01 \x02(\x04\"\x1a\n\x18\x43learAudioBufferResponse\"\x1a\n\x18NewAudioResamplerRequest\"R\n\x19NewAudioResamplerResponse\x12\x35\n\tresampler\x18\x01 \x02(\x0b\x32\".livekit.proto.OwnedAudioResampler\"\x93\x01\n\x17RemixAndResampleRequest\x12\x18\n\x10resampler_handle\x18\x01 \x02(\x04\x12\x33\n\x06\x62uffer\x18\x02 \x02(\x0b\x32#.livekit.proto.AudioFrameBufferInfo\x12\x14\n\x0cnum_channels\x18\x03 \x02(\r\x12\x13\n\x0bsample_rate\x18\x04 \x02(\r\"P\n\x18RemixAndResampleResponse\x12\x34\n\x06\x62uffer\x18\x01 \x02(\x0b\x32$.livekit.proto.OwnedAudioFrameBuffer\"\x95\x01\n\rNewApmRequest\x12\x1e\n\x16\x65\x63ho_canceller_enabled\x18\x01 \x02(\x08\x12\x1f\n\x17gain_controller_enabled\x18\x02 \x02(\x08\x12 \n\x18high_pass_filter_enabled\x18\x03 \x02(\x08\x12!\n\x19noise_suppression_enabled\x18\x04 \x02(\x08\"6\n\x0eNewApmResponse\x12$\n\x03\x61pm\x18\x01 \x02(\x0b\x32\x17.livekit.proto.OwnedApm\"x\n\x17\x41pmProcessStreamRequest\x12\x12\n\napm_handle\x18\x01 \x02(\x04\x12\x10\n\x08\x64\x61ta_ptr\x18\x02 \x02(\x04\x12\x0c\n\x04size\x18\x03 \x02(\r\x12\x13\n\x0bsample_rate\x18\x04 \x02(\r\x12\x14\n\x0cnum_channels\x18\x05 \x02(\r\")\n\x18\x41pmProcessStreamResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\"\x7f\n\x1e\x41pmProcessReverseStreamRequest\x12\x12\n\napm_handle\x18\x01 \x02(\x04\x12\x10\n\x08\x64\x61ta_ptr\x18\x02 \x02(\x04\x12\x0c\n\x04size\x18\x03 \x02(\r\x12\x13\n\x0bsample_rate\x18\x04 \x02(\r\x12\x14\n\x0cnum_channels\x18\x05 \x02(\r\"0\n\x1f\x41pmProcessReverseStreamResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\"@\n\x18\x41pmSetStreamDelayRequest\x12\x12\n\napm_handle\x18\x01 \x02(\x04\x12\x10\n\x08\x64\x65lay_ms\x18\x02 \x02(\x05\"*\n\x19\x41pmSetStreamDelayResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\"\x9c\x02\n\x16NewSoxResamplerRequest\x12\x12\n\ninput_rate\x18\x01 \x02(\x01\x12\x13\n\x0boutput_rate\x18\x02 \x02(\x01\x12\x14\n\x0cnum_channels\x18\x03 \x02(\r\x12<\n\x0finput_data_type\x18\x04 \x02(\x0e\x32#.livekit.proto.SoxResamplerDataType\x12=\n\x10output_data_type\x18\x05 \x02(\x0e\x32#.livekit.proto.SoxResamplerDataType\x12\x37\n\x0equality_recipe\x18\x06 \x02(\x0e\x32\x1f.livekit.proto.SoxQualityRecipe\x12\r\n\x05\x66lags\x18\x07 \x01(\r\"l\n\x17NewSoxResamplerResponse\x12\x35\n\tresampler\x18\x01 \x01(\x0b\x32 .livekit.proto.OwnedSoxResamplerH\x00\x12\x0f\n\x05\x65rror\x18\x02 \x01(\tH\x00\x42\t\n\x07message\"S\n\x17PushSoxResamplerRequest\x12\x18\n\x10resampler_handle\x18\x01 \x02(\x04\x12\x10\n\x08\x64\x61ta_ptr\x18\x02 \x02(\x04\x12\x0c\n\x04size\x18\x03 \x02(\r\"K\n\x18PushSoxResamplerResponse\x12\x12\n\noutput_ptr\x18\x01 \x02(\x04\x12\x0c\n\x04size\x18\x02 \x02(\r\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"4\n\x18\x46lushSoxResamplerRequest\x12\x18\n\x10resampler_handle\x18\x01 \x02(\x04\"L\n\x19\x46lushSoxResamplerResponse\x12\x12\n\noutput_ptr\x18\x01 \x02(\x04\x12\x0c\n\x04size\x18\x02 \x02(\r\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"p\n\x14\x41udioFrameBufferInfo\x12\x10\n\x08\x64\x61ta_ptr\x18\x01 \x02(\x04\x12\x14\n\x0cnum_channels\x18\x02 \x02(\r\x12\x13\n\x0bsample_rate\x18\x03 \x02(\r\x12\x1b\n\x13samples_per_channel\x18\x04 \x02(\r\"y\n\x15OwnedAudioFrameBuffer\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12\x31\n\x04info\x18\x02 \x02(\x0b\x32#.livekit.proto.AudioFrameBufferInfo\"?\n\x0f\x41udioStreamInfo\x12,\n\x04type\x18\x01 \x02(\x0e\x32\x1e.livekit.proto.AudioStreamType\"o\n\x10OwnedAudioStream\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12,\n\x04info\x18\x02 \x02(\x0b\x32\x1e.livekit.proto.AudioStreamInfo\"\x9f\x01\n\x10\x41udioStreamEvent\x12\x15\n\rstream_handle\x18\x01 \x02(\x04\x12;\n\x0e\x66rame_received\x18\x02 \x01(\x0b\x32!.livekit.proto.AudioFrameReceivedH\x00\x12,\n\x03\x65os\x18\x03 \x01(\x0b\x32\x1d.livekit.proto.AudioStreamEOSH\x00\x42\t\n\x07message\"I\n\x12\x41udioFrameReceived\x12\x33\n\x05\x66rame\x18\x01 \x02(\x0b\x32$.livekit.proto.OwnedAudioFrameBuffer\"\x10\n\x0e\x41udioStreamEOS\"e\n\x12\x41udioSourceOptions\x12\x19\n\x11\x65\x63ho_cancellation\x18\x01 \x02(\x08\x12\x19\n\x11noise_suppression\x18\x02 \x02(\x08\x12\x19\n\x11\x61uto_gain_control\x18\x03 \x02(\x08\"?\n\x0f\x41udioSourceInfo\x12,\n\x04type\x18\x02 \x02(\x0e\x32\x1e.livekit.proto.AudioSourceType\"o\n\x10OwnedAudioSource\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12,\n\x04info\x18\x02 \x02(\x0b\x32\x1e.livekit.proto.AudioSourceInfo\"\x14\n\x12\x41udioResamplerInfo\"u\n\x13OwnedAudioResampler\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12/\n\x04info\x18\x02 \x02(\x0b\x32!.livekit.proto.AudioResamplerInfo\"9\n\x08OwnedApm\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\"\x12\n\x10SoxResamplerInfo\"q\n\x11OwnedSoxResampler\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12-\n\x04info\x18\x02 \x02(\x0b\x32\x1f.livekit.proto.SoxResamplerInfo\"\\\n\x1cLoadAudioFilterPluginRequest\x12\x13\n\x0bplugin_path\x18\x01 \x02(\t\x12\x14\n\x0c\x64\x65pendencies\x18\x02 \x03(\t\x12\x11\n\tmodule_id\x18\x03 \x02(\t\".\n\x1dLoadAudioFilterPluginResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t*J\n\x14SoxResamplerDataType\x12\x18\n\x14SOXR_DATATYPE_INT16I\x10\x00\x12\x18\n\x14SOXR_DATATYPE_INT16S\x10\x01*\x8b\x01\n\x10SoxQualityRecipe\x12\x16\n\x12SOXR_QUALITY_QUICK\x10\x00\x12\x14\n\x10SOXR_QUALITY_LOW\x10\x01\x12\x17\n\x13SOXR_QUALITY_MEDIUM\x10\x02\x12\x15\n\x11SOXR_QUALITY_HIGH\x10\x03\x12\x19\n\x15SOXR_QUALITY_VERYHIGH\x10\x04*\x97\x01\n\x0bSoxFlagBits\x12\x16\n\x12SOXR_ROLLOFF_SMALL\x10\x00\x12\x17\n\x13SOXR_ROLLOFF_MEDIUM\x10\x01\x12\x15\n\x11SOXR_ROLLOFF_NONE\x10\x02\x12\x18\n\x14SOXR_HIGH_PREC_CLOCK\x10\x03\x12\x19\n\x15SOXR_DOUBLE_PRECISION\x10\x04\x12\x0b\n\x07SOXR_VR\x10\x05*A\n\x0f\x41udioStreamType\x12\x17\n\x13\x41UDIO_STREAM_NATIVE\x10\x00\x12\x15\n\x11\x41UDIO_STREAM_HTML\x10\x01**\n\x0f\x41udioSourceType\x12\x17\n\x13\x41UDIO_SOURCE_NATIVE\x10\x00\x42\x10\xaa\x02\rLiveKit.Proto') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11\x61udio_frame.proto\x12\rlivekit.proto\x1a\x0chandle.proto\x1a\x0btrack.proto\"\xdb\x01\n\x15NewAudioStreamRequest\x12\x14\n\x0ctrack_handle\x18\x01 \x02(\x04\x12,\n\x04type\x18\x02 \x02(\x0e\x32\x1e.livekit.proto.AudioStreamType\x12\x13\n\x0bsample_rate\x18\x03 \x01(\r\x12\x14\n\x0cnum_channels\x18\x04 \x01(\r\x12\x1e\n\x16\x61udio_filter_module_id\x18\x05 \x01(\t\x12\x1c\n\x14\x61udio_filter_options\x18\x06 \x01(\t\x12\x15\n\rframe_size_ms\x18\x07 \x01(\r\"I\n\x16NewAudioStreamResponse\x12/\n\x06stream\x18\x01 \x02(\x0b\x32\x1f.livekit.proto.OwnedAudioStream\"\x9f\x02\n!AudioStreamFromParticipantRequest\x12\x1a\n\x12participant_handle\x18\x01 \x02(\x04\x12,\n\x04type\x18\x02 \x02(\x0e\x32\x1e.livekit.proto.AudioStreamType\x12\x30\n\x0ctrack_source\x18\x03 \x01(\x0e\x32\x1a.livekit.proto.TrackSource\x12\x13\n\x0bsample_rate\x18\x05 \x01(\r\x12\x14\n\x0cnum_channels\x18\x06 \x01(\r\x12\x1e\n\x16\x61udio_filter_module_id\x18\x07 \x01(\t\x12\x1c\n\x14\x61udio_filter_options\x18\x08 \x01(\t\x12\x15\n\rframe_size_ms\x18\t \x01(\r\"U\n\"AudioStreamFromParticipantResponse\x12/\n\x06stream\x18\x01 \x02(\x0b\x32\x1f.livekit.proto.OwnedAudioStream\"\xbb\x01\n\x15NewAudioSourceRequest\x12,\n\x04type\x18\x01 \x02(\x0e\x32\x1e.livekit.proto.AudioSourceType\x12\x32\n\x07options\x18\x02 \x01(\x0b\x32!.livekit.proto.AudioSourceOptions\x12\x13\n\x0bsample_rate\x18\x03 \x02(\r\x12\x14\n\x0cnum_channels\x18\x04 \x02(\r\x12\x15\n\rqueue_size_ms\x18\x05 \x01(\r\"I\n\x16NewAudioSourceResponse\x12/\n\x06source\x18\x01 \x02(\x0b\x32\x1f.livekit.proto.OwnedAudioSource\"f\n\x18\x43\x61ptureAudioFrameRequest\x12\x15\n\rsource_handle\x18\x01 \x02(\x04\x12\x33\n\x06\x62uffer\x18\x02 \x02(\x0b\x32#.livekit.proto.AudioFrameBufferInfo\"-\n\x19\x43\x61ptureAudioFrameResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"<\n\x19\x43\x61ptureAudioFrameCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"0\n\x17\x43learAudioBufferRequest\x12\x15\n\rsource_handle\x18\x01 \x02(\x04\"\x1a\n\x18\x43learAudioBufferResponse\"\x1a\n\x18NewAudioResamplerRequest\"R\n\x19NewAudioResamplerResponse\x12\x35\n\tresampler\x18\x01 \x02(\x0b\x32\".livekit.proto.OwnedAudioResampler\"\x93\x01\n\x17RemixAndResampleRequest\x12\x18\n\x10resampler_handle\x18\x01 \x02(\x04\x12\x33\n\x06\x62uffer\x18\x02 \x02(\x0b\x32#.livekit.proto.AudioFrameBufferInfo\x12\x14\n\x0cnum_channels\x18\x03 \x02(\r\x12\x13\n\x0bsample_rate\x18\x04 \x02(\r\"P\n\x18RemixAndResampleResponse\x12\x34\n\x06\x62uffer\x18\x01 \x02(\x0b\x32$.livekit.proto.OwnedAudioFrameBuffer\"\x95\x01\n\rNewApmRequest\x12\x1e\n\x16\x65\x63ho_canceller_enabled\x18\x01 \x02(\x08\x12\x1f\n\x17gain_controller_enabled\x18\x02 \x02(\x08\x12 \n\x18high_pass_filter_enabled\x18\x03 \x02(\x08\x12!\n\x19noise_suppression_enabled\x18\x04 \x02(\x08\"6\n\x0eNewApmResponse\x12$\n\x03\x61pm\x18\x01 \x02(\x0b\x32\x17.livekit.proto.OwnedApm\"x\n\x17\x41pmProcessStreamRequest\x12\x12\n\napm_handle\x18\x01 \x02(\x04\x12\x10\n\x08\x64\x61ta_ptr\x18\x02 \x02(\x04\x12\x0c\n\x04size\x18\x03 \x02(\r\x12\x13\n\x0bsample_rate\x18\x04 \x02(\r\x12\x14\n\x0cnum_channels\x18\x05 \x02(\r\")\n\x18\x41pmProcessStreamResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\"\x7f\n\x1e\x41pmProcessReverseStreamRequest\x12\x12\n\napm_handle\x18\x01 \x02(\x04\x12\x10\n\x08\x64\x61ta_ptr\x18\x02 \x02(\x04\x12\x0c\n\x04size\x18\x03 \x02(\r\x12\x13\n\x0bsample_rate\x18\x04 \x02(\r\x12\x14\n\x0cnum_channels\x18\x05 \x02(\r\"0\n\x1f\x41pmProcessReverseStreamResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\"@\n\x18\x41pmSetStreamDelayRequest\x12\x12\n\napm_handle\x18\x01 \x02(\x04\x12\x10\n\x08\x64\x65lay_ms\x18\x02 \x02(\x05\"*\n\x19\x41pmSetStreamDelayResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\"\x9c\x02\n\x16NewSoxResamplerRequest\x12\x12\n\ninput_rate\x18\x01 \x02(\x01\x12\x13\n\x0boutput_rate\x18\x02 \x02(\x01\x12\x14\n\x0cnum_channels\x18\x03 \x02(\r\x12<\n\x0finput_data_type\x18\x04 \x02(\x0e\x32#.livekit.proto.SoxResamplerDataType\x12=\n\x10output_data_type\x18\x05 \x02(\x0e\x32#.livekit.proto.SoxResamplerDataType\x12\x37\n\x0equality_recipe\x18\x06 \x02(\x0e\x32\x1f.livekit.proto.SoxQualityRecipe\x12\r\n\x05\x66lags\x18\x07 \x01(\r\"l\n\x17NewSoxResamplerResponse\x12\x35\n\tresampler\x18\x01 \x01(\x0b\x32 .livekit.proto.OwnedSoxResamplerH\x00\x12\x0f\n\x05\x65rror\x18\x02 \x01(\tH\x00\x42\t\n\x07message\"S\n\x17PushSoxResamplerRequest\x12\x18\n\x10resampler_handle\x18\x01 \x02(\x04\x12\x10\n\x08\x64\x61ta_ptr\x18\x02 \x02(\x04\x12\x0c\n\x04size\x18\x03 \x02(\r\"K\n\x18PushSoxResamplerResponse\x12\x12\n\noutput_ptr\x18\x01 \x02(\x04\x12\x0c\n\x04size\x18\x02 \x02(\r\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"4\n\x18\x46lushSoxResamplerRequest\x12\x18\n\x10resampler_handle\x18\x01 \x02(\x04\"L\n\x19\x46lushSoxResamplerResponse\x12\x12\n\noutput_ptr\x18\x01 \x02(\x04\x12\x0c\n\x04size\x18\x02 \x02(\r\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"p\n\x14\x41udioFrameBufferInfo\x12\x10\n\x08\x64\x61ta_ptr\x18\x01 \x02(\x04\x12\x14\n\x0cnum_channels\x18\x02 \x02(\r\x12\x13\n\x0bsample_rate\x18\x03 \x02(\r\x12\x1b\n\x13samples_per_channel\x18\x04 \x02(\r\"y\n\x15OwnedAudioFrameBuffer\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12\x31\n\x04info\x18\x02 \x02(\x0b\x32#.livekit.proto.AudioFrameBufferInfo\"?\n\x0f\x41udioStreamInfo\x12,\n\x04type\x18\x01 \x02(\x0e\x32\x1e.livekit.proto.AudioStreamType\"o\n\x10OwnedAudioStream\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12,\n\x04info\x18\x02 \x02(\x0b\x32\x1e.livekit.proto.AudioStreamInfo\"\x9f\x01\n\x10\x41udioStreamEvent\x12\x15\n\rstream_handle\x18\x01 \x02(\x04\x12;\n\x0e\x66rame_received\x18\x02 \x01(\x0b\x32!.livekit.proto.AudioFrameReceivedH\x00\x12,\n\x03\x65os\x18\x03 \x01(\x0b\x32\x1d.livekit.proto.AudioStreamEOSH\x00\x42\t\n\x07message\"I\n\x12\x41udioFrameReceived\x12\x33\n\x05\x66rame\x18\x01 \x02(\x0b\x32$.livekit.proto.OwnedAudioFrameBuffer\"\x10\n\x0e\x41udioStreamEOS\"e\n\x12\x41udioSourceOptions\x12\x19\n\x11\x65\x63ho_cancellation\x18\x01 \x02(\x08\x12\x19\n\x11noise_suppression\x18\x02 \x02(\x08\x12\x19\n\x11\x61uto_gain_control\x18\x03 \x02(\x08\"?\n\x0f\x41udioSourceInfo\x12,\n\x04type\x18\x02 \x02(\x0e\x32\x1e.livekit.proto.AudioSourceType\"o\n\x10OwnedAudioSource\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12,\n\x04info\x18\x02 \x02(\x0b\x32\x1e.livekit.proto.AudioSourceInfo\"\x14\n\x12\x41udioResamplerInfo\"u\n\x13OwnedAudioResampler\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12/\n\x04info\x18\x02 \x02(\x0b\x32!.livekit.proto.AudioResamplerInfo\"9\n\x08OwnedApm\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\"\x12\n\x10SoxResamplerInfo\"q\n\x11OwnedSoxResampler\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12-\n\x04info\x18\x02 \x02(\x0b\x32\x1f.livekit.proto.SoxResamplerInfo\"\\\n\x1cLoadAudioFilterPluginRequest\x12\x13\n\x0bplugin_path\x18\x01 \x02(\t\x12\x14\n\x0c\x64\x65pendencies\x18\x02 \x03(\t\x12\x11\n\tmodule_id\x18\x03 \x02(\t\".\n\x1dLoadAudioFilterPluginResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t*J\n\x14SoxResamplerDataType\x12\x18\n\x14SOXR_DATATYPE_INT16I\x10\x00\x12\x18\n\x14SOXR_DATATYPE_INT16S\x10\x01*\x8b\x01\n\x10SoxQualityRecipe\x12\x16\n\x12SOXR_QUALITY_QUICK\x10\x00\x12\x14\n\x10SOXR_QUALITY_LOW\x10\x01\x12\x17\n\x13SOXR_QUALITY_MEDIUM\x10\x02\x12\x15\n\x11SOXR_QUALITY_HIGH\x10\x03\x12\x19\n\x15SOXR_QUALITY_VERYHIGH\x10\x04*\x97\x01\n\x0bSoxFlagBits\x12\x16\n\x12SOXR_ROLLOFF_SMALL\x10\x00\x12\x17\n\x13SOXR_ROLLOFF_MEDIUM\x10\x01\x12\x15\n\x11SOXR_ROLLOFF_NONE\x10\x02\x12\x18\n\x14SOXR_HIGH_PREC_CLOCK\x10\x03\x12\x19\n\x15SOXR_DOUBLE_PRECISION\x10\x04\x12\x0b\n\x07SOXR_VR\x10\x05*A\n\x0f\x41udioStreamType\x12\x17\n\x13\x41UDIO_STREAM_NATIVE\x10\x00\x12\x15\n\x11\x41UDIO_STREAM_HTML\x10\x01**\n\x0f\x41udioSourceType\x12\x17\n\x13\x41UDIO_SOURCE_NATIVE\x10\x00\x42\x10\xaa\x02\rLiveKit.Proto') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -24,106 +24,106 @@ if _descriptor._USE_C_DESCRIPTORS == False: _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto' - _globals['_SOXRESAMPLERDATATYPE']._serialized_start=4372 - _globals['_SOXRESAMPLERDATATYPE']._serialized_end=4446 - _globals['_SOXQUALITYRECIPE']._serialized_start=4449 - _globals['_SOXQUALITYRECIPE']._serialized_end=4588 - _globals['_SOXFLAGBITS']._serialized_start=4591 - _globals['_SOXFLAGBITS']._serialized_end=4742 - _globals['_AUDIOSTREAMTYPE']._serialized_start=4744 - _globals['_AUDIOSTREAMTYPE']._serialized_end=4809 - _globals['_AUDIOSOURCETYPE']._serialized_start=4811 - _globals['_AUDIOSOURCETYPE']._serialized_end=4853 + _globals['_SOXRESAMPLERDATATYPE']._serialized_start=4418 + _globals['_SOXRESAMPLERDATATYPE']._serialized_end=4492 + _globals['_SOXQUALITYRECIPE']._serialized_start=4495 + _globals['_SOXQUALITYRECIPE']._serialized_end=4634 + _globals['_SOXFLAGBITS']._serialized_start=4637 + _globals['_SOXFLAGBITS']._serialized_end=4788 + _globals['_AUDIOSTREAMTYPE']._serialized_start=4790 + _globals['_AUDIOSTREAMTYPE']._serialized_end=4855 + _globals['_AUDIOSOURCETYPE']._serialized_start=4857 + _globals['_AUDIOSOURCETYPE']._serialized_end=4899 _globals['_NEWAUDIOSTREAMREQUEST']._serialized_start=64 - _globals['_NEWAUDIOSTREAMREQUEST']._serialized_end=260 - _globals['_NEWAUDIOSTREAMRESPONSE']._serialized_start=262 - _globals['_NEWAUDIOSTREAMRESPONSE']._serialized_end=335 - _globals['_AUDIOSTREAMFROMPARTICIPANTREQUEST']._serialized_start=338 - _globals['_AUDIOSTREAMFROMPARTICIPANTREQUEST']._serialized_end=602 - _globals['_AUDIOSTREAMFROMPARTICIPANTRESPONSE']._serialized_start=604 - _globals['_AUDIOSTREAMFROMPARTICIPANTRESPONSE']._serialized_end=689 - _globals['_NEWAUDIOSOURCEREQUEST']._serialized_start=692 - _globals['_NEWAUDIOSOURCEREQUEST']._serialized_end=879 - _globals['_NEWAUDIOSOURCERESPONSE']._serialized_start=881 - _globals['_NEWAUDIOSOURCERESPONSE']._serialized_end=954 - _globals['_CAPTUREAUDIOFRAMEREQUEST']._serialized_start=956 - _globals['_CAPTUREAUDIOFRAMEREQUEST']._serialized_end=1058 - _globals['_CAPTUREAUDIOFRAMERESPONSE']._serialized_start=1060 - _globals['_CAPTUREAUDIOFRAMERESPONSE']._serialized_end=1105 - _globals['_CAPTUREAUDIOFRAMECALLBACK']._serialized_start=1107 - _globals['_CAPTUREAUDIOFRAMECALLBACK']._serialized_end=1167 - _globals['_CLEARAUDIOBUFFERREQUEST']._serialized_start=1169 - _globals['_CLEARAUDIOBUFFERREQUEST']._serialized_end=1217 - _globals['_CLEARAUDIOBUFFERRESPONSE']._serialized_start=1219 - _globals['_CLEARAUDIOBUFFERRESPONSE']._serialized_end=1245 - _globals['_NEWAUDIORESAMPLERREQUEST']._serialized_start=1247 - _globals['_NEWAUDIORESAMPLERREQUEST']._serialized_end=1273 - _globals['_NEWAUDIORESAMPLERRESPONSE']._serialized_start=1275 - _globals['_NEWAUDIORESAMPLERRESPONSE']._serialized_end=1357 - _globals['_REMIXANDRESAMPLEREQUEST']._serialized_start=1360 - _globals['_REMIXANDRESAMPLEREQUEST']._serialized_end=1507 - _globals['_REMIXANDRESAMPLERESPONSE']._serialized_start=1509 - _globals['_REMIXANDRESAMPLERESPONSE']._serialized_end=1589 - _globals['_NEWAPMREQUEST']._serialized_start=1592 - _globals['_NEWAPMREQUEST']._serialized_end=1741 - _globals['_NEWAPMRESPONSE']._serialized_start=1743 - _globals['_NEWAPMRESPONSE']._serialized_end=1797 - _globals['_APMPROCESSSTREAMREQUEST']._serialized_start=1799 - _globals['_APMPROCESSSTREAMREQUEST']._serialized_end=1919 - _globals['_APMPROCESSSTREAMRESPONSE']._serialized_start=1921 - _globals['_APMPROCESSSTREAMRESPONSE']._serialized_end=1962 - _globals['_APMPROCESSREVERSESTREAMREQUEST']._serialized_start=1964 - _globals['_APMPROCESSREVERSESTREAMREQUEST']._serialized_end=2091 - _globals['_APMPROCESSREVERSESTREAMRESPONSE']._serialized_start=2093 - _globals['_APMPROCESSREVERSESTREAMRESPONSE']._serialized_end=2141 - _globals['_APMSETSTREAMDELAYREQUEST']._serialized_start=2143 - _globals['_APMSETSTREAMDELAYREQUEST']._serialized_end=2207 - _globals['_APMSETSTREAMDELAYRESPONSE']._serialized_start=2209 - _globals['_APMSETSTREAMDELAYRESPONSE']._serialized_end=2251 - _globals['_NEWSOXRESAMPLERREQUEST']._serialized_start=2254 - _globals['_NEWSOXRESAMPLERREQUEST']._serialized_end=2538 - _globals['_NEWSOXRESAMPLERRESPONSE']._serialized_start=2540 - _globals['_NEWSOXRESAMPLERRESPONSE']._serialized_end=2648 - _globals['_PUSHSOXRESAMPLERREQUEST']._serialized_start=2650 - _globals['_PUSHSOXRESAMPLERREQUEST']._serialized_end=2733 - _globals['_PUSHSOXRESAMPLERRESPONSE']._serialized_start=2735 - _globals['_PUSHSOXRESAMPLERRESPONSE']._serialized_end=2810 - _globals['_FLUSHSOXRESAMPLERREQUEST']._serialized_start=2812 - _globals['_FLUSHSOXRESAMPLERREQUEST']._serialized_end=2864 - _globals['_FLUSHSOXRESAMPLERRESPONSE']._serialized_start=2866 - _globals['_FLUSHSOXRESAMPLERRESPONSE']._serialized_end=2942 - _globals['_AUDIOFRAMEBUFFERINFO']._serialized_start=2944 - _globals['_AUDIOFRAMEBUFFERINFO']._serialized_end=3056 - _globals['_OWNEDAUDIOFRAMEBUFFER']._serialized_start=3058 - _globals['_OWNEDAUDIOFRAMEBUFFER']._serialized_end=3179 - _globals['_AUDIOSTREAMINFO']._serialized_start=3181 - _globals['_AUDIOSTREAMINFO']._serialized_end=3244 - _globals['_OWNEDAUDIOSTREAM']._serialized_start=3246 - _globals['_OWNEDAUDIOSTREAM']._serialized_end=3357 - _globals['_AUDIOSTREAMEVENT']._serialized_start=3360 - _globals['_AUDIOSTREAMEVENT']._serialized_end=3519 - _globals['_AUDIOFRAMERECEIVED']._serialized_start=3521 - _globals['_AUDIOFRAMERECEIVED']._serialized_end=3594 - _globals['_AUDIOSTREAMEOS']._serialized_start=3596 - _globals['_AUDIOSTREAMEOS']._serialized_end=3612 - _globals['_AUDIOSOURCEOPTIONS']._serialized_start=3614 - _globals['_AUDIOSOURCEOPTIONS']._serialized_end=3715 - _globals['_AUDIOSOURCEINFO']._serialized_start=3717 - _globals['_AUDIOSOURCEINFO']._serialized_end=3780 - _globals['_OWNEDAUDIOSOURCE']._serialized_start=3782 - _globals['_OWNEDAUDIOSOURCE']._serialized_end=3893 - _globals['_AUDIORESAMPLERINFO']._serialized_start=3895 - _globals['_AUDIORESAMPLERINFO']._serialized_end=3915 - _globals['_OWNEDAUDIORESAMPLER']._serialized_start=3917 - _globals['_OWNEDAUDIORESAMPLER']._serialized_end=4034 - _globals['_OWNEDAPM']._serialized_start=4036 - _globals['_OWNEDAPM']._serialized_end=4093 - _globals['_SOXRESAMPLERINFO']._serialized_start=4095 - _globals['_SOXRESAMPLERINFO']._serialized_end=4113 - _globals['_OWNEDSOXRESAMPLER']._serialized_start=4115 - _globals['_OWNEDSOXRESAMPLER']._serialized_end=4228 - _globals['_LOADAUDIOFILTERPLUGINREQUEST']._serialized_start=4230 - _globals['_LOADAUDIOFILTERPLUGINREQUEST']._serialized_end=4322 - _globals['_LOADAUDIOFILTERPLUGINRESPONSE']._serialized_start=4324 - _globals['_LOADAUDIOFILTERPLUGINRESPONSE']._serialized_end=4370 + _globals['_NEWAUDIOSTREAMREQUEST']._serialized_end=283 + _globals['_NEWAUDIOSTREAMRESPONSE']._serialized_start=285 + _globals['_NEWAUDIOSTREAMRESPONSE']._serialized_end=358 + _globals['_AUDIOSTREAMFROMPARTICIPANTREQUEST']._serialized_start=361 + _globals['_AUDIOSTREAMFROMPARTICIPANTREQUEST']._serialized_end=648 + _globals['_AUDIOSTREAMFROMPARTICIPANTRESPONSE']._serialized_start=650 + _globals['_AUDIOSTREAMFROMPARTICIPANTRESPONSE']._serialized_end=735 + _globals['_NEWAUDIOSOURCEREQUEST']._serialized_start=738 + _globals['_NEWAUDIOSOURCEREQUEST']._serialized_end=925 + _globals['_NEWAUDIOSOURCERESPONSE']._serialized_start=927 + _globals['_NEWAUDIOSOURCERESPONSE']._serialized_end=1000 + _globals['_CAPTUREAUDIOFRAMEREQUEST']._serialized_start=1002 + _globals['_CAPTUREAUDIOFRAMEREQUEST']._serialized_end=1104 + _globals['_CAPTUREAUDIOFRAMERESPONSE']._serialized_start=1106 + _globals['_CAPTUREAUDIOFRAMERESPONSE']._serialized_end=1151 + _globals['_CAPTUREAUDIOFRAMECALLBACK']._serialized_start=1153 + _globals['_CAPTUREAUDIOFRAMECALLBACK']._serialized_end=1213 + _globals['_CLEARAUDIOBUFFERREQUEST']._serialized_start=1215 + _globals['_CLEARAUDIOBUFFERREQUEST']._serialized_end=1263 + _globals['_CLEARAUDIOBUFFERRESPONSE']._serialized_start=1265 + _globals['_CLEARAUDIOBUFFERRESPONSE']._serialized_end=1291 + _globals['_NEWAUDIORESAMPLERREQUEST']._serialized_start=1293 + _globals['_NEWAUDIORESAMPLERREQUEST']._serialized_end=1319 + _globals['_NEWAUDIORESAMPLERRESPONSE']._serialized_start=1321 + _globals['_NEWAUDIORESAMPLERRESPONSE']._serialized_end=1403 + _globals['_REMIXANDRESAMPLEREQUEST']._serialized_start=1406 + _globals['_REMIXANDRESAMPLEREQUEST']._serialized_end=1553 + _globals['_REMIXANDRESAMPLERESPONSE']._serialized_start=1555 + _globals['_REMIXANDRESAMPLERESPONSE']._serialized_end=1635 + _globals['_NEWAPMREQUEST']._serialized_start=1638 + _globals['_NEWAPMREQUEST']._serialized_end=1787 + _globals['_NEWAPMRESPONSE']._serialized_start=1789 + _globals['_NEWAPMRESPONSE']._serialized_end=1843 + _globals['_APMPROCESSSTREAMREQUEST']._serialized_start=1845 + _globals['_APMPROCESSSTREAMREQUEST']._serialized_end=1965 + _globals['_APMPROCESSSTREAMRESPONSE']._serialized_start=1967 + _globals['_APMPROCESSSTREAMRESPONSE']._serialized_end=2008 + _globals['_APMPROCESSREVERSESTREAMREQUEST']._serialized_start=2010 + _globals['_APMPROCESSREVERSESTREAMREQUEST']._serialized_end=2137 + _globals['_APMPROCESSREVERSESTREAMRESPONSE']._serialized_start=2139 + _globals['_APMPROCESSREVERSESTREAMRESPONSE']._serialized_end=2187 + _globals['_APMSETSTREAMDELAYREQUEST']._serialized_start=2189 + _globals['_APMSETSTREAMDELAYREQUEST']._serialized_end=2253 + _globals['_APMSETSTREAMDELAYRESPONSE']._serialized_start=2255 + _globals['_APMSETSTREAMDELAYRESPONSE']._serialized_end=2297 + _globals['_NEWSOXRESAMPLERREQUEST']._serialized_start=2300 + _globals['_NEWSOXRESAMPLERREQUEST']._serialized_end=2584 + _globals['_NEWSOXRESAMPLERRESPONSE']._serialized_start=2586 + _globals['_NEWSOXRESAMPLERRESPONSE']._serialized_end=2694 + _globals['_PUSHSOXRESAMPLERREQUEST']._serialized_start=2696 + _globals['_PUSHSOXRESAMPLERREQUEST']._serialized_end=2779 + _globals['_PUSHSOXRESAMPLERRESPONSE']._serialized_start=2781 + _globals['_PUSHSOXRESAMPLERRESPONSE']._serialized_end=2856 + _globals['_FLUSHSOXRESAMPLERREQUEST']._serialized_start=2858 + _globals['_FLUSHSOXRESAMPLERREQUEST']._serialized_end=2910 + _globals['_FLUSHSOXRESAMPLERRESPONSE']._serialized_start=2912 + _globals['_FLUSHSOXRESAMPLERRESPONSE']._serialized_end=2988 + _globals['_AUDIOFRAMEBUFFERINFO']._serialized_start=2990 + _globals['_AUDIOFRAMEBUFFERINFO']._serialized_end=3102 + _globals['_OWNEDAUDIOFRAMEBUFFER']._serialized_start=3104 + _globals['_OWNEDAUDIOFRAMEBUFFER']._serialized_end=3225 + _globals['_AUDIOSTREAMINFO']._serialized_start=3227 + _globals['_AUDIOSTREAMINFO']._serialized_end=3290 + _globals['_OWNEDAUDIOSTREAM']._serialized_start=3292 + _globals['_OWNEDAUDIOSTREAM']._serialized_end=3403 + _globals['_AUDIOSTREAMEVENT']._serialized_start=3406 + _globals['_AUDIOSTREAMEVENT']._serialized_end=3565 + _globals['_AUDIOFRAMERECEIVED']._serialized_start=3567 + _globals['_AUDIOFRAMERECEIVED']._serialized_end=3640 + _globals['_AUDIOSTREAMEOS']._serialized_start=3642 + _globals['_AUDIOSTREAMEOS']._serialized_end=3658 + _globals['_AUDIOSOURCEOPTIONS']._serialized_start=3660 + _globals['_AUDIOSOURCEOPTIONS']._serialized_end=3761 + _globals['_AUDIOSOURCEINFO']._serialized_start=3763 + _globals['_AUDIOSOURCEINFO']._serialized_end=3826 + _globals['_OWNEDAUDIOSOURCE']._serialized_start=3828 + _globals['_OWNEDAUDIOSOURCE']._serialized_end=3939 + _globals['_AUDIORESAMPLERINFO']._serialized_start=3941 + _globals['_AUDIORESAMPLERINFO']._serialized_end=3961 + _globals['_OWNEDAUDIORESAMPLER']._serialized_start=3963 + _globals['_OWNEDAUDIORESAMPLER']._serialized_end=4080 + _globals['_OWNEDAPM']._serialized_start=4082 + _globals['_OWNEDAPM']._serialized_end=4139 + _globals['_SOXRESAMPLERINFO']._serialized_start=4141 + _globals['_SOXRESAMPLERINFO']._serialized_end=4159 + _globals['_OWNEDSOXRESAMPLER']._serialized_start=4161 + _globals['_OWNEDSOXRESAMPLER']._serialized_end=4274 + _globals['_LOADAUDIOFILTERPLUGINREQUEST']._serialized_start=4276 + _globals['_LOADAUDIOFILTERPLUGINREQUEST']._serialized_end=4368 + _globals['_LOADAUDIOFILTERPLUGINRESPONSE']._serialized_start=4370 + _globals['_LOADAUDIOFILTERPLUGINRESPONSE']._serialized_end=4416 # @@protoc_insertion_point(module_scope) diff --git a/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.pyi b/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.pyi index 61cb067b..03a79033 100644 --- a/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.pyi +++ b/livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.pyi @@ -152,6 +152,7 @@ class NewAudioStreamRequest(google.protobuf.message.Message): NUM_CHANNELS_FIELD_NUMBER: builtins.int AUDIO_FILTER_MODULE_ID_FIELD_NUMBER: builtins.int AUDIO_FILTER_OPTIONS_FIELD_NUMBER: builtins.int + FRAME_SIZE_MS_FIELD_NUMBER: builtins.int track_handle: builtins.int type: global___AudioStreamType.ValueType sample_rate: builtins.int @@ -159,6 +160,7 @@ class NewAudioStreamRequest(google.protobuf.message.Message): audio_filter_module_id: builtins.str """Unique identifier passed in LoadAudioFilterPluginRequest""" audio_filter_options: builtins.str + frame_size_ms: builtins.int def __init__( self, *, @@ -168,9 +170,10 @@ class NewAudioStreamRequest(google.protobuf.message.Message): num_channels: builtins.int | None = ..., audio_filter_module_id: builtins.str | None = ..., audio_filter_options: builtins.str | None = ..., + frame_size_ms: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["audio_filter_module_id", b"audio_filter_module_id", "audio_filter_options", b"audio_filter_options", "num_channels", b"num_channels", "sample_rate", b"sample_rate", "track_handle", b"track_handle", "type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["audio_filter_module_id", b"audio_filter_module_id", "audio_filter_options", b"audio_filter_options", "num_channels", b"num_channels", "sample_rate", b"sample_rate", "track_handle", b"track_handle", "type", b"type"]) -> None: ... + def HasField(self, field_name: typing.Literal["audio_filter_module_id", b"audio_filter_module_id", "audio_filter_options", b"audio_filter_options", "frame_size_ms", b"frame_size_ms", "num_channels", b"num_channels", "sample_rate", b"sample_rate", "track_handle", b"track_handle", "type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["audio_filter_module_id", b"audio_filter_module_id", "audio_filter_options", b"audio_filter_options", "frame_size_ms", b"frame_size_ms", "num_channels", b"num_channels", "sample_rate", b"sample_rate", "track_handle", b"track_handle", "type", b"type"]) -> None: ... global___NewAudioStreamRequest = NewAudioStreamRequest @@ -202,6 +205,7 @@ class AudioStreamFromParticipantRequest(google.protobuf.message.Message): NUM_CHANNELS_FIELD_NUMBER: builtins.int AUDIO_FILTER_MODULE_ID_FIELD_NUMBER: builtins.int AUDIO_FILTER_OPTIONS_FIELD_NUMBER: builtins.int + FRAME_SIZE_MS_FIELD_NUMBER: builtins.int participant_handle: builtins.int type: global___AudioStreamType.ValueType track_source: track_pb2.TrackSource.ValueType @@ -209,6 +213,7 @@ class AudioStreamFromParticipantRequest(google.protobuf.message.Message): num_channels: builtins.int audio_filter_module_id: builtins.str audio_filter_options: builtins.str + frame_size_ms: builtins.int def __init__( self, *, @@ -219,9 +224,10 @@ class AudioStreamFromParticipantRequest(google.protobuf.message.Message): num_channels: builtins.int | None = ..., audio_filter_module_id: builtins.str | None = ..., audio_filter_options: builtins.str | None = ..., + frame_size_ms: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["audio_filter_module_id", b"audio_filter_module_id", "audio_filter_options", b"audio_filter_options", "num_channels", b"num_channels", "participant_handle", b"participant_handle", "sample_rate", b"sample_rate", "track_source", b"track_source", "type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["audio_filter_module_id", b"audio_filter_module_id", "audio_filter_options", b"audio_filter_options", "num_channels", b"num_channels", "participant_handle", b"participant_handle", "sample_rate", b"sample_rate", "track_source", b"track_source", "type", b"type"]) -> None: ... + def HasField(self, field_name: typing.Literal["audio_filter_module_id", b"audio_filter_module_id", "audio_filter_options", b"audio_filter_options", "frame_size_ms", b"frame_size_ms", "num_channels", b"num_channels", "participant_handle", b"participant_handle", "sample_rate", b"sample_rate", "track_source", b"track_source", "type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["audio_filter_module_id", b"audio_filter_module_id", "audio_filter_options", b"audio_filter_options", "frame_size_ms", b"frame_size_ms", "num_channels", b"num_channels", "participant_handle", b"participant_handle", "sample_rate", b"sample_rate", "track_source", b"track_source", "type", b"type"]) -> None: ... global___AudioStreamFromParticipantRequest = AudioStreamFromParticipantRequest