diff --git a/Runtime/Scripts/Audio.meta b/Runtime/Scripts/Audio.meta new file mode 100644 index 00000000..bf353cbf --- /dev/null +++ b/Runtime/Scripts/Audio.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5e88390570b20494a888942982d3cc66 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/AudioFrame.cs b/Runtime/Scripts/Audio/AudioFrame.cs similarity index 98% rename from Runtime/Scripts/AudioFrame.cs rename to Runtime/Scripts/Audio/AudioFrame.cs index f8fc1cf3..f1d20535 100644 --- a/Runtime/Scripts/AudioFrame.cs +++ b/Runtime/Scripts/Audio/AudioFrame.cs @@ -3,6 +3,7 @@ using LiveKit.Internal; using Unity.Collections; +using LiveKit.Internal.FFI; namespace LiveKit { public class AudioFrame : IDisposable diff --git a/Runtime/Scripts/AudioFrame.cs.meta b/Runtime/Scripts/Audio/AudioFrame.cs.meta similarity index 100% rename from Runtime/Scripts/AudioFrame.cs.meta rename to Runtime/Scripts/Audio/AudioFrame.cs.meta diff --git a/Runtime/Scripts/Internal/AudioProbe.cs b/Runtime/Scripts/Audio/AudioProbe.cs similarity index 100% rename from Runtime/Scripts/Internal/AudioProbe.cs rename to Runtime/Scripts/Audio/AudioProbe.cs diff --git a/Runtime/Scripts/Internal/AudioProbe.cs.meta b/Runtime/Scripts/Audio/AudioProbe.cs.meta similarity index 100% rename from Runtime/Scripts/Internal/AudioProbe.cs.meta rename to Runtime/Scripts/Audio/AudioProbe.cs.meta diff --git a/Runtime/Scripts/Internal/AudioResampler.cs b/Runtime/Scripts/Audio/AudioResampler.cs similarity index 96% rename from Runtime/Scripts/Internal/AudioResampler.cs rename to Runtime/Scripts/Audio/AudioResampler.cs index 162d9228..43382482 100644 --- a/Runtime/Scripts/Internal/AudioResampler.cs +++ b/Runtime/Scripts/Audio/AudioResampler.cs @@ -1,8 +1,9 @@ using System; -using LiveKit.Internal.FFIClients.Requests; +using LiveKit.Internal.FFI.Requests; using LiveKit.Internal; using LiveKit.Proto; +using LiveKit.Internal.FFI; namespace LiveKit { public sealed class AudioResampler : IDisposable diff --git a/Runtime/Scripts/Internal/AudioResampler.cs.meta b/Runtime/Scripts/Audio/AudioResampler.cs.meta similarity index 100% rename from Runtime/Scripts/Internal/AudioResampler.cs.meta rename to Runtime/Scripts/Audio/AudioResampler.cs.meta diff --git a/Runtime/Scripts/AudioStream.cs b/Runtime/Scripts/Audio/AudioStream.cs similarity index 99% rename from Runtime/Scripts/AudioStream.cs rename to Runtime/Scripts/Audio/AudioStream.cs index 4d9ab588..49a24c6f 100644 --- a/Runtime/Scripts/AudioStream.cs +++ b/Runtime/Scripts/Audio/AudioStream.cs @@ -3,8 +3,10 @@ using LiveKit.Internal; using LiveKit.Proto; using System.Runtime.InteropServices; -using LiveKit.Internal.FFIClients.Requests; +using LiveKit.Internal.FFI.Requests; +using LiveKit.Internal.Threading; +using LiveKit.Internal.FFI; namespace LiveKit { /// diff --git a/Runtime/Scripts/AudioStream.cs.meta b/Runtime/Scripts/Audio/AudioStream.cs.meta similarity index 100% rename from Runtime/Scripts/AudioStream.cs.meta rename to Runtime/Scripts/Audio/AudioStream.cs.meta diff --git a/Runtime/Scripts/BasicAudioSource.cs b/Runtime/Scripts/Audio/BasicAudioSource.cs similarity index 100% rename from Runtime/Scripts/BasicAudioSource.cs rename to Runtime/Scripts/Audio/BasicAudioSource.cs diff --git a/Runtime/Scripts/BasicAudioSource.cs.meta b/Runtime/Scripts/Audio/BasicAudioSource.cs.meta similarity index 100% rename from Runtime/Scripts/BasicAudioSource.cs.meta rename to Runtime/Scripts/Audio/BasicAudioSource.cs.meta diff --git a/Runtime/Scripts/MicrophoneSource.cs b/Runtime/Scripts/Audio/MicrophoneSource.cs similarity index 99% rename from Runtime/Scripts/MicrophoneSource.cs rename to Runtime/Scripts/Audio/MicrophoneSource.cs index 34687f88..75bec1f0 100644 --- a/Runtime/Scripts/MicrophoneSource.cs +++ b/Runtime/Scripts/Audio/MicrophoneSource.cs @@ -3,6 +3,7 @@ using UnityEngine; using LiveKit.Internal; +using LiveKit.Internal.Threading; namespace LiveKit { /// diff --git a/Runtime/Scripts/MicrophoneSource.cs.meta b/Runtime/Scripts/Audio/MicrophoneSource.cs.meta similarity index 100% rename from Runtime/Scripts/MicrophoneSource.cs.meta rename to Runtime/Scripts/Audio/MicrophoneSource.cs.meta diff --git a/Runtime/Scripts/PlatformAudio.cs b/Runtime/Scripts/Audio/PlatformAudio.cs similarity index 99% rename from Runtime/Scripts/PlatformAudio.cs rename to Runtime/Scripts/Audio/PlatformAudio.cs index 9a366918..7c113e20 100644 --- a/Runtime/Scripts/PlatformAudio.cs +++ b/Runtime/Scripts/Audio/PlatformAudio.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using LiveKit.Proto; using LiveKit.Internal; -using LiveKit.Internal.FFIClients.Requests; +using LiveKit.Internal.FFI.Requests; #if UNITY_IOS && !UNITY_EDITOR using System.Runtime.InteropServices; @@ -13,6 +13,7 @@ using UnityEngine.Android; #endif +using LiveKit.Internal.FFI; namespace LiveKit { #if UNITY_IOS && !UNITY_EDITOR diff --git a/Runtime/Scripts/PlatformAudio.cs.meta b/Runtime/Scripts/Audio/PlatformAudio.cs.meta similarity index 100% rename from Runtime/Scripts/PlatformAudio.cs.meta rename to Runtime/Scripts/Audio/PlatformAudio.cs.meta diff --git a/Runtime/Scripts/PlatformAudioSource.cs b/Runtime/Scripts/Audio/PlatformAudioSource.cs similarity index 99% rename from Runtime/Scripts/PlatformAudioSource.cs rename to Runtime/Scripts/Audio/PlatformAudioSource.cs index f0be42b5..0b507c4c 100644 --- a/Runtime/Scripts/PlatformAudioSource.cs +++ b/Runtime/Scripts/Audio/PlatformAudioSource.cs @@ -1,8 +1,9 @@ using System; using LiveKit.Proto; using LiveKit.Internal; -using LiveKit.Internal.FFIClients.Requests; +using LiveKit.Internal.FFI.Requests; +using LiveKit.Internal.FFI; namespace LiveKit { /// diff --git a/Runtime/Scripts/PlatformAudioSource.cs.meta b/Runtime/Scripts/Audio/PlatformAudioSource.cs.meta similarity index 100% rename from Runtime/Scripts/PlatformAudioSource.cs.meta rename to Runtime/Scripts/Audio/PlatformAudioSource.cs.meta diff --git a/Runtime/Scripts/Internal/RingBuffer.cs b/Runtime/Scripts/Audio/RingBuffer.cs similarity index 98% rename from Runtime/Scripts/Internal/RingBuffer.cs rename to Runtime/Scripts/Audio/RingBuffer.cs index 66df38e6..4874b814 100644 --- a/Runtime/Scripts/Internal/RingBuffer.cs +++ b/Runtime/Scripts/Audio/RingBuffer.cs @@ -1,8 +1,8 @@ using System; using System.Buffers; -using LiveKit.Internal.FFIClients.Pools.Memory; +using LiveKit.Internal.FFI.Pools.Memory; -namespace LiveKit.Internal +namespace LiveKit { // Basic RingBuffer implementation (used WebRtc_RingBuffer as reference) // The one from com.unity.collections is dealing element per element, which is not efficient when dealing with bytes diff --git a/Runtime/Scripts/Internal/RingBuffer.cs.meta b/Runtime/Scripts/Audio/RingBuffer.cs.meta similarity index 100% rename from Runtime/Scripts/Internal/RingBuffer.cs.meta rename to Runtime/Scripts/Audio/RingBuffer.cs.meta diff --git a/Runtime/Scripts/RtcAudioSource.cs b/Runtime/Scripts/Audio/RtcAudioSource.cs similarity index 99% rename from Runtime/Scripts/RtcAudioSource.cs rename to Runtime/Scripts/Audio/RtcAudioSource.cs index 9a80b99e..9147b431 100644 --- a/Runtime/Scripts/RtcAudioSource.cs +++ b/Runtime/Scripts/Audio/RtcAudioSource.cs @@ -3,12 +3,13 @@ using System.Collections.Generic; using LiveKit.Proto; using LiveKit.Internal; -using LiveKit.Internal.FFIClients.Requests; +using LiveKit.Internal.FFI.Requests; using Unity.Collections; using Unity.Collections.LowLevel.Unsafe; using System.Diagnostics; using System.Threading; +using LiveKit.Internal.FFI; namespace LiveKit { /// diff --git a/Runtime/Scripts/RtcAudioSource.cs.meta b/Runtime/Scripts/Audio/RtcAudioSource.cs.meta similarity index 100% rename from Runtime/Scripts/RtcAudioSource.cs.meta rename to Runtime/Scripts/Audio/RtcAudioSource.cs.meta diff --git a/Runtime/Scripts/Core.meta b/Runtime/Scripts/Core.meta new file mode 100644 index 00000000..0de47c36 --- /dev/null +++ b/Runtime/Scripts/Core.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 29dfdf13abae647a98625e321a810bae +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/E2EE.cs b/Runtime/Scripts/Core/E2EE.cs similarity index 98% rename from Runtime/Scripts/E2EE.cs rename to Runtime/Scripts/Core/E2EE.cs index 3aba416f..37d06a85 100644 --- a/Runtime/Scripts/E2EE.cs +++ b/Runtime/Scripts/Core/E2EE.cs @@ -1,8 +1,9 @@ using System.Collections.Generic; using LiveKit.Internal; -using LiveKit.Internal.FFIClients.Requests; +using LiveKit.Internal.FFI.Requests; using LiveKit.Proto; +using LiveKit.Internal.FFI; namespace LiveKit { public enum EncryptionType diff --git a/Runtime/Scripts/E2EE.cs.meta b/Runtime/Scripts/Core/E2EE.cs.meta similarity index 100% rename from Runtime/Scripts/E2EE.cs.meta rename to Runtime/Scripts/Core/E2EE.cs.meta diff --git a/Runtime/Scripts/Participant.cs b/Runtime/Scripts/Core/Participant.cs similarity index 99% rename from Runtime/Scripts/Participant.cs rename to Runtime/Scripts/Core/Participant.cs index 33728144..ade575c3 100644 --- a/Runtime/Scripts/Participant.cs +++ b/Runtime/Scripts/Core/Participant.cs @@ -4,9 +4,11 @@ using System.Threading.Tasks; using LiveKit.Internal; using LiveKit.Proto; -using LiveKit.Internal.FFIClients.Requests; +using LiveKit.Internal.FFI.Requests; using System.Diagnostics; +using LiveKit.Internal.Threading; +using LiveKit.Internal.FFI; namespace LiveKit { public delegate Task RpcHandler(RpcInvocationData data); diff --git a/Runtime/Scripts/Participant.cs.meta b/Runtime/Scripts/Core/Participant.cs.meta similarity index 100% rename from Runtime/Scripts/Participant.cs.meta rename to Runtime/Scripts/Core/Participant.cs.meta diff --git a/Runtime/Scripts/Room.cs b/Runtime/Scripts/Core/Room.cs similarity index 99% rename from Runtime/Scripts/Room.cs rename to Runtime/Scripts/Core/Room.cs index c70f279e..eec304c3 100644 --- a/Runtime/Scripts/Room.cs +++ b/Runtime/Scripts/Core/Room.cs @@ -3,9 +3,11 @@ using LiveKit.Internal; using LiveKit.Proto; using System.Runtime.InteropServices; -using LiveKit.Internal.FFIClients.Requests; +using LiveKit.Internal.FFI.Requests; using UnityEngine; +using LiveKit.Internal.Threading; +using LiveKit.Internal.FFI; namespace LiveKit { public enum IceTransportType @@ -654,7 +656,7 @@ internal Participant GetParticipant(string identity) } } - public sealed class ConnectInstruction : YieldInstruction + public sealed class ConnectInstruction : LiveKit.Internal.Threading.YieldInstruction { private ulong _asyncId; private Room _room; diff --git a/Runtime/Scripts/Room.cs.meta b/Runtime/Scripts/Core/Room.cs.meta similarity index 100% rename from Runtime/Scripts/Room.cs.meta rename to Runtime/Scripts/Core/Room.cs.meta diff --git a/Runtime/Scripts/Rpc.cs b/Runtime/Scripts/Core/Rpc.cs similarity index 100% rename from Runtime/Scripts/Rpc.cs rename to Runtime/Scripts/Core/Rpc.cs diff --git a/Runtime/Scripts/Rpc.cs.meta b/Runtime/Scripts/Core/Rpc.cs.meta similarity index 100% rename from Runtime/Scripts/Rpc.cs.meta rename to Runtime/Scripts/Core/Rpc.cs.meta diff --git a/Runtime/Scripts/RtcSource.cs b/Runtime/Scripts/Core/RtcSource.cs similarity index 100% rename from Runtime/Scripts/RtcSource.cs rename to Runtime/Scripts/Core/RtcSource.cs diff --git a/Runtime/Scripts/RtcSource.cs.meta b/Runtime/Scripts/Core/RtcSource.cs.meta similarity index 100% rename from Runtime/Scripts/RtcSource.cs.meta rename to Runtime/Scripts/Core/RtcSource.cs.meta diff --git a/Runtime/Scripts/Track.cs b/Runtime/Scripts/Core/Track.cs similarity index 98% rename from Runtime/Scripts/Track.cs rename to Runtime/Scripts/Core/Track.cs index 2fa873b6..aca34e60 100644 --- a/Runtime/Scripts/Track.cs +++ b/Runtime/Scripts/Core/Track.cs @@ -1,8 +1,10 @@ using System; using LiveKit.Proto; using LiveKit.Internal; -using LiveKit.Internal.FFIClients.Requests; +using LiveKit.Internal.FFI.Requests; +using LiveKit.Internal.Threading; +using LiveKit.Internal.FFI; namespace LiveKit { public interface ITrack diff --git a/Runtime/Scripts/Track.cs.meta b/Runtime/Scripts/Core/Track.cs.meta similarity index 100% rename from Runtime/Scripts/Track.cs.meta rename to Runtime/Scripts/Core/Track.cs.meta diff --git a/Runtime/Scripts/TrackPublication.cs b/Runtime/Scripts/Core/TrackPublication.cs similarity index 98% rename from Runtime/Scripts/TrackPublication.cs rename to Runtime/Scripts/Core/TrackPublication.cs index 4fbd1284..a16b20d7 100644 --- a/Runtime/Scripts/TrackPublication.cs +++ b/Runtime/Scripts/Core/TrackPublication.cs @@ -1,7 +1,8 @@ using LiveKit.Internal; -using LiveKit.Internal.FFIClients.Requests; +using LiveKit.Internal.FFI.Requests; using LiveKit.Proto; +using LiveKit.Internal.FFI; namespace LiveKit { public class TrackPublication diff --git a/Runtime/Scripts/TrackPublication.cs.meta b/Runtime/Scripts/Core/TrackPublication.cs.meta similarity index 100% rename from Runtime/Scripts/TrackPublication.cs.meta rename to Runtime/Scripts/Core/TrackPublication.cs.meta diff --git a/Runtime/Scripts/DataStreams.meta b/Runtime/Scripts/DataStreams.meta new file mode 100644 index 00000000..e802ad81 --- /dev/null +++ b/Runtime/Scripts/DataStreams.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e497a597b37c9442492b4910793b3955 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/ByteDataStream.cs b/Runtime/Scripts/DataStreams/ByteDataStream.cs similarity index 99% rename from Runtime/Scripts/ByteDataStream.cs rename to Runtime/Scripts/DataStreams/ByteDataStream.cs index 6e9a57f4..d3072700 100644 --- a/Runtime/Scripts/ByteDataStream.cs +++ b/Runtime/Scripts/DataStreams/ByteDataStream.cs @@ -1,10 +1,11 @@ using System; using System.Collections.Generic; using System.Linq; -using LiveKit.Internal.FFIClients.Requests; +using LiveKit.Internal.FFI.Requests; using LiveKit.Internal; using LiveKit.Proto; +using LiveKit.Internal.FFI; namespace LiveKit { /// diff --git a/Runtime/Scripts/ByteDataStream.cs.meta b/Runtime/Scripts/DataStreams/ByteDataStream.cs.meta similarity index 100% rename from Runtime/Scripts/ByteDataStream.cs.meta rename to Runtime/Scripts/DataStreams/ByteDataStream.cs.meta diff --git a/Runtime/Scripts/DataStream.cs b/Runtime/Scripts/DataStreams/DataStream.cs similarity index 99% rename from Runtime/Scripts/DataStream.cs rename to Runtime/Scripts/DataStreams/DataStream.cs index 4a0339e8..68ee95a9 100644 --- a/Runtime/Scripts/DataStream.cs +++ b/Runtime/Scripts/DataStreams/DataStream.cs @@ -4,6 +4,8 @@ using LiveKit.Internal; using LiveKit.Proto; +using LiveKit.Internal.Threading; +using LiveKit.Internal.FFI; namespace LiveKit { /// diff --git a/Runtime/Scripts/DataStream.cs.meta b/Runtime/Scripts/DataStreams/DataStream.cs.meta similarity index 100% rename from Runtime/Scripts/DataStream.cs.meta rename to Runtime/Scripts/DataStreams/DataStream.cs.meta diff --git a/Runtime/Scripts/DataTrack.cs b/Runtime/Scripts/DataStreams/DataTrack.cs similarity index 99% rename from Runtime/Scripts/DataTrack.cs rename to Runtime/Scripts/DataStreams/DataTrack.cs index 97ded28b..a6bd9fcc 100644 --- a/Runtime/Scripts/DataTrack.cs +++ b/Runtime/Scripts/DataStreams/DataTrack.cs @@ -1,9 +1,11 @@ using System; using LiveKit.Internal; -using LiveKit.Internal.FFIClients.Requests; +using LiveKit.Internal.FFI.Requests; using LiveKit.Proto; using UnityEngine; +using LiveKit.Internal.Threading; +using LiveKit.Internal.FFI; namespace LiveKit { /// diff --git a/Runtime/Scripts/DataTrack.cs.meta b/Runtime/Scripts/DataStreams/DataTrack.cs.meta similarity index 100% rename from Runtime/Scripts/DataTrack.cs.meta rename to Runtime/Scripts/DataStreams/DataTrack.cs.meta diff --git a/Runtime/Scripts/TextDataStream.cs b/Runtime/Scripts/DataStreams/TextDataStream.cs similarity index 99% rename from Runtime/Scripts/TextDataStream.cs rename to Runtime/Scripts/DataStreams/TextDataStream.cs index 529287aa..4587a5c0 100644 --- a/Runtime/Scripts/TextDataStream.cs +++ b/Runtime/Scripts/DataStreams/TextDataStream.cs @@ -1,9 +1,10 @@ using System; using System.Collections.Generic; -using LiveKit.Internal.FFIClients.Requests; +using LiveKit.Internal.FFI.Requests; using LiveKit.Internal; using LiveKit.Proto; +using LiveKit.Internal.FFI; namespace LiveKit { /// diff --git a/Runtime/Scripts/TextDataStream.cs.meta b/Runtime/Scripts/DataStreams/TextDataStream.cs.meta similarity index 100% rename from Runtime/Scripts/TextDataStream.cs.meta rename to Runtime/Scripts/DataStreams/TextDataStream.cs.meta diff --git a/Runtime/Scripts/Internal/FFIClients.meta b/Runtime/Scripts/Internal/FFI.meta similarity index 100% rename from Runtime/Scripts/Internal/FFIClients.meta rename to Runtime/Scripts/Internal/FFI.meta diff --git a/Runtime/Scripts/Internal/FFIClient.cs b/Runtime/Scripts/Internal/FFI/FFIClient.cs similarity index 99% rename from Runtime/Scripts/Internal/FFIClient.cs rename to Runtime/Scripts/Internal/FFI/FFIClient.cs index fb6a5006..61dc2b71 100644 --- a/Runtime/Scripts/Internal/FFIClient.cs +++ b/Runtime/Scripts/Internal/FFI/FFIClient.cs @@ -4,16 +4,16 @@ using UnityEngine; using Google.Protobuf; using System.Threading; -using LiveKit.Internal.FFIClients; -using LiveKit.Internal.FFIClients.Pools; -using LiveKit.Internal.FFIClients.Pools.Memory; +using LiveKit.Internal.FFI; +using LiveKit.Internal.FFI.Pools; +using LiveKit.Internal.FFI.Pools.Memory; using UnityEngine.Pool; #if UNITY_EDITOR using UnityEditor; #endif -namespace LiveKit.Internal +namespace LiveKit.Internal.FFI { #if UNITY_EDITOR [InitializeOnLoad] @@ -64,7 +64,7 @@ internal sealed class FfiClient : IFFIClient // Data Track public event DataTrackStreamEventReceivedDelegate? DataTrackStreamEventReceived; - public FfiClient() : this(Pools.NewFfiResponsePool(), new ArrayMemoryPool()) + public FfiClient() : this(PoolFactory.NewFfiResponsePool(), new ArrayMemoryPool()) { } diff --git a/Runtime/Scripts/Internal/FFIClient.cs.meta b/Runtime/Scripts/Internal/FFI/FFIClient.cs.meta similarity index 100% rename from Runtime/Scripts/Internal/FFIClient.cs.meta rename to Runtime/Scripts/Internal/FFI/FFIClient.cs.meta diff --git a/Runtime/Scripts/Internal/FFIClients/FFIEvents.cs b/Runtime/Scripts/Internal/FFI/FFIEvents.cs similarity index 98% rename from Runtime/Scripts/Internal/FFIClients/FFIEvents.cs rename to Runtime/Scripts/Internal/FFI/FFIEvents.cs index 9fcd1370..8e182a59 100644 --- a/Runtime/Scripts/Internal/FFIClients/FFIEvents.cs +++ b/Runtime/Scripts/Internal/FFI/FFIEvents.cs @@ -2,7 +2,7 @@ using System.Runtime.InteropServices; using LiveKit.Proto; -namespace LiveKit.Internal +namespace LiveKit.Internal.FFI { [UnmanagedFunctionPointer(CallingConvention.Cdecl)] diff --git a/Runtime/Scripts/Internal/FFIClients/FFIEvents.cs.meta b/Runtime/Scripts/Internal/FFI/FFIEvents.cs.meta similarity index 100% rename from Runtime/Scripts/Internal/FFIClients/FFIEvents.cs.meta rename to Runtime/Scripts/Internal/FFI/FFIEvents.cs.meta diff --git a/Runtime/Scripts/Internal/FFIHandle.cs b/Runtime/Scripts/Internal/FFI/FFIHandle.cs similarity index 95% rename from Runtime/Scripts/Internal/FFIHandle.cs rename to Runtime/Scripts/Internal/FFI/FFIHandle.cs index 2ac1079f..be31043f 100644 --- a/Runtime/Scripts/Internal/FFIHandle.cs +++ b/Runtime/Scripts/Internal/FFI/FFIHandle.cs @@ -3,7 +3,7 @@ using System.Runtime.ConstrainedExecution; using LiveKit.Proto; -namespace LiveKit.Internal +namespace LiveKit.Internal.FFI { public class FfiHandle : SafeHandle { diff --git a/Runtime/Scripts/Internal/FFIHandle.cs.meta b/Runtime/Scripts/Internal/FFI/FFIHandle.cs.meta similarity index 100% rename from Runtime/Scripts/Internal/FFIHandle.cs.meta rename to Runtime/Scripts/Internal/FFI/FFIHandle.cs.meta diff --git a/Runtime/Scripts/Internal/FfiInstruction.cs b/Runtime/Scripts/Internal/FFI/FfiInstruction.cs similarity index 98% rename from Runtime/Scripts/Internal/FfiInstruction.cs rename to Runtime/Scripts/Internal/FFI/FfiInstruction.cs index 93e89074..b35e6c5b 100644 --- a/Runtime/Scripts/Internal/FfiInstruction.cs +++ b/Runtime/Scripts/Internal/FFI/FfiInstruction.cs @@ -2,7 +2,8 @@ using LiveKit.Internal; using LiveKit.Proto; -namespace LiveKit +using LiveKit.Internal.Threading; +namespace LiveKit.Internal.FFI { /// /// Generic yield instruction for one-shot FFI callbacks that follow the standard pattern: diff --git a/Runtime/Scripts/Internal/FfiInstruction.cs.meta b/Runtime/Scripts/Internal/FFI/FfiInstruction.cs.meta similarity index 100% rename from Runtime/Scripts/Internal/FfiInstruction.cs.meta rename to Runtime/Scripts/Internal/FFI/FfiInstruction.cs.meta diff --git a/Runtime/Scripts/Internal/FFIClients/FfiRequestExtensions.cs b/Runtime/Scripts/Internal/FFI/FfiRequestExtensions.cs similarity index 99% rename from Runtime/Scripts/Internal/FFIClients/FfiRequestExtensions.cs rename to Runtime/Scripts/Internal/FFI/FfiRequestExtensions.cs index a39e9fb9..b054cfad 100644 --- a/Runtime/Scripts/Internal/FFIClients/FfiRequestExtensions.cs +++ b/Runtime/Scripts/Internal/FFI/FfiRequestExtensions.cs @@ -5,7 +5,7 @@ using System.Reflection; using LiveKit.Proto; -namespace LiveKit.Internal.FFIClients +namespace LiveKit.Internal.FFI { public static class FfiRequestExtensions { diff --git a/Runtime/Scripts/Internal/FFIClients/FfiRequestExtensions.cs.meta b/Runtime/Scripts/Internal/FFI/FfiRequestExtensions.cs.meta similarity index 100% rename from Runtime/Scripts/Internal/FFIClients/FfiRequestExtensions.cs.meta rename to Runtime/Scripts/Internal/FFI/FfiRequestExtensions.cs.meta diff --git a/Runtime/Scripts/Internal/FFIClients/FfiResponseWrap.cs b/Runtime/Scripts/Internal/FFI/FfiResponseWrap.cs similarity index 95% rename from Runtime/Scripts/Internal/FFIClients/FfiResponseWrap.cs rename to Runtime/Scripts/Internal/FFI/FfiResponseWrap.cs index 4c46f951..031ff45c 100644 --- a/Runtime/Scripts/Internal/FFIClients/FfiResponseWrap.cs +++ b/Runtime/Scripts/Internal/FFI/FfiResponseWrap.cs @@ -1,7 +1,7 @@ using System; using LiveKit.Proto; -namespace LiveKit.Internal.FFIClients +namespace LiveKit.Internal.FFI { public readonly struct FfiResponseWrap : IDisposable { diff --git a/Runtime/Scripts/Internal/FFIClients/FfiResponseWrap.cs.meta b/Runtime/Scripts/Internal/FFI/FfiResponseWrap.cs.meta similarity index 100% rename from Runtime/Scripts/Internal/FFIClients/FfiResponseWrap.cs.meta rename to Runtime/Scripts/Internal/FFI/FfiResponseWrap.cs.meta diff --git a/Runtime/Scripts/Internal/FFIClients/IFFIClient.cs b/Runtime/Scripts/Internal/FFI/IFFIClient.cs similarity index 88% rename from Runtime/Scripts/Internal/FFIClients/IFFIClient.cs rename to Runtime/Scripts/Internal/FFI/IFFIClient.cs index 4d0cdb38..54a74c25 100644 --- a/Runtime/Scripts/Internal/FFIClients/IFFIClient.cs +++ b/Runtime/Scripts/Internal/FFI/IFFIClient.cs @@ -1,7 +1,7 @@ using System; using LiveKit.Proto; -namespace LiveKit.Internal.FFIClients +namespace LiveKit.Internal.FFI { /// /// Thread-safe interface for sending requests to the FFI layer diff --git a/Runtime/Scripts/Internal/FFIClients/IFFIClient.cs.meta b/Runtime/Scripts/Internal/FFI/IFFIClient.cs.meta similarity index 100% rename from Runtime/Scripts/Internal/FFIClients/IFFIClient.cs.meta rename to Runtime/Scripts/Internal/FFI/IFFIClient.cs.meta diff --git a/Runtime/Scripts/Internal/NativeMethods.cs b/Runtime/Scripts/Internal/FFI/NativeMethods.cs similarity index 98% rename from Runtime/Scripts/Internal/NativeMethods.cs rename to Runtime/Scripts/Internal/FFI/NativeMethods.cs index 4587b345..3f4e662d 100644 --- a/Runtime/Scripts/Internal/NativeMethods.cs +++ b/Runtime/Scripts/Internal/FFI/NativeMethods.cs @@ -5,7 +5,7 @@ using FfiHandleId = System.IntPtr; -namespace LiveKit.Internal +namespace LiveKit.Internal.FFI { [SuppressUnmanagedCodeSecurity] internal static class NativeMethods diff --git a/Runtime/Scripts/Internal/NativeMethods.cs.meta b/Runtime/Scripts/Internal/FFI/NativeMethods.cs.meta similarity index 100% rename from Runtime/Scripts/Internal/NativeMethods.cs.meta rename to Runtime/Scripts/Internal/FFI/NativeMethods.cs.meta diff --git a/Runtime/Scripts/Internal/FFIClients/Pools.meta b/Runtime/Scripts/Internal/FFI/Pools.meta similarity index 100% rename from Runtime/Scripts/Internal/FFIClients/Pools.meta rename to Runtime/Scripts/Internal/FFI/Pools.meta diff --git a/Runtime/Scripts/Internal/FFIClients/Pools/IMultiPool.cs b/Runtime/Scripts/Internal/FFI/Pools/IMultiPool.cs similarity index 77% rename from Runtime/Scripts/Internal/FFIClients/Pools/IMultiPool.cs rename to Runtime/Scripts/Internal/FFI/Pools/IMultiPool.cs index 1209b597..5b71d8e5 100644 --- a/Runtime/Scripts/Internal/FFIClients/Pools/IMultiPool.cs +++ b/Runtime/Scripts/Internal/FFI/Pools/IMultiPool.cs @@ -1,4 +1,4 @@ -namespace LiveKit.Internal.FFIClients.Pools +namespace LiveKit.Internal.FFI.Pools { public interface IMultiPool { diff --git a/Runtime/Scripts/Internal/FFIClients/Pools/IMultiPool.cs.meta b/Runtime/Scripts/Internal/FFI/Pools/IMultiPool.cs.meta similarity index 100% rename from Runtime/Scripts/Internal/FFIClients/Pools/IMultiPool.cs.meta rename to Runtime/Scripts/Internal/FFI/Pools/IMultiPool.cs.meta diff --git a/Runtime/Scripts/Internal/FFIClients/Pools/Memory.meta b/Runtime/Scripts/Internal/FFI/Pools/Memory.meta similarity index 100% rename from Runtime/Scripts/Internal/FFIClients/Pools/Memory.meta rename to Runtime/Scripts/Internal/FFI/Pools/Memory.meta diff --git a/Runtime/Scripts/Internal/FFIClients/Pools/Memory/ArrayMemoryPool.cs b/Runtime/Scripts/Internal/FFI/Pools/Memory/ArrayMemoryPool.cs similarity index 92% rename from Runtime/Scripts/Internal/FFIClients/Pools/Memory/ArrayMemoryPool.cs rename to Runtime/Scripts/Internal/FFI/Pools/Memory/ArrayMemoryPool.cs index cec384a2..b92840a8 100644 --- a/Runtime/Scripts/Internal/FFIClients/Pools/Memory/ArrayMemoryPool.cs +++ b/Runtime/Scripts/Internal/FFI/Pools/Memory/ArrayMemoryPool.cs @@ -1,6 +1,6 @@ using System.Buffers; -namespace LiveKit.Internal.FFIClients.Pools.Memory +namespace LiveKit.Internal.FFI.Pools.Memory { public class ArrayMemoryPool : IMemoryPool { diff --git a/Runtime/Scripts/Internal/FFIClients/Pools/Memory/ArrayMemoryPool.cs.meta b/Runtime/Scripts/Internal/FFI/Pools/Memory/ArrayMemoryPool.cs.meta similarity index 100% rename from Runtime/Scripts/Internal/FFIClients/Pools/Memory/ArrayMemoryPool.cs.meta rename to Runtime/Scripts/Internal/FFI/Pools/Memory/ArrayMemoryPool.cs.meta diff --git a/Runtime/Scripts/Internal/FFIClients/Pools/Memory/IMemoryPool.cs b/Runtime/Scripts/Internal/FFI/Pools/Memory/IMemoryPool.cs similarity index 88% rename from Runtime/Scripts/Internal/FFIClients/Pools/Memory/IMemoryPool.cs rename to Runtime/Scripts/Internal/FFI/Pools/Memory/IMemoryPool.cs index 74efe2a8..196160b8 100644 --- a/Runtime/Scripts/Internal/FFIClients/Pools/Memory/IMemoryPool.cs +++ b/Runtime/Scripts/Internal/FFI/Pools/Memory/IMemoryPool.cs @@ -1,6 +1,6 @@ using Google.Protobuf; -namespace LiveKit.Internal.FFIClients.Pools.Memory +namespace LiveKit.Internal.FFI.Pools.Memory { public interface IMemoryPool { diff --git a/Runtime/Scripts/Internal/FFIClients/Pools/Memory/IMemoryPool.cs.meta b/Runtime/Scripts/Internal/FFI/Pools/Memory/IMemoryPool.cs.meta similarity index 100% rename from Runtime/Scripts/Internal/FFIClients/Pools/Memory/IMemoryPool.cs.meta rename to Runtime/Scripts/Internal/FFI/Pools/Memory/IMemoryPool.cs.meta diff --git a/Runtime/Scripts/Internal/FFIClients/Pools/Memory/MemoryWrap.cs b/Runtime/Scripts/Internal/FFI/Pools/Memory/MemoryWrap.cs similarity index 94% rename from Runtime/Scripts/Internal/FFIClients/Pools/Memory/MemoryWrap.cs rename to Runtime/Scripts/Internal/FFI/Pools/Memory/MemoryWrap.cs index 3c94bc2c..16d8e6f0 100644 --- a/Runtime/Scripts/Internal/FFIClients/Pools/Memory/MemoryWrap.cs +++ b/Runtime/Scripts/Internal/FFI/Pools/Memory/MemoryWrap.cs @@ -1,6 +1,6 @@ using System; -namespace LiveKit.Internal.FFIClients.Pools.Memory +namespace LiveKit.Internal.FFI.Pools.Memory { public readonly struct MemoryWrap : IDisposable { diff --git a/Runtime/Scripts/Internal/FFIClients/Pools/Memory/MemoryWrap.cs.meta b/Runtime/Scripts/Internal/FFI/Pools/Memory/MemoryWrap.cs.meta similarity index 100% rename from Runtime/Scripts/Internal/FFIClients/Pools/Memory/MemoryWrap.cs.meta rename to Runtime/Scripts/Internal/FFI/Pools/Memory/MemoryWrap.cs.meta diff --git a/Runtime/Scripts/Internal/FFIClients/Pools/Pools.cs b/Runtime/Scripts/Internal/FFI/Pools/PoolFactory.cs similarity index 80% rename from Runtime/Scripts/Internal/FFIClients/Pools/Pools.cs rename to Runtime/Scripts/Internal/FFI/Pools/PoolFactory.cs index 83f068ee..9188c359 100644 --- a/Runtime/Scripts/Internal/FFIClients/Pools/Pools.cs +++ b/Runtime/Scripts/Internal/FFI/Pools/PoolFactory.cs @@ -1,11 +1,10 @@ using System; -using LiveKit.Internal.FFIClients.Pools.ObjectPool; using LiveKit.Proto; using UnityEngine.Pool; -namespace LiveKit.Internal.FFIClients.Pools// +namespace LiveKit.Internal.FFI.Pools { - public static class Pools + public static class PoolFactory { public static IObjectPool NewFfiResponsePool() { diff --git a/Runtime/Scripts/Internal/FFIClients/Pools/Pools.cs.meta b/Runtime/Scripts/Internal/FFI/Pools/PoolFactory.cs.meta similarity index 100% rename from Runtime/Scripts/Internal/FFIClients/Pools/Pools.cs.meta rename to Runtime/Scripts/Internal/FFI/Pools/PoolFactory.cs.meta diff --git a/Runtime/Scripts/Internal/FFIClients/Pools/ThreadSafeMultiPool.cs b/Runtime/Scripts/Internal/FFI/Pools/ThreadSafeMultiPool.cs similarity index 89% rename from Runtime/Scripts/Internal/FFIClients/Pools/ThreadSafeMultiPool.cs rename to Runtime/Scripts/Internal/FFI/Pools/ThreadSafeMultiPool.cs index e6330640..f37c2809 100644 --- a/Runtime/Scripts/Internal/FFIClients/Pools/ThreadSafeMultiPool.cs +++ b/Runtime/Scripts/Internal/FFI/Pools/ThreadSafeMultiPool.cs @@ -1,9 +1,8 @@ using System; using System.Collections.Concurrent; -using LiveKit.Internal.FFIClients.Pools.ObjectPool; using UnityEngine.Pool; -namespace LiveKit.Internal.FFIClients.Pools +namespace LiveKit.Internal.FFI.Pools { public class ThreadSafeMultiPool : IMultiPool { diff --git a/Runtime/Scripts/Internal/FFIClients/Pools/ThreadSafeMultiPool.cs.meta b/Runtime/Scripts/Internal/FFI/Pools/ThreadSafeMultiPool.cs.meta similarity index 100% rename from Runtime/Scripts/Internal/FFIClients/Pools/ThreadSafeMultiPool.cs.meta rename to Runtime/Scripts/Internal/FFI/Pools/ThreadSafeMultiPool.cs.meta diff --git a/Runtime/Scripts/Internal/FFIClients/Pools/ObjectPool/ThreadSafeObjectPool.cs b/Runtime/Scripts/Internal/FFI/Pools/ThreadSafeObjectPool.cs similarity index 94% rename from Runtime/Scripts/Internal/FFIClients/Pools/ObjectPool/ThreadSafeObjectPool.cs rename to Runtime/Scripts/Internal/FFI/Pools/ThreadSafeObjectPool.cs index 013e3fe6..3ff2fffe 100644 --- a/Runtime/Scripts/Internal/FFIClients/Pools/ObjectPool/ThreadSafeObjectPool.cs +++ b/Runtime/Scripts/Internal/FFI/Pools/ThreadSafeObjectPool.cs @@ -2,7 +2,7 @@ using System.Collections.Concurrent; using UnityEngine.Pool; -namespace LiveKit.Internal.FFIClients.Pools.ObjectPool +namespace LiveKit.Internal.FFI.Pools { public class ThreadSafeObjectPool : IObjectPool where T : class { diff --git a/Runtime/Scripts/Internal/FFIClients/Pools/ObjectPool/ThreadSafeObjectPool.cs.meta b/Runtime/Scripts/Internal/FFI/Pools/ThreadSafeObjectPool.cs.meta similarity index 100% rename from Runtime/Scripts/Internal/FFIClients/Pools/ObjectPool/ThreadSafeObjectPool.cs.meta rename to Runtime/Scripts/Internal/FFI/Pools/ThreadSafeObjectPool.cs.meta diff --git a/Runtime/Scripts/Internal/FFIClients/Requests.meta b/Runtime/Scripts/Internal/FFI/Requests.meta similarity index 100% rename from Runtime/Scripts/Internal/FFIClients/Requests.meta rename to Runtime/Scripts/Internal/FFI/Requests.meta diff --git a/Runtime/Scripts/Internal/FFIClients/Requests/FFIBridge.cs b/Runtime/Scripts/Internal/FFI/Requests/FFIBridge.cs similarity index 90% rename from Runtime/Scripts/Internal/FFIClients/Requests/FFIBridge.cs rename to Runtime/Scripts/Internal/FFI/Requests/FFIBridge.cs index 2d3f1523..4f270c33 100644 --- a/Runtime/Scripts/Internal/FFIClients/Requests/FFIBridge.cs +++ b/Runtime/Scripts/Internal/FFI/Requests/FFIBridge.cs @@ -1,7 +1,7 @@ using System; -using LiveKit.Internal.FFIClients.Pools; +using LiveKit.Internal.FFI.Pools; -namespace LiveKit.Internal.FFIClients.Requests +namespace LiveKit.Internal.FFI.Requests { public class FFIBridge : IFFIBridge { diff --git a/Runtime/Scripts/Internal/FFIClients/Requests/FFIBridge.cs.meta b/Runtime/Scripts/Internal/FFI/Requests/FFIBridge.cs.meta similarity index 100% rename from Runtime/Scripts/Internal/FFIClients/Requests/FFIBridge.cs.meta rename to Runtime/Scripts/Internal/FFI/Requests/FFIBridge.cs.meta diff --git a/Runtime/Scripts/Internal/FFIClients/Requests/FFIBridgeExtensions.cs b/Runtime/Scripts/Internal/FFI/Requests/FFIBridgeExtensions.cs similarity index 96% rename from Runtime/Scripts/Internal/FFIClients/Requests/FFIBridgeExtensions.cs rename to Runtime/Scripts/Internal/FFI/Requests/FFIBridgeExtensions.cs index 7e9e49c0..a8945c8e 100644 --- a/Runtime/Scripts/Internal/FFIClients/Requests/FFIBridgeExtensions.cs +++ b/Runtime/Scripts/Internal/FFI/Requests/FFIBridgeExtensions.cs @@ -1,5 +1,5 @@ using LiveKit.Proto; -namespace LiveKit.Internal.FFIClients.Requests +namespace LiveKit.Internal.FFI.Requests { public static class FFIBridgeExtensions { diff --git a/Runtime/Scripts/Internal/FFIClients/Requests/FFIBridgeExtensions.cs.meta b/Runtime/Scripts/Internal/FFI/Requests/FFIBridgeExtensions.cs.meta similarity index 100% rename from Runtime/Scripts/Internal/FFIClients/Requests/FFIBridgeExtensions.cs.meta rename to Runtime/Scripts/Internal/FFI/Requests/FFIBridgeExtensions.cs.meta diff --git a/Runtime/Scripts/Internal/FFIClients/Requests/FfiRequestWrap.cs b/Runtime/Scripts/Internal/FFI/Requests/FfiRequestWrap.cs similarity index 93% rename from Runtime/Scripts/Internal/FFIClients/Requests/FfiRequestWrap.cs rename to Runtime/Scripts/Internal/FFI/Requests/FfiRequestWrap.cs index 915a964e..7839caa2 100644 --- a/Runtime/Scripts/Internal/FFIClients/Requests/FfiRequestWrap.cs +++ b/Runtime/Scripts/Internal/FFI/Requests/FfiRequestWrap.cs @@ -1,10 +1,10 @@ using System; using Google.Protobuf; -using LiveKit.client_sdk_unity.Runtime.Scripts.Internal.FFIClients; -using LiveKit.Internal.FFIClients.Pools; +using LiveKit.Internal.FFI; +using LiveKit.Internal.FFI.Pools; using LiveKit.Proto; -namespace LiveKit.Internal.FFIClients.Requests +namespace LiveKit.Internal.FFI.Requests { public struct FfiRequestWrap : IDisposable where T : class, new() { @@ -68,7 +68,7 @@ public FfiResponseWrap Send() } catch { - if (RequestAsyncId != 0 && ffiClient is LiveKit.Internal.FfiClient client) + if (RequestAsyncId != 0 && ffiClient is LiveKit.Internal.FFI.FfiClient client) { client.CancelPendingCallback(RequestAsyncId); } diff --git a/Runtime/Scripts/Internal/FFIClients/Requests/FfiRequestWrap.cs.meta b/Runtime/Scripts/Internal/FFI/Requests/FfiRequestWrap.cs.meta similarity index 100% rename from Runtime/Scripts/Internal/FFIClients/Requests/FfiRequestWrap.cs.meta rename to Runtime/Scripts/Internal/FFI/Requests/FfiRequestWrap.cs.meta diff --git a/Runtime/Scripts/Internal/FFIClients/Requests/IFFIBridge.cs b/Runtime/Scripts/Internal/FFI/Requests/IFFIBridge.cs similarity index 81% rename from Runtime/Scripts/Internal/FFIClients/Requests/IFFIBridge.cs rename to Runtime/Scripts/Internal/FFI/Requests/IFFIBridge.cs index b3ffe2e3..964038a7 100644 --- a/Runtime/Scripts/Internal/FFIClients/Requests/IFFIBridge.cs +++ b/Runtime/Scripts/Internal/FFI/Requests/IFFIBridge.cs @@ -1,4 +1,4 @@ -namespace LiveKit.Internal.FFIClients.Requests +namespace LiveKit.Internal.FFI.Requests { /// /// Thread-safe interface for requests to the FFI layer diff --git a/Runtime/Scripts/Internal/FFIClients/Requests/IFFIBridge.cs.meta b/Runtime/Scripts/Internal/FFI/Requests/IFFIBridge.cs.meta similarity index 100% rename from Runtime/Scripts/Internal/FFIClients/Requests/IFFIBridge.cs.meta rename to Runtime/Scripts/Internal/FFI/Requests/IFFIBridge.cs.meta diff --git a/Runtime/Scripts/Internal/FFIClients/SmartWrap.cs b/Runtime/Scripts/Internal/FFI/SmartWrap.cs similarity index 82% rename from Runtime/Scripts/Internal/FFIClients/SmartWrap.cs rename to Runtime/Scripts/Internal/FFI/SmartWrap.cs index f0ce798d..c7851a51 100644 --- a/Runtime/Scripts/Internal/FFIClients/SmartWrap.cs +++ b/Runtime/Scripts/Internal/FFI/SmartWrap.cs @@ -1,7 +1,7 @@ using System; -using LiveKit.Internal.FFIClients.Pools; +using LiveKit.Internal.FFI.Pools; -namespace LiveKit.client_sdk_unity.Runtime.Scripts.Internal.FFIClients +namespace LiveKit.Internal.FFI { public readonly struct SmartWrap : IDisposable where T : class, new() { diff --git a/Runtime/Scripts/Internal/FFIClients/SmartWrap.cs.meta b/Runtime/Scripts/Internal/FFI/SmartWrap.cs.meta similarity index 100% rename from Runtime/Scripts/Internal/FFIClients/SmartWrap.cs.meta rename to Runtime/Scripts/Internal/FFI/SmartWrap.cs.meta diff --git a/Runtime/Scripts/Internal/FFIClients/Pools/ObjectPool.meta b/Runtime/Scripts/Internal/FFIClients/Pools/ObjectPool.meta deleted file mode 100644 index 6dc9689a..00000000 --- a/Runtime/Scripts/Internal/FFIClients/Pools/ObjectPool.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: f8d30253e11243838563ec78d57565e9 -timeCreated: 1706714202 \ No newline at end of file diff --git a/Runtime/Scripts/Internal/PackageVersion.cs b/Runtime/Scripts/Internal/PackageVersion.cs index e08cf07f..1ab2a91f 100644 --- a/Runtime/Scripts/Internal/PackageVersion.cs +++ b/Runtime/Scripts/Internal/PackageVersion.cs @@ -1,6 +1,6 @@ using UnityEngine; -namespace LiveKit +namespace LiveKit.Internal { public static class PackageVersion { diff --git a/Runtime/Scripts/Internal/Threading.meta b/Runtime/Scripts/Internal/Threading.meta new file mode 100644 index 00000000..5cadef09 --- /dev/null +++ b/Runtime/Scripts/Internal/Threading.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0071a6647363b4e579950c19ca5c33a4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/Internal/MonoBehaviourContext.cs b/Runtime/Scripts/Internal/Threading/MonoBehaviourContext.cs similarity index 98% rename from Runtime/Scripts/Internal/MonoBehaviourContext.cs rename to Runtime/Scripts/Internal/Threading/MonoBehaviourContext.cs index 233f6890..487122d1 100644 --- a/Runtime/Scripts/Internal/MonoBehaviourContext.cs +++ b/Runtime/Scripts/Internal/Threading/MonoBehaviourContext.cs @@ -2,7 +2,7 @@ using System.Collections; using UnityEngine; -namespace LiveKit +namespace LiveKit.Internal.Threading { /// /// Global singleton used for accessing specific MonoBehaviour methods from diff --git a/Runtime/Scripts/Internal/MonoBehaviourContext.cs.meta b/Runtime/Scripts/Internal/Threading/MonoBehaviourContext.cs.meta similarity index 100% rename from Runtime/Scripts/Internal/MonoBehaviourContext.cs.meta rename to Runtime/Scripts/Internal/Threading/MonoBehaviourContext.cs.meta diff --git a/Runtime/Scripts/Internal/TaskYieldInstruction.cs b/Runtime/Scripts/Internal/Threading/TaskYieldInstruction.cs similarity index 97% rename from Runtime/Scripts/Internal/TaskYieldInstruction.cs rename to Runtime/Scripts/Internal/Threading/TaskYieldInstruction.cs index d5b39c8d..423fca78 100644 --- a/Runtime/Scripts/Internal/TaskYieldInstruction.cs +++ b/Runtime/Scripts/Internal/Threading/TaskYieldInstruction.cs @@ -1,7 +1,7 @@ using System; using System.Threading.Tasks; -namespace LiveKit +namespace LiveKit.Internal.Threading { /// /// Adapts a to a coroutine-friendly . diff --git a/Runtime/Scripts/Internal/TaskYieldInstruction.cs.meta b/Runtime/Scripts/Internal/Threading/TaskYieldInstruction.cs.meta similarity index 100% rename from Runtime/Scripts/Internal/TaskYieldInstruction.cs.meta rename to Runtime/Scripts/Internal/Threading/TaskYieldInstruction.cs.meta diff --git a/Runtime/Scripts/Internal/ThreadSafeQueue.cs b/Runtime/Scripts/Internal/Threading/ThreadSafeQueue.cs similarity index 95% rename from Runtime/Scripts/Internal/ThreadSafeQueue.cs rename to Runtime/Scripts/Internal/Threading/ThreadSafeQueue.cs index 91c07073..32de3646 100644 --- a/Runtime/Scripts/Internal/ThreadSafeQueue.cs +++ b/Runtime/Scripts/Internal/Threading/ThreadSafeQueue.cs @@ -1,7 +1,7 @@ using System.Threading; using System.Collections.Generic; -namespace LiveKit +namespace LiveKit.Internal.Threading { public class ThreadSafeQueue diff --git a/Runtime/Scripts/Internal/ThreadSafeQueue.cs.meta b/Runtime/Scripts/Internal/Threading/ThreadSafeQueue.cs.meta similarity index 100% rename from Runtime/Scripts/Internal/ThreadSafeQueue.cs.meta rename to Runtime/Scripts/Internal/Threading/ThreadSafeQueue.cs.meta diff --git a/Runtime/Scripts/Internal/YieldInstruction.cs b/Runtime/Scripts/Internal/Threading/YieldInstruction.cs similarity index 99% rename from Runtime/Scripts/Internal/YieldInstruction.cs rename to Runtime/Scripts/Internal/Threading/YieldInstruction.cs index f3419001..547dca07 100644 --- a/Runtime/Scripts/Internal/YieldInstruction.cs +++ b/Runtime/Scripts/Internal/Threading/YieldInstruction.cs @@ -4,7 +4,8 @@ using LiveKit.Internal; using UnityEngine; -namespace LiveKit +using LiveKit.Internal.FFI; +namespace LiveKit.Internal.Threading { // Resumes awaiter continuations on Unity's main thread. Completion may be signalled on the // FFI callback thread (operations registered dispatchToMainThread:false, and data-stream diff --git a/Runtime/Scripts/Internal/YieldInstruction.cs.meta b/Runtime/Scripts/Internal/Threading/YieldInstruction.cs.meta similarity index 100% rename from Runtime/Scripts/Internal/YieldInstruction.cs.meta rename to Runtime/Scripts/Internal/Threading/YieldInstruction.cs.meta diff --git a/Runtime/Scripts/TokenSource/TokenSourceComponent.cs b/Runtime/Scripts/TokenSource/TokenSourceComponent.cs index e1db2a76..9031f66e 100644 --- a/Runtime/Scripts/TokenSource/TokenSourceComponent.cs +++ b/Runtime/Scripts/TokenSource/TokenSourceComponent.cs @@ -5,6 +5,7 @@ using UnityEngine; using LiveKit.Internal; +using LiveKit.Internal.Threading; namespace LiveKit { /// diff --git a/Runtime/Scripts/UniTask/YieldInstructionUniTaskExtensions.cs b/Runtime/Scripts/UniTask/YieldInstructionUniTaskExtensions.cs index 9ede7016..5b04d620 100644 --- a/Runtime/Scripts/UniTask/YieldInstructionUniTaskExtensions.cs +++ b/Runtime/Scripts/UniTask/YieldInstructionUniTaskExtensions.cs @@ -2,6 +2,7 @@ using System.Threading; using Cysharp.Threading.Tasks; +using LiveKit.Internal.Threading; namespace LiveKit { /// diff --git a/Runtime/Scripts/CameraVideoSource.cs b/Runtime/Scripts/Video/CameraVideoSource.cs similarity index 100% rename from Runtime/Scripts/CameraVideoSource.cs rename to Runtime/Scripts/Video/CameraVideoSource.cs diff --git a/Runtime/Scripts/CameraVideoSource.cs.meta b/Runtime/Scripts/Video/CameraVideoSource.cs.meta similarity index 100% rename from Runtime/Scripts/CameraVideoSource.cs.meta rename to Runtime/Scripts/Video/CameraVideoSource.cs.meta diff --git a/Runtime/Scripts/RtcVideoSource.cs b/Runtime/Scripts/Video/RtcVideoSource.cs similarity index 99% rename from Runtime/Scripts/RtcVideoSource.cs rename to Runtime/Scripts/Video/RtcVideoSource.cs index dab63255..61efa8c8 100644 --- a/Runtime/Scripts/RtcVideoSource.cs +++ b/Runtime/Scripts/Video/RtcVideoSource.cs @@ -5,9 +5,10 @@ using UnityEngine.Rendering; using Unity.Collections; using Unity.Collections.LowLevel.Unsafe; -using LiveKit.Internal.FFIClients.Requests; +using LiveKit.Internal.FFI.Requests; using System.Collections; +using LiveKit.Internal.FFI; namespace LiveKit { public abstract class RtcVideoSource : IRtcSource, IDisposable diff --git a/Runtime/Scripts/RtcVideoSource.cs.meta b/Runtime/Scripts/Video/RtcVideoSource.cs.meta similarity index 100% rename from Runtime/Scripts/RtcVideoSource.cs.meta rename to Runtime/Scripts/Video/RtcVideoSource.cs.meta diff --git a/Runtime/Scripts/ScreenVideoSource.cs b/Runtime/Scripts/Video/ScreenVideoSource.cs similarity index 100% rename from Runtime/Scripts/ScreenVideoSource.cs rename to Runtime/Scripts/Video/ScreenVideoSource.cs diff --git a/Runtime/Scripts/ScreenVideoSource.cs.meta b/Runtime/Scripts/Video/ScreenVideoSource.cs.meta similarity index 100% rename from Runtime/Scripts/ScreenVideoSource.cs.meta rename to Runtime/Scripts/Video/ScreenVideoSource.cs.meta diff --git a/Runtime/Scripts/TextureVideoSource.cs b/Runtime/Scripts/Video/TextureVideoSource.cs similarity index 100% rename from Runtime/Scripts/TextureVideoSource.cs rename to Runtime/Scripts/Video/TextureVideoSource.cs diff --git a/Runtime/Scripts/TextureVideoSource.cs.meta b/Runtime/Scripts/Video/TextureVideoSource.cs.meta similarity index 100% rename from Runtime/Scripts/TextureVideoSource.cs.meta rename to Runtime/Scripts/Video/TextureVideoSource.cs.meta diff --git a/Runtime/Scripts/VideoFrame.cs b/Runtime/Scripts/Video/VideoFrame.cs similarity index 99% rename from Runtime/Scripts/VideoFrame.cs rename to Runtime/Scripts/Video/VideoFrame.cs index e2bf66d1..aed9d4d5 100644 --- a/Runtime/Scripts/VideoFrame.cs +++ b/Runtime/Scripts/Video/VideoFrame.cs @@ -2,8 +2,9 @@ using LiveKit.Internal; using LiveKit.Proto; using System.Runtime.CompilerServices; -using LiveKit.Internal.FFIClients.Requests; +using LiveKit.Internal.FFI.Requests; +using LiveKit.Internal.FFI; namespace LiveKit { public sealed class VideoFrame diff --git a/Runtime/Scripts/VideoFrame.cs.meta b/Runtime/Scripts/Video/VideoFrame.cs.meta similarity index 100% rename from Runtime/Scripts/VideoFrame.cs.meta rename to Runtime/Scripts/Video/VideoFrame.cs.meta diff --git a/Runtime/Scripts/VideoStream.cs b/Runtime/Scripts/Video/VideoStream.cs similarity index 99% rename from Runtime/Scripts/VideoStream.cs rename to Runtime/Scripts/Video/VideoStream.cs index 0c1a148d..d7a5b943 100644 --- a/Runtime/Scripts/VideoStream.cs +++ b/Runtime/Scripts/Video/VideoStream.cs @@ -2,9 +2,10 @@ using LiveKit.Internal; using LiveKit.Proto; using UnityEngine; -using LiveKit.Internal.FFIClients.Requests; +using LiveKit.Internal.FFI.Requests; using System.Collections; +using LiveKit.Internal.FFI; namespace LiveKit { public class VideoStream diff --git a/Runtime/Scripts/VideoStream.cs.meta b/Runtime/Scripts/Video/VideoStream.cs.meta similarity index 100% rename from Runtime/Scripts/VideoStream.cs.meta rename to Runtime/Scripts/Video/VideoStream.cs.meta diff --git a/Runtime/Scripts/WebCameraSource.cs b/Runtime/Scripts/Video/WebCameraSource.cs similarity index 100% rename from Runtime/Scripts/WebCameraSource.cs rename to Runtime/Scripts/Video/WebCameraSource.cs diff --git a/Runtime/Scripts/WebCameraSource.cs.meta b/Runtime/Scripts/Video/WebCameraSource.cs.meta similarity index 100% rename from Runtime/Scripts/WebCameraSource.cs.meta rename to Runtime/Scripts/Video/WebCameraSource.cs.meta diff --git a/Tests/EditMode/DataStreamIncrementalReadTests.cs b/Tests/EditMode/DataStreamIncrementalReadTests.cs index c8c8af3d..0129f6d0 100644 --- a/Tests/EditMode/DataStreamIncrementalReadTests.cs +++ b/Tests/EditMode/DataStreamIncrementalReadTests.cs @@ -5,6 +5,7 @@ using LiveKit.Internal; using NUnit.Framework; +using LiveKit.Internal.FFI; namespace LiveKit.EditModeTests { public class DataStreamTests diff --git a/Tests/EditMode/FfiHandleTests.cs b/Tests/EditMode/FfiHandleTests.cs index 28a3de55..480d48e6 100644 --- a/Tests/EditMode/FfiHandleTests.cs +++ b/Tests/EditMode/FfiHandleTests.cs @@ -2,6 +2,7 @@ using LiveKit.Internal; using NUnit.Framework; +using LiveKit.Internal.FFI; namespace LiveKit.EditModeTests { public class FfiHandleTests diff --git a/Tests/EditMode/FfiResponseEnsureCleanTests.cs b/Tests/EditMode/FfiResponseEnsureCleanTests.cs index 9daacc7a..1431d3ba 100644 --- a/Tests/EditMode/FfiResponseEnsureCleanTests.cs +++ b/Tests/EditMode/FfiResponseEnsureCleanTests.cs @@ -1,5 +1,5 @@ using System; -using LiveKit.Internal.FFIClients; +using LiveKit.Internal.FFI; using LiveKit.Proto; using NUnit.Framework; diff --git a/Tests/EditMode/MediaStreamLifetimeTests.cs b/Tests/EditMode/MediaStreamLifetimeTests.cs deleted file mode 100644 index f2ac7320..00000000 --- a/Tests/EditMode/MediaStreamLifetimeTests.cs +++ /dev/null @@ -1,175 +0,0 @@ -using System; -using System.IO; -using NUnit.Framework; -using UnityEngine; - -namespace LiveKit.EditModeTests -{ - public class MediaStreamLifetimeTests - { - private static readonly string[] AudioStreamPaths = - { - "Runtime/Scripts/AudioStream.cs", - "Assets/client-sdk-unity/Runtime/Scripts/AudioStream.cs", - }; - - private static readonly string[] VideoStreamPaths = - { - "Runtime/Scripts/VideoStream.cs", - "Assets/client-sdk-unity/Runtime/Scripts/VideoStream.cs", - }; - - private static readonly string[] AudioResamplerPaths = - { - "Runtime/Scripts/Internal/AudioResampler.cs", - "Assets/client-sdk-unity/Runtime/Scripts/Internal/AudioResampler.cs", - }; - - private static string ReadSource(params string[] candidates) - { - foreach (var root in SearchRoots()) - { - foreach (var candidate in candidates) - { - var combined = Path.GetFullPath(Path.Combine(root, candidate)); - if (File.Exists(combined)) - { - return File.ReadAllText(combined); - } - } - } - - foreach (var root in SearchRoots()) - { - foreach (var candidate in candidates) - { - var fileName = Path.GetFileName(candidate); - if (string.IsNullOrEmpty(fileName) || !Directory.Exists(root)) - { - continue; - } - - try - { - foreach (var match in Directory.EnumerateFiles(root, fileName, SearchOption.AllDirectories)) - { - // Keep the search specific to the intended suffix so a duplicate file - // name elsewhere in the repo does not satisfy the test accidentally. - var normalizedMatch = match.Replace('\\', '/'); - var normalizedCandidate = candidate.Replace('\\', '/'); - if (normalizedMatch.EndsWith(normalizedCandidate)) - { - return File.ReadAllText(match); - } - } - } - catch (IOException) - { - // Best-effort lookup for CI layout differences. - } - catch (UnauthorizedAccessException) - { - // Best-effort lookup for CI layout differences. - } - } - } - - foreach (var candidate in candidates) - { - if (File.Exists(candidate)) - { - return File.ReadAllText(candidate); - } - } - - Assert.Fail($"Could not find source file. Tried: {string.Join(", ", candidates)}"); - return string.Empty; - } - - private static string[] SearchRoots() - { - var roots = new System.Collections.Generic.List(); - - void AddWithParents(string path) - { - if (string.IsNullOrEmpty(path)) - { - return; - } - - var fullPath = Path.GetFullPath(path); - var dir = new DirectoryInfo(fullPath); - while (dir != null) - { - if (!roots.Contains(dir.FullName)) - { - roots.Add(dir.FullName); - } - dir = dir.Parent; - } - } - - AddWithParents(Directory.GetCurrentDirectory()); - AddWithParents(Application.dataPath); - - return roots.ToArray(); - } - - [Test] - public void AudioStream_Dispose_UnsubscribesAndReleasesOwnedResources() - { - var source = ReadSource(AudioStreamPaths); - - StringAssert.Contains("FfiClient.Instance.AudioStreamEventReceived -= OnAudioStreamEvent;", source); - StringAssert.Contains("_probe.AudioRead -= OnAudioRead;", source); - StringAssert.Contains("AudioSettings.OnAudioConfigurationChanged -= OnAudioConfigurationChanged;", source); - StringAssert.Contains("_buffer?.Dispose();", source); - StringAssert.Contains("_handle?.Dispose();", source); - } - - [Test] - public void AudioStream_AudioFrames_AreDisposedAfterProcessing() - { - var source = ReadSource(AudioStreamPaths); - - // Native frames carry an FFI handle that must be released after each callback so they - // do not accumulate. With the Rust side delivering frames already at Unity's rate, we - // no longer wrap a resampled output frame. - StringAssert.Contains("using var frame = new AudioFrame(e.FrameReceived.Frame);", source); - } - - [Test] - public void AudioResampler_IsDisposable_AndReleasesNativeHandle() - { - var source = ReadSource(AudioResamplerPaths); - - StringAssert.Contains("public sealed class AudioResampler : IDisposable", source); - StringAssert.Contains("_handle.Dispose();", source); - } - - [Test] - public void VideoStream_Dispose_UnsubscribesAndReleasesOwnedResources() - { - var source = ReadSource(VideoStreamPaths); - - StringAssert.Contains("FfiClient.Instance.VideoStreamEventReceived -= OnVideoStreamEvent;", source); - StringAssert.Contains("VideoBuffer?.Dispose();", source); - StringAssert.Contains("_pendingBuffer?.Dispose();", source); - StringAssert.Contains("Handle.Dispose();", source); - } - - [Test] - public void VideoStream_UsesLatestFrameWinsCoalescing() - { - var source = ReadSource(VideoStreamPaths); - - // The intake path should maintain a dedicated pending slot and replace/drop superseded - // frames so Unity uploads at most the latest frame per tick. - StringAssert.Contains("private VideoFrameBuffer _pendingBuffer;", source); - StringAssert.Contains("_pendingBuffer?.Dispose();", source); - StringAssert.Contains("_pendingBuffer = buffer;", source); - StringAssert.Contains("nextBuffer = _pendingBuffer;", source); - StringAssert.Contains("VideoBuffer = nextBuffer;", source); - } - } -} diff --git a/Tests/EditMode/MediaStreamLifetimeTests.cs.meta b/Tests/EditMode/MediaStreamLifetimeTests.cs.meta deleted file mode 100644 index 2b27be54..00000000 --- a/Tests/EditMode/MediaStreamLifetimeTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 0b960686017254a97acbce7557bdaaf5 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/EditMode/MonoBehaviourContextTests.cs b/Tests/EditMode/MonoBehaviourContextTests.cs index dc22d000..27e0a0d6 100644 --- a/Tests/EditMode/MonoBehaviourContextTests.cs +++ b/Tests/EditMode/MonoBehaviourContextTests.cs @@ -4,6 +4,7 @@ using NUnit.Framework; using UnityEngine; +using LiveKit.Internal.Threading; namespace LiveKit.EditModeTests { public class MonoBehaviourContextTests diff --git a/Tests/EditMode/RingBufferTests.cs b/Tests/EditMode/RingBufferTests.cs index b1e5d0e3..2f25a82b 100644 --- a/Tests/EditMode/RingBufferTests.cs +++ b/Tests/EditMode/RingBufferTests.cs @@ -1,5 +1,6 @@ using System; using NUnit.Framework; +using LiveKit; using LiveKit.Internal; namespace LiveKit.EditModeTests diff --git a/Tests/EditMode/RoomDisconnectReasonTests.cs b/Tests/EditMode/RoomDisconnectReasonTests.cs index 5124d719..11ed1ebc 100644 --- a/Tests/EditMode/RoomDisconnectReasonTests.cs +++ b/Tests/EditMode/RoomDisconnectReasonTests.cs @@ -3,6 +3,7 @@ using LiveKit.Proto; using NUnit.Framework; +using LiveKit.Internal.FFI; namespace LiveKit.EditModeTests { // Drives Room.OnEventReceived with synthetic FFI events to verify that the diff --git a/Tests/EditMode/SkipDispatchTests.cs b/Tests/EditMode/SkipDispatchTests.cs index 6b2aa042..1fb00aaa 100644 --- a/Tests/EditMode/SkipDispatchTests.cs +++ b/Tests/EditMode/SkipDispatchTests.cs @@ -5,6 +5,7 @@ using LiveKit.Proto; using NUnit.Framework; +using LiveKit.Internal.FFI; namespace LiveKit.EditModeTests { public class SkipDispatchTests diff --git a/Tests/EditMode/ThreadSafeQueueTests.cs b/Tests/EditMode/ThreadSafeQueueTests.cs index 9e78ec4f..59e7b56a 100644 --- a/Tests/EditMode/ThreadSafeQueueTests.cs +++ b/Tests/EditMode/ThreadSafeQueueTests.cs @@ -4,6 +4,7 @@ using System.Threading.Tasks; using NUnit.Framework; +using LiveKit.Internal.Threading; namespace LiveKit.EditModeTests { public class ThreadSafeQueueTests diff --git a/Tests/EditMode/VideoFrameTests.cs b/Tests/EditMode/VideoFrameTests.cs index d27c71c7..4326ad2d 100644 --- a/Tests/EditMode/VideoFrameTests.cs +++ b/Tests/EditMode/VideoFrameTests.cs @@ -3,6 +3,7 @@ using LiveKit.Proto; using NUnit.Framework; +using LiveKit.Internal.FFI; namespace LiveKit.EditModeTests { public class VideoFrameTests diff --git a/Tests/EditMode/YieldInstructionThreadingTests.cs b/Tests/EditMode/YieldInstructionThreadingTests.cs index 136e9d43..0d33902c 100644 --- a/Tests/EditMode/YieldInstructionThreadingTests.cs +++ b/Tests/EditMode/YieldInstructionThreadingTests.cs @@ -3,6 +3,7 @@ using System.Threading.Tasks; using NUnit.Framework; +using LiveKit.Internal.Threading; namespace LiveKit.EditModeTests { public class YieldInstructionThreadingTests diff --git a/Tests/PlayMode/FfiHandleDisposalTests.cs b/Tests/PlayMode/FfiHandleDisposalTests.cs index 11c95943..5952f5fe 100644 --- a/Tests/PlayMode/FfiHandleDisposalTests.cs +++ b/Tests/PlayMode/FfiHandleDisposalTests.cs @@ -5,6 +5,7 @@ using UnityEngine.TestTools; using LiveKit.PlayModeTests.Utils; +using LiveKit.Internal.FFI; namespace LiveKit.PlayModeTests { public class FfiHandleDisposalTests diff --git a/Tests/PlayMode/RoomTests.cs b/Tests/PlayMode/RoomTests.cs index ebb303ea..669b0dc6 100644 --- a/Tests/PlayMode/RoomTests.cs +++ b/Tests/PlayMode/RoomTests.cs @@ -6,6 +6,8 @@ using UnityEngine.TestTools; using LiveKit.Proto; using LiveKit.PlayModeTests.Utils; +using LiveKit.Internal.Threading; +using YieldInstruction = LiveKit.Internal.Threading.YieldInstruction; namespace LiveKit.PlayModeTests { public class RoomTests diff --git a/Tests/PlayMode/UniTask/RoomUniTaskTests.cs b/Tests/PlayMode/UniTask/RoomUniTaskTests.cs index 18bf3c60..27c50d65 100644 --- a/Tests/PlayMode/UniTask/RoomUniTaskTests.cs +++ b/Tests/PlayMode/UniTask/RoomUniTaskTests.cs @@ -4,6 +4,7 @@ using NUnit.Framework; using UnityEngine.TestTools; +using LiveKit.Internal.Threading; namespace LiveKit.PlayModeTests.UniTaskBridge { public class RoomUniTaskTests diff --git a/Tests/PlayMode/UniTask/StreamUniTaskTests.cs b/Tests/PlayMode/UniTask/StreamUniTaskTests.cs index 56b4c4d7..eaa067eb 100644 --- a/Tests/PlayMode/UniTask/StreamUniTaskTests.cs +++ b/Tests/PlayMode/UniTask/StreamUniTaskTests.cs @@ -7,6 +7,7 @@ using NUnit.Framework; using UnityEngine.TestTools; +using LiveKit.Internal.FFI; namespace LiveKit.PlayModeTests.UniTaskBridge { public class StreamUniTaskTests