The majority of code is C. It is fine to use some of the C99 features, such as declaring variables when they are used.
We follow the gstreamer coding style. To enforce this you can either install gst-indent to your bin dir or copy pre-commit to .git/hooks or every module. Both scripts need gnu indent to be installed. The advantage of the pre-commit script is that it is automatically run on every commit.
When documenting the API, add the comments to the *.c files and not to the *.h files.
- Changing header files forces recompilation of the whole project.
- We want to keep the headers small
- Developers should use te API docs and not needing to look into the sources so much.
Please try to follow the gnome coding style guides.
Commit message format
When committing please start your commit message with a tag, short description and then then long description. Wrap commit messages at column 80. Below is an example:
tests: fix the machine refcount test The refcount test was not taking one operation into account.
Developments always happens in master. For some events we need to tag a snapshot. Below is the scheme for tag names. We need tags to mark:
- points where we branch, when using a new (incompatible) backend API
- points where we merge (do we merge?)
- development branches
See the Release Guidelines page for commandlines for branching on releases.