diff options
author | Jan Schmidt <thaytan@mad.scientist.com> | 2008-02-08 04:22:06 +0000 |
---|---|---|
committer | Jan Schmidt <thaytan@mad.scientist.com> | 2008-02-08 04:22:06 +0000 |
commit | 4ee87c566bac4431897b58534822b1b60c5d4cde (patch) | |
tree | 7b8d23b65c67150b7ae0b1f7ab3b34cdb526966b /gst/multifile | |
parent | c8ae2ad1caf40a3c15261c2d9600b0b2f883235e (diff) | |
download | gst-plugins-bad-4ee87c566bac4431897b58534822b1b60c5d4cde.tar.gz gst-plugins-bad-4ee87c566bac4431897b58534822b1b60c5d4cde.tar.bz2 gst-plugins-bad-4ee87c566bac4431897b58534822b1b60c5d4cde.zip |
Remove multifile plugin, which has moved to -good
Original commit message from CVS:
* configure.ac:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
* docs/plugins/gst-plugins-bad-plugins-sections.txt:
* docs/plugins/gst-plugins-bad-plugins.args:
* docs/plugins/gst-plugins-bad-plugins.hierarchy:
* docs/plugins/inspect/plugin-multifile.xml:
* gst/multifile/Makefile.am:
* gst/multifile/gstmultifile.c:
* gst/multifile/gstmultifilesink.c:
* gst/multifile/gstmultifilesink.h:
* gst/multifile/gstmultifilesrc.c:
* gst/multifile/gstmultifilesrc.h:
* gst/multifile/multifile.vproj:
* tests/check/Makefile.am:
* tests/check/elements/multifile.c:
Remove multifile plugin, which has moved to -good
Diffstat (limited to 'gst/multifile')
-rw-r--r-- | gst/multifile/Makefile.am | 10 | ||||
-rw-r--r-- | gst/multifile/gstmultifile.c | 49 | ||||
-rw-r--r-- | gst/multifile/gstmultifilesink.c | 244 | ||||
-rw-r--r-- | gst/multifile/gstmultifilesink.h | 72 | ||||
-rw-r--r-- | gst/multifile/gstmultifilesrc.c | 323 | ||||
-rw-r--r-- | gst/multifile/gstmultifilesrc.h | 66 | ||||
-rw-r--r-- | gst/multifile/multifile.vproj | 148 |
7 files changed, 0 insertions, 912 deletions
diff --git a/gst/multifile/Makefile.am b/gst/multifile/Makefile.am deleted file mode 100644 index 98eb6fd0..00000000 --- a/gst/multifile/Makefile.am +++ /dev/null @@ -1,10 +0,0 @@ - -plugin_LTLIBRARIES = libgstmultifile.la - -libgstmultifile_la_SOURCES = gstmultifilesink.c gstmultifilesrc.c gstmultifile.c -libgstmultifile_la_CFLAGS = $(GST_BASE_CFLAGS) $(GST_CFLAGS) -libgstmultifile_la_LIBADD = $(GST_BASE_LIBS) $(GST_LIBS) -libgstmultifile_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) - -noinst_HEADERS = gstmultifilesrc.h gstmultifilesink.h - diff --git a/gst/multifile/gstmultifile.c b/gst/multifile/gstmultifile.c deleted file mode 100644 index 873dcb17..00000000 --- a/gst/multifile/gstmultifile.c +++ /dev/null @@ -1,49 +0,0 @@ -/* GStreamer - * Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu> - * 2000 Wim Taymans <wtay@chello.be> - * 2006 Wim Taymans <wim@fluendo.com> - * 2006 David A. Schleef <ds@schleef.org> - * - * gstmultifilesink.c: - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include <gst/gst.h> - -GType gst_multi_file_src_get_type (void); -GType gst_multi_file_sink_get_type (void); - -static gboolean -plugin_init (GstPlugin * plugin) -{ - gst_element_register (plugin, "multifilesrc", GST_RANK_NONE, - gst_multi_file_src_get_type ()); - gst_element_register (plugin, "multifilesink", GST_RANK_NONE, - gst_multi_file_sink_get_type ()); - - return TRUE; -} - -GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, - GST_VERSION_MINOR, - "multifile", - "Writes buffers to sequentially named files", - plugin_init, VERSION, "LGPL", GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN); diff --git a/gst/multifile/gstmultifilesink.c b/gst/multifile/gstmultifilesink.c deleted file mode 100644 index 583b989c..00000000 --- a/gst/multifile/gstmultifilesink.c +++ /dev/null @@ -1,244 +0,0 @@ -/* GStreamer - * Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu> - * 2000 Wim Taymans <wtay@chello.be> - * 2006 Wim Taymans <wim@fluendo.com> - * 2006 David A. Schleef <ds@schleef.org> - * - * gstmultifilesink.c: - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ -/** - * SECTION:element-multifilesink - * @short_description: Writes buffers to sequentially-named files - * @see_also: #GstFileSrc - * - * <para> - * Write incoming data to a series of sequentially-named files. - * </para> - * - */ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include "gstmultifilesink.h" - -static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink", - GST_PAD_SINK, - GST_PAD_ALWAYS, - GST_STATIC_CAPS_ANY); - -GST_DEBUG_CATEGORY_STATIC (gst_multi_file_sink_debug); -#define GST_CAT_DEFAULT gst_multi_file_sink_debug - -static const GstElementDetails gst_multi_file_sink_details = -GST_ELEMENT_DETAILS ("Multi-File Sink", - "Sink/File", - "Write buffers to a sequentially named set of files", - "David Schleef <ds@schleef.org>"); - -enum -{ - ARG_0, - ARG_LOCATION, - ARG_INDEX -}; - -#define DEFAULT_LOCATION "%05d" -#define DEFAULT_INDEX 0 - -static void gst_multi_file_sink_dispose (GObject * object); - -static void gst_multi_file_sink_set_property (GObject * object, guint prop_id, - const GValue * value, GParamSpec * pspec); -static void gst_multi_file_sink_get_property (GObject * object, guint prop_id, - GValue * value, GParamSpec * pspec); - -static GstFlowReturn gst_multi_file_sink_render (GstBaseSink * sink, - GstBuffer * buffer); - - - -GST_BOILERPLATE (GstMultiFileSink, gst_multi_file_sink, GstBaseSink, - GST_TYPE_BASE_SINK); - -static void -gst_multi_file_sink_base_init (gpointer g_class) -{ - GstElementClass *gstelement_class = GST_ELEMENT_CLASS (g_class); - - GST_DEBUG_CATEGORY_INIT (gst_multi_file_sink_debug, "multifilesink", 0, - "multifilesink element"); - - gst_element_class_add_pad_template (gstelement_class, - gst_static_pad_template_get (&sinktemplate)); - gst_element_class_set_details (gstelement_class, - &gst_multi_file_sink_details); -} - -static void -gst_multi_file_sink_class_init (GstMultiFileSinkClass * klass) -{ - GObjectClass *gobject_class = G_OBJECT_CLASS (klass); - GstBaseSinkClass *gstbasesink_class = GST_BASE_SINK_CLASS (klass); - - gobject_class->set_property = gst_multi_file_sink_set_property; - gobject_class->get_property = gst_multi_file_sink_get_property; - - g_object_class_install_property (gobject_class, ARG_LOCATION, - g_param_spec_string ("location", "File Location", - "Location of the file to write", NULL, G_PARAM_READWRITE)); - g_object_class_install_property (gobject_class, ARG_INDEX, - g_param_spec_int ("index", "Index", - "Index to use with location property to create file names. The " - "index is incremented by one for each buffer read.", - 0, INT_MAX, DEFAULT_INDEX, G_PARAM_READWRITE)); - - gobject_class->dispose = gst_multi_file_sink_dispose; - - gstbasesink_class->get_times = NULL; - gstbasesink_class->render = GST_DEBUG_FUNCPTR (gst_multi_file_sink_render); -} - -static void -gst_multi_file_sink_init (GstMultiFileSink * multifilesink, - GstMultiFileSinkClass * g_class) -{ - GstPad *pad; - - pad = GST_BASE_SINK_PAD (multifilesink); - - multifilesink->filename = g_strdup (DEFAULT_LOCATION); - multifilesink->index = DEFAULT_INDEX; - - GST_BASE_SINK (multifilesink)->sync = FALSE; -} - -static void -gst_multi_file_sink_dispose (GObject * object) -{ - GstMultiFileSink *sink = GST_MULTI_FILE_SINK (object); - - g_free (sink->filename); - sink->filename = NULL; - - G_OBJECT_CLASS (parent_class)->dispose (object); -} - -static gboolean -gst_multi_file_sink_set_location (GstMultiFileSink * sink, - const gchar * location) -{ - g_free (sink->filename); - if (location != NULL) { - /* FIXME: validate location to have just one %d */ - sink->filename = g_strdup (location); - } else { - sink->filename = NULL; - } - - return TRUE; -} -static void -gst_multi_file_sink_set_property (GObject * object, guint prop_id, - const GValue * value, GParamSpec * pspec) -{ - GstMultiFileSink *sink = GST_MULTI_FILE_SINK (object); - - switch (prop_id) { - case ARG_LOCATION: - gst_multi_file_sink_set_location (sink, g_value_get_string (value)); - break; - case ARG_INDEX: - sink->index = g_value_get_int (value); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - -static void -gst_multi_file_sink_get_property (GObject * object, guint prop_id, - GValue * value, GParamSpec * pspec) -{ - GstMultiFileSink *sink = GST_MULTI_FILE_SINK (object); - - switch (prop_id) { - case ARG_LOCATION: - g_value_set_string (value, sink->filename); - break; - case ARG_INDEX: - g_value_set_int (value, sink->index); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - -static gchar * -gst_multi_file_sink_get_filename (GstMultiFileSink * multifilesink) -{ - gchar *filename; - - filename = g_strdup_printf (multifilesink->filename, multifilesink->index); - - return filename; -} - -static GstFlowReturn -gst_multi_file_sink_render (GstBaseSink * sink, GstBuffer * buffer) -{ - GstMultiFileSink *multifilesink; - guint size; - gchar *filename; - gboolean ret; - GError *error = NULL; - - size = GST_BUFFER_SIZE (buffer); - - multifilesink = GST_MULTI_FILE_SINK (sink); - - filename = gst_multi_file_sink_get_filename (multifilesink); - - ret = g_file_set_contents (filename, (char *) GST_BUFFER_DATA (buffer), - size, &error); - if (ret) { - multifilesink->index++; - g_free (filename); - return GST_FLOW_OK; - } - - switch (error->code) { - case G_FILE_ERROR_NOSPC:{ - GST_ELEMENT_ERROR (multifilesink, RESOURCE, NO_SPACE_LEFT, (NULL), - (NULL)); - break; - } - default:{ - GST_ELEMENT_ERROR (multifilesink, RESOURCE, WRITE, - ("Error while writing to file \"%s\".", filename), - ("%s", g_strerror (errno))); - } - } - g_error_free (error); - g_free (filename); - - return GST_FLOW_ERROR; -} diff --git a/gst/multifile/gstmultifilesink.h b/gst/multifile/gstmultifilesink.h deleted file mode 100644 index c26a64a1..00000000 --- a/gst/multifile/gstmultifilesink.h +++ /dev/null @@ -1,72 +0,0 @@ -/* GStreamer - * Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu> - * 2000 Wim Taymans <wtay@chello.be> - * 2006 Wim Taymans <wim@fluendo.com> - * 2006 David A. Schleef <ds@schleef.org> - * - * gstmultifilesink.h: - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#ifndef __GST_MULTIFILESINK_H__ -#define __GST_MULTIFILESINK_H__ - -#include <gst/gst.h> -#include <gst/base/gstbasesink.h> -#include <errno.h> -#include <string.h> -#include <sys/stat.h> -#include <sys/types.h> -#ifdef HAVE_UNISTD_H -#include <unistd.h> -#endif - -G_BEGIN_DECLS - -#define GST_TYPE_MULTI_FILE_SINK \ - (gst_multi_file_sink_get_type()) -#define GST_MULTI_FILE_SINK(obj) \ - (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_MULTI_FILE_SINK,GstMultiFileSink)) -#define GST_MULTI_FILE_SINK_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_MULTI_FILE_SINK,GstMultiFileSinkClass)) -#define GST_IS_MULTI_FILE_SINK(obj) \ - (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_MULTI_FILE_SINK)) -#define GST_IS_MULTI_FILE_SINK_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_MULTI_FILE_SINK)) - -typedef struct _GstMultiFileSink GstMultiFileSink; -typedef struct _GstMultiFileSinkClass GstMultiFileSinkClass; - -struct _GstMultiFileSink -{ - GstBaseSink parent; - - gchar *filename; - gchar *uri; - int index; -}; - -struct _GstMultiFileSinkClass -{ - GstBaseSinkClass parent_class; -}; - -GType gst_multi_file_sink_get_type (void); - -G_END_DECLS - -#endif /* __GST_MULTIFILESINK_H__ */ diff --git a/gst/multifile/gstmultifilesrc.c b/gst/multifile/gstmultifilesrc.c deleted file mode 100644 index 4a30a050..00000000 --- a/gst/multifile/gstmultifilesrc.c +++ /dev/null @@ -1,323 +0,0 @@ -/* GStreamer - * Copyright (C) 2006 David A. Schleef <ds@schleef.org> - * - * gstmultifilesrc.c: - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ -/** - * SECTION:element-multifilesrc - * @short_description: Read buffers from sequentially-named files - * @see_also: #GstFileSrc - * - * <refsect2> - * <para> - * Reads buffers from sequentially named files. If used together with an image - * decoder, one needs to use the GstMultiFileSrc::caps property or a capsfilter - * to force to caps containing a framerate. Otherwise image decoders send EOS - * after the first picture. - * </para> - * <title>Example launch line</title> - * <para> - * <programlisting> - * gst-launch multifilesrc location="img.%04d.png" index=0 caps="image/png,framerate=\(fraction\)12/1" ! \ - * pngdec ! ffmpegcolorspace ! theoraenc ! oggmux ! \ - * filesink location="images.ogg" - * </programlisting> - * This pipeline creates a video file "images.ogg" by joining multiple PNG - * files named img.0000.png, img.0001.png, etc. - * </para> - * <para> - * File names are created by replacing "%%d" with the index using printf(). - * </para> - * </refsect2> -*/ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include "gstmultifilesrc.h" - - -static GstFlowReturn gst_multi_file_src_create (GstPushSrc * src, - GstBuffer ** buffer); - -static void gst_multi_file_src_dispose (GObject * object); - -static void gst_multi_file_src_set_property (GObject * object, guint prop_id, - const GValue * value, GParamSpec * pspec); -static void gst_multi_file_src_get_property (GObject * object, guint prop_id, - GValue * value, GParamSpec * pspec); -static GstCaps *gst_multi_file_src_getcaps (GstBaseSrc * src); - - -static GstStaticPadTemplate gst_multi_file_src_pad_template = -GST_STATIC_PAD_TEMPLATE ("src", - GST_PAD_SRC, - GST_PAD_ALWAYS, - GST_STATIC_CAPS_ANY); - -GST_DEBUG_CATEGORY_STATIC (gst_multi_file_src_debug); -#define GST_CAT_DEFAULT gst_multi_file_src_debug - -static const GstElementDetails gst_multi_file_src_details = -GST_ELEMENT_DETAILS ("Multi-File Source", - "Source/File", - "Read a sequentially named set of files into buffers", - "David Schleef <ds@schleef.org>"); - -enum -{ - ARG_0, - ARG_LOCATION, - ARG_INDEX, - ARG_CAPS -}; - -#define DEFAULT_LOCATION "%05d" -#define DEFAULT_INDEX 0 - - -GST_BOILERPLATE (GstMultiFileSrc, gst_multi_file_src, GstPushSrc, - GST_TYPE_PUSH_SRC); - -static void -gst_multi_file_src_base_init (gpointer g_class) -{ - GstElementClass *gstelement_class = GST_ELEMENT_CLASS (g_class); - - GST_DEBUG_CATEGORY_INIT (gst_multi_file_src_debug, "multifilesrc", 0, - "multifilesrc element"); - - gst_element_class_add_pad_template (gstelement_class, - gst_static_pad_template_get (&gst_multi_file_src_pad_template)); - gst_element_class_set_details (gstelement_class, &gst_multi_file_src_details); -} - -static void -gst_multi_file_src_class_init (GstMultiFileSrcClass * klass) -{ - GObjectClass *gobject_class = G_OBJECT_CLASS (klass); - GstPushSrcClass *gstpushsrc_class = GST_PUSH_SRC_CLASS (klass); - GstBaseSrcClass *gstbasesrc_class = GST_BASE_SRC_CLASS (klass); - - gobject_class->set_property = gst_multi_file_src_set_property; - gobject_class->get_property = gst_multi_file_src_get_property; - - g_object_class_install_property (gobject_class, ARG_LOCATION, - g_param_spec_string ("location", "File Location", - "Pattern to create file names of input files. File names are " - "created by calling sprintf() with the pattern and the current " - "index.", DEFAULT_LOCATION, G_PARAM_READWRITE)); - g_object_class_install_property (gobject_class, ARG_INDEX, - g_param_spec_int ("index", "File Index", - "Index to use with location property to create file names. The " - "index is incremented by one for each buffer read.", - 0, INT_MAX, DEFAULT_INDEX, G_PARAM_READWRITE)); - g_object_class_install_property (gobject_class, ARG_CAPS, - g_param_spec_boxed ("caps", "Caps", - "Caps describing the format of the data.", - GST_TYPE_CAPS, G_PARAM_READWRITE)); - - gobject_class->dispose = gst_multi_file_src_dispose; - - gstpushsrc_class->create = gst_multi_file_src_create; - - gstbasesrc_class->get_caps = gst_multi_file_src_getcaps; - - if (sizeof (off_t) < 8) { - GST_LOG ("No large file support, sizeof (off_t) = %" G_GSIZE_FORMAT, - sizeof (off_t)); - } -} - -static void -gst_multi_file_src_init (GstMultiFileSrc * multifilesrc, - GstMultiFileSrcClass * g_class) -{ - GstPad *pad; - - pad = GST_BASE_SRC_PAD (multifilesrc); - - multifilesrc->index = DEFAULT_INDEX; - multifilesrc->filename = g_strdup (DEFAULT_LOCATION); - multifilesrc->successful_read = FALSE; -} - -static void -gst_multi_file_src_dispose (GObject * object) -{ - GstMultiFileSrc *src = GST_MULTI_FILE_SRC (object); - - g_free (src->filename); - src->filename = NULL; - if (src->caps) - gst_caps_unref (src->caps); - - G_OBJECT_CLASS (parent_class)->dispose (object); -} - -static GstCaps * -gst_multi_file_src_getcaps (GstBaseSrc * src) -{ - GstMultiFileSrc *multi_file_src = GST_MULTI_FILE_SRC (src); - - GST_DEBUG_OBJECT (src, "returning %" GST_PTR_FORMAT, multi_file_src->caps); - - if (multi_file_src->caps) { - return gst_caps_ref (multi_file_src->caps); - } else { - return gst_caps_new_any (); - } -} - -static gboolean -gst_multi_file_src_set_location (GstMultiFileSrc * src, const gchar * location) -{ - g_free (src->filename); - if (location != NULL) { - src->filename = g_strdup (location); - } else { - src->filename = NULL; - } - - return TRUE; -} -static void -gst_multi_file_src_set_property (GObject * object, guint prop_id, - const GValue * value, GParamSpec * pspec) -{ - GstMultiFileSrc *src = GST_MULTI_FILE_SRC (object); - - switch (prop_id) { - case ARG_LOCATION: - gst_multi_file_src_set_location (src, g_value_get_string (value)); - break; - case ARG_INDEX: - src->index = g_value_get_int (value); - break; - case ARG_CAPS: - { - const GstCaps *caps = gst_value_get_caps (value); - GstCaps *new_caps; - - if (caps == NULL) { - new_caps = gst_caps_new_any (); - } else { - new_caps = gst_caps_copy (caps); - } - gst_caps_replace (&src->caps, new_caps); - gst_pad_set_caps (GST_BASE_SRC_PAD (src), new_caps); - } - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - -static void -gst_multi_file_src_get_property (GObject * object, guint prop_id, - GValue * value, GParamSpec * pspec) -{ - GstMultiFileSrc *src = GST_MULTI_FILE_SRC (object); - - switch (prop_id) { - case ARG_LOCATION: - g_value_set_string (value, src->filename); - break; - case ARG_INDEX: - g_value_set_int (value, src->index); - break; - case ARG_CAPS: - gst_value_set_caps (value, src->caps); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - -static gchar * -gst_multi_file_src_get_filename (GstMultiFileSrc * multifilesrc) -{ - gchar *filename; - - filename = g_strdup_printf (multifilesrc->filename, multifilesrc->index); - - return filename; -} - -static GstFlowReturn -gst_multi_file_src_create (GstPushSrc * src, GstBuffer ** buffer) -{ - GstMultiFileSrc *multifilesrc; - guint size; - gchar *data; - gchar *filename; - GstBuffer *buf; - gboolean ret; - GError *error = NULL; - - multifilesrc = GST_MULTI_FILE_SRC (src); - - filename = gst_multi_file_src_get_filename (multifilesrc); - - GST_DEBUG_OBJECT (multifilesrc, "reading from file \"%s\".", filename); - - ret = g_file_get_contents (filename, &data, &size, &error); - if (!ret) { - if (multifilesrc->successful_read) { - /* If we've read at least one buffer successfully, not finding the - * next file is EOS. */ - g_free (filename); - return GST_FLOW_UNEXPECTED; - } else { - goto handle_error; - } - } - - multifilesrc->successful_read = TRUE; - multifilesrc->index++; - - buf = gst_buffer_new (); - GST_BUFFER_DATA (buf) = (unsigned char *) data; - GST_BUFFER_SIZE (buf) = size; - GST_BUFFER_OFFSET (buf) = multifilesrc->offset; - GST_BUFFER_OFFSET_END (buf) = multifilesrc->offset + size; - multifilesrc->offset += size; - gst_buffer_set_caps (buf, multifilesrc->caps); - - GST_DEBUG_OBJECT (multifilesrc, "read file \"%s\".", filename); - - g_free (filename); - *buffer = buf; - return GST_FLOW_OK; - -handle_error: - { - switch (errno) { - default:{ - GST_ELEMENT_ERROR (multifilesrc, RESOURCE, READ, - ("Error while reading from file \"%s\".", filename), - ("%s", g_strerror (errno))); - } - } - g_free (filename); - return GST_FLOW_ERROR; - } -} diff --git a/gst/multifile/gstmultifilesrc.h b/gst/multifile/gstmultifilesrc.h deleted file mode 100644 index 686ae4f0..00000000 --- a/gst/multifile/gstmultifilesrc.h +++ /dev/null @@ -1,66 +0,0 @@ -/* GStreamer - * Copyright (C) 2006 David A. Schleef <ds@schleef.org> - * - * gstmultifilesrc.c: - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#ifndef __GST_MULTIFILESRC_H__ -#define __GST_MULTIFILESRC_H__ - -#include <gst/gst.h> -#include <gst/base/gstpushsrc.h> - -G_BEGIN_DECLS - -#define GST_TYPE_MULTI_FILE_SRC \ - (gst_multi_file_src_get_type()) -#define GST_MULTI_FILE_SRC(obj) \ - (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_MULTI_FILE_SRC,GstMultiFileSrc)) -#define GST_MULTI_FILE_SRC_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_MULTI_FILE_SRC,GstMultiFileSrcClass)) -#define GST_IS_MULTI_FILE_SRC(obj) \ - (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_MULTI_FILE_SRC)) -#define GST_IS_MULTI_FILE_SRC_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_MULTI_FILE_SRC)) - -typedef struct _GstMultiFileSrc GstMultiFileSrc; -typedef struct _GstMultiFileSrcClass GstMultiFileSrcClass; - -struct _GstMultiFileSrc -{ - GstPushSrc parent; - - gchar *filename; - int index; - - int offset; - - GstCaps *caps; - gboolean successful_read; -}; - -struct _GstMultiFileSrcClass -{ - GstPushSrcClass parent_class; -}; - -GType gst_multi_file_src_get_type (void); - -G_END_DECLS - -#endif /* __GST_MULTIFILESRC_H__ */ diff --git a/gst/multifile/multifile.vproj b/gst/multifile/multifile.vproj deleted file mode 100644 index 3cc8dae3..00000000 --- a/gst/multifile/multifile.vproj +++ /dev/null @@ -1,148 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="multitile" - ProjectGUID="{979C216F-0ACF-4956-AE00-055A42D678BF}" - Keyword="Win32Proj"> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> - <Configurations> - <Configuration - Name="Debug|Win32" - OutputDirectory="../../win32/Debug" - IntermediateDirectory="../../win32/Debug" - ConfigurationType="2" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="../../../gstreamer/win32;../../../gstreamer;../../../gstreamer/libs;../../../glib;../../../glib/glib;../../../glib/gmodule;"../../gst-libs";../../../popt/include;../../../libxml2/include/libxml2" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;multitile_EXPORTS;HAVE_CONFIG_H;_USE_MATH_DEFINES" - MinimalRebuild="TRUE" - BasicRuntimeChecks="3" - RuntimeLibrary="3" - UsePrecompiledHeader="0" - WarningLevel="3" - Detect64BitPortabilityProblems="TRUE" - DebugInformationFormat="4"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="glib-2.0.lib gmodule-2.0.lib gthread-2.0.lib gobject-2.0.lib libgstreamer.lib gstbytestream.lib iconv.lib intl.lib" - OutputFile="$(OutDir)/gstmultitile.dll" - LinkIncremental="2" - AdditionalLibraryDirectories="../../../gstreamer/win32/Debug;../../../glib/glib;../../../glib/gmodule;../../../glib/gthread;../../../glib/gobject;../../../gettext/lib;../../../libiconv/lib" - ModuleDefinitionFile="" - GenerateDebugInformation="TRUE" - ProgramDatabaseFile="$(OutDir)/multitile.pdb" - SubSystem="2" - OptimizeReferences="2" - ImportLibrary="$(OutDir)/gstmultitile.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool"/> - <Tool - Name="VCPostBuildEventTool" - CommandLine="copy /Y $(TargetPath) c:\gstreamer\plugins"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - <Configuration - Name="Release|Win32" - OutputDirectory="../../win32/Release" - IntermediateDirectory="../../win32/Release" - ConfigurationType="2" - CharacterSet="2"> - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="../../../gstreamer/win32;../../../gstreamer;../../../gstreamer/libs;../../../glib;../../../glib/glib;../../../glib/gmodule;"../../gst-libs";../../../popt/include;../../../libxml2/include/libxml2" - PreprocessorDefinitions="WIN32;NDEBUG;GST_DISABLE_GST_DEBUG;_WINDOWS;_USRDLL;multitile_EXPORTS;HAVE_CONFIG_H;_USE_MATH_DEFINES" - RuntimeLibrary="2" - UsePrecompiledHeader="0" - WarningLevel="3" - Detect64BitPortabilityProblems="TRUE" - DebugInformationFormat="3"/> - <Tool - Name="VCCustomBuildTool"/> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="glib-2.0.lib gmodule-2.0.lib gthread-2.0.lib gobject-2.0.lib libgstreamer.lib gstbytestream.lib iconv.lib intl.lib" - OutputFile="$(OutDir)/gstmultitile.dll" - LinkIncremental="1" - AdditionalLibraryDirectories="../../../gstreamer/win32/Release;../../../glib/glib;../../../glib/gmodule;../../../glib/gthread;../../../glib/gobject;../../../gettext/lib;../../../libiconv/lib" - ModuleDefinitionFile="" - GenerateDebugInformation="TRUE" - SubSystem="2" - OptimizeReferences="2" - EnableCOMDATFolding="2" - ImportLibrary="$(OutDir)/gstmultitile.lib" - TargetMachine="1"/> - <Tool - Name="VCMIDLTool"/> - <Tool - Name="VCPostBuildEventTool" - CommandLine="copy /Y $(TargetPath) c:\gstreamer\plugins"/> - <Tool - Name="VCPreBuildEventTool"/> - <Tool - Name="VCPreLinkEventTool"/> - <Tool - Name="VCResourceCompilerTool"/> - <Tool - Name="VCWebServiceProxyGeneratorTool"/> - <Tool - Name="VCXMLDataGeneratorTool"/> - <Tool - Name="VCWebDeploymentTool"/> - <Tool - Name="VCManagedWrapperGeneratorTool"/> - <Tool - Name="VCAuxiliaryManagedWrapperGeneratorTool"/> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <Filter - Name="Source Files" - Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx" - UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"> - <File - RelativePath=".\gstmultifile.c"> - </File> - </Filter> - <Filter - Name="Header Files" - Filter="h;hpp;hxx;hm;inl;inc;xsd" - UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"> - <File - RelativePath=".\gstmultifile.h"> - </File> - </Filter> - <Filter - Name="Resource Files" - Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx" - UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"> - </Filter> - </Files> - <Globals> - </Globals> -</VisualStudioProject> |