当前位置: 首页 > article >正文

FFmpeg源码:avio_skip函数分析

=================================================================

AVIOContext结构体和其相关的函数分析:

FFmpeg源码:avio_r8、avio_rl16、avio_rl24、avio_rl32、avio_rl64函数分析

FFmpeg源码:read_packet_wrapper、fill_buffer函数分析

FFmpeg源码:avio_read函数分析

FFmpeg源码:avio_seek函数分析

FFmpeg源码:avio_skip函数分析 

FFmpeg源码:avio_tell函数分析

FFmpeg源码:ffurl_seek2、ffurl_seek、avio_size函数分析

=================================================================

一、avio_skip函数的声明

avio_skip函数声明在FFmpeg源码(本文演示用的FFmpeg源码版本为7.0.1)的头文件libavformat/avio.h中:

/**
 * Skip given number of bytes forward
 * @return new position or AVERROR.
 */
int64_t avio_skip(AVIOContext *s, int64_t offset);

该函数作用是:让AVIOContext文件位置指针跳过offset个字节。

形参s:既是输入型参数也是输出型参数。指向一个AVIOContext(字节流上下文结构体)变量。关于AVIOContext结构体可以参考:《FFmpeg源码:avio_r8、avio_rl16、avio_rl24、avio_rl32、avio_rl64函数分析》。

形参offset:输入型参数,表示需要跳过的字节数。

返回值:失败返回一个负数,成功返回跳过的字节数。

二、avio_skip函数的定义

avio_skip函数定义在libavformat/aviobuf.c中:

int64_t avio_skip(AVIOContext *s, int64_t offset)
{
    return avio_seek(s, offset, SEEK_CUR);
}

可以看到avio_skip函数内部就是调用了avio_seek函数。关于avio_seek函数用法可以参考:《FFmpeg源码:avio_seek函数分析》


http://www.kler.cn/news/321603.html

相关文章:

  • 云计算Openstack Nova
  • elasticSearch常见命令及历史数据迁移
  • openlayers中一些问题的解决方案
  • JVM 类加载机制2
  • R语言 基础笔记 2
  • 【数据结构】算法的时间复杂度
  • Python OpenCV精讲系列 - 滤波器深入理解(十四)
  • 手机换新,怎么把旧iPhone手机数据传输至新iPhone16手机
  • Linux 进程控制
  • C++学习,# 和 ## 运算符
  • 程序bug的修复之道
  • Kafka技术详解[6]: 创建主题
  • css div多边框斜角边框
  • 配置virtualbox,在windows中与ubuntu共享文件夹
  • Halcon基础系列1-基础算子
  • uni-app canvas文本自动换行
  • 探索 Snowflake 与 Databend 的云原生数仓技术与应用实践 | Data Infra NO.21 回顾
  • 基于matlab语音滤波系统
  • 排序--希尔排序
  • C#入门教程
  • python 实现knn sklearn K近邻分类算法
  • 最新的iOS 18版本和Android 15版本系统分别升级了哪些功能?
  • [大语言模型] 情感认知在大型语言模型中的近期进展-2024-09-26
  • SLF4J报错log4j又报错
  • 新书推荐——《深度学习精粹与PyTorch实践》
  • 网络安全专业,在校大学生如何赚外快,实现财富自由?零基础入门到精通,收藏这一篇就够了
  • Linux下的基本指令/命令(二)
  • 面试小妙招:轻松绕过五大“坑”,展现真实自我
  • python中数据处理库,机器学习库以及自动化与爬虫
  • 设计模式-行为型模式-中介者模式