[FFmpeg-cvslog] r17868 - in trunk/libavutil: Makefile random_seed.c random_seed.h
Stefano Sabatini
stefano.sabatini-lala
Tue Mar 10 22:46:20 CET 2009
On date Sunday 2009-03-08 02:28:14 +0100, bcoudurier wrote:
> Author: bcoudurier
> Date: Sun Mar 8 02:28:14 2009
> New Revision: 17868
>
> Log:
> add ff_random_get_seed to be used in conjunction with random functions
>
> Added:
> trunk/libavutil/random_seed.c (contents, props changed)
> trunk/libavutil/random_seed.h (contents, props changed)
> Modified:
> trunk/libavutil/Makefile
>
> Modified: trunk/libavutil/Makefile
> ==============================================================================
> --- trunk/libavutil/Makefile Sun Mar 8 01:45:45 2009 (r17867)
> +++ trunk/libavutil/Makefile Sun Mar 8 02:28:14 2009 (r17868)
> @@ -36,6 +36,7 @@ OBJS = adler32.o
> md5.o \
> mem.o \
> random.o \
> + random_seed.o \
> rational.o \
> rc4.o \
> sha1.o \
>
> Added: trunk/libavutil/random_seed.c
> ==============================================================================
> --- /dev/null 00:00:00 1970 (empty, because file is newly added)
> +++ trunk/libavutil/random_seed.c Sun Mar 8 02:28:14 2009 (r17868)
> @@ -0,0 +1,43 @@
> +/*
> + * Copyright (c) 2009 Baptiste Coudurier <baptiste.coudurier at gmail.com>
> + *
> + * This file is part of FFmpeg.
> + *
> + * FFmpeg is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU Lesser General Public
> + * License as published by the Free Software Foundation; either
> + * version 2.1 of the License, or (at your option) any later version.
> + *
> + * FFmpeg is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> + * Lesser General Public License for more details.
> + *
> + * You should have received a copy of the GNU Lesser General Public
> + * License along with FFmpeg; if not, write to the Free Software
> + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
> + */
> +
> +#include <unistd.h>
> +#include <fcntl.h>
> +#include "timer.h"
> +#include "random_seed.h"
> +
> +uint32_t ff_random_get_seed(void)
> +{
> + uint32_t seed;
> + int fd;
> +
> + if ((fd = open("/dev/random", O_RDONLY)) == -1)
> + fd = open("/dev/urandom", O_RDONLY);
> + if (fd != -1){
> + read(fd, &seed, 4);
> + close(fd);
> + return seed;
> + }
> +#ifdef AV_READ_TIME
> + seed = AV_READ_TIME();
> +#endif
> + // XXX what to do ?
> + return seed;
> +}
>
> Added: trunk/libavutil/random_seed.h
> ==============================================================================
> --- /dev/null 00:00:00 1970 (empty, because file is newly added)
> +++ trunk/libavutil/random_seed.h Sun Mar 8 02:28:14 2009 (r17868)
> @@ -0,0 +1,31 @@
> +/*
> + * Copyright (c) 2009 Baptiste Coudurier <baptiste.coudurier at gmail.com>
> + *
> + * This file is part of FFmpeg.
> + *
> + * FFmpeg is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU Lesser General Public
> + * License as published by the Free Software Foundation; either
> + * version 2.1 of the License, or (at your option) any later version.
> + *
> + * FFmpeg is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> + * Lesser General Public License for more details.
> + *
> + * You should have received a copy of the GNU Lesser General Public
> + * License along with FFmpeg; if not, write to the Free Software
> + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
> + */
> +
> +#ifndef AVUTIL_RANDOM_SEED_H
> +#define AVUTIL_RANDOM_SEED_H
> +
> +#include <stdint.h>
> +
> +/**
> + * Get a seed to use in conjuction with random functions
> + */
> +uint32_t ff_random_get_seed();
> +
> +#endif /* AVUTIL_RANDOM_SEED_H */
Hi, is this supposed to become public soon or later (thinking about
ffserver.c)?
Regards.
More information about the ffmpeg-cvslog
mailing list