Closed jeffasd closed 7 years ago
{ \
extern URLProtocol ijkimp_ff_##x##_protocol; \
int ijkav_register_##x##_protocol(URLProtocol *protocol, int protocol_size);\
ijkav_register_##x##_protocol(&ijkimp_ff_##x##_protocol, sizeof(URLProtocol)); \
}
ijkav_register_ijkio_protocol ijkav_register_async_protocol ijkav_register_ijklongurl_protocol ijkav_register_ijktcphook_protocol ijkav_register_ijkhttphook_protocol ijkav_register_ijksegment_protocol 这些函数体没有实现,是个空定义,就是说 IJK_REGISTER_PROTOCOL(ijkio); IJK_REGISTER_PROTOCOL(async); IJK_REGISTER_PROTOCOL(ijklongurl); IJK_REGISTER_PROTOCOL(ijktcphook); IJK_REGISTER_PROTOCOL(ijkhttphook); IJK_REGISTER_PROTOCOL(ijksegment); 这些协议都没有注册 这是打印log ===== custom modules begin ===== register demuxer : ijklivehook ===== custom modules end =====
查看了 ijkavformat/allformats.c发现这个文件最近几个版本经常改动是否无意间把这些协议注册函数给忽略了?
这几个宏定义对应的函数 ijkav_register_ijkio_protocol ijkav_register_async_protocol ijkav_register_ijklongurl_protocol ijkav_register_ijktcphook_protocol ijkav_register_ijkhttphook_protocol ijkav_register_ijksegment_protocol 但是这几个函数全部没有定义 这个什么情况?