You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	add ff_random_get_seed to be used in conjunction with random functions
Originally committed as revision 17868 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
		| @@ -36,6 +36,7 @@ OBJS = adler32.o                                                        \ | ||||
|        md5.o                                                            \ | ||||
|        mem.o                                                            \ | ||||
|        random.o                                                         \ | ||||
|        random_seed.o                                                    \ | ||||
|        rational.o                                                       \ | ||||
|        rc4.o                                                            \ | ||||
|        sha1.o                                                           \ | ||||
|   | ||||
							
								
								
									
										43
									
								
								libavutil/random_seed.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								libavutil/random_seed.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,43 @@ | ||||
| /* | ||||
|  * Copyright (c) 2009 Baptiste Coudurier <baptiste.coudurier@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; | ||||
| } | ||||
							
								
								
									
										31
									
								
								libavutil/random_seed.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								libavutil/random_seed.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,31 @@ | ||||
| /* | ||||
|  * Copyright (c) 2009 Baptiste Coudurier <baptiste.coudurier@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 */ | ||||
		Reference in New Issue
	
	Block a user