Skip to content

Commit

Permalink
fix: Audio samples mute optimization (#969)
Browse files Browse the repository at this point in the history
* Audio samples mute optimization

    private static void Test1()
    {
        InitData(out var data);

        var sw = Stopwatch.StartNew();
        for (int i = 0; i < data.Length; i++)
        {
            data[i] = 0;
        }
        sw.Stop();

        Debug.Log($"test1: {sw.ElapsedMilliseconds}"); //About 50
    }

    private static void Test2()
    {
        InitData(out var data);

        var sw = Stopwatch.StartNew();
        Array.Clear(data, 0, data.Length);
        sw.Stop();

        Debug.Log($"test2: {sw.ElapsedMilliseconds}");//About 30
    }

    private static void InitData(out float[] data)
    {
        data = new float[100_000_000];
        UnityEngine.Random.InitState(1);
        for (int i = 0; i < data.Length; i++)
        {
            data[i] = UnityEngine.Random.Range(0.0f, 1.0f);
        }
    }

* Update AudioCustomFilter.cs
  • Loading branch information
MaximKurbanov authored Sep 8, 2023
1 parent 84718a6 commit d050e78
Showing 1 changed file with 2 additions and 4 deletions.
6 changes: 2 additions & 4 deletions Runtime/Scripts/AudioCustomFilter.cs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
using System;
using UnityEngine;

namespace Unity.WebRTC
Expand Down Expand Up @@ -41,10 +42,7 @@ void OnAudioFilterRead(float[] data, int channels)

if (sender && !loopback)
{
for (int i = 0; i < data.Length; i++)
{
data[i] = 0;
}
Array.Clear(data, 0, data.Length);
}
}
}
Expand Down

0 comments on commit d050e78

Please sign in to comment.