summaryrefslogtreecommitdiff
path: root/libs/backends/dummy/dummy_audiobackend.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-11-10 22:20:36 +0100
committerRobin Gareus <robin@gareus.org>2014-11-10 22:20:36 +0100
commita37ffd1f0cea654918dfa933139b764804859e22 (patch)
tree825b9821cc8b1a6450ddeec203228d53f398a1ae /libs/backends/dummy/dummy_audiobackend.cc
parent1317b572215c496c007d41c051e85dc23634f1c8 (diff)
improve random seed (for dummy generators)
Diffstat (limited to 'libs/backends/dummy/dummy_audiobackend.cc')
-rw-r--r--libs/backends/dummy/dummy_audiobackend.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/libs/backends/dummy/dummy_audiobackend.cc b/libs/backends/dummy/dummy_audiobackend.cc
index 7c2f101ae7..f46b9263c8 100644
--- a/libs/backends/dummy/dummy_audiobackend.cc
+++ b/libs/backends/dummy/dummy_audiobackend.cc
@@ -1436,7 +1436,16 @@ bool DummyPort::is_physically_connected () const
void DummyPort::setup_random_number_generator ()
{
+#ifdef PLATFORM_WINDOWS
+ LARGE_INTEGER Count;
+ if (QueryPerformanceCounter (&Count)) {
+ _rseed = Count.QuadPart % UINT_MAX;
+ } else
+#endif
+ {
_rseed = g_get_monotonic_time() % UINT_MAX;
+ }
+ _rseed = (_rseed + (uint64_t)this) % UINT_MAX;
}
inline uint32_t