On Mon, Jun 04, 2018 at 12:16:36PM +0200, Thomas Volkert wrote: > > On 04.06.2018 04:55, Steven Liu wrote: > > Signed-off-by: Steven Liu <l...@chinaffmpeg.org> > > --- > > configure | 1 - > > libavformat/hlsenc.c | 27 ++++++++++++--------------- > > 2 files changed, 12 insertions(+), 16 deletions(-) > > > > diff --git a/configure b/configure > > index 22eeca22a5..a3d0f5837a 100755 > > --- a/configure > > +++ b/configure > > @@ -3127,7 +3127,6 @@ fifo_muxer_deps="threads" > > flac_demuxer_select="flac_parser" > > hds_muxer_select="flv_muxer" > > hls_muxer_select="mpegts_muxer" > > -hls_muxer_suggest="gcrypt openssl" > > image2_alias_pix_demuxer_select="image2_demuxer" > > image2_brender_pix_demuxer_select="image2_demuxer" > > ipod_muxer_select="mov_muxer" > > diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c > > index 2268f898b0..c04c561586 100644 > > --- a/libavformat/hlsenc.c > > +++ b/libavformat/hlsenc.c > > @@ -27,12 +27,6 @@ > > #include <unistd.h> > > #endif > > > > -#if CONFIG_GCRYPT > > -#include <gcrypt.h> > > -#elif CONFIG_OPENSSL > > -#include <openssl/rand.h> > > -#endif > > - > > #include "libavutil/avassert.h" > > #include "libavutil/mathematics.h" > > #include "libavutil/parseutils.h" > > @@ -569,18 +563,21 @@ fail: > > return ret; > > } > > > > + > > static int randomize(uint8_t *buf, int len) > > { > > -#if CONFIG_GCRYPT > > - gcry_randomize(buf, len, GCRY_VERY_STRONG_RANDOM); > > + uint32_t tmp_number[4]; > > + int i = 0; > > + > > + if (len != 16) > > + return AVERROR(EINVAL); > > + > > + for (i = 0; i < 4; i++) > > + tmp_number[i] = av_get_random_seed(); > > + > > + memcpy(buf, tmp_number, len); > > + > > return 0; > > -#elif CONFIG_OPENSSL > > - if (RAND_bytes(buf, len)) > > - return 0; > > -#else > > - return AVERROR(ENOSYS); > > -#endif > > - return AVERROR(EINVAL); > > } > > > > static int do_encrypt(AVFormatContext *s, VariantStream *vs) > > Does av_get_random_seed() provide the same random quality level as > gcry_randomize() / RAND_bytes() / mbedtls_havege_random() ?
we need a (preferrably single) API to get good random numbers from. all libs may need to access it so libavutil is probably the place for it and av_get_random_seed() is already there ... having a list of #if/elif/else accesing multiple sources of randomness should if it is needed be in av_get_random_seed() not duplicated every time a random number is needed. on a different topic, if someone wants to improve av_get_random_seed() in a way different from adding libs as sources of randomness data from image sensors (v4l* for example) and PCM audio. Should be usefull sources of entropy. Ive seen CCD imagers of phones being used as particle detectors. So theres seems to be some evidence behind this generating actual truely random numbers Thanks [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Those who are too smart to engage in politics are punished by being governed by those who are dumber. -- Plato
signature.asc
Description: PGP signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel