mirror of
https://github.com/moonlight-stream/moonlight-android.git
synced 2026-04-23 16:56:41 +00:00
Bound queued audio data to prevent excessive latency
This commit is contained in:
@@ -168,8 +168,17 @@ public class AndroidAudioRenderer implements AudioRenderer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void playDecodedAudio(byte[] audioData) {
|
public void playDecodedAudio(short[] audioData) {
|
||||||
track.write(audioData, 0, audioData.length);
|
// Only queue up to 40 ms of pending audio data in addition to what AudioTrack is buffering for us.
|
||||||
|
if (MoonBridge.getPendingAudioFrames() < 8) {
|
||||||
|
// This will block until the write is completed. That can cause a backlog
|
||||||
|
// of pending audio data, so we do the above check to be able to bound
|
||||||
|
// latency at 40 ms in that situation.
|
||||||
|
track.write(audioData, 0, audioData.length);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
LimeLog.info("Too many pending audio frames: " + MoonBridge.getPendingAudioFrames());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Submodule moonlight-common updated: 39c6a3c8b1...9f409da618
Reference in New Issue
Block a user