ffmpeg avformat_open_input返回失败,错误码-10049

ffmpeg avformat_open_input失败,返回错误码-10049,错误描述:Error number -10049 occurred

调试代码,找到如果设置了time_out参数,就会失败,不设置就没问题,具体原因还没有找到,备注此问题,以待后续继续分析

源代码:

av_register_all();
avformat_network_init();

AVFormatContext *pFormatCtx = avformat_alloc_context();
pFormatCtx->interrupt_callback.opaque = this;
pFormatCtx->interrupt_callback.callback = interrupt_cb;//设置超时回调函数

AVDictionary *optionsDict = NULL;
if(Rtsp_Protocol==TCP)
{
    av_dict_set(&optionsDict, "rtsp_transport", "tcp", 0);//采用tcp传输
}
av_dict_set(&optionsDict, "stimeout", "5000000", 0);//设置rtsp超时5s,单位微妙

//以下timeout设置了,就会input_open失败,-10049
//av_dict_set(&optionsDict, "timeout", "3000000", 0);//设置超时3秒,单位http:ms,udp:s
av_dict_set(&optionsDict, "rw_timeout", "5000", 0);//单位:ms

int ret =0;
if ((ret=avformat_open_input(&pFormatCtx, url, NULL, &optionsDict)) != 0)
{
		log_error("Couldn't open input stream %d,ret);
		return -1;
}  

 

设置下面这个参数,就失败

如果有大佬知道原因,可以留言,感谢

你可能感兴趣的:(ffmpeg,ffmpeg)