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中:

cpp 复制代码
/**
 * 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中:

cpp 复制代码
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函数分析

相关推荐
heromps2 小时前
在 macOS 上安装 FFmpeg 的详细指南
macos·ffmpeg
changingshow3 小时前
Windows 10 系统安装 FFmpeg 查看、转换、编辑音频文件
ffmpeg
职场人参3 小时前
pdf转换成word有哪些方法?10种将PDF转成word的方法
开发语言·计算机视觉·ffmpeg·pdf
田小呱1 天前
ffmpeg视频数据查看
ffmpeg·音视频
橘子味的茶二1 天前
ffmpeg解封装解码
ffmpeg
晓风残月淡2 天前
ffmpeg常用命令大全
ffmpeg
JackieZhengChina2 天前
使用ffmpeg缩小视频体积的几种方式
ffmpeg·音视频
_DCG_2 天前
ffmpeg拉取rtsp网络视频流报错解析
网络·ffmpeg
cuijiecheng20182 天前
音视频入门基础:FLV专题(5)——FFmpeg源码中,判断某文件是否为FLV文件的实现
ffmpeg·音视频