avcodec_send_packet 卡死
时间: 2023-09-21 19:07:34 浏览: 73
avcodec_sample.cpp.tar.gz_avcodec_avcodec_sample.c_avcodec_sampl
`avcodec_send_packet` 函数是 FFmpeg 库中的一个函数,用于向解码器发送压缩数据包。如果该函数卡死了,可能是由于以下原因之一:
1. 输入的压缩数据包格式不正确,导致解码器无法正常解码。你可以检查一下输入数据包是否符合解码器支持的格式要求。
2. 解码器的缓冲区已经满了,无法再接受更多的数据包。你可以等待一段时间,直到解码器处理完之前的数据包,再继续发送数据包。
3. 在发送数据包之前,你没有正确地初始化解码器。你需要先调用 `avcodec_open2` 函数打开解码器,并设置好解码器的参数。
4. 解码器的线程可能被阻塞了,导致无法正常解码数据包。你可以尝试使用多线程解码以提高解码速度。
综上所述,卡死的原因可能有很多,需要具体情况具体分析。你可以提供更多的信息,比如代码片段、输入数据包格式等,以便更好地帮助你解决问题。
阅读全文