+2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
+
+ * common/gtk-doc-plugins.mak:
+ * docs/plugins/Makefile.am:
+ * docs/plugins/gst-plugins-base-plugins-docs.sgml:
+ * docs/plugins/gst-plugins-base-plugins-sections.txt:
+ renamed to actual element names, so much nicer to look at
+ * docs/plugins/tmpl/gstmultifdsink.sgml:
+ remove
+ * docs/plugins/tmpl/multifdsink.sgml:
+ * docs/plugins/tmpl/tcpserversink.sgml:
+ add
+ * ext/alsa/gstalsa.c:
+ * ext/cdparanoia/gstcdparanoia.c: (cdparanoia_get_property):
+ * ext/ogg/gstoggmux.c:
+ * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_chain):
+ * gst/playback/gstdecodebin.c:
+ * gst/tcp/gstmultifdsink.c: (gst_multifdsink_class_init):
+ * gst/tcp/gsttcpserversink.c:
+ various fixes and documentation additions
+
2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
* common/Makefile.am:
-Subproject commit c99f9050f296219783c6717efe319dc741d2e2d3
+Subproject commit 856fbbfa88621ab67df141ead8d4d3df32c5c176
#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 --ignore-files=trio
+MKDB_OPTIONS=--sgml-mode
# Extra options to supply to gtkdoc-fixref.
# FIXME get the location of the installed gstreamer docs
SCANOBJ_DEPS =
# Header files to ignore when scanning.
-IGNORE_HFILES = avcodec.h gstffmpegcodecmap.h
+IGNORE_HFILES = avcodec.h gstffmpegcodecmap.h dsputil.h
+IGNORE_CFILES = utils.c mem.c imgconvert.c
-EXTRA_HFILES = $(top_srcdir)/gst/tcp/gstmultifdsink.h
+EXTRA_HFILES = \
+ $(top_srcdir)/gst/tcp/gstmultifdsink.h \
+ $(top_srcdir)/gst/tcp/gsttcpserversink.h
# Images to copy into HTML directory.
HTML_IMAGES =
<?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">
+ "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>gst-plugins-base Plugins Reference Manual</title>
+ <title>GStreamer Base Plugins &GST_MAJORMINOR; Plugins Reference Manual</title>
</bookinfo>
<chapter>
<title>gst-plugins-base Plugins</title>
- <xi:include href="xml/gstmultifdsink.xml"/>
+ <xi:include href="xml/multifdsink.xml"/>
+ <xi:include href="xml/tcpserversink.xml"/>
</chapter>
</book>
<SECTION>
-<FILE>gstmultifdsink</FILE>
+<FILE>multifdsink</FILE>
GstMultiFdSink
GstMultiFdSinkFlags
GstRecoverPolicy
GstSyncMethod
GstUnitType
GstClientStatus
-<TITLE>GstMultiFdSink</TITLE>
+<TITLE>multifdsink</TITLE>
<SUBSECTION Standard>
GstMultiFdSinkClass
</SECTION>
+<SECTION>
+<FILE>tcpserversink</FILE>
+GstTCPServerSink
+<TITLE>tcpserversink</TITLE>
+<SUBSECTION Standard>
+GstTCPServerSinkClass
+</SECTION>
+
+
+<SECTION>
+<FILE>private</FILE>
+CLIENTS_UNLOCK
+CLIENTS_LOCK_INIT
+GST_MULTIFDSINK_GET_CLASS
+CLIENTS_LOCK_FREE
+GST_IS_MULTIFDSINK_CLASS
+gst_multifdsink_get_type
+gst_multifdsink_remove
+GST_IS_MULTIFDSINK
+CLIENTS_LOCK
+GST_TYPE_MULTIFDSINK
+gst_multifdsink_clear
+GstTCPClient
+GST_MULTIFDSINK_CLASS
+gst_multifdsink_get_stats
+GST_MULTIFDSINK
+gst_multifdsink_add
+</SECTION>
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GstMultiFdSink
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### STRUCT GstMultiFdSink ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SIGNAL GstMultiFdSink::add ##### -->
-<para>
-
-</para>
-
-@gstmultifdsink: the object which received the signal.
-@arg1:
-
-<!-- ##### SIGNAL GstMultiFdSink::clear ##### -->
-<para>
-
-</para>
-
-@gstmultifdsink: the object which received the signal.
-
-<!-- ##### SIGNAL GstMultiFdSink::client-added ##### -->
-<para>
-
-</para>
-
-@gstmultifdsink: the object which received the signal.
-@arg1:
-
-<!-- ##### SIGNAL GstMultiFdSink::client-removed ##### -->
-<para>
-
-</para>
-
-@gstmultifdsink: the object which received the signal.
-@arg1:
-@arg2:
-
-<!-- ##### SIGNAL GstMultiFdSink::get-stats ##### -->
-<para>
-
-</para>
-
-@gstmultifdsink: the object which received the signal.
-@arg1:
-@Returns:
-
-<!-- ##### SIGNAL GstMultiFdSink::remove ##### -->
-<para>
-
-</para>
-
-@gstmultifdsink: the object which received the signal.
-@arg1:
-
-<!-- ##### ARG GstMultiFdSink:buffers-max ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GstMultiFdSink:buffers-queued ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GstMultiFdSink:buffers-soft-max ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GstMultiFdSink:bytes-served ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GstMultiFdSink:bytes-to-serve ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GstMultiFdSink:mode ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GstMultiFdSink:protocol ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GstMultiFdSink:recover-policy ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GstMultiFdSink:sync-clients ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GstMultiFdSink:sync-method ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GstMultiFdSink:timeout ##### -->
-<para>
-
-</para>
-
-<!-- ##### ENUM GstMultiFdSinkFlags ##### -->
-<para>
-
-</para>
-
-@GST_MULTIFDSINK_OPEN:
-@GST_MULTIFDSINK_FLAG_LAST:
-
-<!-- ##### ENUM GstRecoverPolicy ##### -->
-<para>
-
-</para>
-
-@GST_RECOVER_POLICY_NONE:
-@GST_RECOVER_POLICY_RESYNC_START:
-@GST_RECOVER_POLICY_RESYNC_SOFT:
-@GST_RECOVER_POLICY_RESYNC_KEYFRAME:
-
-<!-- ##### ENUM GstSyncMethod ##### -->
-<para>
-
-</para>
-
-@GST_SYNC_METHOD_NONE:
-@GST_SYNC_METHOD_WAIT:
-@GST_SYNC_METHOD_BURST:
-
-<!-- ##### ENUM GstUnitType ##### -->
-<para>
-
-</para>
-
-@GST_UNIT_TYPE_BUFFERS:
-@GST_UNIT_TYPE_TIME:
-@GST_UNIT_TYPE_BYTES:
-
-<!-- ##### ENUM GstClientStatus ##### -->
-<para>
-
-</para>
-
-@GST_CLIENT_STATUS_OK:
-@GST_CLIENT_STATUS_CLOSED:
-@GST_CLIENT_STATUS_REMOVED:
-@GST_CLIENT_STATUS_SLOW:
-@GST_CLIENT_STATUS_ERROR:
-@GST_CLIENT_STATUS_DUPLICATE:
-
--- /dev/null
+<!-- ##### SECTION Title ##### -->
+multifdsink
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### STRUCT GstMultiFdSink ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SIGNAL GstMultiFdSink::add ##### -->
+<para>
+
+</para>
+
+@gstmultifdsink: the object which received the signal.
+@arg1:
+
+<!-- ##### SIGNAL GstMultiFdSink::clear ##### -->
+<para>
+
+</para>
+
+@gstmultifdsink: the object which received the signal.
+
+<!-- ##### SIGNAL GstMultiFdSink::client-added ##### -->
+<para>
+
+</para>
+
+@gstmultifdsink: the object which received the signal.
+@arg1:
+
+<!-- ##### SIGNAL GstMultiFdSink::client-removed ##### -->
+<para>
+
+</para>
+
+@gstmultifdsink: the object which received the signal.
+@arg1:
+@arg2:
+
+<!-- ##### SIGNAL GstMultiFdSink::get-stats ##### -->
+<para>
+
+</para>
+
+@gstmultifdsink: the object which received the signal.
+@arg1:
+@Returns:
+
+<!-- ##### SIGNAL GstMultiFdSink::remove ##### -->
+<para>
+
+</para>
+
+@gstmultifdsink: the object which received the signal.
+@arg1:
+
+<!-- ##### ARG GstMultiFdSink:buffers-max ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GstMultiFdSink:buffers-queued ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GstMultiFdSink:buffers-soft-max ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GstMultiFdSink:bytes-served ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GstMultiFdSink:bytes-to-serve ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GstMultiFdSink:mode ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GstMultiFdSink:protocol ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GstMultiFdSink:recover-policy ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GstMultiFdSink:sync-clients ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GstMultiFdSink:sync-method ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GstMultiFdSink:timeout ##### -->
+<para>
+
+</para>
+
+<!-- ##### ENUM GstMultiFdSinkFlags ##### -->
+<para>
+
+</para>
+
+@GST_MULTIFDSINK_OPEN:
+@GST_MULTIFDSINK_FLAG_LAST:
+
+<!-- ##### ENUM GstRecoverPolicy ##### -->
+<para>
+
+</para>
+
+@GST_RECOVER_POLICY_NONE:
+@GST_RECOVER_POLICY_RESYNC_START:
+@GST_RECOVER_POLICY_RESYNC_SOFT:
+@GST_RECOVER_POLICY_RESYNC_KEYFRAME:
+
+<!-- ##### ENUM GstSyncMethod ##### -->
+<para>
+
+</para>
+
+@GST_SYNC_METHOD_NONE:
+@GST_SYNC_METHOD_WAIT:
+@GST_SYNC_METHOD_BURST:
+
+<!-- ##### ENUM GstUnitType ##### -->
+<para>
+
+</para>
+
+@GST_UNIT_TYPE_BUFFERS:
+@GST_UNIT_TYPE_TIME:
+@GST_UNIT_TYPE_BYTES:
+
+<!-- ##### ENUM GstClientStatus ##### -->
+<para>
+
+</para>
+
+@GST_CLIENT_STATUS_OK:
+@GST_CLIENT_STATUS_CLOSED:
+@GST_CLIENT_STATUS_REMOVED:
+@GST_CLIENT_STATUS_SLOW:
+@GST_CLIENT_STATUS_ERROR:
+@GST_CLIENT_STATUS_DUPLICATE:
+
--- /dev/null
+<!-- ##### SECTION Title ##### -->
+tcpserversink
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### STRUCT GstTCPServerSink ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### ARG GstTCPServerSink:host ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GstTCPServerSink:port ##### -->
+<para>
+
+</para>
+
static gboolean gst_alsa_pad_query (GstPad * pad,
GstQueryType type, GstFormat * format, gint64 * value);
-/*** TYPE FUNCTIONS ***********************************************************/
+/* TYPE FUNCTIONS ***********************************************************/
GType
gst_alsa_get_type (void)
return alsa_type;
}
-/*** GOBJECT FUNCTIONS ********************************************************/
+/* GOBJECT FUNCTIONS ********************************************************/
enum
{
iface->get_values = gst_alsa_probe_get_values;
}
-/*** GSTREAMER PAD / QUERY / CONVERSION / STATE FUNCTIONS *********************/
+/* GSTREAMER PAD / QUERY / CONVERSION / STATE FUNCTIONS *********************/
static GstPad *
gst_alsa_request_new_pad (GstElement * element, GstPadTemplate * templ,
}
}
-/**
+/*
* Get all available caps.
* @format: SND_PCM_FORMAT_UNKNOWN for all formats, desired format else
* @rate: allowed rates if < 0, else desired rate
GST_ALSA (element)->ext_clock = clock;
}
-/*** AUDIO PROCESSING *********************************************************/
+/* AUDIO PROCESSING *********************************************************/
inline snd_pcm_sframes_t
gst_alsa_update_avail (GstAlsa * this)
return TRUE;
}
-/**
- * error out or make sure we're in SND_PCM_STATE_RUNNING afterwards
+/*
+ * error out or make sure we're in SND_PCM_STATE_RUNNING afterwards
* return FALSE if we're not
*/
inline gboolean
return TRUE;
}
-/*** AUDIO SETUP / START / STOP ***********************************************/
+/* AUDIO SETUP / START / STOP ***********************************************/
void
gst_alsa_set_eos (GstAlsa * this)
return TRUE;
}
-/**
+/*
* You must set all hw parameters at once and can't use already set params and
* change them.
* Thx ALSA for not documenting this
return TRUE;
}
-/*** QUERYING/FORMAT/CONVERSION FUNCTIONS *************************************/
+/* QUERYING/FORMAT/CONVERSION FUNCTIONS *************************************/
static const GstFormat *
gst_alsa_get_formats (GstPad * pad)
);
-/********** Define useful types for non-programmatic interfaces **********/
+/* Define useful types for non-programmatic interfaces **********/
#define GST_TYPE_PARANOIA_MODE (gst_paranoia_mode_get_type())
static GType
gst_paranoia_mode_get_type (void)
return paranoia_endian_type;
}
-/********** Standard stuff for signals and arguments **********/
+/* Standard stuff for signals and arguments **********/
/* CDParanoia signals and args */
enum
{
g_value_set_enum (value, src->paranoia_mode);
break;
case ARG_DISCID:
- /**
+ /*
* Due to possible autocorrections of start sectors of audio tracks on
* multisession cds, we can maybe not compute the correct discid.
* So issue a warning.
return TRUE;
}
-/*** GSTURIHANDLER INTERFACE *************************************************/
+/* GSTURIHANDLER INTERFACE *************************************************/
static guint
cdparanoia_uri_get_type (void)
return caps;
}
-/**
+/*
* For each pad we need to write out one (small) header in one
* page that allows decoders to identify the type of the stream.
* After that we need to write out all extra info for the decoders.
this = GST_AUDIO_CONVERT (GST_OBJECT_PARENT (pad));
- /**
+ /*
* Theory of operation:
* - convert the format (endianness, signedness, width, depth) to
* (G_BYTE_ORDER, TRUE, 32, 32)
}
}
-/**
+/*
* given a list of element factories, try to link one of the factories
* to the given pad.
*
- * The function returns the element that was successfully linked to the
+ * The function returns the element that was successfully linked to the
* pad.
*/
static GstElement *
* Boston, MA 02111-1307, USA.
*/
+/**
+ * SECTION:multifdsink
+ * @short_description: a sink that writes to multiple file descriptors
+ * @see_also: tcpserversink
+ *
+ * Incredibly, still a sink that writes to multiple file descriptors
+ */
+
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
* Boston, MA 02111-1307, USA.
*/
+/**
+ * SECTION:tcpserversink
+ * @short_description: a sink that acts as a TCP server and sends data to
+ * multiple clients
+ * @see_also: #multifdsink
+ */
+
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif