| 
									
										
										
										
											2020-12-25 11:10:30 -05:00
										 |  |  | # Contribution Guidelines
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## A note for contributors
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Thank you for your contribution! | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Please make sure you tick the box labelled `Allow commits from members who can | 
					
						
							|  |  |  | merge to the target branch`. This allows us to make minor edits ourselves, and | 
					
						
							|  |  |  | then automatically rebase and merge your changes. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PulseAudio is currently maintained by three volunteer developers in their free | 
					
						
							|  |  |  | time (probably amounting to less than one full time developer), which is not | 
					
						
							|  |  |  | really enough, given the project size and scope. For this reason bug reports | 
					
						
							|  |  |  | and patch submissions are sometimes handled very slowly. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | For non-trivial patches, we meet biweekly on IRC to discuss and prioritise | 
					
						
							|  |  |  | outstanding MRs. If you haven't heard from us a few days after you create the | 
					
						
							|  |  |  | MR, please take a look at [the patch status | 
					
						
							|  |  |  | page](https://www.freedesktop.org/wiki/Software/PulseAudio/PatchStatus/). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | If you don't see your MR in that list either, please don't hesitate to drop a | 
					
						
							|  |  |  | comment pinging us, and we'll try to at least respond and make sure your | 
					
						
							|  |  |  | request is tracked on that list. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Coding Style
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Please take a look at the [coding style | 
					
						
							|  |  |  | documentation](https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/Developer/CodingStyle/) | 
					
						
							|  |  |  | on our wiki. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-07-30 06:35:54 +00:00
										 |  |  | ## Commit messages
 | 
					
						
							| 
									
										
										
										
											2020-12-25 11:10:30 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | We follow the standard git commit message format of a summary on the first line | 
					
						
							| 
									
										
										
										
											2021-07-30 06:37:28 +00:00
										 |  |  | (<=50 characters for preference, <=72 characters otherwise), followed by a new | 
					
						
							| 
									
										
										
										
											2020-12-25 11:10:30 -05:00
										 |  |  | line, followed by a detailed commit message. An additional line at the end may | 
					
						
							|  |  |  | link to an issue being fixed by this MR. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The first line is usually a short description of "what" your commit does, and | 
					
						
							|  |  |  | the rest of the message describes the "why", along with any additional | 
					
						
							|  |  |  | information that readers might need to understand the rationale for the change. | 
					
						
							|  |  |  | If in doubt, more verbose is better than less. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | If you need to describe the "how" of the commit, that is usually best | 
					
						
							|  |  |  | documented along with the code itself. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Commit messages are prefixed with the subsystem being affected. Your best bet | 
					
						
							|  |  |  | to figure out what is appropriate is to look at previous commit messages. An | 
					
						
							|  |  |  | example: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | sink: Reduce chat sink priority | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Some gaming sound cards have custom profiles with analog-game and | 
					
						
							|  |  |  | analog-chat mappings that exist simultaneously. The game sink should | 
					
						
							|  |  |  | have higher priority than the chat sink, but currently there's no way to | 
					
						
							|  |  |  | affect the sink priorities from the profile-set configuration (the | 
					
						
							|  |  |  | mapping priority is not propagated to the sink priority). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | I first thought about adding the mapping priority to the sink priority, | 
					
						
							|  |  |  | but that could mess up the prioritization system in | 
					
						
							|  |  |  | pa_device_init_priority(). I ended up checking for the intended roles | 
					
						
							|  |  |  | property to reduce the chat sink priority. I also reduced the iec958 | 
					
						
							|  |  |  | priority so that the chat and iec958 sinks don't end up with the same | 
					
						
							|  |  |  | priority. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Fixes: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/818 | 
					
						
							|  |  |  | ``` |