blob: 845713a19b2d1aebf4e0516e471ece3fc53faffc (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
using Ryujinx.Audio.Common;
using Ryujinx.Audio.Integration;
using Ryujinx.Memory;
using System;
namespace Ryujinx.Audio.Backends.Dummy
{
class DummyHardwareDeviceSessionInput : IHardwareDeviceSession
{
private float _volume;
private IHardwareDeviceDriver _manager;
private IVirtualMemoryManager _memoryManager;
public DummyHardwareDeviceSessionInput(IHardwareDeviceDriver manager, IVirtualMemoryManager memoryManager, SampleFormat requestedSampleFormat, uint requestedSampleRate, uint requestedChannelCount)
{
_volume = 1.0f;
_manager = manager;
_memoryManager = memoryManager;
}
public void Dispose()
{
// Nothing to do.
}
public ulong GetPlayedSampleCount()
{
// Not implemented for input.
throw new NotSupportedException();
}
public float GetVolume()
{
return _volume;
}
public void PrepareToClose() { }
public void QueueBuffer(AudioBuffer buffer)
{
_memoryManager.Fill(buffer.DataPointer, buffer.DataSize, 0);
_manager.GetUpdateRequiredEvent().Set();
}
public bool RegisterBuffer(AudioBuffer buffer)
{
return buffer.DataPointer != 0;
}
public void SetVolume(float volume)
{
_volume = volume;
}
public void Start() { }
public void Stop() { }
public void UnregisterBuffer(AudioBuffer buffer) { }
public bool WasBufferFullyConsumed(AudioBuffer buffer)
{
return true;
}
}
}
|