mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-27 10:40:34 +00:00
Update the README with information about API documentation
This commit is contained in:
parent
71cabcb787
commit
7788ad0da2
1 changed files with 61 additions and 6 deletions
67
README.md
67
README.md
|
@ -17,28 +17,83 @@ for *stable* automatic formatting.
|
|||
|
||||
80 columns line width is thus not yet enforced, but strongly suggested.
|
||||
|
||||
# Build a web portal from the sources
|
||||
# Build the documentation
|
||||
|
||||
## Install dependencies
|
||||
|
||||
* Follow [hotdoc's installation guide](https://people.collabora.com/~meh/hotdoc_hotdoc/html/installing.html),
|
||||
* Follow [hotdoc's installation guide](https://hotdoc.github.io/installing.html),
|
||||
preferably in a virtualenv.
|
||||
|
||||
* We *experimentally* use the hotdoc C extension to include functions by
|
||||
name, follow the steps outlined [here](https://github.com/hotdoc/hotdoc_c_extension)
|
||||
|
||||
* Build the portal:
|
||||
## Build the portal without the API documentation
|
||||
|
||||
```
|
||||
make
|
||||
meson build
|
||||
ninja -C build/ GStreamer-doc
|
||||
```
|
||||
|
||||
* And browse it:
|
||||
And browse it:
|
||||
|
||||
```
|
||||
gio open built_doc/html/index.html
|
||||
gio open build/GStreamer-doc/html/index.html
|
||||
```
|
||||
|
||||
## API documentation
|
||||
|
||||
Building the API documentation in the portal implies using
|
||||
[gst-build](https://gitlab.freedesktop.org/gstreamer/gst-build/) which allows us
|
||||
to aggregate the documentation from all GStreamer modules using the hotdoc subproject
|
||||
feature.
|
||||
|
||||
From `gst-build`:
|
||||
|
||||
```
|
||||
meson build/
|
||||
ninja -C build subprojects/gst-docs/GStreamer-doc
|
||||
```
|
||||
|
||||
And browse the doc:
|
||||
|
||||
```
|
||||
gio open build/subprojects/gst-docs/GStreamer-doc/html/index.html
|
||||
```
|
||||
|
||||
You can also generate a release tarball of the portal with:
|
||||
|
||||
```
|
||||
ninja -C build gst-docs@release
|
||||
```
|
||||
|
||||
### Adding a newly written plugin to the documentation
|
||||
|
||||
To add a plugin to the documentation you need to add the given
|
||||
meson target to the `plugins` list present in each GStreamer module for
|
||||
example:
|
||||
|
||||
``` meson
|
||||
gst_elements = library('gstcoreelements',
|
||||
gst_elements_sources,
|
||||
c_args : gst_c_args,
|
||||
include_directories : [configinc],
|
||||
dependencies : [gobject_dep, glib_dep, gst_dep, gst_base_dep],
|
||||
install : true,
|
||||
install_dir : plugins_install_dir,
|
||||
)
|
||||
plugins += [gst_elements]
|
||||
```
|
||||
|
||||
Then when rebuilding, the `gst_plugins_cache.json` file will be updated
|
||||
in the given module and this change should be commited to the git repository.
|
||||
|
||||
The plugins documentation is generated exclusively based on that file to
|
||||
avoid needing to have built all plugins to get the documentation generated.
|
||||
|
||||
NOTE: When moving plugins from one module to another, the `gst_plugins_cache.json`
|
||||
from the module where the plugin has been removed should be manually edited
|
||||
to reflect the removal.
|
||||
|
||||
## Licensing
|
||||
|
||||
The content of this module comes from a number of different sources and is
|
||||
|
|
Loading…
Reference in a new issue