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