Commit 21ac37c6 authored by Thibault Saunier's avatar Thibault Saunier 🌵

docs: Port documentation to hotdoc

parent 2df9f6e5
Pipeline #36615 failed with stages
in 5 minutes and 23 seconds
DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
SUBDIRS = \
gst-libs gst ext docs m4 tests common pkgconfig po
gst-libs gst ext m4 tests common pkgconfig po
EXTRA_DIST = \
depcomp \
......@@ -47,7 +45,6 @@ CRUFT_FILES = \
CRUFT_DIRS = \
$(top_builddir)/tests/check/pipelines \
$(top_srcdir)/docs/plugins/tmpl \
$(top_srcdir)/ext/mpg123/ \
$(top_srcdir)/ext/lame/ \
$(top_srcdir)/ext/twolame/ \
......
......@@ -121,10 +121,6 @@ AM_CONDITIONAL(HAVE_VALGRIND, test ! "x$VALGRIND_PATH" = "xno")
dnl check if the compiler supports do while(0) macros
AG_GST_CHECK_DOWHILE_MACROS
dnl check for documentation tools
GTK_DOC_CHECK([1.12])
AG_GST_PLUGIN_DOCS([1.12])
dnl *** checks for libraries ***
dnl check for libm, for sin()
......@@ -420,9 +416,6 @@ ext/dvdread/Makefile
ext/mpeg2dec/Makefile
ext/sidplay/Makefile
ext/x264/Makefile
docs/Makefile
docs/plugins/Makefile
docs/version.entities
tests/Makefile
tests/check/Makefile
tests/files/Makefile
......
if ENABLE_GTK_DOC
if ENABLE_PLUGIN_DOCS
PLUGIN_DOCS_DIRS = plugins
else
PLUGIN_DOCS_DIRS =
endif
else
PLUGIN_DOCS_DIRS = plugins
endif
SUBDIRS = $(PLUGIN_DOCS_DIRS)
DIST_SUBDIRS = plugins
EXTRA_DIST = \
random/ChangeLog-0.8 \
version.entities.in
upload:
@if test "x$(SUBDIRS)" != x; then for a in $(SUBDIRS); do cd $$a; make upload; cd ..; done; fi
---
short-description: Plugins from gst-plugins-ugly
...
# Plugins
@GST_API_VERSION@
This source diff could not be displayed because it is too large. You can view the blob instead.
build_hotdoc = false
required_hotdoc_extensions = ['gst-extension']
plugins_cache = join_paths(meson.current_source_dir(), 'gst_plugins_cache.json')
if gst_dep.type_name() == 'internal'
gst_proj = subproject('gstreamer')
plugins_cache_generator = gst_proj.get_variable('plugins_cache_generator')
else
plugins_cache_generator = find_program(join_paths(gst_dep.get_pkgconfig_variable('libexecdir'), 'gstreamer-' + api_version, 'gst-plugins-doc-cache-generator'),
required: false)
endif
if plugins_cache_generator.found()
plugins_doc_dep = custom_target('ugly-plugins-doc-cache',
build_by_default: true,
command: [plugins_cache_generator, plugins_cache, '@OUTPUT@', '@INPUT@'],
input: plugins,
output: 'gst_plugins_cache.json',
)
else
warning('GStreamer plugin inspector for documentation not found, can\'t update the cache')
endif
hotdoc_p = find_program('hotdoc', required: get_option('doc'))
if not hotdoc_p.found()
message('Hotdoc not found, not building the documentation')
subdir_done()
endif
hotdoc = import('hotdoc')
foreach extension: required_hotdoc_extensions
if not hotdoc.has_extensions(extension)
if get_option('doc').enabled()
error('Documentation enabled but @0@ missing'.format(extension))
endif
message('@0@ extension not found, not building documentation'.format(extension))
subdir_done()
endif
endforeach
build_hotdoc = true
docconf = configuration_data()
docconf.set('GST_API_VERSION', api_version)
configure_file(input : 'gst_api_version.in',
output : 'gst_api_version.md',
configuration : docconf)
root_rel = '..'
excludes = []
foreach f: []
excludes += [join_paths(meson.current_source_dir(), root_rel, '..', f)]
endforeach
libs_doc = []
plugins_doc = []
list_plugin_res = run_command(python3, '-c',
'''
import sys
import json
with open("@0@") as f:
print(':'.join(json.load(f).keys()), end='')
'''.format(plugins_cache))
assert(list_plugin_res.returncode() == 0,
'Could not list plugins from @0@'.format(plugins_cache))
foreach plugin_name: list_plugin_res.stdout().split(':')
plugins_doc += [hotdoc.generate_doc(plugin_name,
project_version: api_version,
sitemap: 'sitemap.txt',
index: 'index.md',
gst_index: 'index.md',
gst_smart_index: true,
gst_c_sources: [
join_paths(root_rel, 'sys/*/*.[ch]'),
join_paths(root_rel, 'ext/*/*.[ch]'),
join_paths(root_rel, 'gst/*/*.[ch]'),
],
gst_c_source_filters: excludes,
dependencies: [gst_dep, plugins],
gst_order_generated_subpages: true,
disable_incremental_build: true,
gst_cache_file: plugins_cache,
gst_plugin_name: plugin_name,
)]
endforeach
\ No newline at end of file
Makefile
Makefile.in
*-decl.txt
*-decl-list.txt
*-undeclared.txt
*-undocumented.txt
*-unused.txt
*.args
*.hierarchy
*.interfaces
*.prerequisites
*.signals
html
sgml
xml
tmpl
*.stamp
gst-plugins-ugly-plugins-overrides.txt
inspect-registry.*
GST_DOC_SCANOBJ = $(top_srcdir)/common/gstdoc-scangobj
## Process this file with automake to produce Makefile.in
# The name of the module, e.g. 'glib'.
#DOC_MODULE=gst-plugins-libs-@GST_API_VERSION@
MODULE=gst-plugins-ugly
DOC_MODULE=$(MODULE)-plugins
# for upload-doc.mak
DOC=$(MODULE)-plugins
FORMATS=html
html: html-build.stamp
include $(top_srcdir)/common/upload-doc.mak
# The top-level SGML file. Change it if you want.
DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml
# The directory containing the source code. Relative to $(top_srcdir).
# gtk-doc will search all .c & .h files beneath here for inline comments
# documenting functions and macros.
DOC_SOURCE_DIR = $(top_srcdir)/gst $(top_srcdir)/ext
# Extra options to supply to gtkdoc-scan.
SCAN_OPTIONS=
# Extra options to supply to gtkdoc-mkdb.
MKDB_OPTIONS=--sgml-mode --source-suffixes=c,h,cc,m
# Extra options to supply to gtkdoc-fixref.
FIXXREF_OPTIONS=--extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html \
--extra-dir=$(GST_PREFIX)/share/gtk-doc/html \
--extra-dir=$(GSTPB_PREFIX)/share/gtk-doc/html
# Used for dependencies.
HFILE_GLOB= \
$(top_srcdir)/gst/*/*.h $(top_srcdir)/ext/*/*.h
CFILE_GLOB= \
$(top_srcdir)/gst/*/*.c $(top_srcdir)/ext/*/*.c $ $(top_srcdir)/ext/*/*.cc
# Header files to ignore when scanning.
IGNORE_HFILES =
IGNORE_CFILES =
# we add all .h files of elements that have signals/args we want
# sadly this also pulls in the private methods - maybe we should
# move those around in the source ?
# also, we should add some stuff here conditionally based on whether
# or not the plugin will actually build
# but I'm not sure about that - it might be this Just Works given that
# the registry won't have the element
# FIXME: not ported yet
# $(top_srcdir)/ext/gnomevfs/gstgnomevfssink.c
EXTRA_HFILES = \
$(top_srcdir)/ext/a52dec/gsta52dec.h \
$(top_srcdir)/ext/amrnb/amrnbdec.h \
$(top_srcdir)/ext/amrnb/amrnbenc.h \
$(top_srcdir)/ext/amrwbdec/amrwbdec.h \
$(top_srcdir)/ext/cdio/gstcdiocddasrc.h \
$(top_srcdir)/ext/sidplay/gstsiddec.h \
$(top_srcdir)/ext/x264/gstx264enc.h \
$(top_srcdir)/gst/asfdemux/gstrtspwms.h \
$(top_srcdir)/gst/xingmux/gstxingmux.h \
$(top_srcdir)/gst/realmedia/rademux.h \
$(top_srcdir)/gst/realmedia/rdtmanager.h \
$(top_srcdir)/gst/realmedia/rmdemux.h \
$(top_srcdir)/gst/realmedia/rtspreal.h
# Images to copy into HTML directory.
HTML_IMAGES =
# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
content_files =
# Other files to distribute.
extra_files =
# CFLAGS and LDFLAGS for compiling scan program. Only needed if your app/lib
# contains GtkObjects/GObjects and you want to document signals and properties.
GTKDOC_CFLAGS = $(GST_BASE_CFLAGS) -I$(top_builddir)
GTKDOC_LIBS = $(GST_BASE_LIBS)
# If you need to override some of the declarations, place them in this file
# and uncomment this line.
#DOC_OVERRIDES = $(DOC_MODULE)-overrides.txt
DOC_OVERRIDES =
include $(top_srcdir)/common/gtk-doc-plugins.mak
<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY % version-entities SYSTEM "version.entities">
%version-entities;
]>
<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
<bookinfo>
<title>GStreamer Ugly Plugins &GST_API_VERSION; Plugins Reference Manual</title>
<releaseinfo>
for GStreamer Ugly Plugins &GST_API_VERSION; (&GST_VERSION;)
The latest version of this documentation can be found on-line at
<ulink role="online-location" url="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-ugly/html/">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-ugly/html/</ulink>.
</releaseinfo>
</bookinfo>
<chapter>
<title>gst-plugins-ugly Elements</title>
<xi:include href="xml/element-a52dec.xml" />
<xi:include href="xml/element-amrnbdec.xml" />
<xi:include href="xml/element-amrnbenc.xml" />
<xi:include href="xml/element-amrwbdec.xml" />
<xi:include href="xml/element-cdiocddasrc.xml" />
<xi:include href="xml/element-rademux.xml" />
<xi:include href="xml/element-rdtmanager.xml" />
<xi:include href="xml/element-rmdemux.xml" />
<xi:include href="xml/element-rtspreal.xml" />
<xi:include href="xml/element-rtspwms.xml" />
<xi:include href="xml/element-siddec.xml" />
<xi:include href="xml/element-x264enc.xml" />
<xi:include href="xml/element-xingmux.xml" />
</chapter>
<chapter>
<title>gst-plugins-ugly Plugins</title>
<xi:include href="xml/plugin-a52dec.xml" />
<xi:include href="xml/plugin-amrnb.xml" />
<xi:include href="xml/plugin-amrwbdec.xml" />
<xi:include href="xml/plugin-asf.xml" />
<xi:include href="xml/plugin-cdio.xml" />
<xi:include href="xml/plugin-dvdlpcmdec.xml" />
<xi:include href="xml/plugin-dvdread.xml" />
<xi:include href="xml/plugin-dvdsub.xml" />
<xi:include href="xml/plugin-mpeg2dec.xml" />
<xi:include href="xml/plugin-realmedia.xml" />
<xi:include href="xml/plugin-sid.xml" />
<xi:include href="xml/plugin-x264.xml" />
<xi:include href="xml/plugin-xingmux.xml" />
</chapter>
</book>
<SECTION>
<FILE>element-a52dec</FILE>
<TITLE>a52dec</TITLE>
GstA52Dec
<SUBSECTION Standard>
A52_2F1R
A52_2F2R
A52_3F
A52_3F1R
A52_3F2R
A52_DOLBY
A52_MONO
A52_STEREO
GstA52DecClass
GST_A52DEC
GST_A52DEC_CLASS
GST_IS_A52DEC
GST_IS_A52DEC_CLASS
GST_TYPE_A52DEC
gst_a52dec_get_type
</SECTION>
<SECTION>
<FILE>element-amrnbdec</FILE>
<TITLE>amrnbdec</TITLE>
GstAmrnbDec
<SUBSECTION Standard>
GstAmrnbDecClass
GstAmrnbVariant
GST_AMRNBDEC
GST_AMRNBDEC_CLASS
GST_IS_AMRNBDEC
GST_IS_AMRNBDEC_CLASS
GST_TYPE_AMRNBDEC
gst_amrnbdec_get_type
</SECTION>
<SECTION>
<FILE>element-amrnbenc</FILE>
<TITLE>amrnbenc</TITLE>
GstAmrnbEnc
<SUBSECTION Standard>
GstAmrnbEncClass
GST_AMRNBENC
GST_AMRNBENC_CLASS
GST_IS_AMRNBENC
GST_IS_AMRNBENC_CLASS
GST_TYPE_AMRNBENC
gst_amrnbenc_get_type
</SECTION>
<SECTION>
<FILE>element-amrwbdec</FILE>
<TITLE>amrwbdec</TITLE>
GstAmrwbDec
<SUBSECTION Standard>
GstAmrwbDecClass
GST_AMRWBDEC
GST_AMRWBDEC_CLASS
GST_IS_AMRWBDEC
GST_IS_AMRWBDEC_CLASS
GST_TYPE_AMRWBDEC
gst_amrwbdec_get_type
</SECTION>
<SECTION>
<FILE>element-cdiocddasrc</FILE>
<TITLE>cdiocddasrc</TITLE>
GstCdioCddaSrc
<SUBSECTION Standard>
GstCdioCddaSrcClass
GST_TYPE_CDIO_CDDA_SRC
GST_CDIO_CDDA_SRC
GST_CDIO_CDDA_SRC_CLASS
GST_IS_CDIO_CDDA_SRC
GST_IS_CDIO_CDDA_SRC_CLASS
gst_cdio_cdda_src_get_type
</SECTION>
<SECTION>
<FILE>element-rademux</FILE>
<TITLE>rademux</TITLE>
GstRealAudioDemux
<SUBSECTION Standard>
GstRealAudioDemuxClass
GstRealAudioDemuxState
GST_REAL_AUDIO_DEMUX
GST_REAL_AUDIO_DEMUX_CLASS
GST_IS_REAL_AUDIO_DEMUX
GST_IS_REAL_AUDIO_DEMUX_CLASS
GST_TYPE_REAL_AUDIO_DEMUX
gst_real_audio_demux_get_type
gst_rademux_plugin_init
</SECTION>
<SECTION>
<FILE>element-rdtmanager</FILE>
<TITLE>rdtmanager</TITLE>
GstRDTManager
<SUBSECTION Standard>
GstRDTManagerClass
GstRDTManagerSession
GST_RDT_MANAGER
GST_RDT_MANAGER_CLASS
GST_IS_RDT_MANAGER
GST_IS_RDT_MANAGER_CLASS
GST_TYPE_RDT_MANAGER
gst_rdt_manager_get_type
gst_rdt_manager_plugin_init
</SECTION>
<SECTION>
<FILE>element-rmdemux</FILE>
<TITLE>rmdemux</TITLE>
GstRMDemux
<SUBSECTION Standard>
GstRMDemuxClass
GstRMDemuxState
GST_RMDEMUX
GST_RMDEMUX_CLASS
GST_IS_RMDEMUX
GST_IS_RMDEMUX_CLASS
GST_TYPE_RMDEMUX
gst_rmdemux_plugin_init
GST_CAT_DEFAULT
GST_RM_AUD_14_4
GST_RM_AUD_28_8
GST_RM_AUD_ATRC
GST_RM_AUD_COOK
GST_RM_AUD_DNET
GST_RM_AUD_RAAC
GST_RM_AUD_RACP
GST_RM_AUD_RALF
GST_RM_AUD_SIPR
GST_RM_AUD_xRA4
GST_RM_AUD_xRA5
GST_RM_VDO_RV10
GST_RM_VDO_RV20
GST_RM_VDO_RV30
GST_RM_VDO_RV40
GstRMDemuxLoopState
GstRMDemuxStream
GstRMDemuxStreamType
</SECTION>
<SECTION>
<FILE>element-rtspreal</FILE>
<TITLE>rtspreal</TITLE>
GstRTSPReal
<SUBSECTION Standard>
GstRTSPRealClass
GstRTSPRealStream
GST_RTSP_REAL
GST_RTSP_REAL_CLASS
GST_IS_RTSP_REAL
GST_IS_RTSP_REAL_CLASS
GST_TYPE_RTSP_REAL
gst_rtsp_real_get_type
gst_rtsp_real_plugin_init
</SECTION>
<SECTION>
<FILE>element-rtspwms</FILE>
<TITLE>rtspwms</TITLE>
GstRTSPWMS
<SUBSECTION Standard>
GstRTSPWMSClass
GST_RTSP_WMS
GST_RTSP_WMS_CLASS
GST_IS_RTSP_WMS
GST_IS_RTSP_WMS_CLASS
GST_TYPE_RTSP_WMS
gst_rtsp_wms_get_type
</SECTION>
<SECTION>
<FILE>element-siddec</FILE>
<TITLE>siddec</TITLE>
GstSidDec
<SUBSECTION Standard>
GstSidDecClass
GST_SIDDEC
GST_SIDDEC_CLASS
GST_IS_SIDDEC
GST_IS_SIDDEC_CLASS
GST_TYPE_SIDDEC
gst_siddec_get_type
</SECTION>
<SECTION>
<FILE>element-x264enc</FILE>
<TITLE>x264enc</TITLE>
GstX264Enc
<SUBSECTION Standard>
GstX264EncClass
GST_X264_ENC
GST_X264_ENC_CLASS
GST_IS_X264_ENC
GST_IS_X264_ENC_CLASS
GST_TYPE_X264_ENC
gst_x264_enc_get_type
</SECTION>
<SECTION>
<FILE>element-xingmux</FILE>
<TITLE>xingmux</TITLE>
GstXingMux
<SUBSECTION Standard>
GstXingMuxClass
GST_XING_MUX
GST_XING_MUX_CLASS
GST_IS_XING_MUX
GST_IS_XING_MUX_CLASS
GST_TYPE_XING_MUX
gst_xing_mux_get_type
</SECTION>
This diff is collapsed.
GObject
GInitiallyUnowned
GstObject
GstAllocator
GstAllocatorSysmem
GstBus
GstClock
GstControlBinding
GstControlSource
GstElement
GstASFDemux
GstAudioDecoder
GstA52Dec
GstAmrnbDec
GstAmrwbDec
GstDvdLpcmDec
GstAudioEncoder
GstAmrnbEnc
GstBaseSrc
GstPushSrc
GstAudioCdSrc
GstCdioCddaSrc
GstDvdReadSrc
GstPNMSrc
GstBin
GstPipeline
GstDvdSubDec
GstDvdSubParse
GstRDTDepay
GstRDTManager
GstRMDemux
GstRTPBaseDepayload
GstRtpAsfDepay
GstRTSPReal
GstRTSPWMS
GstRealAudioDemux
GstSidDec
GstVideoDecoder
GstMpeg2dec
GstVideoEncoder
GstX264Enc
GstXingMux
GstPad
GstPadTemplate
GstPlugin
GstPluginFeature
GstDeviceProviderFactory
GstDynamicTypeFactory
GstElementFactory
GstTracerFactory
GstTypeFindFactory
GstRegistry
GstTask
GstTaskPool
GInterface
GTypePlugin
GstChildProxy
GstPreset
GstRTSPExtension
GstURIHandler
GstAmrnbEnc GstPreset
GstAudioCdSrc GstURIHandler
GstAudioEncoder GstPreset
GstBin GstChildProxy
GstCddaBaseSrc GstURIHandler
GstCdioCddaSrc GstURIHandler
GstDvdReadSrc GstURIHandler
GstPNMSrc GstURIHandler
GstPipeline GstChildProxy
GstRTSPReal GstRTSPExtension
GstRTSPWMS GstRTSPExtension
GstTwoLame GstPreset
GstVideoEncoder GstPreset
GstX264Enc GstPreset
GstChildProxy GObject
GstChildProxy GstObject
GstTagSetter GstElement
<SIGNAL>
<NAME>GstRDTManager::clear-pt-map</NAME>
<RETURNS>void</RETURNS>
<FLAGS>l</FLAGS>
GstRDTManager *gstrdtmanager
</SIGNAL>
<SIGNAL>
<NAME>GstRDTManager::on-bye-ssrc</NAME>
<RETURNS>void</RETURNS>
<FLAGS>l</FLAGS>
GstRDTManager *gstrdtmanager
guint arg1
guint arg2
</SIGNAL>
<SIGNAL>
<NAME>GstRDTManager::on-bye-timeout</NAME>
<RETURNS>void</RETURNS>
<FLAGS>l</FLAGS>
GstRDTManager *gstrdtmanager
guint arg1
guint arg2
</SIGNAL>
<SIGNAL>
<NAME>GstRDTManager::on-timeout</NAME>
<RETURNS>void</RETURNS>
<FLAGS>l</FLAGS>
GstRDTManager *gstrdtmanager
guint arg1
guint arg2
</SIGNAL>
<SIGNAL>
<NAME>GstRDTManager::request-pt-map</NAME>
<RETURNS>GstCaps*</RETURNS>
<FLAGS>l</FLAGS>
GstRDTManager *gstrdtmanager
guint arg1
guint arg2
</SIGNAL>
<SIGNAL>
<NAME>GstRDTManager::on-npt-stop</NAME>
<RETURNS>void</RETURNS>
<FLAGS>l</FLAGS>
GstRDTManager *gstrdtmanager
guint arg1
guint arg2
</SIGNAL>
<SIGNAL>
<NAME>GstMPEGParse::reached-offset</NAME>
<RETURNS>void</RETURNS>
<FLAGS>f</FLAGS>
GstMPEGParse *gstmpegparse
</SIGNAL>