FFmpeg 移植问题avformat_open_input打开本地视频文件失败 急!急!急!急!急!急!急!急!
移植FFMPEG(嵌入式HI3516高清解码板),用avformat_open_input打开本地文件失败,avformat_open_input的返回值是-5,报错为:Input/output error。跟踪进函数源代码,发现init_input这个函数返回错误,返回值是-5,再进一步跟踪,发现avio_read(pb, buf + buf_offset, probe_size - buf_offset)返回值是-5,再进一步跟踪,发现fill_buffer(s)返回-5,不知道怎么回事,好几天都调不出来,请高手帮帮忙!给跪!!!!!!!!!!!!!!!
const char * filename="1.mov";
char szError[256] = {0};
kz_FormatContext=NULL;
//avcodec_init();
av_register_all();
kz_FormatContext = avformat_alloc_context();
int nret=avformat_open_input(&kz_FormatContext, filename, NULL, NULL);
int nret=av_open_input_stream(&kz_FormatContext,pb,filename,piFmt,NULL);
//piFmt/nfsroot/1.rmvb&kz_FormatContext
//kz_FormatContext->pb = pb;//av_open_input_file avformat_open_input, NULL
if (nret!= 0)
{//av_open_input_file
av_strerror(nret, szError, 256);
printf(szError);
printf("\n");
printf("%d\n",nret);
printf("Call avformat_open_input function failed!\n");
//return 0;
// fprintf(stderr, "avformat open failed.\n");
//AVFrame
//handle_error();
return -1;
} else {
printf( "open stream success!\n");
}