media/ffmpeg/README.md
This directory contains all of the scripts for rolling FFmpeg in Chrome, as well as all of the glue code for interfacing with ffmpeg, such as the FFmpegDecodingLoop and ScopedAVPacket files.
Detailed instructions for rolling FFmpeg live in the tree at robosushi.md.
We strongly encourage upstreaming local changes to FFmpeg whenever possible to minimize the maintenance burden of our local fork.
As of July 2025, FFmpeg officially supports two methods for submitting patches. The Git forge is generally recommended for its modern workflow and automated CI feedback.
This is the modern submission workflow, running on a Forgejo instance. It supports standard Pull Requests and provides immediate CI testing.
FFmpeg/FFmpeg repository.This is the traditional submission method. It is still fully supported and widely used by long-time contributors,.
git format-patch.git send-email. See the documentation below in the
Using git send-email section.Do not open Pull Requests on the GitHub mirror. That repository is read-only and PRs submitted there are ignored.
git send-emailFor more information, see the FFmpeg docs on submitting patches. More in depth steps are provided below.
Visit app-passwords
and create a new app named git-send-email.
SAVE THIS PASSWORD. You can't view it again once you hide it.
Set up your git configuration - in ~/.gitconfig. You should include the
following lines:
[sendemail]
smtpencryption = tls
smtpserver = smtp.gmail.com
smtpuser = [username]@chromium.org
smtpserverport = 587
@google.com addresses should work fine as well.
You can save the password here using smtppass = aaaa bbbb cccc dddd, but
take care to ensure that this password remains private.
Check out a totally fresh, upstream copy of ffmpeg:
git clone https://git.ffmpeg.org/ffmpeg.git
Apply your patch, commit it, and then follow the upstream instructions for testing and formatting your patch in the FFmpeg developer documentation.
Send your patch. This will ask you for the password from steps 1&2.
git send-email --confirm=auto [email protected] --annotate HEAD^