docs/plugins/: Add new docs. Scan c++ files too.

Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
* docs/plugins/gst-plugins-ugly-plugins-sections.txt:
* docs/plugins/inspect/plugin-a52dec.xml:
* docs/plugins/inspect/plugin-amrnb.xml:
* docs/plugins/inspect/plugin-asf.xml:
* docs/plugins/inspect/plugin-dvdlpcmdec.xml:
* docs/plugins/inspect/plugin-dvdsub.xml:
* docs/plugins/inspect/plugin-iec958.xml:
* docs/plugins/inspect/plugin-lame.xml:
* docs/plugins/inspect/plugin-mad.xml:
* docs/plugins/inspect/plugin-mpeg2dec.xml:
* docs/plugins/inspect/plugin-mpegaudioparse.xml:
* docs/plugins/inspect/plugin-mpegstream.xml:
Add new docs. Scan c++ files too.
* ext/amrnb/amrnbdec.c: (gst_amrnbdec_base_init),
(gst_amrnbdec_event):
* ext/amrnb/amrnbenc.c: (gst_amrnbenc_base_init):
* ext/amrnb/amrnbparse.c: (gst_amrnbparse_base_init),
(gst_amrnbparse_loop):
Add documentation headers.
* ext/mad/gstmad.c:
* ext/mad/gstmad.h:
Refactor for docs.
This commit is contained in:
Stefan Kost 2007-07-03 11:55:45 +00:00
parent 376b414679
commit bebdf0837e
21 changed files with 356 additions and 208 deletions

View file

@ -1,3 +1,32 @@
2007-07-03 Stefan Kost <ensonic@users.sf.net>
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
* docs/plugins/gst-plugins-ugly-plugins-sections.txt:
* docs/plugins/inspect/plugin-a52dec.xml:
* docs/plugins/inspect/plugin-amrnb.xml:
* docs/plugins/inspect/plugin-asf.xml:
* docs/plugins/inspect/plugin-dvdlpcmdec.xml:
* docs/plugins/inspect/plugin-dvdsub.xml:
* docs/plugins/inspect/plugin-iec958.xml:
* docs/plugins/inspect/plugin-lame.xml:
* docs/plugins/inspect/plugin-mad.xml:
* docs/plugins/inspect/plugin-mpeg2dec.xml:
* docs/plugins/inspect/plugin-mpegaudioparse.xml:
* docs/plugins/inspect/plugin-mpegstream.xml:
Add new docs. Scan c++ files too.
* ext/amrnb/amrnbdec.c: (gst_amrnbdec_base_init),
(gst_amrnbdec_event):
* ext/amrnb/amrnbenc.c: (gst_amrnbenc_base_init):
* ext/amrnb/amrnbparse.c: (gst_amrnbparse_base_init),
(gst_amrnbparse_loop):
Add documentation headers.
* ext/mad/gstmad.c:
* ext/mad/gstmad.h:
Refactor for docs.
2007-07-01 Sebastian Dröge <slomo@circular-chaos.org>
* gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_base_init),

2
common

@ -1 +1 @@
Subproject commit e6a9941c662289c0743e5d8f4150458a664226f2
Subproject commit 5167bced491ffe62251c62d6c5e7b9a7541e97e5

View file

@ -50,7 +50,7 @@ SCAN_OPTIONS=
#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
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/gobject \
@ -61,7 +61,7 @@ FIXXREF_OPTIONS=--extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html/gobject \
# Used for dependencies.
HFILE_GLOB=$(DOC_SOURCE_DIR)/*/*/*.h
CFILE_GLOB=$(DOC_SOURCE_DIR)/*/*/*.c
CFILE_GLOB=$(DOC_SOURCE_DIR)/*/*/*.c $(DOC_SOURCE_DIR)/*/*/*.cc
# this is a wingo addition
# thomasvs: another nice wingo addition would be an explanation on why
@ -85,6 +85,9 @@ IGNORE_CFILES =
# $(top_srcdir)/ext/gnomevfs/gstgnomevfssink.c
EXTRA_HFILES = \
$(top_srcdir)/ext/amrnb/amrnbdec.h \
$(top_srcdir)/ext/amrnb/amrnbenc.h \
$(top_srcdir)/ext/amrnb/amrnbparse.h \
$(top_srcdir)/ext/lame/gstlame.h \
$(top_srcdir)/ext/mad/gstmad.h \
$(top_srcdir)/ext/sidplay/gstsiddec.h

