Commit 08393941 authored by Jan Schmidt's avatar Jan Schmidt

Move AppSrc/AppSink from gst-plugins-bad. Fixes #564421

Original commit message from CVS:
* configure.ac:
* docs/libs/Makefile.am:
* docs/libs/gst-plugins-base-libs-docs.sgml:
* docs/libs/gst-plugins-base-libs-sections.txt:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-base-plugins-docs.sgml:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
* docs/plugins/gst-plugins-base-plugins.args:
* docs/plugins/gst-plugins-base-plugins.hierarchy:
* docs/plugins/gst-plugins-base-plugins.interfaces:
* docs/plugins/gst-plugins-base-plugins.prerequisites:
* docs/plugins/gst-plugins-base-plugins.signals:
* docs/plugins/inspect/plugin-app.xml:
* gst-libs/gst/Makefile.am:
* gst-libs/gst/app/gstappsink.c:
* gst-libs/gst/app/gstappsrc.c:
* tests/examples/Makefile.am:
* tests/examples/app/Makefile.am:
Move AppSrc/AppSink from gst-plugins-bad. Fixes #564421
parent 0a4c1bc6
2009-01-05 Jan Schmidt <jan.schmidt@sun.com>
* configure.ac:
* docs/libs/Makefile.am:
* docs/libs/gst-plugins-base-libs-docs.sgml:
* docs/libs/gst-plugins-base-libs-sections.txt:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-base-plugins-docs.sgml:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
* docs/plugins/gst-plugins-base-plugins.args:
* docs/plugins/gst-plugins-base-plugins.hierarchy:
* docs/plugins/gst-plugins-base-plugins.interfaces:
* docs/plugins/gst-plugins-base-plugins.prerequisites:
* docs/plugins/gst-plugins-base-plugins.signals:
* docs/plugins/inspect/plugin-app.xml:
* gst-libs/gst/Makefile.am:
* gst-libs/gst/app/gstappsink.c:
* gst-libs/gst/app/gstappsrc.c:
* tests/examples/Makefile.am:
* tests/examples/app/Makefile.am:
Move AppSrc/AppSink from gst-plugins-bad. Fixes #564421
2009-01-05 Wim Taymans <wim.taymans@collabora.co.uk>
* gst-libs/gst/audio/gstbaseaudiosink.c:
......@@ -294,6 +294,7 @@ dnl *** plug-ins to include ***
dnl these are all the gst plug-ins, compilable without additional libs
AG_GST_CHECK_PLUGIN(adder)
AG_GST_CHECK_PLUGIN(app)
AG_GST_CHECK_PLUGIN(audioconvert)
AG_GST_CHECK_PLUGIN(audiorate)
AG_GST_CHECK_PLUGIN(audiotestsrc)
......@@ -647,6 +648,7 @@ Makefile
gst-plugins-base.spec
gst/Makefile
gst/adder/Makefile
gst/app/Makefile
gst/audioconvert/Makefile
gst/audiorate/Makefile
gst/audiotestsrc/Makefile
......@@ -678,6 +680,7 @@ ext/vorbis/Makefile
gst-libs/Makefile
gst-libs/gst/Makefile
gst-libs/gst/audio/Makefile
gst-libs/gst/app/Makefile
gst-libs/gst/cdda/Makefile
gst-libs/gst/fft/Makefile
gst-libs/gst/floatcast/Makefile
......@@ -724,6 +727,7 @@ pkgconfig/gstreamer-plugins-base-uninstalled.pc
tests/Makefile
tests/check/Makefile
tests/examples/Makefile
tests/examples/app/Makefile
tests/examples/dynamic/Makefile
tests/examples/seek/Makefile
tests/examples/volume/Makefile
......
......@@ -74,7 +74,8 @@ SCANOBJ_DEPS = \
$(top_builddir)/gst-libs/gst/rtsp/libgstrtsp-@GST_MAJORMINOR@.la \
$(top_builddir)/gst-libs/gst/sdp/libgstsdp-@GST_MAJORMINOR@.la \
$(top_builddir)/gst-libs/gst/tag/libgsttag-@GST_MAJORMINOR@.la \
$(top_builddir)/gst-libs/gst/video/libgstvideo-@GST_MAJORMINOR@.la
$(top_builddir)/gst-libs/gst/video/libgstvideo-@GST_MAJORMINOR@.la \
$(top_builddir)/gst-libs/gst/app/libgstapp-@GST_MAJORMINOR@.la
# Header files to ignore when scanning.
IGNORE_HFILES =
......
......@@ -4,6 +4,9 @@
<!ENTITY % version-entities SYSTEM "version.entities">
%version-entities;
<!ENTITY GstCompiling SYSTEM "compiling.sgml">
<!-- app-->
<!ENTITY GstAppSrc SYSTEM "xml/gstappsrc.xml">
<!ENTITY GstAppSink SYSTEM "xml/gstappsink.xml">
<!-- audio -->
<!ENTITY GstAudio SYSTEM "xml/gstaudio.xml">
<!ENTITY GstAudioClock SYSTEM "xml/gstaudioclock.xml">
......@@ -15,6 +18,7 @@
<!ENTITY GstBaseAudioSrc SYSTEM "xml/gstbaseaudiosrc.xml">
<!ENTITY GstMultiChannel SYSTEM "xml/gstmultichannel.xml">
<!ENTITY GstRingBuffer SYSTEM "xml/gstringbuffer.xml">
<!-- app -->
<!-- cdda -->
<!ENTITY GstCddaBaseSrc SYSTEM "xml/gstcddabasesrc.xml">
<!-- fft -->
......@@ -96,6 +100,20 @@
</para>
&GstCompiling;
<chapter id="gstreamer-app">
<title>App Library</title>
<para>
This library should be linked to by getting cflags and libs from
<filename>gstreamer-plugins-base-&GST_MAJORMINOR;.pc</filename> and adding
<filename>-lgstapp-&GST_MAJORMINOR;</filename> to the library flags.
</para>
<para>
To use it the functionality, insert an appsrc or appsink element into a pipeline and call the appropriate functions on the element.
</para>
&GstAppSrc;
&GstAppSink;
</chapter>
<chapter id="gstreamer-audio">
<title>Audio Library</title>
<para>
......
# app
<SECTION>
<FILE>gstappsrc</FILE>
<TITLE>appsrc</TITLE>
<INCLUDE>gst/app/appsrc.h</INCLUDE>
GstAppSrc
GstAppStreamType
gst_app_src_set_caps
gst_app_src_get_caps
gst_app_src_get_latency
gst_app_src_set_latency
gst_app_src_set_size
gst_app_src_get_size
gst_app_src_set_stream_type
gst_app_src_get_stream_type
gst_app_src_set_max_bytes
gst_app_src_get_max_bytes
gst_app_src_push_buffer
gst_app_src_end_of_stream
<SUBSECTION Standard>
GstAppSrcClass
GST_APP_SRC
GST_IS_APP_SRC
GST_TYPE_APP_SRC
gst_app_src_get_type
GST_APP_SRC_CLASS
GST_IS_APP_SRC_CLASS
<SUBSECTION Private>
gst_app_buffer_get_type
gst_app_buffer_new
gst_app_marshal_BOOLEAN__UINT64
gst_app_marshal_ENUM__OBJECT
gst_app_marshal_ENUM__VOID
gst_app_marshal_VOID__UINT
</SECTION>
<SECTION>
<FILE>gstappsink</FILE>
<TITLE>appsink</TITLE>
<INCLUDE>gst/app/appsink.h</INCLUDE>
GstAppSink
gst_app_sink_set_caps
gst_app_sink_get_caps
gst_app_sink_is_eos
gst_app_sink_set_emit_signals
gst_app_sink_get_emit_signals
gst_app_sink_set_max_buffers
gst_app_sink_get_max_buffers
gst_app_sink_set_drop
gst_app_sink_get_drop
gst_app_sink_pull_preroll
gst_app_sink_pull_buffer
<SUBSECTION Standard>
GstAppSinkClass
GST_APP_SINK
GST_IS_APP_SINK
GST_TYPE_APP_SINK
gst_app_sink_get_type
GST_APP_SINK_CLASS
GST_IS_APP_SINK_CLASS
</SECTION>
# audio
......
......@@ -119,7 +119,9 @@ EXTRA_HFILES = \
$(top_srcdir)/gst/videotestsrc/gstvideotestsrc.h \
$(top_srcdir)/gst/volume/gstvolume.h \
$(top_srcdir)/sys/ximage/ximagesink.h \
$(top_srcdir)/sys/xvimage/xvimagesink.h
$(top_srcdir)/sys/xvimage/xvimagesink.h \
$(top_srcdir)/gst-libs/gst/app/gstappsrc.h \
$(top_srcdir)/gst-libs/gst/app/gstappsink.h
# Images to copy into HTML directory.
HTML_IMAGES =
......
......@@ -13,6 +13,8 @@
<chapter>
<title>gst-plugins-base Elements</title>
<xi:include href="xml/element-adder.xml" />
<xi:include href="xml/element-appsrc.xml" />
<xi:include href="xml/element-appsink.xml" />
<xi:include href="xml/element-alsamixer.xml" />
<xi:include href="xml/element-alsasink.xml" />
<xi:include href="xml/element-alsasrc.xml" />
......@@ -64,6 +66,7 @@
<title>gst-plugins-base Plugins</title>
<xi:include href="xml/plugin-adder.xml" />
<xi:include href="xml/plugin-alsa.xml" />
<xi:include href="xml/plugin-app.xml" />
<xi:include href="xml/plugin-audioconvert.xml" />
<xi:include href="xml/plugin-audiorate.xml" />
<xi:include href="xml/plugin-audioresample.xml" />
......
......@@ -16,6 +16,18 @@ GstAdderFunction
GstAdderInputChannel
</SECTION>
<SECTION>
<FILE>element-appsrc</FILE>
<TITLE>appsrc</TITLE>
GstAppSrc
</SECTION>
<SECTION>
<FILE>element-appsink</FILE>
<TITLE>appsink</TITLE>
GstAppSink
</SECTION>
<SECTION>
<FILE>element-alsamixer</FILE>
GstAlsaMixerElement
......
......@@ -1368,6 +1368,26 @@
<DEFAULT>Sine</DEFAULT>
</ARG>
<ARG>
<NAME>GstAudioTestSrc::can-activate-pull</NAME>
<TYPE>gboolean</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
<NICK>Can activate pull</NICK>
<BLURB>Can activate in pull mode.</BLURB>
<DEFAULT>FALSE</DEFAULT>
</ARG>
<ARG>
<NAME>GstAudioTestSrc::can-activate-push</NAME>
<TYPE>gboolean</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
<NICK>Can activate push</NICK>
<BLURB>Can activate in push mode.</BLURB>
<DEFAULT>TRUE</DEFAULT>
</ARG>
<ARG>
<NAME>GstVideoScale::method</NAME>
<TYPE>GstVideoScaleMethod</TYPE>
......@@ -2588,3 +2608,143 @@
<DEFAULT>"%H:%M:%S"</DEFAULT>
</ARG>
<ARG>
<NAME>GstAppSink::caps</NAME>
<TYPE>GstCaps*</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
<NICK>Caps</NICK>
<BLURB>The allowed caps for the sink pad.</BLURB>
<DEFAULT></DEFAULT>
</ARG>
<ARG>
<NAME>GstAppSink::drop</NAME>
<TYPE>gboolean</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
<NICK>Drop</NICK>
<BLURB>Drop old buffers when the buffer queue is filled.</BLURB>
<DEFAULT>FALSE</DEFAULT>
</ARG>
<ARG>
<NAME>GstAppSink::emit-signals</NAME>
<TYPE>gboolean</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
<NICK>Emit signals</NICK>
<BLURB>Emit new-preroll and new-buffer signals.</BLURB>
<DEFAULT>FALSE</DEFAULT>
</ARG>
<ARG>
<NAME>GstAppSink::eos</NAME>
<TYPE>gboolean</TYPE>
<RANGE></RANGE>
<FLAGS>r</FLAGS>
<NICK>EOS</NICK>
<BLURB>Check if the sink is EOS or not started.</BLURB>
<DEFAULT>TRUE</DEFAULT>
</ARG>
<ARG>
<NAME>GstAppSink::max-buffers</NAME>
<TYPE>guint</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
<NICK>Max Buffers</NICK>
<BLURB>The maximum number of buffers to queue internally (0 = unlimited).</BLURB>
<DEFAULT>0</DEFAULT>
</ARG>
<ARG>
<NAME>GstAppSrc::block</NAME>
<TYPE>gboolean</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
<NICK>Block</NICK>
<BLURB>Block push-buffer when max-bytes are queued.</BLURB>
<DEFAULT>FALSE</DEFAULT>
</ARG>
<ARG>
<NAME>GstAppSrc::caps</NAME>
<TYPE>GstCaps*</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
<NICK>Caps</NICK>
<BLURB>The allowed caps for the src pad.</BLURB>
<DEFAULT></DEFAULT>
</ARG>
<ARG>
<NAME>GstAppSrc::format</NAME>
<TYPE>GstFormat</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
<NICK>Format</NICK>
<BLURB>The format of the segment events and seek.</BLURB>
<DEFAULT>GST_FORMAT_BYTES</DEFAULT>
</ARG>
<ARG>
<NAME>GstAppSrc::is-live</NAME>
<TYPE>gboolean</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
<NICK>Is Live</NICK>
<BLURB>Whether to act as a live source.</BLURB>
<DEFAULT>FALSE</DEFAULT>
</ARG>
<ARG>
<NAME>GstAppSrc::max-bytes</NAME>
<TYPE>guint64</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
<NICK>Max bytes</NICK>
<BLURB>The maximum number of bytes to queue internally (0 = unlimited).</BLURB>
<DEFAULT>200000</DEFAULT>
</ARG>
<ARG>
<NAME>GstAppSrc::max-latency</NAME>
<TYPE>gint64</TYPE>
<RANGE>>= -1</RANGE>
<FLAGS>rw</FLAGS>
<NICK>Max Latency</NICK>
<BLURB>The maximum latency (-1 = unlimited).</BLURB>
<DEFAULT>-1</DEFAULT>
</ARG>
<ARG>
<NAME>GstAppSrc::min-latency</NAME>
<TYPE>gint64</TYPE>
<RANGE>>= -1</RANGE>
<FLAGS>rw</FLAGS>
<NICK>Min Latency</NICK>
<BLURB>The minimum latency (-1 = default).</BLURB>
<DEFAULT>-1</DEFAULT>
</ARG>
<ARG>
<NAME>GstAppSrc::size</NAME>
<TYPE>gint64</TYPE>
<RANGE>>= -1</RANGE>
<FLAGS>rw</FLAGS>
<NICK>Size</NICK>
<BLURB>The size of the data stream in bytes (-1 if unknown).</BLURB>
<DEFAULT>-1</DEFAULT>
</ARG>
<ARG>
<NAME>GstAppSrc::stream-type</NAME>
<TYPE>GstAppStreamType</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
<NICK>Stream Type</NICK>
<BLURB>the type of the stream.</BLURB>
<DEFAULT>Stream</DEFAULT>
</ARG>
......@@ -12,14 +12,11 @@ GObject
GstPlayBaseBin
GstPlayBin
GstPlayBin2
GstDecodeBin
GstDecodeBin2
GstURIDecodeBin
GstTextOverlay
GstTimeOverlay
GstClockOverlay
GstTextRender
GstDecodeBin
GstBaseSrc
GstGnomeVFSSrc
GstPushSrc
GstCddaBaseSrc
GstCdParanoiaSrc
......@@ -31,33 +28,37 @@ GObject
GstTCPClientSrc
GstTCPServerSrc
GstVideoTestSrc
GstGnomeVFSSrc
GstGioBaseSrc
GstGioSrc
GstGioStreamSrc
GstAudioTestSrc
GstAppSrc
GstBaseSink
GstGnomeVFSSink
GstBaseAudioSink
GstAudioSink
GstAlsaSink
GstGioBaseSink
GstGioSink
GstGioStreamSink
GstBaseAudioSink
GstAudioSink
GstAlsaSink
GstVideoSink
GstXvImageSink
GstXImageSink
GstXvImageSink
GstTCPClientSink
GstMultiFdSink
GstTCPServerSink
GstAppSink
GstTheoraDec
GstTheoraEnc
GstTheoraParse
GstVorbisEnc
GstVorbisDec
GstVorbisParse
GstVorbisTag
GstAlsaMixerElement
GstTheoraDec
GstTheoraEnc
GstTheoraParse
GstTextOverlay
GstTimeOverlay
GstClockOverlay
GstTextRender
GstOggDemux
GstOggMux
GstOgmParse
......@@ -66,31 +67,23 @@ GObject
GstOgmTextParse
GstOggParse
GstOggAviParse
GstVisual
GstVisualjess
GstVisualbumpscope
GstVisualcorona
GstVisualinfinite
GstVisualjakdaw
GstVisuallv_analyzer
GstVisuallv_scope
GstVisualoinksie
GstGDPDepay
GstGDPPay
GstStreamSelector
GstQueue2
GstAlsaMixerElement
GstBaseTransform
GstAudioFilter
GstVolume
GstFFMpegCsp
GstSpeexResample
GstVideoScale
GstAudioConvert
GstAdder
GstAudioFilter
GstVolume
GstSpeexResample
GstGDPDepay
GstGDPPay
GstVideoRate
GstAudioRate
GstQueue2
GstStreamSelector
GstSubParse
GstSsaParse
GstAdder
GstAudioRate
GstBus
GstTask
GstClock
......@@ -100,10 +93,6 @@ GObject
GstRegistry
GstRingBuffer
GstSignalObject
PangoFontMap
PangoFcFontMap
PangoFT2FontMap
PangoContext
LinkConnection
GIOPConnection
LinkServer
......@@ -111,12 +100,16 @@ GObject
GConfClient
GFileMonitor
GLocalDirectoryMonitor
GFamDirectoryMonitor
GInotifyDirectoryMonitor
GLocalFileMonitor
GFamFileMonitor
GInotifyFileMonitor
GVolumeMonitor
GNativeVolumeMonitor
GHalVolumeMonitor
GProxyVolumeMonitor
GProxyVolumeMonitorHal
GProxyVolumeMonitorGPhoto2
GUnixVolumeMonitor
GDaemonVolumeMonitor
GVfs
......@@ -127,33 +120,35 @@ GObject
GVfsUriMapper
GVfsUriMapperSmb
GVfsUriMapperHttp
HalDevice
HalPool
GHalDrive
GHalMount
GHalVolume
GAppLookupGConf
GProxyDrive
GProxyMount
GProxyVolume
GOutputStream
GInputStream
PangoFontMap
PangoFcFontMap
PangoFT2FontMap
PangoContext
GstTunerNorm
GstTunerChannel
GstColorBalanceChannel
GstStreamInfo
GstMixerTrack
GstStreamInfo
GInterface
GTypePlugin
GstChildProxy
GstURIHandler
GstTagSetter
GstImplementsInterface
GstMixer
GstPropertyProbe
GFile
GDesktopAppInfoLookup
GDrive
GMount
GVolume
GstTuner
GstTagSetter
GstImplementsInterface
GstMixer
GstPropertyProbe
GstNavigation
GstXOverlay
GstTuner
GstColorBalance
GstNavigation
......@@ -3,28 +3,29 @@ GstPipeline GstChildProxy
GstPlayBaseBin GstChildProxy
GstPlayBin GstChildProxy
GstPlayBin2 GstChildProxy
GstDecodeBin GstChildProxy
GstDecodeBin2 GstChildProxy
GstURIDecodeBin GstChildProxy
GstDecodeBin GstChildProxy
GstGnomeVFSSrc GstURIHandler
GstCddaBaseSrc GstURIHandler
GstCdParanoiaSrc GstURIHandler
GstAlsaSrc GstImplementsInterface GstMixer GstPropertyProbe
GstV4lElement GstImplementsInterface GstPropertyProbe GstTuner GstXOverlay GstColorBalance
GstV4lSrc GstImplementsInterface GstPropertyProbe GstTuner GstXOverlay GstColorBalance
GstGnomeVFSSrc GstURIHandler
GstV4lElement GstImplementsInterface GstPropertyProbe GstXOverlay GstTuner GstColorBalance
GstV4lSrc GstImplementsInterface GstPropertyProbe GstXOverlay GstTuner GstColorBalance
GstGioSrc GstURIHandler
GstAppSrc GstURIHandler
GstGnomeVFSSink GstURIHandler
GstAlsaSink GstPropertyProbe
GstGioSink GstURIHandler
GstXvImageSink GstImplementsInterface GstPropertyProbe GstXOverlay GstColorBalance GstNavigation
GstXImageSink GstImplementsInterface GstXOverlay GstNavigation
GstAlsaSink GstPropertyProbe
GstXImageSink GstImplementsInterface GstNavigation GstXOverlay
GstXvImageSink GstImplementsInterface GstPropertyProbe GstNavigation GstXOverlay GstColorBalance
GstVorbisEnc GstTagSetter
GstVorbisTag GstTagSetter
GstAlsaMixerElement GstImplementsInterface GstMixer GstPropertyProbe
GstVolume GstImplementsInterface GstMixer
GTypeModule GTypePlugin
GIOModule GTypePlugin
GHalDrive GDrive
GHalMount GMount
GHalVolume GVolume
GAppLookupGConf GDesktopAppInfoLookup
GProxyDrive GDrive
GProxyMount GMount
GProxyVolume GVolume
GstChildProxy GstObject
GstTagSetter GstObject GstElement
GstImplementsInterface GstObject GstElement
GstMixer GstObject GstImplementsInterface GstElement
GFile GObject
GDesktopAppInfoLookup GObject
GDrive GObject
GMount GObject
GVolume GObject
GstTuner GstObject GstImplementsInterface GstElement
GstTagSetter GstObject GstElement
GstImplementsInterface GstObject GstElement
GstMixer GstObject GstImplementsInterface GstElement
GstXOverlay GstObject GstImplementsInterface GstElement
GstTuner GstObject GstImplementsInterface GstElement
GstColorBalance GstObject GstImplementsInterface GstElement
......@@ -345,3 +345,76 @@ GstPlayBin2 *gstplaybin2
gint arg1
</SIGNAL>
<SIGNAL>
<NAME>GstAppSink::eos</NAME>
<RETURNS>void</RETURNS>
<FLAGS>l</FLAGS>
GstAppSink *gstappsink
</SIGNAL>
<SIGNAL>
<NAME>GstAppSink::new-buffer</NAME>
<RETURNS>void</RETURNS>
<FLAGS>l</FLAGS>
GstAppSink *gstappsink
</SIGNAL>
<SIGNAL>
<NAME>GstAppSink::new-preroll</NAME>
<RETURNS>void</RETURNS>
<FLAGS>l</FLAGS>
GstAppSink *gstappsink
</SIGNAL>
<SIGNAL>
<NAME>GstAppSink::pull-buffer</NAME>
<RETURNS>GstBuffer*</RETURNS>
<FLAGS>la</FLAGS>
GstAppSink *gstappsink
</SIGNAL>
<SIGNAL>
<NAME>GstAppSink::pull-preroll</NAME>
<RETURNS>GstBuffer*</RETURNS>
<FLAGS>la</FLAGS>
GstAppSink *gstappsink