From 207aced76da0526d2bd60e874896623cf8714423 Mon Sep 17 00:00:00 2001 From: Julien Moutte Date: Thu, 8 Dec 2005 16:27:12 +0000 Subject: docs/plugins/Makefile.am: Add multipart elements. Original commit message from CVS: 2005-12-08 Julien MOUTTE * docs/plugins/Makefile.am: Add multipart elements. * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/gst-plugins-good-plugins-sections.txt: Fix flac. * docs/plugins/gst-plugins-good-plugins.hierarchy: * gst/multipart/multipartdemux.c: * gst/multipart/multipartmux.c: Add docs. --- gst/multipart/multipartdemux.c | 42 +++++++++++++++++++++++++++++++++++------- gst/multipart/multipartmux.c | 27 +++++++++++++++++++++++++++ 2 files changed, 62 insertions(+), 7 deletions(-) (limited to 'gst/multipart') diff --git a/gst/multipart/multipartdemux.c b/gst/multipart/multipartdemux.c index 89e7954f..389f2393 100644 --- a/gst/multipart/multipartdemux.c +++ b/gst/multipart/multipartdemux.c @@ -19,6 +19,29 @@ * Boston, MA 02111-1307, USA. */ +/** + * SECTION:element-multipartdemux + * @short_description: Demuxer that takes a multipart digital stream as input + * and demuxes one or many digital streams from it. + * @see_also: #GstMultipartMux + * + * + * + * MultipartDemux uses the Content-type field of incoming buffers to demux and + * push data to dynamic source pads. Most of the time multipart streams are + * sequential JPEG frames. + * + * Sample pipelines + * + * Here is a simple pipeline to demux a multipart file muxed with + * #GstMultipartMux containing JPEG frames at a rate of 5 frames per second : + * + * gst-launch filesrc location=/tmp/test.multipart ! multipartdemux ! jpegdec ! video/x-raw-yuv, framerate=(fraction)5/1 ! ffmpegcolorspace ! ximagesink + * + * + * + */ + #ifdef HAVE_CONFIG_H #include "config.h" #endif @@ -27,22 +50,16 @@ #include -GST_DEBUG_CATEGORY_STATIC (gst_multipart_demux_debug); -#define GST_CAT_DEFAULT gst_multipart_demux_debug - #define GST_TYPE_MULTIPART_DEMUX (gst_multipart_demux_get_type()) #define GST_MULTIPART_DEMUX(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_MULTIPART_DEMUX, GstMultipartDemux)) #define GST_MULTIPART_DEMUX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_MULTIPART_DEMUX, GstMultipartDemux)) #define GST_IS_MULTIPART_DEMUX(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_MULTIPART_DEMUX)) #define GST_IS_MULTIPART_DEMUX_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_MULTIPART_DEMUX)) -#define MAX_LINE_LEN 500 - typedef struct _GstMultipartDemux GstMultipartDemux; typedef struct _GstMultipartDemuxClass GstMultipartDemuxClass; -static gchar *toFind = "--ThisRandomString\nContent-type: "; -static gint toFindLen; +#define MAX_LINE_LEN 500 /* all information needed for one multipart stream */ typedef struct @@ -58,6 +75,11 @@ typedef struct } GstMultipartPad; +/** + * GstMultipartDemux: + * + * The opaque #GstMultipartDemux structure. + */ struct _GstMultipartDemux { GstElement element; @@ -81,6 +103,12 @@ struct _GstMultipartDemuxClass GstElementClass parent_class; }; +GST_DEBUG_CATEGORY_STATIC (gst_multipart_demux_debug); +#define GST_CAT_DEFAULT gst_multipart_demux_debug + +static gchar *toFind = "--ThisRandomString\nContent-type: "; +static gint toFindLen; + /* elementfactory information */ static GstElementDetails gst_multipart_demux_details = GST_ELEMENT_DETAILS ("multipart demuxer", diff --git a/gst/multipart/multipartmux.c b/gst/multipart/multipartmux.c index 74ee8688..8bcad113 100644 --- a/gst/multipart/multipartmux.c +++ b/gst/multipart/multipartmux.c @@ -17,6 +17,28 @@ * Boston, MA 02111-1307, USA. */ +/** + * SECTION:element-multipartmux + * @short_description: Muxer that takes one or several digital streams + * and muxes them to a single multipart stream. + * + * + * + * MultipartMux uses the #GstCaps of the sink pad as the Content-type field for + * incoming buffers when muxing them to a multipart stream. Most of the time + * multipart streams are sequential JPEG frames. + * + * Sample pipelines + * + * Here is a simple pipeline to mux 5 JPEG frames per second into a multipart + * stream stored to a file : + * + * gst-launch videotestsrc ! video/x-raw-yuv, framerate=(fraction)5/1 ! jpegenc ! multipartmux ! filesink location=/tmp/test.multipart + * + * + * + */ + #ifdef HAVE_CONFIG_H #include "config.h" #endif @@ -47,6 +69,11 @@ typedef struct } GstMultipartPad; +/** + * GstMultipartMux: + * + * The opaque #GstMultipartMux structure. + */ struct _GstMultipartMux { GstElement element; -- cgit