View file

@ -12,6 +12,9 @@
<chapter>
<title>gst-plugins-ugly Elements</title>
<xi:include href="xml/element-amrnbdec.xml" />
<xi:include href="xml/element-amrnbenc.xml" />
<xi:include href="xml/element-amrnbparse.xml" />
<xi:include href="xml/element-lame.xml" />
<xi:include href="xml/element-mad.xml" />
<xi:include href="xml/element-siddec.xml" />
@ -19,7 +22,7 @@
<chapter>
<title>gst-plugins-ugly Plugins</title>
<xi:include href="xml/plugin-amrnb.xml" />
<xi:include href="xml/plugin-dvdlpcmdec.xml" />
<xi:include href="xml/plugin-lame.xml" />
<xi:include href="xml/plugin-mad.xml" />

View file

@ -1,24 +1,86 @@
<SECTION>
<FILE>element-amrnbdec</FILE>
<TITLE>amrnbdec</TITLE>
GstAmrnbDec
<SUBSECTION Standard>
GstAmrnbDecClass
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-amrnbparse</FILE>
<TITLE>amrnbparse</TITLE>
GstAmrnbParse
<SUBSECTION Standard>
GstAmrnbParseClass
GST_AMRNBPARSE
GST_AMRNBPARSE_CLASS
GST_IS_AMRNBPARSE
GST_IS_AMRNBPARSE_CLASS
GST_TYPE_AMRNBPARSE
gst_amrnbparse_get_type
</SECTION>
<SECTION>
<FILE>element-mad</FILE>
GstMad
<TITLE>mad</TITLE>
GstMad
<SUBSECTION Standard>
GstMadClass
GST_MAD
GST_MAD_CLASS
GST_IS_MAD
GST_IS_MAD_CLASS
GST_TYPE_MAD
gst_mad_get_type
gst_id3_tag_get_type
gst_mad_id3_to_tag_list
</SECTION>
<SECTION>
<FILE>element-lame</FILE>
GstLame
<TITLE>lame</TITLE>
GstLame
<SUBSECTION Standard>
GstLameClass
GST_LAME
GST_LAME_CLASS
GST_IS_LAME
GST_IS_LAME_CLASS
GST_TYPE_LAME
gst_lame_get_type
</SECTION>
<SECTION>
<FILE>element-siddec</FILE>
GstSidDec
<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>

View file

@ -16,18 +16,18 @@
<description>Decodes ATSC A/52 encoded audio streams</description>
<author>David I. Lehn &lt;dlehn@users.sourceforge.net&gt;</author>
<pads>
<caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>audio/x-ac3; audio/ac3; audio/x-private1-ac3</details>
</caps>
<caps>
<name>src</name>
<direction>source</direction>
<presence>always</presence>
<details>audio/x-raw-float, endianness=(int)1234, width=(int)32, rate=(int)[ 4000, 96000 ], channels=(int)[ 1, 6 ]</details>
</caps>
<caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>audio/x-ac3; audio/ac3; audio/x-private1-ac3</details>
</caps>
</pads>
</element>
</elements>

View file

