doc: issue tracking: add more vertical whitespace
[ffmpeg.git] / doc / issue_tracker.txt
1 FFmpeg's bug/patch/feature request tracker manual
2 =================================================
3
4 NOTE: This is a draft.
5
6 Overview:
7 ---------
8
9 FFmpeg uses Trac for tracking issues, new issues and changes to
10 existing issues can be done through a web interface.
11
12 It is possible to subscribe to individual issues by adding yourself to the
13 Cc list or to subscribe to the ffmpeg-trac mailing list which receives
14 a mail for every change to every issue.
15 (the above does all work already after light testing)
16
17 The subscription URL for the ffmpeg-trac list is:
18 http(s)://ffmpeg.org/mailman/listinfo/ffmpeg-trac
19 The URL of the webinterface of the tracker is:
20 http(s)://ffmpeg.org/trac/ffmpeg
21
22 NOTE: issue = (bug report || patch || feature request || license violation)
23
24 Type:
25 -----
26 bug / defect
27     An error, flaw, mistake, failure, or fault in FFmpeg or libav* that
28     prevents it from behaving as intended.
29
30 feature request / enhancement
31     Request of support for encoding or decoding of a new codec, container
32     or variant.
33     Request of support for more, less or plain different output or behavior
34     where the current implementation cannot be considered wrong.
35
36 license violation
37     ticket to keep track of (L)GPL violations of ffmpeg by others
38
39 patch
40     A patch as generated by diff which conforms to the patch submission and
41     development policy.
42
43
44 Priority:
45 ---------
46 critical
47     Bugs and patches which deal with data loss and security issues.
48     No feature request can be critical.
49
50 important
51     Bugs which make FFmpeg unusable for a significant number of users, and
52     patches fixing them.
53     Examples here might be completely broken MPEG-4 decoding or a build issue
54     on Linux.
55     While broken 4xm decoding or a broken OS/2 build would not be important,
56     the separation to normal is somewhat fuzzy.
57     For feature requests this priority would be used for things many people
58     want.
59     Regressions also should be marked as important, regressions are bugs that
60     don't exist in a past revision or another branch.
61
62 normal
63
64
65 minor
66     Bugs and patches about things like spelling errors, "mp2" instead of
67     "mp3" being shown and such.
68     Feature requests about things few people want or which do not make a big
69     difference.
70
71 wish
72     Something that is desirable to have but that there is no urgency at
73     all to implement, e.g. something completely cosmetic like a website
74     restyle or a personalized doxy template or the FFmpeg logo.
75     This priority is not valid for bugs.
76
77
78 Status:
79 -------
80 new
81     initial state
82
83 open
84     intermediate states
85
86 closed
87     final state
88
89
90 Analyzed flag:
91 --------------
92 Bugs which have been analyzed and where it is understood what causes them
93 and which exact chain of events triggers them. This analysis should be
94 available as a message in the bug report.
95 Note, do not change the status to analyzed without also providing a clear
96 and understandable analysis.
97 This state implicates that the bug either has been reproduced or that
98 reproduction is not needed as the bug is already understood.
99
100
101 Type/Status/Substatus:
102 ----------
103 */new/new
104     Initial state of new bugs, patches and feature requests submitted by
105     users.
106
107 */open/open
108     Issues which have been briefly looked at and which did not look outright
109     invalid.
110     This implicates that no real more detailed state applies yet. Conversely,
111     the more detailed states below implicate that the issue has been briefly
112     looked at.
113
114 */closed/duplicate
115     Bugs, patches or feature requests which are duplicates.
116     Note that patches dealing with the same thing in a different way are not
117     duplicates.
118     Note, if you mark something as duplicate, do not forget setting the
119     superseder so bug reports are properly linked.
120
121 */closed/invalid
122     Bugs caused by user errors, random ineligible or otherwise nonsense stuff.
123
124 */closed/needs_more_info
125     Issues for which some information has been requested by the developers,
126     but which has not been provided by anyone within reasonable time.
127
128
129 bug/closed/fixed
130     Bugs which have to the best of our knowledge been fixed.
131
132 bug/closed/wont_fix
133     Bugs which we will not fix. Possible reasons include legality, high
134     complexity for the sake of supporting obscure corner cases, speed loss
135     for similarly esoteric purposes, et cetera.
136     This also means that we would reject a patch.
137     If we are just too lazy to fix a bug then the correct state is open
138     and unassigned. Closed means that the case is closed which is not
139     the case if we are just waiting for a patch.
140
141 bug/closed/works_for_me
142     Bugs for which sufficient information was provided to reproduce but
143     reproduction failed - that is the code seems to work correctly to the
144     best of our knowledge.
145
146 patch/open/approved
147     Patches which have been reviewed and approved by a developer.
148     Such patches can be applied anytime by any other developer after some
149     reasonable testing (compile + regression tests + does the patch do
150     what the author claimed).
151
152 patch/open/needs_changes
153     Patches which have been reviewed and need changes to be accepted.
154
155 patch/closed/applied
156     Patches which have been applied.
157
158 patch/closed/rejected
159     Patches which have been rejected.
160
161 feature_request/closed/implemented
162     Feature requests which have been implemented.
163
164 feature_request/closed/wont_implement
165     Feature requests which will not be implemented. The reasons here could
166     be legal, philosophical or others.
167
168 Note, please do not use type-status-substatus combinations other than the
169 above without asking on ffmpeg-dev first!
170
171 Note2, if you provide the requested info do not forget to remove the
172 needs_more_info substatus.
173
174 Component:
175 ----------
176
177 avcodec
178     issues in libavcodec/*
179
180 avformat
181     issues in libavformat/*
182
183 avutil
184     issues in libavutil/*
185
186 regression test
187     issues in tests/*
188
189 ffmpeg
190     issues in or related to ffmpeg.c
191
192 ffplay
193     issues in or related to ffplay.c
194
195 ffprobe
196     issues in or related to ffprobe.c
197
198 ffserver
199     issues in or related to ffserver.c
200
201 build system
202     issues in or related to configure/Makefile
203
204 regression
205     bugs which were not present in a past revision
206
207 trac
208     issues related to our issue tracker