blob: 5d9805a4b97086d436ef6da892ffa8e2d7169348 [file] [log] [blame]
FFmpeg's bug/feature request tracker manual
FFmpeg uses Trac for tracking issues, new issues and changes to
existing issues can be done through a web interface.
Issues can be different kinds of things we want to keep track of
but that do not belong into the source tree itself. This includes
bug reports, feature requests and license violations. We
might add more items to this list in the future, so feel free to
propose a new `type of issue' on the ffmpeg-devel mailing list if
you feel it is worth tracking.
It is possible to subscribe to individual issues by adding yourself to the
Cc list or to subscribe to the ffmpeg-trac mailing list which receives
a mail for every change to every issue.
(the above does all work already after light testing)
The subscription URL for the ffmpeg-trac list is:
The URL of the webinterface of the tracker is:
Artwork such as photos, music, banners, and logos.
bug / defect
An error, flaw, mistake, failure, or fault in FFmpeg or libav* that
prevents it from behaving as intended.
feature request / enhancement
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.
license violation
Ticket to keep track of (L)GPL violations of ffmpeg by others.
sponsoring request
Developer requests for hardware, software, specifications, money,
refunds, etc.
A task/reminder such as setting up a FATE client, adding filters to
Trac, etc.
Bugs about data loss and security issues.
No feature request can be critical.
Bugs which make FFmpeg unusable for a significant number of users.
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
Regressions also should be marked as important, regressions are bugs that
don't exist in a past revision or another branch.
Default setting. Use this if the bug does not match the other
priorities or if you are unsure of what priority to choose.
Bugs 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
Analyzed flag:
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.
Initial state of new bugs 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 or feature requests which are duplicates.
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 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.
Feature requests which have been implemented.
Feature requests which will not be implemented. The reasons here could
be legal, philosophical or others.
Note2, if you provide the requested info do not forget to remove the
needs_more_info resolution.
issues in libavcodec/*
issues in libavdevice/*
issues in libavfilter/*
issues in libavformat/*
issues in libavutil/*
build system
issues in or related to configure/Makefile
issues in or related to doc/*
issues in or related to ffmpeg.c
issues in or related to ffplay.c
issues in or related to ffprobe.c
issues in libpostproc/*
issues in libswresample/*
issues in libswscale/*
issues related to our issue tracker
default component; choose this if unsure
issues related to the website
issues related to the wiki