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