arc4random() was designed as a superior interface for system random number generation, designed for OpenBSD. It is thus an improvement to use it whenever available.
As a side note, this may or may not get included in glibc, and there is a proposal to create a posix_random family based on these ideas: http://austingroupbugs.net/view.php?id=859. Untested as I lack OpenBSD. Signed-off-by: Ganesh Ajjanagadde <gajjanaga...@gmail.com> --- configure | 2 ++ libavutil/random_seed.c | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/configure b/configure index 7530c88..e676269 100755 --- a/configure +++ b/configure @@ -1840,6 +1840,7 @@ MATH_FUNCS=" SYSTEM_FUNCS=" access aligned_malloc + arc4random clock_gettime closesocket CommandLineToArgvW @@ -5218,6 +5219,7 @@ check_func ${malloc_prefix}memalign && enable memalign check_func ${malloc_prefix}posix_memalign && enable posix_memalign check_func access +check_func arc4random check_func_headers time.h clock_gettime || { check_func_headers time.h clock_gettime -lrt && add_extralibs -lrt && LIBRT="-lrt"; } check_func fcntl check_func fork diff --git a/libavutil/random_seed.c b/libavutil/random_seed.c index 8aa8c38..205a636 100644 --- a/libavutil/random_seed.c +++ b/libavutil/random_seed.c @@ -121,6 +121,10 @@ uint32_t av_get_random_seed(void) } #endif +#if HAVE_ARC4RANDOM + return arc4random(); +#endif + if (read_random(&seed, "/dev/urandom") == sizeof(seed)) return seed; if (read_random(&seed, "/dev/random") == sizeof(seed)) -- 2.6.3 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel