avformat: Initialize gnutls in ff_tls_init()

Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
Martin Storsjö 2011-02-06 00:06:49 +01:00
parent 8148631269
commit 1606e551ff

View File

@ -53,6 +53,16 @@ static unsigned long openssl_thread_id(void)
#endif #endif
#endif #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) void ff_tls_init(void)
{ {
@ -75,6 +85,13 @@ void ff_tls_init(void)
#endif #endif
} }
openssl_init++; 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 #endif
avpriv_unlock_avformat(); avpriv_unlock_avformat();
} }
@ -95,6 +112,9 @@ void ff_tls_deinit(void)
} }
#endif #endif
} }
#endif
#if CONFIG_GNUTLS
gnutls_global_deinit();
#endif #endif
avpriv_unlock_avformat(); avpriv_unlock_avformat();
} }