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

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函数分析

FFmpeg源码:avio_feof函数分析

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

一、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函数分析》

相关文章:

  • windows10使用bat脚本安装前后端环境之msyql5.7安装配置并重置用户密码
  • Java使用RabbitMQ的详细教程(原生框架)
  • 酒店智能门锁SDK接口pro[V10] 对接酒店收银-模块封装C#-SAAS本地化-未来之窗行业应用跨平台架构
  • NIO基础
  • Python机器学习:数据预处理与清洗的打开方式
  • 【羊毛资源】华为云开发者云主机免费申请使用指南
  • 线程池:线程池的实现 | 日志
  • 【机器学习(七)】分类和回归任务-K-近邻 (KNN)算法-Sentosa_DSML社区版
  • uniapp微信小程序,获取上一页面路由
  • YOLO11震撼发布!
  • 服装时尚与动漫游戏的跨界联动:创新运营与策划策略研究
  • erlang学习:Linux命令学习8
  • 完整网络模型训练(一)
  • 思科dhcp的配置
  • Elasticsearch学习笔记(3)
  • [LeetCode] Wiggle Sort
  • 03Go 类型总结
  • ES6之路之模块详解
  • Hibernate【inverse和cascade属性】知识要点
  • HTML-表单
  • Java知识点总结(JavaIO-打印流)
  • js如何打印object对象
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • Python进阶细节
  • vue:响应原理
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • 记录一下第一次使用npm
  • 技术发展面试
  • 利用jquery编写加法运算验证码
  • 交换综合实验一
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • ​io --- 处理流的核心工具​
  • ​猴子吃桃问题:每天都吃了前一天剩下的一半多一个。
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • (30)数组元素和与数字和的绝对差
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (二)JAVA使用POI操作excel
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (三)Honghu Cloud云架构一定时调度平台
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (十六)串口UART
  • (四)模仿学习-完成后台管理页面查询
  • (详细文档!)javaswing图书管理系统+mysql数据库
  • (转) 深度模型优化性能 调参
  • (转)大道至简,职场上做人做事做管理
  • (转)项目管理杂谈-我所期望的新人
  • .net framework 4.0中如何 输出 form 的name属性。
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
  • .NET Micro Framework 4.2 beta 源码探析
  • .Net Remoting(分离服务程序实现) - Part.3
  • .NET 应用架构指导 V2 学习笔记(一) 软件架构的关键原则