diff options
author | Martin Storsjö <martin@martin.st> | 2011-02-06 00:06:49 +0100 |
---|---|---|
committer | Martin Storsjö <martin@martin.st> | 2011-11-05 12:09:27 +0200 |
commit | 1606e551ff4ace23da8a372ebb1147da36566372 (patch) | |
tree | e8c764fcd7f4fab80a5c4a613bc8c76b82257b8a | |
parent | 8148631269734f4ecde7a63ca7432e82c12c0b3e (diff) | |
download | ffmpeg-1606e551ff4ace23da8a372ebb1147da36566372.tar.gz |
avformat: Initialize gnutls in ff_tls_init()
Signed-off-by: Martin Storsjö <martin@martin.st>
-rw-r--r-- | libavformat/network.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/libavformat/network.c b/libavformat/network.c index 6ef609f2ed..d50e1e70f8 100644 --- a/libavformat/network.c +++ b/libavformat/network.c @@ -53,6 +53,16 @@ static unsigned long openssl_thread_id(void) #endif #endif #endif +#if CONFIG_GNUTLS +#include <gnutls/gnutls.h> +#if THREADS && GNUTLS_VERSION_NUMBER <= 0x020b00 +#include <gcrypt.h> +#include <errno.h> +#undef malloc +#undef free +GCRY_THREAD_OPTION_PTHREAD_IMPL; +#endif +#endif void ff_tls_init(void) { @@ -76,6 +86,13 @@ void ff_tls_init(void) } openssl_init++; #endif +#if CONFIG_GNUTLS +#if THREADS && GNUTLS_VERSION_NUMBER < 0x020b00 + if (gcry_control(GCRYCTL_ANY_INITIALIZATION_P) == 0) + gcry_control(GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread); +#endif + gnutls_global_init(); +#endif avpriv_unlock_avformat(); } @@ -96,6 +113,9 @@ void ff_tls_deinit(void) #endif } #endif +#if CONFIG_GNUTLS + gnutls_global_deinit(); +#endif avpriv_unlock_avformat(); } |