improve random seed (for dummy generators)
authorRobin Gareus <robin@gareus.org>
Mon, 10 Nov 2014 21:20:36 +0000 (22:20 +0100)
committerRobin Gareus <robin@gareus.org>
Mon, 10 Nov 2014 21:20:36 +0000 (22:20 +0100)
libs/backends/dummy/dummy_audiobackend.cc

index 7c2f101ae7807a8b34ed058d5eabcebcf1139cd3..f46b9263c8bdde6def6c9d778164245484a9ff93 100644 (file)
@@ -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