Skip to content

Restart microphone capture on audio device change - #311

Open
MaxHeimbrock wants to merge 2 commits into
mainfrom
max/mic-restart-on-device-change
Open

Restart microphone capture on audio device change#311
MaxHeimbrock wants to merge 2 commits into
mainfrom
max/mic-restart-on-device-change

Adds diagnostic logs to debug failing mic switch on mobile

4ce81f8
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
GitHub Actions / Test Results (2023.2.20f1) completed Jun 17, 2026 in 0s

❌️ Test Results (2023.2.20f1) - 128/144, skipped: 15, failed: 1 - Failed in 18.660s

⚠️ editmode-results.xml - 74/76, skipped: 2 - Passed in 0.464s

❌️ playmode-results.xml - 54/68, skipped: 13, failed: 1 - Failed in 18.196s

Details

⚠️ editmode-results.xml - 74/76, skipped: 2 - Passed in 0.464s
  • ✅ LiveKit.EditModeTests.DataStreamTests - 4/4 - Passed in 0.077s
    • OnChunk_ConcurrentProducerAndConsumer_AllChunksObservedInOrder - Passed in 0.051s
    • OnChunk_MultipleChunksBeforeConsumerDrains_AllChunksAreObserved - Passed in 0.002s
    • OnChunk_RacingWithReset_NoChunkLost - Passed in 0.016s
    • OnEos_RacingWithChunks_FinalStateConsistent - Passed in 0.008s
  • ✅ LiveKit.EditModeTests.DataTrackTests - 6/6 - Passed in 0.010s
    • DataTrackFrame_Constructor_WithExplicitTimestamp_SetsValue - Passed in 0.001s
    • DataTrackFrame_DurationSinceTimestamp_NullWithoutTimestamp - Passed in 0.001s
    • DataTrackFrame_DurationSinceTimestamp_ReturnsValue - Passed in 0.007s
    • DataTrackFrame_WithUserTimestampNow_DoesNotMutateOriginal - Passed in 0.001s
    • DataTrackFrame_WithUserTimestampNow_OverwritesExistingTimestamp - Passed in 0.000s
    • DataTrackFrame_WithUserTimestampNow_SetsTimestamp - Passed in 0.000s
  • ✅ LiveKit.EditModeTests.FfiHandleTests.IsInvalid_ReturnsTrueForKnownInvalidPointers - 2/2 - Passed in 0.001s
    • IsInvalid_ReturnsTrueForKnownInvalidPointers(0) - Passed in 0.001s
    • IsInvalid_ReturnsTrueForKnownInvalidPointers(-1) - Passed in 0.000s
  • ✅ LiveKit.EditModeTests.FfiResponseEnsureCleanTests.EnsureClean_Throws_ForOneofCases - 5/5 - Passed in 0.004s
    • EnsureClean_Throws_ForOneofCases("LocalTrackMute",LiveKit.Proto.LocalTrackMuteResponse) - Passed in 0.001s
    • EnsureClean_Throws_ForOneofCases("ByteStreamOpen",LiveKit.Proto.ByteStreamOpenResponse) - Passed in 0.001s
    • EnsureClean_Throws_ForOneofCases("SendStreamHeader",LiveKit.Proto.SendStreamHeaderResponse) - Passed in 0.001s
    • EnsureClean_Throws_ForOneofCases("SetRemoteTrackPublicationQuality",LiveKit.Proto.SetRemoteTrackPublicationQualityResponse) - Passed in 0.001s
    • EnsureClean_Throws_ForOneofCases("SendChatMessage",LiveKit.Proto.SendChatMessageResponse) - Passed in 0.001s
  • ✅ LiveKit.EditModeTests.FfiResponseEnsureCleanTests - 2/2 - Passed in 0.003s
    • EnsureClean_DoesNotThrow_WhenMessageCaseIsNone - Passed in 0.002s
    • EnsureClean_Throws_ForConnect - Passed in 0.002s
  • ✅ LiveKit.EditModeTests.MediaStreamLifetimeTests - 5/5 - Passed in 0.213s
    • AudioResampler_IsDisposable_AndReleasesNativeHandle - Passed in 0.050s
    • AudioStream_AudioFrames_AreDisposedAfterProcessing - Passed in 0.043s
    • AudioStream_Dispose_UnsubscribesAndReleasesOwnedResources - Passed in 0.041s
    • VideoStream_Dispose_UnsubscribesAndReleasesOwnedResources - Passed in 0.039s
    • VideoStream_UsesLatestFrameWinsCoalescing - Passed in 0.039s
  • ✅ LiveKit.EditModeTests.MonoBehaviourContextTests - 1/1 - Passed in 0.002s
    • RunCoroutine_AfterInstanceDestroyed_DrainsSynchronously_DoesNotThrow - Passed in 0.002s
  • ✅ LiveKit.EditModeTests.PlatformAudioTests - 3/3 - Passed in 0.002s
    • AudioDevice_StoresIndexNameGuid - Passed in 0.001s
    • AudioProcessingOptions_Default_EnablesProcessingAndHardware - Passed in 0.000s
    • PlatformAudioSource_NullPlatformAudio_Throws - Passed in 0.001s
  • ✅ LiveKit.EditModeTests.RingBufferTests - 16/16 - Passed in 0.010s
    • AvailableRead_AfterWrite_MatchesWrittenLength - Passed in 0.001s
    • AvailableReadInPercent_ReturnsCorrectRatio - Passed in 0.001s
    • AvailableWrite_AfterWrite_ReducedByWrittenLength - Passed in 0.000s
    • AvailableWriteInPercent_ReturnsCorrectRatio - Passed in 0.000s
    • Capacity_MatchesConstructorArgument - Passed in 0.002s
    • Clear_ResetsState - Passed in 0.000s
    • MultipleWriteReadCycles_MaintainIntegrity - Passed in 0.001s
    • Read_ReturnsNumberOfBytesRead - Passed in 0.000s
    • Read_WhenEmpty_ReturnsZero - Passed in 0.000s
    • SkipRead_AdvancesReadPosition - Passed in 0.001s
    • SkipRead_BeyondAvailable_ClampedToAvailable - Passed in 0.000s
    • Write_ReturnsNumberOfBytesWritten - Passed in 0.000s
    • Write_WhenFull_ReturnsZero - Passed in 0.000s
    • Write_WhenPartiallyFull_WritesOnlyAvailable - Passed in 0.000s
    • WriteAndRead_DataMatchesInput - Passed in 0.000s
    • WriteAndRead_WithWraparound_DataIntegrity - Passed in 0.000s
  • ✅ LiveKit.EditModeTests.RoomDisconnectTests - 2/2 - Passed in 0.001s
    • Disconnect_OnNeverConnectedRoom_CalledTwice_DoesNotThrow - Passed in 0.001s
    • Disconnect_OnNeverConnectedRoom_DoesNotThrow - Passed in 0.000s
  • ✅ LiveKit.EditModeTests.RoomStreamHandlerTests - 4/4 - Passed in 0.003s
    • RegisterByteStreamHandler_DuplicateTopic_ThrowsStreamError - Passed in 0.001s
    • RegisterTextStreamHandler_DuplicateTopic_ThrowsStreamError - Passed in 0.001s
    • UnregisterByteStreamHandler_AllowsReregistrationOfSameTopic - Passed in 0.000s
    • UnregisterTextStreamHandler_AllowsReregistrationOfSameTopic - Passed in 0.000s
  • ✅ LiveKit.EditModeTests.RpcErrorTests - 4/4 - Passed in 0.005s
    • BuiltIn_HasMessageAndCodeForEveryErrorCode - Passed in 0.004s
    • Constructor_DefaultDataIsNull - Passed in 0.000s
    • Constructor_SetsCodeMessageAndData - Passed in 0.000s
    • RpcError_IsException - Passed in 0.000s
  • ✅ LiveKit.EditModeTests.SkipDispatchTests - 5/5 - Passed in 0.014s
    • InlineCallback_RunsOnDispatchingBackgroundThread - Passed in 0.007s
    • MainThreadCallback_TrySkipDispatch_ReturnsFalseAndDoesNotComplete - Passed in 0.001s
    • RouteFfiEvent_InlineCallback_CompletesOnDispatchingThread - Passed in 0.002s
    • RouteFfiEvent_MainThreadCallback_PostsToSynchronizationContext_AndDrainsCompletion - Passed in 0.003s
    • TryDispatchPendingCallback_RunsCompletionSynchronouslyOnCallerThread - Passed in 0.001s
  • ✅ LiveKit.EditModeTests.ThreadSafeQueueTests - 5/5 - Passed in 0.007s
    • Clear_SetsCountToZero - Passed in 0.001s
    • ConcurrentEnqueueDequeue_NoExceptions - Passed in 0.005s
    • Dequeue_ReturnsEnqueuedItem_FIFO - Passed in 0.001s
    • Dequeue_WhenEmpty_ThrowsInvalidOperationException - Passed in 0.000s
    • Enqueue_IncreasesCount - Passed in 0.000s
  • ⚠️ LiveKit.EditModeTests.UsageStrictTests.NoManualCreateNew - 0/2, skipped: 2 - Passed in 0.000s
    • ⚠️ NoManualCreateNew("FfiResponse") - Skipped
    • ⚠️ NoManualCreateNew("FfiRequest") - Skipped
  • ✅ LiveKit.EditModeTests.VideoFrameTests.Create_ReturnsCorrectConcreteType - 6/6 - Passed in 0.006s
    • Create_ReturnsCorrectConcreteType(I420,LiveKit.I420Buffer) - Passed in 0.005s
    • Create_ReturnsCorrectConcreteType(I420A,LiveKit.I420ABuffer) - Passed in 0.000s
    • Create_ReturnsCorrectConcreteType(I422,LiveKit.I422Buffer) - Passed in 0.000s
    • Create_ReturnsCorrectConcreteType(I444,LiveKit.I444Buffer) - Passed in 0.000s
    • Create_ReturnsCorrectConcreteType(I010,LiveKit.I010Buffer) - Passed in 0.000s
    • Create_ReturnsCorrectConcreteType(Nv12,LiveKit.NV12Buffer) - Passed in 0.000s
  • ✅ LiveKit.EditModeTests.VideoFrameTests - 1/1 - Passed in 0.000s
    • Create_ReturnsNull_ForUnsupportedType - Passed in 0.000s
  • ✅ LiveKit.EditModeTests.YieldInstructionThreadingTests - 3/3 - Passed in 0.033s
    • IsDone_SetFromBackgroundThread_ObservedByForegroundSpin - Passed in 0.009s
    • IsError_VisibleAcrossThreadsOnceIsDoneIsObserved - Passed in 0.003s
    • KeepWaiting_FlipsToFalse_AfterBackgroundCompletion - Passed in 0.021s
