基于ffmpeg-6.0.
avformat_network_init()函数定义如下:
int avformat_network_init(void)
{
#if CONFIG_NETWORK
int ret;
if ((ret = ff_network_init()) < 0)
return ret;
if ((ret = ff_tls_init()) < 0)
return ret;
#endif
return 0;
}
可以看出来通过调用ff_network_init()和ff_tls_init()来完成初始化,
其中,ff_network_init定义如下,可见其主要用于windows平台下socket通信初始化。Linux平台无需初始化。
int ff_network_init(void)
{
#if HAVE_WINSOCK2_H
WSADATA wsaData;
if (WSAStartup(MAKEWORD(1,1), &wsaData))
return 0;
#endif
return 1;
}
其中,ff_tls_init定义如下,可见其主要是用于初始化ssl安全通信的。
void ff_tls_deinit(void)
{
#if CONFIG_TLS_PROTOCOL
#if CONFIG_OPENSSL
ff_openssl_deinit();
#endif
#if CONFIG_GNUTLS
ff_gnutls_deinit();
#endif
#endif
}
换句话说就是,所谓的avformat_network_init主要就是初始化win socket和openssl。但是由于我使用linux(ubuntu),未使用openssl支持,所以该函数对我平台没有任何意义。
标签:return,network,ret,avformat,init,ff From: https://www.cnblogs.com/uuvv/p/17723706.html