@ -16,18 +16,18 @@
<description>Adaptive Multi-Rate Narrow-Band audio decoder</description>
<author>Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;</author>
<pads>
<caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>audio/AMR, rate=(int)8000, channels=(int)1</details>
</caps>
<caps>
<name>src</name>
<direction>source</direction>
<presence>always</presence>
<details>audio/x-raw-int, width=(int)16, depth=(int)16, signed=(boolean)true, endianness=(int)1234, rate=(int)8000, channels=(int)1</details>
</caps>
<caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>audio/AMR, rate=(int)8000, channels=(int)1</details>
</caps>
</pads>
</element>
<element>
@ -37,18 +37,18 @@
<description>Adaptive Multi-Rate Narrow-Band audio encoder</description>
<author>Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;, Wim Taymans &lt;wim@fluendo.com&gt;</author>
<pads>
<caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>audio/x-raw-int, width=(int)16, depth=(int)16, signed=(boolean)true, endianness=(int)1234, rate=(int)8000, channels=(int)1</details>
</caps>
<caps>
<name>src</name>
<direction>source</direction>
<presence>always</presence>
<details>audio/AMR, rate=(int)8000, channels=(int)1</details>
</caps>
<caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>audio/x-raw-int, width=(int)16, depth=(int)16, signed=(boolean)true, endianness=(int)1234, rate=(int)8000, channels=(int)1</details>
</caps>
</pads>
</element>
<element>
@ -58,18 +58,18 @@
<description>Adaptive Multi-Rate Narrow-Band audio parser</description>
<author>Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;</author>
<pads>
<caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>audio/x-amr-nb-sh</details>
</caps>
<caps>
<name>src</name>
<direction>source</direction>
<presence>always</presence>
<details>audio/AMR, rate=(int)8000, channels=(int)1</details>
</caps>
<caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>audio/x-amr-nb-sh</details>
</caps>
</pads>
</element>
</elements>

View file

@ -17,10 +17,10 @@
<author>Owen Fraser-Green &lt;owen@discobabe.net&gt;</author>
<pads>
<caps>
<name>audio_%02d</name>
<direction>source</direction>
<presence>sometimes</presence>
<details>ANY</details>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>video/x-ms-asf</details>
</caps>
<caps>
<name>video_%02d</name>
@ -29,10 +29,10 @@
<details>ANY</details>
</caps>
<caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>video/x-ms-asf</details>
<name>audio_%02d</name>
<direction>source</direction>
<presence>sometimes</presence>
<details>ANY</details>
</caps>
</pads>
</element>

View file

@ -17,18 +17,18 @@
<author>Jan Schmidt &lt;jan@noraisin.net&gt;
Michael Smith &lt;msmith@fluendo.com&gt;</author>
<pads>
<caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>audio/x-private1-lpcm; audio/x-lpcm, width=(int){ 16, 20, 24 }, rate=(int){ 48000, 96000 }, channels=(int)[ 1, 8 ], dynamic_range=(int)[ 0, 255 ], emphasis=(boolean){ true, false }, mute=(boolean){ true, false }</details>
</caps>
<caps>
<name>src</name>
<direction>source</direction>
<presence>always</presence>
<details>audio/x-raw-int, width=(int){ 16, 24 }, rate=(int){ 48000, 96000 }, channels=(int)[ 1, 8 ], endianness=(int){ 4321 }, depth=(int){ 16, 24 }, signed=(boolean){ true }</details>
</caps>
<caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>audio/x-private1-lpcm; audio/x-lpcm, width=(int){ 16, 20, 24 }, rate=(int){ 48000, 96000 }, channels=(int)[ 1, 8 ], dynamic_range=(int)[ 0, 255 ], emphasis=(boolean){ true, false }, mute=(boolean){ true, false }</details>
</caps>
</pads>
</element>
</elements>

View file

@ -16,18 +16,18 @@
<description>Decodes DVD subtitles into AYUV video frames</description>
<author>Wim Taymans &lt;wim.taymans@chello.be&gt;, Jan Schmidt &lt;thaytan@mad.scientist.com&gt;</author>
<pads>
<caps>
<name>src</name>
<direction>source</direction>
<presence>always</presence>
<details>video/x-raw-yuv, format=(fourcc)AYUV, width=(int)720, height=(int)576, framerate=(fraction)0/1</details>
</caps>
<caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>video/x-dvd-subpicture</details>
</caps>
<caps>
<name>src</name>
<direction>source</direction>
<presence>always</presence>
<details>video/x-raw-yuv, format=(fourcc)AYUV, width=(int)720, height=(int)576, framerate=(fraction)0/1</details>
</caps>
</pads>
</element>
</elements>

