FFmpeg - 修改提交流程

作者: 团不慌 | 来源:发表于2018-07-02 10:44 被阅读4次

1 搭建自己的修改环境

修改本身是不可以直接push进FFmpeg的原始仓库里的,所以首先应该Fork一个自己的仓库并建立专用的提交分支。

2 开始进行修改

2.1 准备工作
  • 确保base最新!!!
  • 修改前先编译运行,成功后再进行修改
  • 及时clean,不建议保留无关文件
  • 阅读官方引导文档:FFmpeg Developer
2.2 进行修改
  • 修改时尽量与官方格式保持一致
  • 不允许添加任何行尾空白字符(主要是空格)
  • Makefile外不允许使用TAB
  • API更改需要写入所属模块的logdoc
  • 更改需要在相关的version.h中进行迭代
  • 遵从官方的其他格式指引:Coding Rules
迭代分级:
VERSION_MAJOR - 巨大更改,本次修改后失去向前兼容性
VERSION_MINOR - 正常更改,本次修改影响版本API
VERSION_MICRO - 微小更改,本修修改无其他影响
高版本修改时需要重置低位,如 MINOR++ => MICRO =back-to=> 100
  • 更改尽可能小,不需要划分成原子更改但必须保真每一次更改为当前最简更改
  • 更改不能破坏原功能,完成后应该可以重新编译运行并通过FATE测试:make fate
2.3 进行提交
  • 注册ffmpeg-devel邮箱列表:ffmpeg-devel info page
  • 使用git commit -s -m "[change part] : [change message]"签名后提交
  • 使用git format-patch -v[x] -[n]生成补丁,x是版本,n是打包commit的数量
  • 使用自带工具tool/pacheck检查patch规范,按提示进行修改
  • 按照官方check list进行检查:Patch submission checklist
  • 使用git send-email --compose --no-chain-reply-to --suppress-from --to ffmpeg-devel@ffmpeg.org 0001-xxx.patch
示例:
$ git commit -s -m "lavc, doc: add avs2 codec"
... # other changes
$ git commit -s -m "lavc,doc,configure: add libdavs2 video decoder"
$ git format-patch -v3 -2
$ git send-email --compose --no-chain-reply-to --suppress-from --to ffmpeg-devel@ffmpeg.org v3-0001-lavc-doc-add-avs2-codec.patch v3-0002-lavc-doc-configure-add-libdavs2-video-decoder.patch
... # other steps
  • 必须确保通过了FATE测试
  • 确保send-email返回正确信息
2.4 后续内容
  • 提交成功后应该可以在FFmpeg Patch Work中查找到自己的提交信息,没有查到或不全不要急着重复提交,延时很大
  • 时刻关注注册mail-list的邮箱账户,找到与自己有关的,修改/回复Reviewer的问题,可以直接用邮箱客户端引用来信,并在其基础上添加留言
  • 最终确认接受后不需要自己提交

流程笔记,待更新,欢迎留言指正

相关文章

  • FFmpeg - 修改提交流程

    1 搭建自己的修改环境 修改本身是不可以直接push进FFmpeg的原始仓库里的,所以首先应该Fork一个自己的仓...

  • 产品思维 · 5WH产品需求分析

    这是大多同学在工作中的流程图,接到需求——开始设计——提交初稿——领导不满意——修改——提交——修改——再次提交—...

  • FFMpeg 解码流程

    1. FFMpeg 解码流程 1.1 FFMpeg解码流程图解 1.2 FFMpeg解码代码流程 以下的音频解码的...

  • Git 提交代码流程

    git提交代码流程 git pull———>修改代码———>git commit————>git pull——...

  • iOS马甲包修改说明

    一、处理流程 1、按照下述 “二、U素材修改 三、工程修改” 说明修改工程,打包游戏ipa 2、提交处理 3、用b...

  • FFmpeg转封装(remuxing)

    目录 参考 转封装流程介绍 FFmpeg流程 示例代码 1. 参考 [1] FFmpeg\doc\examples...

  • gitlab提交(push)流程

    克隆过项目后,对项目修改完毕提交流程 1.添加需要上传的文件(夹) 2.上传 3.提交

  • vuex的使用

    同步的vuex提交的流程图: 异步vuex 修改数据的流程 Mutations里面如何传参: Vuex里面如何使用...

  • FFmpeg解封装解码

    目录 参考 解封装解码流程 FFmpeg调用流程 示例代码 1. 参考 [1] FFmpeg4.1/doc/exa...

  • android音视频开发三FFmpeg处理音视频流程以及常用命令

    1.FFmpeg处理音视频流程 2.FFmpeg命令分类

网友评论

    本文标题:FFmpeg - 修改提交流程

    本文链接:https://www.haomeiwen.com/subject/zpukuftx.html