跟着网上教程做简易播放器,播放MKV文件时出现错误“avcodec_receive_frame() failed -11”
网上检索一番后得知“avcodec_receive_frame()
函数其实有两个错误码,一个是 ERROR(EAGAIN)
,一个是 AVERROR_EOF
,ERROR(EAGAIN)
,代表解码器暂时没有数据可读,你要输入更多的 AVPacket
。”,于是在代码中将设定碰到这个错误时直接continue让avcodec_send_packet()对解码器输入更多数据,最后报了两个错误后正常播放视频。
不知道啥原因,等以后学深入了再探讨探讨