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