• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Contribution Guidelines
2
3## A note for contributors
4
5Thank you for your contribution!
6
7Please make sure you tick the box labelled `Allow commits from members who can
8merge to the target branch`. This allows us to make minor edits ourselves, and
9then automatically rebase and merge your changes.
10
11PulseAudio is currently maintained by three volunteer developers in their free
12time (probably amounting to less than one full time developer), which is not
13really enough, given the project size and scope. For this reason bug reports
14and patch submissions are sometimes handled very slowly.
15
16For non-trivial patches, we meet biweekly on IRC to discuss and prioritise
17outstanding MRs. If you haven't heard from us a few days after you create the
18MR, please take a look at [the patch status
19page](https://www.freedesktop.org/wiki/Software/PulseAudio/PatchStatus/).
20
21If you don't see your MR in that list either, please don't hesitate to drop a
22comment pinging us, and we'll try to at least respond and make sure your
23request is tracked on that list.
24
25## Coding Style
26
27Please take a look at the [coding style
28documentation](https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/Developer/CodingStyle/)
29on our wiki.
30
31## Commit messagse
32
33We follow the standard git commit message format of a summary on the first line
34(<=50 characterss for preference, <=72 characters otherwise), followed by a new
35line, followed by a detailed commit message. An additional line at the end may
36link to an issue being fixed by this MR.
37
38The first line is usually a short description of "what" your commit does, and
39the rest of the message describes the "why", along with any additional
40information that readers might need to understand the rationale for the change.
41If in doubt, more verbose is better than less.
42
43If you need to describe the "how" of the commit, that is usually best
44documented along with the code itself.
45
46Commit messages are prefixed with the subsystem being affected. Your best bet
47to figure out what is appropriate is to look at previous commit messages. An
48example:
49
50```
51sink: Reduce chat sink priority
52
53Some gaming sound cards have custom profiles with analog-game and
54analog-chat mappings that exist simultaneously. The game sink should
55have higher priority than the chat sink, but currently there's no way to
56affect the sink priorities from the profile-set configuration (the
57mapping priority is not propagated to the sink priority).
58
59I first thought about adding the mapping priority to the sink priority,
60but that could mess up the prioritization system in
61pa_device_init_priority(). I ended up checking for the intended roles
62property to reduce the chat sink priority. I also reduced the iec958
63priority so that the chat and iec958 sinks don't end up with the same
64priority.
65
66Fixes: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/818
67```
68