mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-03-28 20:05:38 +00:00
add plugin documentation
Original commit message from CVS: add plugin documentation
This commit is contained in:
parent
d1436be17d
commit
7d7c3e478e
10 changed files with 225 additions and 17747 deletions
|
@ -1,5 +1,5 @@
|
|||
SUBDIRS = \
|
||||
gst ext m4 common
|
||||
gst ext docs m4 common
|
||||
|
||||
EXTRA_DIST = \
|
||||
gst-plugins-ugly.spec depcomp \
|
||||
|
|
11
configure.ac
11
configure.ac
|
@ -325,6 +325,12 @@ GST_CFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs $GST_CFLAGS $G
|
|||
AC_SUBST(GST_LIBS)
|
||||
AC_SUBST(GST_CFLAGS)
|
||||
|
||||
dnl ######################
|
||||
dnl # Checks for gtk-doc #
|
||||
dnl ######################
|
||||
|
||||
GTK_DOC_CHECK([1.3])
|
||||
|
||||
dnl ############################
|
||||
dnl # Set up some more defines #
|
||||
dnl ############################
|
||||
|
@ -374,7 +380,6 @@ dnl po/Makefile.in
|
|||
|
||||
AC_CONFIG_FILES(
|
||||
Makefile
|
||||
gst-plugins-ugly.spec
|
||||
gst/Makefile
|
||||
gst/dvdlpcmdec/Makefile
|
||||
gst/mpegaudioparse/Makefile
|
||||
|
@ -385,9 +390,13 @@ ext/lame/Makefile
|
|||
ext/mad/Makefile
|
||||
ext/mpeg2dec/Makefile
|
||||
ext/sidplay/Makefile
|
||||
docs/Makefile
|
||||
docs/plugins/Makefile
|
||||
docs/version.entities
|
||||
common/Makefile
|
||||
common/m4/Makefile
|
||||
m4/Makefile
|
||||
gst-plugins-ugly.spec
|
||||
)
|
||||
AC_OUTPUT
|
||||
|
||||
|
|
109
docs/plugins/Makefile.am
Normal file
109
docs/plugins/Makefile.am
Normal file
|
@ -0,0 +1,109 @@
|
|||
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_MAJORMINOR@
|
||||
MODULE=gst-plugins-ugly
|
||||
DOC_MODULE=$(MODULE)-plugins
|
||||
|
||||
# for upload.mak
|
||||
DOC=$(MODULE)-plugins
|
||||
FORMATS=html
|
||||
html: html-build.stamp
|
||||
include $(top_srcdir)/common/upload-doc.mak
|
||||
|
||||
# generated basefiles
|
||||
#basefiles = \
|
||||
## $(DOC_MODULE).types \
|
||||
# $(DOC_MODULE)-sections.txt \
|
||||
# $(DOC_MODULE)-docs.sgml
|
||||
|
||||
# ugly hack to make -unused.sgml work
|
||||
#unused-build.stamp:
|
||||
# BUILDDIR=`pwd` && \
|
||||
# cd $(srcdir)/tmpl && \
|
||||
# ln -sf gstreamer-libs-unused.sgml \
|
||||
# $$BUILDDIR/tmpl/gstreamer-libs-@GST_MAJORMINOR@-unused.sgml
|
||||
# touch unused-build.stamp
|
||||
|
||||
# these rules are added to create parallel docs using GST_MAJORMINOR
|
||||
#$(basefiles): gstreamer-libs-@GST_MAJORMINOR@%: gstreamer-libs%
|
||||
# cp $< $@
|
||||
|
||||
#CLEANFILES = $(basefiles)
|
||||
|
||||
# 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)
|
||||
|
||||
# Extra options to supply to gtkdoc-scan.
|
||||
SCAN_OPTIONS=
|
||||
|
||||
# FIXME :
|
||||
# there's something wrong with gstreamer-sections.txt not being in the dist
|
||||
# maybe it doesn't resolve; we're adding it below for now
|
||||
#EXTRA_DIST = gstreamer.types.in gstreamer.hierarchy $(DOC_MODULE)-sections.txt gstreamer-sections.txt $(DOC_MAIN_SGML_FILE)
|
||||
|
||||
# Extra options to supply to gtkdoc-mkdb.
|
||||
MKDB_OPTIONS=--sgml-mode
|
||||
|
||||
# Extra options to supply to gtkdoc-fixref.
|
||||
# FIXME get the location of the installed gstreamer docs
|
||||
#FIXXREF_OPTIONS=--extra-dir=../gst/html
|
||||
|
||||
# Used for dependencies.
|
||||
HFILE_GLOB=$(DOC_SOURCE_DIR)/*/*/*.h
|
||||
CFILE_GLOB=$(DOC_SOURCE_DIR)/*/*/*.c
|
||||
|
||||
# this is a wingo addition
|
||||
# thomasvs: another nice wingo addition would be an explanation on why
|
||||
# this is useful ;)
|
||||
|
||||
SCANOBJ_DEPS =
|
||||
|
||||
# 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/mad/gstmad.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 = $(SCANOBJ_DEPS) $(GST_BASE_LIBS)
|
||||
|
||||
GTKDOC_CC=$(LIBTOOL) --mode=compile $(CC)
|
||||
GTKDOC_LD=$(LIBTOOL) --mode=link $(CC)
|
||||
|
||||
# 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
|
28
docs/plugins/gst-plugins-ugly-plugins-docs.sgml
Normal file
28
docs/plugins/gst-plugins-ugly-plugins-docs.sgml
Normal file
|
@ -0,0 +1,28 @@
|
|||
<?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_MAJORMINOR; Plugins Reference Manual</title>
|
||||
</bookinfo>
|
||||
|
||||
<chapter>
|
||||
<title>gst-plugins-ugly Elements</title>
|
||||
</chapter>
|
||||
|
||||
<chapter>
|
||||
<title>gst-plugins-ugly Plugins</title>
|
||||
|
||||
<xi:include href="xml/plugin-dvdlpcmdec.xml" />
|
||||
<xi:include href="xml/plugin-gstcoreelements.xml" />
|
||||
<xi:include href="xml/plugin-lame.xml" />
|
||||
<xi:include href="xml/plugin-mad.xml" />
|
||||
<xi:include href="xml/plugin-mpegaudioparse.xml" />
|
||||
<xi:include href="xml/plugin-rmdemux.xml" />
|
||||
|
||||
</chapter>
|
||||
</book>
|
9
docs/plugins/gst-plugins-ugly-plugins-sections.txt
Normal file
9
docs/plugins/gst-plugins-ugly-plugins-sections.txt
Normal file
|
@ -0,0 +1,9 @@
|
|||
<SECTION>
|
||||
<FILE>element-mad</FILE>
|
||||
GstMad
|
||||
<TITLE>mad</TITLE>
|
||||
<SUBSECTION Standard>
|
||||
GstMadClass
|
||||
</SECTION>
|
||||
|
||||
|
1
docs/plugins/gst-plugins-ugly-plugins.types
Normal file
1
docs/plugins/gst-plugins-ugly-plugins.types
Normal file
|
@ -0,0 +1 @@
|
|||
#include <gst/gst.h>
|
|
@ -674,7 +674,7 @@ dvdnavsrc_tca_seek (DVDNavSrc * src, int title, int chapter, int angle)
|
|||
g_return_val_if_fail (src->title > 0, FALSE);
|
||||
|
||||
GST_INFO_OBJECT (src, "seeking to %d/%d/%d", title, chapter, angle);
|
||||
/**
|
||||
/*
|
||||
* Make sure our title number is valid.
|
||||
*/
|
||||
if (dvdnav_get_number_of_titles (src->dvdnav, &titles) != DVDNAV_STATUS_OK) {
|
||||
|
@ -689,7 +689,7 @@ dvdnavsrc_tca_seek (DVDNavSrc * src, int title, int chapter, int angle)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Before we can get the number of chapters (programs) we need to call
|
||||
* dvdnav_title_play so that dvdnav_get_number_of_programs knows which title
|
||||
* to operate on (also needed to get the number of angles)
|
||||
|
@ -701,7 +701,7 @@ dvdnavsrc_tca_seek (DVDNavSrc * src, int title, int chapter, int angle)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Make sure the chapter number is valid for this title.
|
||||
*/
|
||||
if (dvdnav_get_number_of_titles (src->dvdnav, &programs)
|
||||
|
@ -717,7 +717,7 @@ dvdnavsrc_tca_seek (DVDNavSrc * src, int title, int chapter, int angle)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Make sure the angle number is valid for this title.
|
||||
*/
|
||||
if (dvdnav_get_angle_info (src->dvdnav, &curangle, &angles)
|
||||
|
@ -733,7 +733,7 @@ dvdnavsrc_tca_seek (DVDNavSrc * src, int title, int chapter, int angle)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* We've got enough info, time to open the title set data.
|
||||
*/
|
||||
if (src->chapter == 0) {
|
||||
|
@ -800,7 +800,7 @@ dvdnavsrc_update_streaminfo (DVDNavSrc * src)
|
|||
g_object_notify (G_OBJECT (src), "streaminfo");
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Check for a new DVD domain area, and update the structure if
|
||||
* necessary.
|
||||
*/
|
||||
|
@ -825,7 +825,7 @@ dvdnavsrc_set_domain (DVDNavSrc * src)
|
|||
src->domain = domain;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Check for a new highlighted area, and send an spu highlight event if
|
||||
* necessary.
|
||||
*/
|
||||
|
|
|
@ -544,7 +544,7 @@ dvdreadsrc_srcpad_query (GstPad * pad, GstQueryType type,
|
|||
return res;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Returns true if the pack is a NAV pack. This check is clearly insufficient,
|
||||
* and sometimes we incorrectly think that valid other packs are NAV packs. I
|
||||
* need to make this stronger.
|
||||
|
@ -579,7 +579,7 @@ _open (DVDReadSrcPrivate * priv, const gchar * location)
|
|||
g_return_val_if_fail (priv != NULL, -1);
|
||||
g_return_val_if_fail (location != NULL, -1);
|
||||
|
||||
/**
|
||||
/*
|
||||
* Open the disc.
|
||||
*/
|
||||
priv->dvd = DVDOpen (location);
|
||||
|
@ -589,7 +589,7 @@ _open (DVDReadSrcPrivate * priv, const gchar * location)
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
/*
|
||||
* Load the video manager to find out the information about the titles on
|
||||
* this disc.
|
||||
*/
|
||||
|
@ -608,9 +608,9 @@ _seek_title (DVDReadSrcPrivate * priv, int title, int angle)
|
|||
{
|
||||
GHashTable *languagelist = NULL;
|
||||
|
||||
/**
|
||||
* Make sure our title number is valid.
|
||||
*/
|
||||
/*
|
||||
* Make sure our title number is valid.
|
||||
*/
|
||||
GST_LOG ("There are %d titles on this DVD", priv->tt_srpt->nr_of_srpts);
|
||||
if (title < 0 || title >= priv->tt_srpt->nr_of_srpts) {
|
||||
GST_WARNING ("Invalid title %d (only %d available)",
|
||||
|
@ -625,9 +625,9 @@ _seek_title (DVDReadSrcPrivate * priv, int title, int angle)
|
|||
GST_LOG ("There are %d chapters in this title",
|
||||
priv->tt_srpt->title[title].nr_of_ptts);
|
||||
|
||||
/**
|
||||
* Make sure the angle number is valid for this title.
|
||||
*/
|
||||
/*
|
||||
* Make sure the angle number is valid for this title.
|
||||
*/
|
||||
GST_LOG ("There are %d angles available in this title",
|
||||
priv->tt_srpt->title[title].nr_of_angles);
|
||||
|
||||
|
@ -640,9 +640,9 @@ _seek_title (DVDReadSrcPrivate * priv, int title, int angle)
|
|||
angle = priv->tt_srpt->title[title].nr_of_angles - 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Load the VTS information for the title set our title is in.
|
||||
*/
|
||||
/*
|
||||
* Load the VTS information for the title set our title is in.
|
||||
*/
|
||||
priv->vts_file =
|
||||
ifoOpen (priv->dvd, priv->tt_srpt->title[title].title_set_nr);
|
||||
if (!priv->vts_file) {
|
||||
|
@ -655,9 +655,9 @@ _seek_title (DVDReadSrcPrivate * priv, int title, int angle)
|
|||
priv->ttn = priv->tt_srpt->title[title].vts_ttn;
|
||||
priv->vts_ptt_srpt = priv->vts_file->vts_ptt_srpt;
|
||||
|
||||
/**
|
||||
* We've got enough info, time to open the title set data.
|
||||
*/
|
||||
/*
|
||||
* We've got enough info, time to open the title set data.
|
||||
*/
|
||||
priv->dvd_title =
|
||||
DVDOpenFile (priv->dvd, priv->tt_srpt->title[title].title_set_nr,
|
||||
DVD_READ_TITLE_VOBS);
|
||||
|
@ -688,9 +688,9 @@ _seek_chapter (DVDReadSrcPrivate * priv, int chapter)
|
|||
{
|
||||
int i;
|
||||
|
||||
/**
|
||||
* Make sure the chapter number is valid for this title.
|
||||
*/
|
||||
/*
|
||||
* Make sure the chapter number is valid for this title.
|
||||
*/
|
||||
if (chapter < 0 || chapter >= priv->tt_srpt->title[priv->title].nr_of_ptts) {
|
||||
GST_WARNING ("Invalid chapter %d (only %d available)",
|
||||
chapter, priv->tt_srpt->title[priv->title].nr_of_ptts);
|
||||
|
@ -699,10 +699,10 @@ _seek_chapter (DVDReadSrcPrivate * priv, int chapter)
|
|||
chapter = priv->tt_srpt->title[priv->title].nr_of_ptts - 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine which program chain we want to watch. This is based on the
|
||||
* chapter number.
|
||||
*/
|
||||
/*
|
||||
* Determine which program chain we want to watch. This is based on the
|
||||
* chapter number.
|
||||
*/
|
||||
priv->pgc_id = priv->vts_ptt_srpt->title[priv->ttn - 1].ptt[chapter].pgcn;
|
||||
priv->pgn = priv->vts_ptt_srpt->title[priv->ttn - 1].ptt[chapter].pgn;
|
||||
priv->cur_pgc = priv->vts_file->vts_pgcit->pgci_srp[priv->pgc_id - 1].pgc;
|
||||
|
@ -784,9 +784,9 @@ _read (DVDReadSrcPrivate * priv, int angle, int new_seek, GstBuffer * buf)
|
|||
data = static_data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Playback by cell in this pgc, starting at the cell for our chapter.
|
||||
*/
|
||||
/*
|
||||
* Playback by cell in this pgc, starting at the cell for our chapter.
|
||||
*/
|
||||
if (new_seek)
|
||||
priv->cur_cell = priv->start_cell;
|
||||
|
||||
|
@ -810,7 +810,7 @@ again:
|
|||
/* calculate next cell */
|
||||
priv->next_cell = get_next_cell_for (priv, priv->cur_cell);
|
||||
|
||||
/**
|
||||
/*
|
||||
* We loop until we're out of this cell.
|
||||
*/
|
||||
priv->cur_pack =
|
||||
|
@ -824,9 +824,9 @@ again:
|
|||
unsigned int next_vobu, next_ilvu_start, cur_output_size;
|
||||
int len;
|
||||
|
||||
/**
|
||||
* Read NAV packet.
|
||||
*/
|
||||
/*
|
||||
* Read NAV packet.
|
||||
*/
|
||||
nav_retry:
|
||||
|
||||
len = DVDReadBlocks (priv->dvd_title, priv->cur_pack, 1, data);
|
||||
|
@ -841,31 +841,31 @@ again:
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* Parse the contained dsi packet.
|
||||
*/
|
||||
/*
|
||||
* Parse the contained dsi packet.
|
||||
*/
|
||||
navRead_DSI (&dsi_pack, &(data[DSI_START_BYTE]));
|
||||
assert (priv->cur_pack == dsi_pack.dsi_gi.nv_pck_lbn);
|
||||
|
||||
|
||||
/**
|
||||
* Determine where we go next. These values are the ones we mostly
|
||||
* care about.
|
||||
*/
|
||||
/*
|
||||
* Determine where we go next. These values are the ones we mostly
|
||||
* care about.
|
||||
*/
|
||||
next_ilvu_start = priv->cur_pack + dsi_pack.sml_agli.data[angle].address;
|
||||
cur_output_size = dsi_pack.dsi_gi.vobu_ea;
|
||||
|
||||
|
||||
/**
|
||||
* If we're not at the end of this cell, we can determine the next
|
||||
* VOBU to display using the VOBU_SRI information section of the
|
||||
* DSI. Using this value correctly follows the current angle,
|
||||
* avoiding the doubled scenes in The Matrix, and makes our life
|
||||
* really happy.
|
||||
*
|
||||
* Otherwise, we set our next address past the end of this cell to
|
||||
* force the code above to go to the next cell in the program.
|
||||
*/
|
||||
/*
|
||||
* If we're not at the end of this cell, we can determine the next
|
||||
* VOBU to display using the VOBU_SRI information section of the
|
||||
* DSI. Using this value correctly follows the current angle,
|
||||
* avoiding the doubled scenes in The Matrix, and makes our life
|
||||
* really happy.
|
||||
*
|
||||
* Otherwise, we set our next address past the end of this cell to
|
||||
* force the code above to go to the next cell in the program.
|
||||
*/
|
||||
if (dsi_pack.vobu_sri.next_vobu != SRI_END_OF_CELL) {
|
||||
next_vobu = priv->cur_pack + (dsi_pack.vobu_sri.next_vobu & 0x7fffffff);
|
||||
} else {
|
||||
|
@ -876,9 +876,9 @@ again:
|
|||
priv->cur_pack++;
|
||||
|
||||
if (buf) {
|
||||
/**
|
||||
* Read in and output cursize packs.
|
||||
*/
|
||||
/*
|
||||
* Read in and output cursize packs.
|
||||
*/
|
||||
len =
|
||||
DVDReadBlocks (priv->dvd_title, priv->cur_pack, cur_output_size,
|
||||
data);
|
||||
|
|
|
@ -174,7 +174,7 @@ mp3_type_frame_length_from_header (guint32 header, guint * put_layer,
|
|||
return length;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* The chance that random data is identified as a valid mp3 header is 63 / 2^18
|
||||
* (0.024%) per try. This makes the function for calculating false positives
|
||||
* 1 - (1 - ((63 / 2 ^18) ^ GST_MP3_TYPEFIND_MIN_HEADERS)) ^ buffersize)
|
||||
|
|
Loading…
Reference in a new issue