View file

@ -16,18 +16,18 @@
<description>Pads AC3 frames into IEC958 frames suitable for a raw S/PDIF interface</description>
<author>Martin Soto &lt;martinsoto@users.sourceforge.net&gt;</author>
<pads>
<caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>audio/x-private1-ac3; audio/x-ac3; audio/ac3</details>
</caps>
<caps>
<name>src</name>
<direction>source</direction>
<presence>always</presence>
<details>audio/x-iec958, rate=(int){ 32000, 44100, 48000 }; audio/x-raw-int, endianness=(int)4321, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int){ 32000, 44100, 48000 }, channels=(int)2</details>
</caps>
<caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>audio/x-private1-ac3; audio/x-ac3; audio/ac3</details>
</caps>
</pads>
</element>
</elements>

View file

@ -16,18 +16,18 @@
<description>High-quality free MP3 encoder</description>
<author>Erik Walthinsen &lt;omega@cse.ogi.edu&gt;, Wim Taymans &lt;wim@fluendo.com&gt;</author>
<pads>
<caps>
<name>src</name>
<direction>source</direction>
<presence>always</presence>
<details>audio/mpeg, mpegversion=(int)1, layer=(int)3, rate=(int){ 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000 }, channels=(int)[ 1, 2 ]</details>
</caps>
<caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int){ 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000 }, channels=(int)[ 1, 2 ]</details>
</caps>
<caps>
<name>src</name>
<direction>source</direction>
<presence>always</presence>
<details>audio/mpeg, mpegversion=(int)1, layer=(int)3, rate=(int){ 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000 }, channels=(int)[ 1, 2 ]</details>
</caps>
</pads>
</element>
</elements>

View file

@ -16,18 +16,18 @@
<description>Add ID3 tagging information</description>
<author>Benjamin Otte &lt;otte@gnome.org&gt;</author>
<pads>
<caps>
<name>src</name>
<direction>source</direction>
<presence>always</presence>
<details>application/x-id3</details>
</caps>
<caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>audio/mpeg, mpegversion=(int)1; audio/x-flac</details>
</caps>
<caps>
<name>src</name>
<direction>source</direction>
<presence>always</presence>
<details>application/x-id3</details>
</caps>
</pads>
</element>
<element>
@ -37,18 +37,18 @@
<description>Uses mad code to decode mp3 streams</description>
<author>Wim Taymans &lt;wim@fluendo.com&gt;</author>
<pads>
<caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>audio/mpeg, mpegversion=(int)1, layer=(int)[ 1, 3 ], rate=(int){ 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000 }, channels=(int)[ 1, 2 ]</details>
</caps>
<caps>
<name>src</name>
<direction>source</direction>
<presence>always</presence>
<details>audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int){ 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000 }, channels=(int)[ 1, 2 ]</details>
</caps>
<caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>audio/mpeg, mpegversion=(int)1, layer=(int)[ 1, 3 ], rate=(int){ 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000 }, channels=(int)[ 1, 2 ]</details>
</caps>
</pads>
</element>
</elements>

View file

@ -16,18 +16,18 @@
<description>Uses libmpeg2 to decode MPEG video streams</description>
<author>Wim Taymans &lt;wim.taymans@chello.be&gt;</author>
<pads>
<caps>
<name>src</name>
<direction>source</direction>
<presence>always</presence>
<details>video/x-raw-yuv, format=(fourcc){ YV12, I420, Y42B }, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
</caps>
<caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>video/mpeg, mpegversion=(int)[ 1, 2 ], systemstream=(boolean)false</details>
</caps>
<caps>
<name>src</name>
<direction>source</direction>
<presence>always</presence>
<details>video/x-raw-yuv, format=(fourcc){ YV12, I420, Y42B }, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
</caps>
</pads>
</element>
</elements>