❌️ playmode-results.xml - 54/68, skipped: 13, failed: 1 - Failed in 18.196s
  • ❌️ LiveKit.PlayModeTests.AudioBufferTests - 2/3, failed: 1 - Failed in 3.022s
    • ❌️ AudioBuffer_FillLevelStaysStable - Failed in 1.766s
      Expected: null
      But was: "Expectation timed out (1s)"

        at LiveKit.PlayModeTests.AudioBufferTests+<AudioBuffer_FillLevelStaysStable>d__7.MoveNext () [0x00097] in root/Tests/PlayMode/AudioBufferTests.cs:110
      at UnityEngine.TestTools.TestEnumerator+<Execute>d__7.MoveNext () [0x0004e] in ./Library/PackageCache/com.unity.test-framework@1.3.9/UnityEngine.TestRunner/NUnitExtensions/Attributes/TestEnumerator.cs:44
      
    • AudioBuffer_WhenAppForegrounded_BufferIsCleared - Passed in 0.598s

    • AudioBuffer_WhenBufferRunsFull_TriggersCatchupMechanism - Passed in 0.658s

  • ✅ LiveKit.PlayModeTests.ByteStreamTests - 1/1 - Passed in 0.278s
    • StreamBytes_WriteAndClose_ReceivedViaReadAll - Passed in 0.278s
  • ✅ LiveKit.PlayModeTests.DataStreamTests - 5/5 - Passed in 0.008s
    • RegisterByteHandler_FailsWithDuplicateTopic - Passed in 0.004s
    • RegisterTextAndByteHandler_SameTopic_BothSucceed - Passed in 0.002s
    • RegisterTextHandler_FailsWithDuplicateTopic - Passed in 0.001s
    • UnregisterByteHandler_ThenRegisterSameTopic_Succeeds - Passed in 0.001s
    • UnregisterTextHandler_ThenRegisterSameTopic_Succeeds - Passed in 0.000s
  • ✅ LiveKit.PlayModeTests.DataTrackTests - 9/9 - Passed in 1.464s
    • PublishAndUnpublish_TriggersEvents - Passed in 0.260s
    • PublishDataTrack_IsPublishedReturnsTrue - Passed in 0.096s
    • PublishDataTrack_Succeeds - Passed in 0.092s
    • PublishDataTrack_TrackInfoMatchesOptions - Passed in 0.137s
    • PushAndReceive_FramePayloadMatches - Passed in 0.166s
    • PushAndReceive_TimestampIsPreserved - Passed in 0.254s
    • Subscribe_Succeeds - Passed in 0.247s
    • TryPush_Succeeds - Passed in 0.124s
    • Unpublish_IsPublishedReturnsFalse - Passed in 0.087s
  • ✅ LiveKit.PlayModeTests.FfiBoundaryTests - 1/1 - Passed in 0.079s
    • Disconnect_CalledTwice_DoesNotThrow - Passed in 0.079s
  • ✅ LiveKit.PlayModeTests.FfiHandleDisposalTests - 1/1 - Passed in 0.307s
    • StreamWriter_LeakedHandle_DoesNotCrashOnGC - Passed in 0.307s
  • ✅ LiveKit.PlayModeTests.LateJoinTrackSubscriptionTests - 1/1 - Passed in 0.391s
    • LateJoiner_ReceivesTrackSubscribedForAlreadyPublishedTracks - Passed in 0.391s
  • ✅ LiveKit.PlayModeTests.LocalParticipantTests - 4/4 - Passed in 0.542s
    • Identity_MatchesProvided - Passed in 0.168s
    • Metadata_MatchesProvided - Passed in 0.116s
    • Name_MatchesProvided - Passed in 0.119s
    • Sid_StartsWithPA - Passed in 0.138s
  • ✅ LiveKit.PlayModeTests.ParticipantMetadataTests - 3/3 - Passed in 0.710s
    • SetAttributes_UpdatesLocalAndTriggersRemoteEvent - Passed in 0.228s
    • SetMetadata_UpdatesLocalAndTriggersRemoteEvent - Passed in 0.227s
    • SetName_UpdatesLocalAndTriggersRemoteEvent - Passed in 0.255s
  • ⚠️ LiveKit.PlayModeTests.PlatformAudioIntegrationTests - 0/4, skipped: 4 - Passed in 0.011s
    • ⚠️ MultipleSourcesFromOneManager_Publish - Skipped
    • ⚠️ PlatformAudioFramesReachRemote_ViaStats - Skipped
    • ⚠️ PublishPlatformAudioTrack_EndToEnd - Skipped
    • ⚠️ UnpublishPlatformAudioTrack_Propagates - Skipped
  • ⚠️ LiveKit.PlayModeTests.PlatformAudioTests - 0/5, skipped: 5 - Passed in 0.007s
    • ⚠️ CreateSource_WithCustomOptions - Skipped
    • ⚠️ CreateSourceAndTrack_WhenAvailable - Skipped
    • ⚠️ EnumerateDevices_AndSelectByGuid_DoesNotThrow - Skipped
    • ⚠️ SetRecordingDeviceByIndex_OutOfRange_Throws - Skipped
    • ⚠️ StartThenStopRecording_DoesNotThrow - Skipped
  • ✅ LiveKit.PlayModeTests.PublishDataTests - 2/2 - Passed in 0.482s
    • ReturnsError_ForOversizedPayload - Passed in 0.246s
    • ReturnsSuccess_ForSmallPayload - Passed in 0.236s
  • ⚠️ LiveKit.PlayModeTests.RoomTests - 4/8, skipped: 4 - Passed in 3.239s
    • Connect_FailsWithInvalidUrl - Passed in 0.004s
    • ⚠️ ConnectionState_IsConnected - Skipped
    • ⚠️ Disconnect_TriggersEvent - Skipped
    • ⚠️ ParticipantDisconnect_TriggersEvent - Skipped
    • ParticipantJoin_CreatesRemoteParticipant - Passed in 3.053s
    • ⚠️ ParticipantJoin_TriggersEvent - Skipped
    • RoomName_MatchesProvided - Passed in 0.102s
    • RoomSid_StartsWithRM - Passed in 0.080s
  • ✅ LiveKit.PlayModeTests.RpcTests - 7/7 - Passed in 1.605s
    • RegisterRpcMethod_AndPerformRpc_ReturnsResponse - Passed in 0.240s
    • PerformRpc_NearLimitPayload_EchoesRoundTrip - Passed in 0.205s
    • PerformRpc_ConcurrentInvocations_AllComplete - Passed in 0.237s
    • PerformRpc_HandlerThrowsGenericException_ReturnsApplicationError - Passed in 0.274s
    • PerformRpc_HandlerThrowsRpcError_PropagatesError - Passed in 0.200s
    • PerformRpc_UnregisteredMethod_ReturnsUnsupportedMethod - Passed in 0.203s
    • UnregisterRpcMethod_ThenPerformRpc_ReturnsUnsupportedMethod - Passed in 0.245s
  • ✅ LiveKit.PlayModeTests.StreamLifecycleTests - 1/1 - Passed in 0.327s
    • SendFile_RecipientReceivesBytes - Passed in 0.327s
  • ✅ LiveKit.PlayModeTests.TextStreamTests - 4/4 - Passed in 1.044s
    • SendText_ReceivedByHandler_ContentMatches - Passed in 0.288s
    • SendText_WithTopic_DispatchesToCorrectHandler - Passed in 0.233s
    • StreamText_CloseWithoutReason_Succeeds - Passed in 0.216s
    • StreamText_WriteAndClose_ReceivedViaReadAll - Passed in 0.308s
  • ✅ LiveKit.PlayModeTests.TrackTests - 8/8 - Passed in 4.011s
    • LocalAudioTrack_SetMute_TrueFalse_TogglesSourceMuteState - Passed in 0.132s
    • PublishAudioTrack_UnpublishAndRepublish_Succeeds - Passed in 0.179s
    • RemoteTrack_GetStats_ReturnsNoError - Passed in 1.914s
    • RemoteTrack_SetEnabled_FalseAndTrue_DoesNotThrow - Passed in 0.471s
    • RemoteTrackPublication_PublisherDisablesCamera_UpdatesFlagAndTriggersEvent - Passed in 0.272s
    • RemoteTrackPublication_PublisherMutesMic_UpdatesFlagAndTriggersEvent - Passed in 0.416s
    • RemoteTrackPublication_SetVideoQuality_DoesNotThrow - Passed in 0.238s
    • RemoteTrackPublication_Unsubscribe_UpdatesFlagAndTriggersEvent - Passed in 0.389s
  • ✅ LiveKit.PlayModeTests.VideoFrameMetadataTests - 1/1 - Passed in 0.572s
    • VideoFrame_AttachedMetadata_ReceivedOnSubscriber - Passed in 0.572s

Annotations

Check failure on line 110 in root/Tests/PlayMode/AudioBufferTests.cs

See this annotation in the file changed.

@github-actions github-actions / Test Results (2023.2.20f1)

LiveKit.PlayModeTests.AudioBufferTests.AudioBuffer_FillLevelStaysStable

  Expected: null
  But was:  "Expectation timed out (1s)"
Raw output
at LiveKit.PlayModeTests.AudioBufferTests+<AudioBuffer_FillLevelStaysStable>d__7.MoveNext () [0x00097] in /github/workspace/root/Tests/PlayMode/AudioBufferTests.cs:110
at UnityEngine.TestTools.TestEnumerator+<Execute>d__7.MoveNext () [0x0004e] in ./Library/PackageCache/com.unity.test-framework@1.3.9/UnityEngine.TestRunner/NUnitExtensions/Attributes/TestEnumerator.cs:44