mirror of
https://github.com/par274/sharpemu.git
synced 2026-07-31 23:19:44 +08:00
Sdl backend (#670)
* [audio] added sdl audio backend and in-tree atrac9 decoder * [input] replaced per-platform pad readers with sdl gamepad input * [video] added sdl window and host display plumbing * [gui] added host display options and per-game render settings * [bink] synced host movie playback to the guest audio clock * [cpu] hooked windows write faults into guest image tracking * [perf] added guest and render profiling, reserved host cpu lanes * [kernel] fixed stale pthread mutex handle alias * [host] wired the sdl session, save-data paths and project references * [audio] hoisted ajm trace stackalloc out of its loop * [video] Add guest image sync setting * [build] Strip native symbols * reuse
This commit is contained in:
@@ -15,4 +15,17 @@ public interface IHostAudioStream : IDisposable
|
||||
/// audio, in which case the caller paces the guest itself.
|
||||
/// </summary>
|
||||
bool Submit(ReadOnlySpan<byte> stereoPcm16);
|
||||
|
||||
/// <summary>
|
||||
/// Audio already handed to the device and not yet played, in milliseconds —
|
||||
/// the cushion protecting playback from a late submission. Zero means the
|
||||
/// device has run dry and is emitting silence.
|
||||
///
|
||||
/// Callers that pace the guest against an emulated hardware queue need this:
|
||||
/// pacing purely on wall clock releases exactly one buffer per buffer-period
|
||||
/// and so keeps the cushion at zero, which turns any scheduling jitter into
|
||||
/// an audible dropout. Returns -1 when the backend cannot report a depth, in
|
||||
/// which case callers must fall back to their own pacing.
|
||||
/// </summary>
|
||||
int QueuedMilliseconds => -1;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user