View file

@ -17,18 +17,18 @@
<author>Jan Schmidt &lt;thaytan@mad.scientist.com&gt;
Erik Walthinsen &lt;omega@cse.ogi.edu&gt;</author>
<pads>
<caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>audio/mpeg, mpegversion=(int)1, parsed=(boolean)false</details>
</caps>
<caps>
<name>src</name>
<direction>source</direction>
<presence>always</presence>
<details>audio/mpeg, mpegversion=(int)1, layer=(int)[ 1, 3 ], rate=(int)[ 8000, 48000 ], channels=(int)[ 1, 2 ], parsed=(boolean)true</details>
</caps>
<caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>audio/mpeg, mpegversion=(int)1, parsed=(boolean)false</details>
</caps>
</pads>
</element>
</elements>

View file

@ -17,33 +17,21 @@
<author>Martin Soto &lt;martinsoto@users.sourceforge.net&gt;</author>
<pads>
<caps>
<name>video_%02d</name>
<name>current_subpicture</name>
<direction>source</direction>
<presence>sometimes</presence>
<details>video/mpeg, mpegversion=(int){ 1, 2 }, systemstream=(boolean)false</details>
</caps>
<caps>
<name>audio_%02d</name>
<direction>source</direction>
<presence>sometimes</presence>
<details>audio/mpeg, mpegversion=(int)1</details>
</caps>
<caps>
<name>private_%d</name>
<direction>source</direction>
<presence>sometimes</presence>
<details>ANY</details>
</caps>
<caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>video/mpeg, mpegversion=(int)2, systemstream=(boolean)true</details>
<details>video/x-dvd-subpicture</details>
</caps>
<caps>
<name>dvd_audio_%02d</name>
<name>subpicture_%d</name>
<direction>source</direction>
<presence>sometimes</presence>
<details>video/x-dvd-subpicture</details>
</caps>
<caps>
<name>current_audio</name>
<direction>source</direction>
<presence>always</presence>
<details>audio/mpeg, mpegversion=(int)1; audio/x-lpcm, width=(int){ 16, 20, 24 }, rate=(int){ 48000, 96000 }, channels=(int)[ 1, 8 ], dynamic_range=(int)[ 0, 255 ], emphasis=(boolean){ false, true }, mute=(boolean){ false, true }; audio/x-ac3; audio/x-dts</details>
</caps>
<caps>
@ -53,22 +41,34 @@
<details>video/mpeg, mpegversion=(int){ 1, 2 }, systemstream=(boolean)false</details>
</caps>
<caps>
<name>current_audio</name>
<name>dvd_audio_%02d</name>
<direction>source</direction>
<presence>always</presence>
<presence>sometimes</presence>
<details>audio/mpeg, mpegversion=(int)1; audio/x-lpcm, width=(int){ 16, 20, 24 }, rate=(int){ 48000, 96000 }, channels=(int)[ 1, 8 ], dynamic_range=(int)[ 0, 255 ], emphasis=(boolean){ false, true }, mute=(boolean){ false, true }; audio/x-ac3; audio/x-dts</details>
</caps>
<caps>
<name>subpicture_%d</name>
<direction>source</direction>
<presence>sometimes</presence>
<details>video/x-dvd-subpicture</details>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>video/mpeg, mpegversion=(int)2, systemstream=(boolean)true</details>
</caps>
<caps>
<name>current_subpicture</name>
<name>private_%d</name>
<direction>source</direction>
<presence>always</presence>
<details>video/x-dvd-subpicture</details>
<presence>sometimes</presence>
<details>ANY</details>
</caps>
<caps>
<name>audio_%02d</name>
<direction>source</direction>
<presence>sometimes</presence>
<details>audio/mpeg, mpegversion=(int)1</details>
</caps>
<caps>
<name>video_%02d</name>
<direction>source</direction>
<presence>sometimes</presence>
<details>video/mpeg, mpegversion=(int){ 1, 2 }, systemstream=(boolean)false</details>
</caps>
</pads>
</element>
@ -81,16 +81,10 @@
Wim Taymans &lt;wim.taymans@chello.be&gt;</author>
<pads>
<caps>
<name>video_%02d</name>
<direction>source</direction>
<presence>sometimes</presence>
<details>video/mpeg, mpegversion=(int){ 1, 2 }, systemstream=(boolean)false</details>
</caps>
<caps>
<name>audio_%02d</name>
<direction>source</direction>
<presence>sometimes</presence>
<details>audio/mpeg, mpegversion=(int)1</details>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>video/mpeg, mpegversion=(int){ 1, 2 }, systemstream=(boolean)true</details>
</caps>
<caps>
<name>private_%d</name>
@ -99,10 +93,16 @@
<details>ANY</details>
</caps>
<caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>video/mpeg, mpegversion=(int){ 1, 2 }, systemstream=(boolean)true</details>
<name>audio_%02d</name>
<direction>source</direction>
<presence>sometimes</presence>
<details>audio/mpeg, mpegversion=(int)1</details>
</caps>
<caps>
<name>video_%02d</name>
<direction>source</direction>
<presence>sometimes</presence>
<details>video/mpeg, mpegversion=(int){ 1, 2 }, systemstream=(boolean)false</details>
</caps>
</pads>
</element>
@ -115,14 +115,14 @@
Wim Taymans &lt;wim.taymans@chello.be&gt;</author>
<pads>
<caps>
<name>src</name>
<direction>source</direction>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>video/mpeg, mpegversion=(int)[ 1, 2 ], systemstream=(boolean)true</details>
</caps>
<caps>
<name>sink</name>
<direction>sink</direction>
<name>src</name>
<direction>source</direction>
<presence>always</presence>
<details>video/mpeg, mpegversion=(int)[ 1, 2 ], systemstream=(boolean)true</details>
</caps>

