ref: 2347d1570f016b15d4fa2afc641b77e5dfcda2a3
parent: b30da997ca1ba6d69815bd0ff06f15ecb03a5a6e
author: Jean-Marc Valin <jmvalin@jmvalin.ca>
date: Tue May 2 11:48:47 EDT 2017
Calling srand() was probably not a good idea Not a good thing to do from a library and if chains are short, we get the same random number twice, which is even worse.
--- a/src/opusenc.c
+++ b/src/opusenc.c
@@ -275,15 +275,11 @@
}
static void init_stream(OggOpusEnc *enc) {
- time_t start_time;
assert(!enc->streams->stream_is_init);
if (!enc->streams->serialno_is_set) {
- start_time = time(NULL);
- srand(((getpid()&65535)<<15)^start_time);
-
enc->streams->serialno = rand();
}
-
+
if (ogg_stream_init(&enc->streams->os, enc->streams->serialno) == -1) {
assert(0);
/* FIXME: How the hell do we handle that? */