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