View file

@ -17,9 +17,22 @@
* Boston, MA 02111-1307, USA.
*/
/*
* library can be found at http://www.penguin.cz/~utx/amr
* gst-launch filesrc location=./bugdata/Bug24403/Ganga9_21_nb.amr ! amrnbparse ! amrnbdec ! audioresample ! audioconvert ! alsasink
/**
* SECTION:element-amrnbdec
* @see_also: #GstAmrnbEnc, #GstAmrnbParse
*
* <refsect2>
* <para>
* This is an AMR narrowband decoder based on the
* <ulink url="http://www.penguin.cz/~utx/amr">reference codec implementation</ulink>.
* </para>
* <title>Example launch line</title>
* <para>
* <programlisting>
* gst-launch filesrc location=abc.amr ! amrnbparse ! amrnbdec ! audioresample ! audioconvert ! alsasink
* </programlisting>
* </para>
* </refsect2>
*/
#ifdef HAVE_CONFIG_H

View file

@ -17,6 +17,26 @@
* Boston, MA 02111-1307, USA.
*/
/**
* SECTION:element-amrnbenc
* @see_also: #GstAmrnbDec, #GstAmrnbParse
*
* <refsect2>
* <para>
* This is an AMR narrowband encoder based on the
* <ulink url="http://www.penguin.cz/~utx/amr">reference codec implementation</ulink>.
* </para>
* <title>Example launch line</title>
* <para>
* <programlisting>
* gst-launch filesrc location=abc.wav ! wavparse ! audioresample ! audioconvert ! amrnbenc ! filesink location=abc.amr
* </programlisting>
* </para>
* Please not that the above stream misses the header, that is needed to play
* the stream.
* </refsect2>
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif

View file

@ -17,6 +17,23 @@
* Boston, MA 02111-1307, USA.
*/
/**
* SECTION:element-amrnbparse
* @see_also: #GstAmrnbDec, #GstAmrnbEnc
*
* <refsect2>
* <para>
* This is an AMR narrowband parser.
* </para>
* <title>Example launch line</title>
* <para>
* <programlisting>
* gst-launch filesrc location=abc.amr ! amrnbparse ! amrnbdec ! audioresample ! audioconvert ! alsasink
* </programlisting>
* </para>
* </refsect2>
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif

View file

@ -24,75 +24,6 @@
#include <string.h>
#include "gstmad.h"
#define GST_TYPE_MAD \
(gst_mad_get_type())
#define GST_MAD(obj) \
(G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_MAD,GstMad))
#define GST_MAD_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_MAD,GstMadClass))
#define GST_IS_MAD(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_MAD))
#define GST_IS_MAD_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_MAD))
typedef struct _GstMad GstMad;
typedef struct _GstMadClass GstMadClass;
struct _GstMad
{
GstElement element;
/* pads */
GstPad *sinkpad, *srcpad;
/* state */
struct mad_stream stream;
struct mad_frame frame;
struct mad_synth synth;
guchar *tempbuffer; /* temporary buffer to serve to mad */
glong tempsize; /* running count of temp buffer size */
GstClockTime last_ts;
guint64 base_byte_offset;
guint64 bytes_consumed; /* since the base_byte_offset */
guint64 total_samples; /* the number of samples since the sync point */
gboolean in_error; /* set when mad's in an error state */
gboolean restart;
guint64 segment_start;
gboolean need_newsegment;
/* info */
struct mad_header header;
gboolean new_header;
guint framecount;
gint vbr_average; /* average bitrate */
guint64 vbr_rate; /* average * framecount */
gboolean half;
gboolean ignore_crc;
GstTagList *tags;
/* negotiated format */
gint rate, pending_rate;
gint channels, pending_channels;
gint times_pending;
gboolean caps_set; /* used to keep track of whether to change/update caps */
GstIndex *index;
gint index_id;
gboolean check_for_xing;
gboolean xing_found;
gboolean framed; /* whether there is a demuxer in front of us */
};
struct _GstMadClass
{
GstElementClass parent_class;
};
/* elementfactory information */
static const GstElementDetails gst_mad_details =

