[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