c - 为什么 ffmpeg 中解码包的大小为零?
问题描述
我正在阅读从视频中解码字节流的代码。但我有点困惑,数据包的大小有时可能为 0。这是什么意思?如果为零,这些字节携带的信息是什么?
int len = av_parser_parse2(
pCodecParserCtx, pCodecCtx,
&packet.data, &packet.size,
cur_ptr , cur_size ,
AV_NOPTS_VALUE, AV_NOPTS_VALUE, AV_NOPTS_VALUE);
cur_ptr += len;
cur_size -= len;
if (packet.size==0)
continue;
解决方案
根据官方文档,如果尚未获得数据包并且解析器需要更多输入数据,则数据包大小将设置为零。
推荐阅读
- graphql - 减少 graphql 模式中的嵌套深度
- powershell - 变量未在 PowerShell 脚本中传递
- php - 如何在 PHP 中为重定向的索引页面提供参数
- r - 使用 R 形成组的最有效方式
- c++ - 使用 C 接口将 MinGW 库链接到 MSVC 应用程序
- android - 查找哪些地方正在使用未在 strings.xml 中的字符串
- php - Woocommerce 订阅:获取有效订阅中的所有产品并更新运输元数据
- javascript - 如何在初始化我的 Nuxt 应用程序之前获取和存储窗口宽度?
- lisp - 从中心点创建一个具有现有高度和宽度大小的矩形
- google-chrome - Chrome - 如何打开特定 URL 并自动打开 devtools