mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-09-28 06:42:16 +00:00
some notes for rewriting the pwg
Original commit message from CVS: some notes for rewriting the pwg
This commit is contained in:
parent
09051e110b
commit
7f317f840b
1 changed files with 39 additions and 0 deletions
39
docs/random/thomasvs/pwg
Normal file
39
docs/random/thomasvs/pwg
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
Stuff for the PWG
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
* arguments
|
||||||
|
|
||||||
|
- how to add arguments
|
||||||
|
- create an identifier in the enum, starting with ARG_
|
||||||
|
example: ARG_RATE
|
||||||
|
- add the property by adding a
|
||||||
|
g_object_class_install_property line
|
||||||
|
FIXME: what is name/nick/blurb in the paramspec ?
|
||||||
|
- if the argument is readable, a block of code for it needs to be added
|
||||||
|
to the _get_property function.
|
||||||
|
|
||||||
|
- default value
|
||||||
|
- default value should be set in _init function
|
||||||
|
- default value can be specified in paramspec (but I don't think this
|
||||||
|
is used anywhere)
|
||||||
|
|
||||||
|
|
||||||
|
- things to check/possible problems
|
||||||
|
- do you have a _get_property function ?
|
||||||
|
- do you have a _set_property function ?
|
||||||
|
- do both have a default handler that handles invalid property ID's ?
|
||||||
|
- are the _get/_set_property handlers assigned to the class's struct ?
|
||||||
|
- do you have a g_object_class_install_property line for the argument ?
|
||||||
|
- are there restrictions on when your parameters can change ?
|
||||||
|
e.g. sample rate is not something that should be changed while PLAYING,
|
||||||
|
so it can only be changed in the NULL state
|
||||||
|
- did you use ARG_ ... consistently everywhere ?
|
||||||
|
|
||||||
|
|
||||||
|
- my own problems:
|
||||||
|
- how to set defaults and make the paramspec be right for them ?
|
||||||
|
|
||||||
|
|
||||||
|
* audio
|
||||||
|
- explanation of difference of width and depth
|
||||||
|
- guidelines on how to implement this properly
|
Loading…
Reference in a new issue