blob: e5a74db001ef27453df5d3107fc312414fde06ba [file] [log] [blame]
FFmpeg's bug/patch/feature request tracker manual
NOTE: This is a draft.
FFmpeg uses Roundup for tracking issues, new issues and changes to
existing issues can be done through a web interface and through email.
It is possible to subscribe to individual issues by adding yourself to the
nosy list or to subscribe to the ffmpeg-issues mailing list which receives
a mail for every change to every issue. Replies to such mails will also
be properly added to the respective issue.
(the above does all work already after light testing)
The subscription URL for the ffmpeg-issues list is:
The URL of the webinterface of the tracker is:
Note the URLs in this document are obfuscated, you must append the top level
domain for non-profit organizations to the tracker, and of Italy to the
mailing list.
Email Interface:
There is a mailing list to which all new issues and changes to existing issues
are sent. You can subscribe through
Replies to messages there will have their text added to the specific issues.
Attachments will be added as if they had been uploaded via the web interface.
You can change the status, substatus, topic, ... by changing the subject in
your reply like:
Re: [issue94] register_avcodec and allcodecs.h [type=patch;status=open;substatus=approved]
Roundup will then change things as you requested and remove the [...] from
the subject before forwarding the mail to the mailing list.
NOTE: issue = (bug report || patch || feature request)
An error, flaw, mistake, failure, or fault in FFmpeg or libav* that
prevents it from behaving as intended.
feature request
Request of support for encoding or decoding of a new codec, container
or variant.
Request of support for more, less or plain different output or behavior
where the current implementation cannot be considered wrong.
A patch as generated by diff which conforms to the patch submission and
development policy.
Bugs and patches which deal with data loss and security issues.
No feature request can be critical.
Bugs which make FFmpeg unusable for a significant number of users, and
patches fixing them.
Examples here might be completely broken MPEG-4 decoding or a build issue
on Linux.
While broken 4xm decoding or a broken OS/2 build would not be important,
the separation to normal is somewhat fuzzy.
For feature requests this priority would be used for things many people
Bugs and patches about things like spelling errors, "mp2" instead of
"mp3" being shown and such.
Feature requests about things few people want or which do not make a big
Something that is desirable to have but that there is no urgency at
all to implement, e.g. something completely cosmetic like a website
restyle or a personalized doxy template or the FFmpeg logo.
This priority is not valid for bugs.
initial state
intermediate states
final state
Initial state of new bugs, patches and feature requests submitted by
Issues which have been briefly looked at and which did not look outright
This implicates that no real more detailed state applies yet. Conversely,
the more detailed states below implicate that the issue has been briefly
looked at.
Bugs, patches or feature requests which are duplicates.
Note that patches dealing with the same thing in a different way are not
Note, if you mark something as duplicate, do not forget setting the
superseder so bug reports are properly linked.
Bugs caused by user errors, random ineligible or otherwise nonsense stuff.
Issues for which some information has been requested by the developers,
but which has not been provided by anyone within reasonable time.
Bugs which have been reproduced.
Bugs which have been analyzed and where it is understood what causes them
and which exact chain of events triggers them. This analysis should be
available as a message in the bug report.
Note, do not change the status to analyzed without also providing a clear
and understandable analysis.
This state implicates that the bug either has been reproduced or that
reproduction is not needed as the bug is already understood.
Bug reports which are incomplete and or where more information is needed
from the submitter or another person who can provide it.
This state implicates that the bug has not been analyzed or reproduced.
Note, the idea behind needs_more_info is to offload work from the
developers to the users whenever possible.
Bugs which have to the best of our knowledge been fixed.
Bugs which we will not fix. Possible reasons include legality, high
complexity for the sake of supporting obscure corner cases, speed loss
for similarly esoteric purposes, et cetera.
This also means that we would reject a patch.
If we are just too lazy to fix a bug then the correct state is open
and unassigned. Closed means that the case is closed which is not
the case if we are just waiting for a patch.
Bugs for which sufficient information was provided to reproduce but
reproduction failed - that is the code seems to work correctly to the
best of our knowledge.
Patches which have been reviewed and approved by a developer.
Such patches can be applied anytime by any other developer after some
reasonable testing (compile + regression tests + does the patch do
what the author claimed).
Patches which have been reviewed and need changes to be accepted.
Patches which have been applied.
Patches which have been rejected.
Feature requests where it is not clear what exactly is wanted
(these also could be closed as invalid ...).
Feature requests which have been implemented.
Feature requests which will not be implemented. The reasons here could
be legal, philosophical or others.
Note, please do not use type-status-substatus combinations other than the
above without asking on ffmpeg-dev first!
Note2, if you provide the requested info do not forget to remove the
needs_more_info substate.
A topic is a tag you should add to your issue in order to make grouping them
issues in libavcodec/*
issues in libavformat/*
issues in libavutil/*
regression test
issues in tests/*
issues in or related to ffmpeg.c
issues in or related to ffplay.c
issues in or related to ffserver.c
build system
issues in or related to configure/Makefile
bugs which were working in a past revision
issues related to our issue tracker