153a5a1b3Sopenharmony_ci# Contribution Guidelines 253a5a1b3Sopenharmony_ci 353a5a1b3Sopenharmony_ci## A note for contributors 453a5a1b3Sopenharmony_ci 553a5a1b3Sopenharmony_ciThank you for your contribution! 653a5a1b3Sopenharmony_ci 753a5a1b3Sopenharmony_ciPlease make sure you tick the box labelled `Allow commits from members who can 853a5a1b3Sopenharmony_cimerge to the target branch`. This allows us to make minor edits ourselves, and 953a5a1b3Sopenharmony_cithen automatically rebase and merge your changes. 1053a5a1b3Sopenharmony_ci 1153a5a1b3Sopenharmony_ciPulseAudio is currently maintained by three volunteer developers in their free 1253a5a1b3Sopenharmony_citime (probably amounting to less than one full time developer), which is not 1353a5a1b3Sopenharmony_cireally enough, given the project size and scope. For this reason bug reports 1453a5a1b3Sopenharmony_ciand patch submissions are sometimes handled very slowly. 1553a5a1b3Sopenharmony_ci 1653a5a1b3Sopenharmony_ciFor non-trivial patches, we meet biweekly on IRC to discuss and prioritise 1753a5a1b3Sopenharmony_cioutstanding MRs. If you haven't heard from us a few days after you create the 1853a5a1b3Sopenharmony_ciMR, please take a look at [the patch status 1953a5a1b3Sopenharmony_cipage](https://www.freedesktop.org/wiki/Software/PulseAudio/PatchStatus/). 2053a5a1b3Sopenharmony_ci 2153a5a1b3Sopenharmony_ciIf you don't see your MR in that list either, please don't hesitate to drop a 2253a5a1b3Sopenharmony_cicomment pinging us, and we'll try to at least respond and make sure your 2353a5a1b3Sopenharmony_cirequest is tracked on that list. 2453a5a1b3Sopenharmony_ci 2553a5a1b3Sopenharmony_ci## Coding Style 2653a5a1b3Sopenharmony_ci 2753a5a1b3Sopenharmony_ciPlease take a look at the [coding style 2853a5a1b3Sopenharmony_cidocumentation](https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/Developer/CodingStyle/) 2953a5a1b3Sopenharmony_cion our wiki. 3053a5a1b3Sopenharmony_ci 3153a5a1b3Sopenharmony_ci## Commit messages 3253a5a1b3Sopenharmony_ci 3353a5a1b3Sopenharmony_ciWe follow the standard git commit message format of a summary on the first line 3453a5a1b3Sopenharmony_ci(<=50 characters for preference, <=72 characters otherwise), followed by a new 3553a5a1b3Sopenharmony_ciline, followed by a detailed commit message. An additional line at the end may 3653a5a1b3Sopenharmony_cilink to an issue being fixed by this MR. 3753a5a1b3Sopenharmony_ci 3853a5a1b3Sopenharmony_ciThe first line is usually a short description of "what" your commit does, and 3953a5a1b3Sopenharmony_cithe rest of the message describes the "why", along with any additional 4053a5a1b3Sopenharmony_ciinformation that readers might need to understand the rationale for the change. 4153a5a1b3Sopenharmony_ciIf in doubt, more verbose is better than less. 4253a5a1b3Sopenharmony_ci 4353a5a1b3Sopenharmony_ciIf you need to describe the "how" of the commit, that is usually best 4453a5a1b3Sopenharmony_cidocumented along with the code itself. 4553a5a1b3Sopenharmony_ci 4653a5a1b3Sopenharmony_ciCommit messages are prefixed with the subsystem being affected. Your best bet 4753a5a1b3Sopenharmony_cito figure out what is appropriate is to look at previous commit messages. An 4853a5a1b3Sopenharmony_ciexample: 4953a5a1b3Sopenharmony_ci 5053a5a1b3Sopenharmony_ci``` 5153a5a1b3Sopenharmony_cisink: Reduce chat sink priority 5253a5a1b3Sopenharmony_ci 5353a5a1b3Sopenharmony_ciSome gaming sound cards have custom profiles with analog-game and 5453a5a1b3Sopenharmony_cianalog-chat mappings that exist simultaneously. The game sink should 5553a5a1b3Sopenharmony_cihave higher priority than the chat sink, but currently there's no way to 5653a5a1b3Sopenharmony_ciaffect the sink priorities from the profile-set configuration (the 5753a5a1b3Sopenharmony_cimapping priority is not propagated to the sink priority). 5853a5a1b3Sopenharmony_ci 5953a5a1b3Sopenharmony_ciI first thought about adding the mapping priority to the sink priority, 6053a5a1b3Sopenharmony_cibut that could mess up the prioritization system in 6153a5a1b3Sopenharmony_cipa_device_init_priority(). I ended up checking for the intended roles 6253a5a1b3Sopenharmony_ciproperty to reduce the chat sink priority. I also reduced the iec958 6353a5a1b3Sopenharmony_cipriority so that the chat and iec958 sinks don't end up with the same 6453a5a1b3Sopenharmony_cipriority. 6553a5a1b3Sopenharmony_ci 6653a5a1b3Sopenharmony_ciFixes: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/818 6753a5a1b3Sopenharmony_ci``` 68