mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-23 10:11:08 +00:00
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:
parent
376b414679
commit
bebdf0837e
21 changed files with 356 additions and 208 deletions
29
ChangeLog
29
ChangeLog
|
@ -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
2
common
|
@ -1 +1 @@
|
|||
Subproject commit e6a9941c662289c0743e5d8f4150458a664226f2
|
||||
Subproject commit 5167bced491ffe62251c62d6c5e7b9a7541e97e5
|
|
@ -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,8 +85,11 @@ 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/mad/gstmad.h \
|
||||
$(top_srcdir)/ext/sidplay/gstsiddec.h
|
||||
|
||||
# Images to copy into HTML directory.
|
||||
|
|
|
@ -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" />
|
||||
|
|
|
@ -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>
|
||||
|
||||
|
|
|
@ -16,18 +16,18 @@
|
|||
<description>Decodes ATSC A/52 encoded audio streams</description>
|
||||
<author>David I. Lehn <dlehn@users.sourceforge.net></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>
|
||||
|
|
|
@ -16,18 +16,18 @@
|
|||
<description>Adaptive Multi-Rate Narrow-Band audio decoder</description>
|
||||
<author>Ronald Bultje <rbultje@ronald.bitfreak.net></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 <rbultje@ronald.bitfreak.net>, Wim Taymans <wim@fluendo.com></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 <rbultje@ronald.bitfreak.net></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>
|
||||
|
|
|
@ -17,10 +17,10 @@
|
|||
<author>Owen Fraser-Green <owen@discobabe.net></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>
|
||||
|
|
|
@ -17,18 +17,18 @@
|
|||
<author>Jan Schmidt <jan@noraisin.net>
|
||||
Michael Smith <msmith@fluendo.com></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>
|
||||
|
|
|
@ -16,18 +16,18 @@
|
|||
<description>Decodes DVD subtitles into AYUV video frames</description>
|
||||
<author>Wim Taymans <wim.taymans@chello.be>, Jan Schmidt <thaytan@mad.scientist.com></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>
|
||||
|
|
|
@ -16,18 +16,18 @@
|
|||
<description>Pads AC3 frames into IEC958 frames suitable for a raw S/PDIF interface</description>
|
||||
<author>Martin Soto <martinsoto@users.sourceforge.net></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>
|
||||
|
|
|
@ -16,18 +16,18 @@
|
|||
<description>High-quality free MP3 encoder</description>
|
||||
<author>Erik Walthinsen <omega@cse.ogi.edu>, Wim Taymans <wim@fluendo.com></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>
|
||||
|
|
|
@ -16,18 +16,18 @@
|
|||
<description>Add ID3 tagging information</description>
|
||||
<author>Benjamin Otte <otte@gnome.org></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 <wim@fluendo.com></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>
|
||||
|
|
|
@ -16,18 +16,18 @@
|
|||
<description>Uses libmpeg2 to decode MPEG video streams</description>
|
||||
<author>Wim Taymans <wim.taymans@chello.be></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>
|
||||
|
|
|
@ -17,18 +17,18 @@
|
|||
<author>Jan Schmidt <thaytan@mad.scientist.com>
|
||||
Erik Walthinsen <omega@cse.ogi.edu></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>
|
||||
|
|
|
@ -17,33 +17,21 @@
|
|||
<author>Martin Soto <martinsoto@users.sourceforge.net></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 <wim.taymans@chello.be></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 <wim.taymans@chello.be></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>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 =
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue