FFmpeg
来源:互联网 发布:青果软件 漏洞 编辑:程序博客网 时间:2024/06/01 09:05
雷霄骅 FFmpeg 源代码简单分析 : av_register_all()
在翻阅av_register_all()
源码时发现与雷霄骅博文中所述的不太一样,在新版FFmpeg中的av_register_all()
函数中并没有关于register protocol
相关的代码。
经过查阅后发现是将注册Protocol的过程转化成了静态数组类型,主要位于protocols.c
文件中。
extern const URLProtocol ff_async_protocol;extern const URLProtocol ff_bluray_protocol;extern const URLProtocol ff_cache_protocol;extern const URLProtocol ff_concat_protocol;extern const URLProtocol ff_crypto_protocol;extern const URLProtocol ff_data_protocol;extern const URLProtocol ff_ffrtmpcrypt_protocol;extern const URLProtocol ff_ffrtmphttp_protocol;extern const URLProtocol ff_file_protocol;extern const URLProtocol ff_ftp_protocol;extern const URLProtocol ff_gopher_protocol;extern const URLProtocol ff_hls_protocol;extern const URLProtocol ff_http_protocol;extern const URLProtocol ff_httpproxy_protocol;extern const URLProtocol ff_https_protocol;extern const URLProtocol ff_icecast_protocol;extern const URLProtocol ff_mmsh_protocol;extern const URLProtocol ff_mmst_protocol;extern const URLProtocol ff_md5_protocol;extern const URLProtocol ff_pipe_protocol;extern const URLProtocol ff_prompeg_protocol;extern const URLProtocol ff_rtmp_protocol;extern const URLProtocol ff_rtmpe_protocol;extern const URLProtocol ff_rtmps_protocol;extern const URLProtocol ff_rtmpt_protocol;extern const URLProtocol ff_rtmpte_protocol;extern const URLProtocol ff_rtmpts_protocol;extern const URLProtocol ff_rtp_protocol;extern const URLProtocol ff_sctp_protocol;extern const URLProtocol ff_srtp_protocol;extern const URLProtocol ff_subfile_protocol;extern const URLProtocol ff_tee_protocol;extern const URLProtocol ff_tcp_protocol;extern const URLProtocol ff_tls_gnutls_protocol;extern const URLProtocol ff_tls_schannel_protocol;extern const URLProtocol ff_tls_securetransport_protocol;extern const URLProtocol ff_tls_openssl_protocol;extern const URLProtocol ff_udp_protocol;extern const URLProtocol ff_udplite_protocol;extern const URLProtocol ff_unix_protocol;extern const URLProtocol ff_librtmp_protocol;extern const URLProtocol ff_librtmpe_protocol;extern const URLProtocol ff_librtmps_protocol;extern const URLProtocol ff_librtmpt_protocol;extern const URLProtocol ff_librtmpte_protocol;extern const URLProtocol ff_libssh_protocol;extern const URLProtocol ff_libsmbclient_protocol;#include "../libavformat/protocol_list.c"
其中在protocol_list.c
文件中声明了URLProtocol *url_protocols[]
全局数组。
protocol_list.c
文件如下:
static const URLProtocol *url_protocols[] = { &ff_async_protocol, &ff_cache_protocol, &ff_concat_protocol, &ff_crypto_protocol, &ff_data_protocol, &ff_ffrtmphttp_protocol, &ff_file_protocol, &ff_ftp_protocol, &ff_gopher_protocol, &ff_hls_protocol, &ff_http_protocol, &ff_httpproxy_protocol, &ff_https_protocol, &ff_icecast_protocol, &ff_mmsh_protocol, &ff_mmst_protocol, &ff_md5_protocol, &ff_pipe_protocol, &ff_prompeg_protocol, &ff_rtmp_protocol, &ff_rtmps_protocol, &ff_rtmpt_protocol, &ff_rtmpts_protocol, &ff_rtp_protocol, &ff_srtp_protocol, &ff_subfile_protocol, &ff_tee_protocol, &ff_tcp_protocol, &ff_tls_securetransport_protocol, &ff_udp_protocol, &ff_udplite_protocol, &ff_unix_protocol, NULL };
0 0
- FFmpeg
- FFMPEG
- ffmpeg
- ffmpeg
- ffmpeg
- FFmpeg
- ffmpeg
- ffmpeg
- ffmpeg
- ffmpeg
- FFmpeg
- ffmpeg
- ffmpeg
- ffmpeg
- ffmpeg
- ffmpeg
- FFMPEG
- ffmpeg
- [NTT] 快速数论变换学习笔记
- 串口工具SecureCRT不能输入命令
- Protocol Buffer
- ubuntu16.10下安装erlang和RabbitMQ
- ZOJ
- FFmpeg
- BigDecimal的应用
- Problem M: STL——整理唱片
- C语言复习0.2——位运算
- [FWT] 快速沃尔什变换学习笔记
- LEETCODE73Set Matrix Zeroes
- Eclipse 中 外部Maven 仓库配置
- React系列之开发大型网站最佳实践
- PYTHON----DAY2