View file

@ -28,6 +28,76 @@
G_BEGIN_DECLS
#define GST_TYPE_MAD \
(gst_mad_get_type())
#define GST_MAD(obj) \
(G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_MAD,GstMad))
#define GST_MAD_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_MAD,GstMadClass))
#define GST_IS_MAD(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_MAD))
#define GST_IS_MAD_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_MAD))
typedef struct _GstMad GstMad;
typedef struct _GstMadClass GstMadClass;
struct _GstMad
{
GstElement element;
/* pads */
GstPad *sinkpad, *srcpad;
/* state */
struct mad_stream stream;
struct mad_frame frame;
struct mad_synth synth;
guchar *tempbuffer; /* temporary buffer to serve to mad */
glong tempsize; /* running count of temp buffer size */
GstClockTime last_ts;
guint64 base_byte_offset;
guint64 bytes_consumed; /* since the base_byte_offset */
guint64 total_samples; /* the number of samples since the sync point */
gboolean in_error; /* set when mad's in an error state */
gboolean restart;
guint64 segment_start;
gboolean need_newsegment;
/* info */
struct mad_header header;
gboolean new_header;
guint framecount;
gint vbr_average; /* average bitrate */
guint64 vbr_rate; /* average * framecount */
gboolean half;
gboolean ignore_crc;
GstTagList *tags;
/* negotiated format */
gint rate, pending_rate;
gint channels, pending_channels;
gint times_pending;
gboolean caps_set; /* used to keep track of whether to change/update caps */
GstIndex *index;
gint index_id;
gboolean check_for_xing;
gboolean xing_found;
gboolean framed; /* whether there is a demuxer in front of us */
};
struct _GstMadClass
{
GstElementClass parent_class;
};
GType gst_mad_get_type (void);
GType gst_id3_tag_get_type (guint type);