From: Andy W. <wi...@us...> - 2002-04-20 21:43:08
|
CVS Root: /cvsroot/gstreamer Modules: gst-plugins gstreamer Changes by: wingo Date: Sat Apr 20 2002 14:43:05 PDT Log message: * a hack to work around intltool's brokenness * a current check for mpeg2dec * details->klass reorganizations * an element browser that uses details->klass * separated cdxa parse out from the avi directory Modified files: gst-plugins/ext/ladspa: gstladspa.c gstladspa.h gst-plugins/ext/mad: gstmad.c gst-plugins/ext/mpeg2dec: gstmpeg2dec.c gst-plugins/ext/sidplay: gstsiddec.cc gst-plugins/ext/vorbis: vorbisdec.c vorbisenc.c gst-plugins/gst/ac3parse: gstac3parse.c gst-plugins/gst/adder: gstadder.c gst-plugins/gst/audioscale: gstaudioscale.c gst-plugins/gst/auparse: gstauparse.c gst-plugins/gst/avi: Makefile.am gstavidemux.c gstavimux.c gst-plugins/gst/chart: gstchart.c gst-plugins/gst/cutter: gstcutter.c gst-plugins/gst/deinterlace: gstdeinterlace.c gst-plugins/gst/flx: gstflxdec.c gst-plugins/gst/goom: gstgoom.c gst-plugins/gst/intfloat: gstfloat2int.c gstint2float.c gstreamer/gst : gstbin.c gstpipeline.c gstqueue.c gstthread.c gsttypefind.c gstreamer/gst/autoplug: gstautoplugcache.c gstautoplugger.c gstspider.c gstreamer/gst/elements: gstaggregator.c gstdisksink.c gstfdsink.c gstidentity.c gststatistics.c gsttee.c Added files: gst-plugins/gst/cdxaparse: Makefile.am gstcdxaparse.c gstcdxaparse.h Removed files: gst-plugins/gst/avi: gstcdxaparse.c gstcdxaparse.h Links: http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/ext/ladspa/gstladspa.c.diff?r1=1.11&r2=1.12 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/ext/ladspa/gstladspa.h.diff?r1=1.3&r2=1.4 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/ext/mad/gstmad.c.diff?r1=1.19&r2=1.20 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/ext/mpeg2dec/gstmpeg2dec.c.diff?r1=1.11&r2=1.12 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/ext/sidplay/gstsiddec.cc.diff?r1=1.7&r2=1.8 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/ext/vorbis/vorbisdec.c.diff?r1=1.13&r2=1.14 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/ext/vorbis/vorbisenc.c.diff?r1=1.12&r2=1.13 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/gst/ac3parse/gstac3parse.c.diff?r1=1.5&r2=1.6 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/gst/adder/gstadder.c.diff?r1=1.13&r2=1.14 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/gst/audioscale/gstaudioscale.c.diff?r1=1.9&r2=1.10 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/gst/auparse/gstauparse.c.diff?r1=1.6&r2=1.7 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/gst/avi/Makefile.am.diff?r1=1.9&r2=1.10 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/gst/avi/gstavidemux.c.diff?r1=1.23&r2=1.24 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/gst/avi/gstavimux.c.diff?r1=1.13&r2=1.14 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/gst/avi/gstcdxaparse.c http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/gst/avi/gstcdxaparse.h http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/gst/cdxaparse/Makefile.am?rev=1.1&content-type=text/vnd.viewcvs-markup http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/gst/cdxaparse/gstcdxaparse.c?rev=1.1&content-type=text/vnd.viewcvs-markup http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/gst/cdxaparse/gstcdxaparse.h?rev=1.1&content-type=text/vnd.viewcvs-markup http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/gst/chart/gstchart.c.diff?r1=1.7&r2=1.8 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/gst/cutter/gstcutter.c.diff?r1=1.8&r2=1.9 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/gst/deinterlace/gstdeinterlace.c.diff?r1=1.6&r2=1.7 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/gst/flx/gstflxdec.c.diff?r1=1.12&r2=1.13 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/gst/goom/gstgoom.c.diff?r1=1.7&r2=1.8 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/gst/intfloat/gstfloat2int.c.diff?r1=1.8&r2=1.9 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/gst/intfloat/gstint2float.c.diff?r1=1.9&r2=1.10 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gstreamer/gst/gstbin.c.diff?r1=1.129&r2=1.130 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gstreamer/gst/gstpipeline.c.diff?r1=1.60&r2=1.61 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gstreamer/gst/gstqueue.c.diff?r1=1.37&r2=1.38 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gstreamer/gst/gstthread.c.diff?r1=1.75&r2=1.76 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gstreamer/gst/gsttypefind.c.diff?r1=1.22&r2=1.23 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gstreamer/gst/autoplug/gstautoplugcache.c.diff?r1=1.14&r2=1.15 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gstreamer/gst/autoplug/gstautoplugger.c.diff?r1=1.14&r2=1.15 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gstreamer/gst/autoplug/gstspider.c.diff?r1=1.14&r2=1.15 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gstreamer/gst/elements/gstaggregator.c.diff?r1=1.12&r2=1.13 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gstreamer/gst/elements/gstdisksink.c.diff?r1=1.15&r2=1.16 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gstreamer/gst/elements/gstfdsink.c.diff?r1=1.15&r2=1.16 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gstreamer/gst/elements/gstidentity.c.diff?r1=1.30&r2=1.31 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gstreamer/gst/elements/gststatistics.c.diff?r1=1.4&r2=1.5 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gstreamer/gst/elements/gsttee.c.diff?r1=1.20&r2=1.21 ====Begin Diffs==== --- NEW FILE: Makefile.am --- plugindir = $(libdir)/gst plugin_LTLIBRARIES = \ libgstcdxaparse.la libgstcdxaparse_la_SOURCES = gstcdxaparse.c noinst_HEADERS = \ gstcdxaparse.h libgstcdxaparse_la_CFLAGS = -O2 -ffast-math $(GST_CFLAGS) libgstcdxaparse_la_LIBADD = libgstcdxaparse_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) --- NEW FILE: gstcdxaparse.c --- /* GStreamer * Copyright (C) <1999> Erik Walthinsen <om...@cs...> * <2002> Wim Taymans <wim...@ch...> * * 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. */ #include <string.h> #include "gstcdxaparse.h" #define MAKE_FOUR_CC(a,b,c,d) ( ((guint32)a) | (((guint32)b)<< 8) | \ ((guint32)c)<<16 | (((guint32)d)<<24) ) /* RIFF types */ #define GST_RIFF_TAG_RIFF MAKE_FOUR_CC('R','I','F','F') #define GST_RIFF_RIFF_CDXA MAKE_FOUR_CC('C','D','X','A') #define GST_RIFF_TAG_fmt MAKE_FOUR_CC('f','m','t',' ') #define GST_RIFF_TAG_data MAKE_FOUR_CC('d','a','t','a') /* elementfactory information */ static GstElementDetails gst_cdxa_parse_details = { ".dat parser", "Codec/Parser", "Parse a .dat file (VCD) into raw mpeg1", VERSION, "Wim Taymans <wim...@tv...>", "(C) 2002", }; static GstCaps* cdxa_type_find (GstBuffer *buf, gpointer private); /* typefactory for 'cdxa' */ static GstTypeDefinition cdxadefinition = { "cdxaparse_video/avi", "video/avi", ".dat", cdxa_type_find, }; /* CDXAParse signals and args */ enum { /* FILL ME */ LAST_SIGNAL }; enum { ARG_0, /* FILL ME */ }; GST_PAD_TEMPLATE_FACTORY (sink_templ, "sink", GST_PAD_SINK, GST_PAD_ALWAYS, GST_CAPS_NEW ( "cdxaparse_sink", "video/avi", "format", GST_PROPS_STRING ("CDXA") ) ) GST_PAD_TEMPLATE_FACTORY (src_templ, "src", GST_PAD_SRC, GST_PAD_ALWAYS, GST_CAPS_NEW ( "cdxaparse_src", "video/mpeg", "mpegversion", GST_PROPS_INT (1), "systemstream", GST_PROPS_BOOLEAN (TRUE) ) ) static void gst_cdxa_parse_class_init (GstCDXAParseClass *klass); static void gst_cdxa_parse_init (GstCDXAParse *cdxa_parse); static void gst_cdxa_parse_loop (GstElement *element); static GstElementStateReturn gst_cdxa_parse_change_state (GstElement *element); static GstElementClass *parent_class = NULL; /*static guint gst_cdxa_parse_signals[LAST_SIGNAL] = { 0 }; */ GType gst_cdxa_parse_get_type(void) { static GType cdxa_parse_type = 0; if (!cdxa_parse_type) { static const GTypeInfo cdxa_parse_info = { sizeof(GstCDXAParseClass), NULL, NULL, (GClassInitFunc)gst_cdxa_parse_class_init, NULL, NULL, sizeof(GstCDXAParse), 0, (GInstanceInitFunc)gst_cdxa_parse_init, }; cdxa_parse_type = g_type_register_static(GST_TYPE_ELEMENT, "GstCDXAParse", &cdxa_parse_info, 0); } return cdxa_parse_type; } static void gst_cdxa_parse_class_init (GstCDXAParseClass *klass) { GObjectClass *gobject_class; GstElementClass *gstelement_class; gobject_class = (GObjectClass*)klass; gstelement_class = (GstElementClass*)klass; parent_class = g_type_class_ref (GST_TYPE_ELEMENT); gstelement_class->change_state = gst_cdxa_parse_change_state; } static void gst_cdxa_parse_init (GstCDXAParse *cdxa_parse) { GST_FLAG_SET (cdxa_parse, GST_ELEMENT_EVENT_AWARE); cdxa_parse->sinkpad = gst_pad_new_from_template ( GST_PAD_TEMPLATE_GET (sink_templ), "sink"); gst_element_add_pad (GST_ELEMENT (cdxa_parse), cdxa_parse->sinkpad); cdxa_parse->srcpad = gst_pad_new_from_template ( GST_PAD_TEMPLATE_GET (src_templ), "src"); gst_element_add_pad (GST_ELEMENT (cdxa_parse), cdxa_parse->srcpad); gst_element_set_loop_function (GST_ELEMENT (cdxa_parse), gst_cdxa_parse_loop); } static GstCaps* cdxa_type_find (GstBuffer *buf, gpointer private) { gchar *data = GST_BUFFER_DATA (buf); GstCaps *new; GST_DEBUG (0,"cdxa_parse: typefind"); if (GUINT32_FROM_LE (((guint32 *)data)[0]) != GST_RIFF_TAG_RIFF) return NULL; if (GUINT32_FROM_LE (((guint32 *)data)[2]) != GST_RIFF_RIFF_CDXA) return NULL; new = GST_CAPS_NEW ("cdxa_type_find", "video/avi", "RIFF", GST_PROPS_STRING ("CDXA")); return new; } static gboolean gst_cdxa_parse_handle_event (GstCDXAParse *cdxa_parse) { guint32 remaining; GstEvent *event; GstEventType type; gst_bytestream_get_status (cdxa_parse->bs, &remaining, &event); type = event? GST_EVENT_TYPE (event) : GST_EVENT_UNKNOWN; switch (type) { case GST_EVENT_EOS: gst_pad_event_default (cdxa_parse->sinkpad, event); break; case GST_EVENT_SEEK: g_warning ("seek event\n"); break; case GST_EVENT_FLUSH: g_warning ("flush event\n"); break; case GST_EVENT_DISCONTINUOUS: g_warning ("discont event\n"); break; default: g_warning ("unhandled event %d\n", type); break; } return TRUE; } /* CDXA starts with the following header: ! RIFF:4 ! size:4 ! "CDXA" ! "fmt " ! size:4 ! (size+1)&~1 bytes of crap ! ! "data" ! data_size:4 ! (data_size/2352) sectors... */ typedef struct { gchar RIFF_tag[4]; guint32 riff_size; gchar CDXA_tag[4]; gchar fmt_tag[4]; guint32 fmt_size; } CDXAParseHeader; /* A sectors is 2352 bytes long and is composed of: ! sync ! header ! subheader ! data ... ! edc ! ! 12 bytes ! 4 bytes ! 8 bytes ! 2324 bytes ! 4 bytes ! !-------------------------------------------------------! We parse the data out of it and send it to the srcpad. */ static void gst_cdxa_parse_loop (GstElement *element) { GstCDXAParse *cdxa_parse; CDXAParseHeader *header; g_return_if_fail (element != NULL); g_return_if_fail (GST_IS_CDXA_PARSE (element)); cdxa_parse = GST_CDXA_PARSE (element); if (cdxa_parse->state == CDXA_PARSE_HEADER) { guint32 fmt_size; guint8 *buf; header = (CDXAParseHeader *) gst_bytestream_peek_bytes (cdxa_parse->bs, 20); if (!header) return; cdxa_parse->riff_size = GUINT32_FROM_LE (header->riff_size); fmt_size = (GUINT32_FROM_LE (header->fmt_size) + 1)&~1; /* flush the header + fmt_size bytes + 4 bytes "data" */ if (!gst_bytestream_flush (cdxa_parse->bs, 20 + fmt_size + 4)) return; /* get the data size */ buf = gst_bytestream_peek_bytes (cdxa_parse->bs, 4); if (!buf) return; cdxa_parse->data_size = GUINT32_FROM_LE (*((guint32 *)buf)); /* flush the data size */ if (!gst_bytestream_flush (cdxa_parse->bs, 4)) return; if (cdxa_parse->data_size % CDXA_SECTOR_SIZE) g_warning ("cdxa_parse: size not multiple of %d bytes", CDXA_SECTOR_SIZE); cdxa_parse->sectors = cdxa_parse->data_size / CDXA_SECTOR_SIZE; cdxa_parse->state = CDXA_PARSE_DATA; } else { GstBuffer *buf; GstBuffer *outbuf; buf = gst_bytestream_read (cdxa_parse->bs, CDXA_SECTOR_SIZE); if (!buf) { gst_cdxa_parse_handle_event (cdxa_parse); return; } outbuf = gst_buffer_create_sub (buf, 24, CDXA_DATA_SIZE); gst_buffer_unref (buf); gst_pad_push (cdxa_parse->srcpad, outbuf); } } static GstElementStateReturn gst_cdxa_parse_change_state (GstElement *element) { GstCDXAParse *cdxa_parse = GST_CDXA_PARSE (element); switch (GST_STATE_TRANSITION (element)) { case GST_STATE_NULL_TO_READY: break; case GST_STATE_READY_TO_PAUSED: cdxa_parse->state = CDXA_PARSE_HEADER; cdxa_parse->bs = gst_bytestream_new (cdxa_parse->sinkpad); break; case GST_STATE_PAUSED_TO_PLAYING: break; case GST_STATE_PLAYING_TO_PAUSED: break; case GST_STATE_PAUSED_TO_READY: gst_bytestream_destroy (cdxa_parse->bs); break; case GST_STATE_READY_TO_NULL: break; default: break; } parent_class->change_state (element); return GST_STATE_SUCCESS; } static gboolean plugin_init (GModule *module, GstPlugin *plugin) { GstElementFactory *factory; GstTypeFactory *type; /* this filter needs the riff parser */ if (!gst_library_load ("gstbytestream")) { gst_info("cdxaparse: could not load support library: 'gstbytestream'\n"); return FALSE; } /* create an elementfactory for the cdxa_parse element */ factory = gst_element_factory_new ("cdxaparse", GST_TYPE_CDXA_PARSE, &gst_cdxa_parse_details); g_return_val_if_fail (factory != NULL, FALSE); gst_element_factory_add_pad_template (factory, GST_PAD_TEMPLATE_GET (src_templ)); gst_element_factory_add_pad_template (factory, GST_PAD_TEMPLATE_GET (sink_templ)); type = gst_type_factory_new (&cdxadefinition); gst_plugin_add_feature (plugin, GST_PLUGIN_FEATURE (type)); gst_plugin_add_feature (plugin, GST_PLUGIN_FEATURE (factory)); return TRUE; } GstPluginDesc plugin_desc = { GST_VERSION_MAJOR, GST_VERSION_MINOR, "cdxaparse", plugin_init }; --- NEW FILE: gstcdxaparse.h --- /* GStreamer * Copyright (C) <1999> Erik Walthinsen <om...@cs...> * <2002> Wim Tayans <wim...@ch...> * * 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_CDXA_PARSE_H__ #define __GST_CDXA_PARSE_H__ #include <config.h> #include <gst/gst.h> #include <gst/bytestream/bytestream.h> #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ #define GST_TYPE_CDXA_PARSE \ (gst_cdxa_parse_get_type()) #define GST_CDXA_PARSE(obj) \ (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_CDXA_PARSE,GstCDXAParse)) #define GST_CDXA_PARSE_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_CDXA_PARSE,GstCDXAParse)) #define GST_IS_CDXA_PARSE(obj) \ (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_CDXA_PARSE)) #define GST_IS_CDXA_PARSE_CLASS(obj) \ (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_CDXA_PARSE)) #define CDXA_SECTOR_SIZE 2352 #define CDXA_DATA_SIZE 2324 typedef enum { CDXA_PARSE_HEADER, CDXA_PARSE_DATA, } GstCDXAParseState; typedef struct _GstCDXAParse GstCDXAParse; typedef struct _GstCDXAParseClass GstCDXAParseClass; struct _GstCDXAParse { GstElement element; /* pads */ GstPad *sinkpad, *srcpad; GstByteStream *bs; GstCDXAParseState state; guint32 riff_size; guint32 data_size; guint32 sectors; }; struct _GstCDXAParseClass { GstElementClass parent_class; }; GType gst_cdxa_parse_get_type (void); #ifdef __cplusplus } #endif /* __cplusplus */ #endif /* __GST_CDXA_PARSE_H__ */ Index: gstmad.c =================================================================== RCS file: /cvsroot/gstreamer/gst-plugins/ext/mad/gstmad.c,v retrieving revision 1.19 retrieving revision 1.20 diff -u -d -r1.19 -r1.20 --- gstmad.c 13 Apr 2002 17:17:59 -0000 1.19 +++ gstmad.c 20 Apr 2002 21:42:21 -0000 1.20 @@ -76,7 +76,7 @@ /* elementfactory information */ static GstElementDetails gst_mad_details = { "mad mp3 decoder", - "Filter/Decoder/Audio", + "Codec/Audio/Decoder", "Uses mad code to decode mp3 streams", VERSION, "Wim Taymans <wim...@ch...>", Index: gstsiddec.cc =================================================================== RCS file: /cvsroot/gstreamer/gst-plugins/ext/sidplay/gstsiddec.cc,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- gstsiddec.cc 11 Apr 2002 20:42:06 -0000 1.7 +++ gstsiddec.cc 20 Apr 2002 21:42:21 -0000 1.8 @@ -25,7 +25,7 @@ /* elementfactory information */ static GstElementDetails gst_siddec_details = { "Sid decoder", - "Filter/Decoder/Audio", + "Codec/Audio/Decoder", "Use sidplay to decode SID audio tunes", VERSION, "Wim Taymans <wim...@ch...> ", Index: gstladspa.c =================================================================== RCS file: /cvsroot/gstreamer/gst-plugins/ext/ladspa/gstladspa.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- gstladspa.c 20 Apr 2002 15:11:00 -0000 1.11 +++ gstladspa.c 20 Apr 2002 21:42:21 -0000 1.12 @@ -398,6 +398,7 @@ ladspa->newcaps = FALSE; ladspa->activated = FALSE; ladspa->bufpool = NULL; + ladspa->inplace_broken = LADSPA_IS_INPLACE_BROKEN(ladspa->descriptor->Properties); if (sinkcount==0 && srccount == 1) { /* get mode (no sink pads) */ @@ -719,7 +720,6 @@ GstBuffer **buffers_in, **buffers_out; GstBufferPool *bufpool; GstByteStream **bytestreams; - gboolean inplace_broken; GstLADSPA *ladspa = (GstLADSPA *)element; GstLADSPAClass *oclass = (GstLADSPAClass*)(G_OBJECT_GET_CLASS (ladspa)); @@ -799,7 +799,7 @@ /* we now have a full set of buffers_in. * now share or create the buffers_out */ for (i=0 ; i<numsrcpads ; i++){ - if (i <= numsinkpads && !inplace_broken){ + if (i <= numsinkpads && !ladspa->inplace_broken){ /* we can share buffers */ buffers_out[i] = buffers_in[i]; data_out[i] = data_in[i]; @@ -845,7 +845,7 @@ buffers_out[i] = NULL; } for (i=0 ; i<numsinkpads ; i++) { - if (i > numsrcpads || inplace_broken){ + if (i > numsrcpads || ladspa->inplace_broken){ /* we have some buffers to unref */ gst_buffer_unref(buffers_in[i]); } @@ -873,11 +873,10 @@ gst_ladspa_chain (GstPad *pad, GstBuffer *buf) { LADSPA_Descriptor *desc; - LADSPA_Data *data_in, **data_out; - GstBuffer **buffers_out; + LADSPA_Data *data_in, **data_out = NULL; + GstBuffer **buffers_out = NULL; unsigned long num_samples; - gboolean inplace_broken; guint num_to_process, num_processed, i, numsrcpads; GstLADSPA *ladspa; @@ -909,13 +908,12 @@ desc = ladspa->descriptor; - inplace_broken = LADSPA_IS_INPLACE_BROKEN(desc->Properties); if (numsrcpads > 0){ guint num_created_buffers = 0; buffers_out = g_new(GstBuffer*, numsrcpads); data_out = g_new(LADSPA_Data*, numsrcpads); - if (inplace_broken){ + if (ladspa->inplace_broken){ num_created_buffers = numsrcpads; } else { @@ -1077,7 +1075,7 @@ /* construct the element details struct */ details = g_new0(GstElementDetails,1); details->longname = g_strdup(desc->Name); - details->klass = "Filter/LADSPA"; + details->klass = "Filter/Audio/LADSPA"; details->description = details->longname; details->version = g_strdup_printf("%ld",desc->UniqueID); details->author = g_strdup(desc->Maker); Index: gstladspa.h =================================================================== RCS file: /cvsroot/gstreamer/gst-plugins/ext/ladspa/gstladspa.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- gstladspa.h 20 Apr 2002 13:57:00 -0000 1.3 +++ gstladspa.h 20 Apr 2002 21:42:21 -0000 1.4 @@ -66,7 +66,7 @@ gint samplerate, buffersize, numbuffers; gint64 timestamp; - + gboolean inplace_broken; }; struct _GstLADSPAClass { Index: gstbin.c =================================================================== RCS file: /cvsroot/gstreamer/gstreamer/gst/gstbin.c,v retrieving revision 1.129 retrieving revision 1.130 diff -u -d -r1.129 -r1.130 --- gstbin.c 19 Apr 2002 19:49:40 -0000 1.129 +++ gstbin.c 20 Apr 2002 21:42:51 -0000 1.130 @@ -31,7 +31,7 @@ GstElementDetails gst_bin_details = { "Generic bin", - "Bin", + "Generic/Bin", "Simple container object", VERSION, "Erik Walthinsen <om...@cs...>", Index: gstpipeline.c =================================================================== RCS file: /cvsroot/gstreamer/gstreamer/gst/gstpipeline.c,v retrieving revision 1.60 retrieving revision 1.61 diff -u -d -r1.60 -r1.61 --- gstpipeline.c 11 Apr 2002 20:35:15 -0000 1.60 +++ gstpipeline.c 20 Apr 2002 21:42:51 -0000 1.61 @@ -27,7 +27,7 @@ GstElementDetails gst_pipeline_details = { "Pipeline object", - "Bin", + "Generic/Bin", "Complete pipeline object", VERSION, "Erik Walthinsen <om...@cs...>", Index: gstqueue.c =================================================================== RCS file: /cvsroot/gstreamer/gstreamer/gst/gstqueue.c,v retrieving revision 1.37 retrieving revision 1.38 diff -u -d -r1.37 -r1.38 --- gstqueue.c 3 Apr 2002 18:26:03 -0000 1.37 +++ gstqueue.c 20 Apr 2002 21:42:52 -0000 1.38 @@ -39,7 +39,7 @@ GstElementDetails gst_queue_details = { "Queue", - "Connection", + "Generic", "Simple data queue", VERSION, "Erik Walthinsen <om...@cs...>", Index: gstthread.c =================================================================== RCS file: /cvsroot/gstreamer/gstreamer/gst/gstthread.c,v retrieving revision 1.75 retrieving revision 1.76 diff -u -d -r1.75 -r1.76 --- gstthread.c 19 Apr 2002 19:49:41 -0000 1.75 +++ gstthread.c 20 Apr 2002 21:42:52 -0000 1.76 @@ -31,7 +31,7 @@ GstElementDetails gst_thread_details = { "Threaded container", - "Bin", + "Generic/Bin", "Container that creates/manages a thread", VERSION, "Erik Walthinsen <om...@cs...>", Index: gsttypefind.c =================================================================== RCS file: /cvsroot/gstreamer/gstreamer/gst/gsttypefind.c,v retrieving revision 1.22 retrieving revision 1.23 diff -u -d -r1.22 -r1.23 --- gsttypefind.c 19 Apr 2002 19:49:41 -0000 1.22 +++ gsttypefind.c 20 Apr 2002 21:42:52 -0000 1.23 @@ -31,8 +31,8 @@ GstElementDetails gst_type_find_details = { "TypeFind", - "TypeFind", - "Finds the media type", + "Generic", + "Finds the media type of a stream", VERSION, "Erik Walthinsen <om...@cs...>" "Wim Taymans <wim...@ch...>", Index: gstautoplugcache.c =================================================================== RCS file: /cvsroot/gstreamer/gstreamer/gst/autoplug/gstautoplugcache.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- gstautoplugcache.c 14 Apr 2002 10:01:54 -0000 1.14 +++ gstautoplugcache.c 20 Apr 2002 21:42:52 -0000 1.15 @@ -24,7 +24,7 @@ GstElementDetails gst_autoplugcache_details = { "AutoplugCache", - "Connection", + "Generic", "Data cache for the dynamic autoplugger", VERSION, "Erik Walthinsen <om...@te...>", Index: gstautoplugger.c =================================================================== RCS file: /cvsroot/gstreamer/gstreamer/gst/autoplug/gstautoplugger.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- gstautoplugger.c 14 Apr 2002 14:59:34 -0000 1.14 +++ gstautoplugger.c 20 Apr 2002 21:42:52 -0000 1.15 @@ -23,7 +23,7 @@ GstElementDetails gst_autoplugger_details = { "Dynamic autoplugger", - "Autoplugger", + "Generic", "Magic element that converts from any type to any other", VERSION, "Erik Walthinsen <om...@te...>", Index: gstspider.c =================================================================== RCS file: /cvsroot/gstreamer/gstreamer/gst/autoplug/gstspider.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- gstspider.c 20 Apr 2002 12:31:41 -0000 1.14 +++ gstspider.c 20 Apr 2002 21:42:52 -0000 1.15 @@ -676,7 +676,7 @@ GstElementDetails gst_spider_details = { "Spider", - "Filter/Autplug", + "Generic", "Automatically connect sinks and sources", VERSION, "Benjamin Otte <in...@pu...>", Index: vorbisdec.c =================================================================== RCS file: /cvsroot/gstreamer/gst-plugins/ext/vorbis/vorbisdec.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- vorbisdec.c 15 Apr 2002 09:27:02 -0000 1.13 +++ vorbisdec.c 20 Apr 2002 21:42:22 -0000 1.14 @@ -29,7 +29,7 @@ GstElementDetails vorbisdec_details = { "Ogg Vorbis decoder", - "Filter/Audio/Decoder", + "Codec/Audio/Decoder", "Decodes OGG Vorbis audio", VERSION, "Monty <mo...@xi...>, " Index: vorbisenc.c =================================================================== RCS file: /cvsroot/gstreamer/gst-plugins/ext/vorbis/vorbisenc.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- vorbisenc.c 15 Apr 2002 09:27:02 -0000 1.12 +++ vorbisenc.c 20 Apr 2002 21:42:22 -0000 1.13 @@ -32,7 +32,7 @@ /* elementfactory information */ GstElementDetails vorbisenc_details = { "Ogg Vorbis encoder", - "Filter/Audio/Encoder", + "Codec/Audio/Encoder", "Encodes audio in OGG Vorbis format", VERSION, "Monty <mo...@xi...>, " Index: gstaggregator.c =================================================================== RCS file: /cvsroot/gstreamer/gstreamer/gst/elements/gstaggregator.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- gstaggregator.c 11 Apr 2002 20:35:15 -0000 1.12 +++ gstaggregator.c 20 Apr 2002 21:42:53 -0000 1.13 @@ -25,7 +25,7 @@ GstElementDetails gst_aggregator_details = { "Aggregator pipe fitting", - "Aggregator", + "Generic", "N-to-1 pipe fitting", VERSION, "Wim Taymans <wim...@ch...>", Index: gstdisksink.c =================================================================== RCS file: /cvsroot/gstreamer/gstreamer/gst/elements/gstdisksink.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- gstdisksink.c 14 Apr 2002 09:57:15 -0000 1.15 +++ gstdisksink.c 20 Apr 2002 21:42:53 -0000 1.16 @@ -28,8 +28,8 @@ GstElementDetails gst_disksink_details = { "Disk Sink", - "Sink", - "Disk hole for data", + "Sink/File", + "Write stream to a file", VERSION, "Thomas <th...@ap...>", "(C) 2001" Index: gstfdsink.c =================================================================== RCS file: /cvsroot/gstreamer/gstreamer/gst/elements/gstfdsink.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- gstfdsink.c 24 Mar 2002 22:07:07 -0000 1.15 +++ gstfdsink.c 20 Apr 2002 21:42:53 -0000 1.16 @@ -26,7 +26,7 @@ GstElementDetails gst_fdsink_details = { "Filedescriptor Sink", - "Sink", + "Sink/File", "Write data to a file descriptor", VERSION, "Erik Walthinsen <om...@cs...>", Index: gstidentity.c =================================================================== RCS file: /cvsroot/gstreamer/gstreamer/gst/elements/gstidentity.c,v retrieving revision 1.30 retrieving revision 1.31 diff -u -d -r1.30 -r1.31 --- gstidentity.c 14 Apr 2002 09:59:13 -0000 1.30 +++ gstidentity.c 20 Apr 2002 21:42:53 -0000 1.31 @@ -27,7 +27,7 @@ GstElementDetails gst_identity_details = { "Identity", - "Filter", + "Generic", "Pass data without modification", VERSION, "Erik Walthinsen <om...@cs...>", Index: gststatistics.c =================================================================== RCS file: /cvsroot/gstreamer/gstreamer/gst/elements/gststatistics.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- gststatistics.c 13 Jan 2002 22:22:42 -0000 1.4 +++ gststatistics.c 20 Apr 2002 21:42:53 -0000 1.5 @@ -26,7 +26,7 @@ GstElementDetails gst_statistics_details = { "Statistics", - "Filter", + "Generic", "Statistics on buffers/bytes/events", VERSION, "David I. Lehn <dl...@us...>", Index: gsttee.c =================================================================== RCS file: /cvsroot/gstreamer/gstreamer/gst/elements/gsttee.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -d -r1.20 -r1.21 --- gsttee.c 11 Apr 2002 20:35:15 -0000 1.20 +++ gsttee.c 20 Apr 2002 21:42:53 -0000 1.21 @@ -25,7 +25,7 @@ GstElementDetails gst_tee_details = { "Tee pipe fitting", - "Tee", + "Generic", "1-to-N pipe fitting", VERSION, "Erik Walthinsen <om...@cs...>\n" Index: gstmpeg2dec.c =================================================================== RCS file: /cvsroot/gstreamer/gst-plugins/ext/mpeg2dec/gstmpeg2dec.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- gstmpeg2dec.c 11 Apr 2002 20:42:04 -0000 1.11 +++ gstmpeg2dec.c 20 Apr 2002 21:42:21 -0000 1.12 @@ -28,7 +28,7 @@ /* elementfactory information */ static GstElementDetails gst_mpeg2dec_details = { "mpeg1 and mpeg2 video decoder", - "Filter/Decoder/Video", + "Codec/Video/Decoder", "Uses libmpeg2 to decode MPEG video streams", VERSION, "David I. Lehn <dl...@us...>", Index: gstac3parse.c =================================================================== RCS file: /cvsroot/gstreamer/gst-plugins/gst/ac3parse/gstac3parse.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- gstac3parse.c 11 Apr 2002 20:42:07 -0000 1.5 +++ gstac3parse.c 20 Apr 2002 21:42:22 -0000 1.6 @@ -72,7 +72,7 @@ /* elementfactory information */ static GstElementDetails ac3parse_details = { "AC3 Parser", - "Filter/Parser/Audio", + "Codec/Parser", "Parses and frames AC3 audio streams, provides seek", VERSION, "Erik Walthinsen <om...@cs...>", Index: gstadder.c =================================================================== RCS file: /cvsroot/gstreamer/gst-plugins/gst/adder/gstadder.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- gstadder.c 11 Apr 2002 20:42:07 -0000 1.13 +++ gstadder.c 20 Apr 2002 21:42:24 -0000 1.14 @@ -29,7 +29,7 @@ GstElementDetails adder_details = { "Adder", - "Filter/Effect", + "Filter/Audio", "2-to-1 audio adder/mixer", VERSION, "Thomas <th...@ap...>", Index: gstaudioscale.c =================================================================== RCS file: /cvsroot/gstreamer/gst-plugins/gst/audioscale/gstaudioscale.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- gstaudioscale.c 11 Apr 2002 20:42:08 -0000 1.9 +++ gstaudioscale.c 20 Apr 2002 21:42:27 -0000 1.10 @@ -29,8 +29,8 @@ /* elementfactory information */ static GstElementDetails audioscale_details = { "Audio scaler", - "Filter/Audio/Scaler", - "Resizes audio", + "Filter/Audio", + "Audio resampler", VERSION, "Wim Taymans <wim...@ch...>", "(C) 2000", Index: gstauparse.c =================================================================== RCS file: /cvsroot/gstreamer/gst-plugins/gst/auparse/gstauparse.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- gstauparse.c 11 Apr 2002 20:42:08 -0000 1.6 +++ gstauparse.c 20 Apr 2002 21:42:28 -0000 1.7 @@ -30,7 +30,7 @@ /* elementfactory information */ static GstElementDetails gst_auparse_details = { ".au parser", - "Parser/Audio", + "Codec/Parser", "Parse an .au file into raw audio", VERSION, "Erik Walthinsen <om...@cs...>", Index: Makefile.am =================================================================== RCS file: /cvsroot/gstreamer/gst-plugins/gst/avi/Makefile.am,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- Makefile.am 6 Apr 2002 03:40:13 -0000 1.9 +++ Makefile.am 20 Apr 2002 21:42:29 -0000 1.10 @@ -2,20 +2,17 @@ plugin_LTLIBRARIES = \ libgstavimux.la \ - libgstavidemux.la \ - libgstcdxaparse.la + libgstavidemux.la # libgstaviaudiodecoder.la libgstavidemux_la_SOURCES = gstavidemux.c libgstavimux_la_SOURCES = gstavimux.c # libgstaviaudiodecoder_la_SOURCES = gstaviaudiodecoder.c -libgstcdxaparse_la_SOURCES = gstcdxaparse.c noinst_HEADERS = \ gstavimux.h \ gstavidemux.h \ - gstaviaudiodecoder.h \ - gstcdxaparse.h + gstaviaudiodecoder.h #CFLAGS += -Wall -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions -ffast-math -DNDEBUG @@ -30,9 +27,5 @@ # libgstaviaudiodecoder_la_CFLAGS = -O2 -ffast-math $(GST_CFLAGS) # libgstaviaudiodecoder_la_LIBADD = # libgstaviaudiodecoder_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) - -libgstcdxaparse_la_CFLAGS = -O2 -ffast-math $(GST_CFLAGS) -libgstcdxaparse_la_LIBADD = -libgstcdxaparse_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) EXTRA_DIST = README_win32dll README Index: gstavidemux.c =================================================================== RCS file: /cvsroot/gstreamer/gst-plugins/gst/avi/gstavidemux.c,v retrieving revision 1.23 retrieving revision 1.24 diff -u -d -r1.23 -r1.24 --- gstavidemux.c 14 Apr 2002 11:35:52 -0000 1.23 +++ gstavidemux.c 20 Apr 2002 21:42:29 -0000 1.24 @@ -26,9 +26,9 @@ /* elementfactory information */ static GstElementDetails gst_avi_demux_details = { - ".avi parser", - "Parser/Video", - "Parse a .avi file into audio and video", + "Avi demuxer", + "Codec/Demuxer", + "Demultiplex an avi file into audio and video", VERSION, "Erik Walthinsen <om...@cs...>\n" "Wim Taymans <wim...@tv...>", Index: gstavimux.c =================================================================== RCS file: /cvsroot/gstreamer/gst-plugins/gst/avi/gstavimux.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- gstavimux.c 11 Apr 2002 20:42:08 -0000 1.13 +++ gstavimux.c 20 Apr 2002 21:42:29 -0000 1.14 @@ -45,8 +45,8 @@ static GstElementDetails gst_avimux_details = { - ".avi mux", - "Mux/Video", + "Avi multiplexer", + "Codec/Muxer", "Muxes audio and video into an avi stream", VERSION, "Ronald Bultje <rb...@ro...>", --- gstcdxaparse.c DELETED --- --- gstcdxaparse.h DELETED --- Index: gstchart.c =================================================================== RCS file: /cvsroot/gstreamer/gst-plugins/gst/chart/gstchart.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- gstchart.c 11 Apr 2002 20:42:09 -0000 1.7 +++ gstchart.c 20 Apr 2002 21:42:29 -0000 1.8 @@ -62,7 +62,7 @@ /* elementfactory information */ static GstElementDetails gst_chart_details = { "chart drawer", - "Filter/Visualization", + "Visualization", "Takes frames of data and outputs video frames of a chart of data", VERSION, "Richard Boulton <ri...@ta...>", Index: gstcutter.c =================================================================== RCS file: /cvsroot/gstreamer/gst-plugins/gst/cutter/gstcutter.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- gstcutter.c 11 Apr 2002 20:42:09 -0000 1.8 +++ gstcutter.c 20 Apr 2002 21:42:29 -0000 1.9 @@ -25,7 +25,7 @@ static GstElementDetails cutter_details = { "Cutter", - "Filter/Effect", + "Filter/Audio/Effect", "Audio Cutter to split audio into non-silent bits", VERSION, "Thomas <th...@ap...>", Index: gstgoom.c =================================================================== RCS file: /cvsroot/gstreamer/gst-plugins/gst/goom/gstgoom.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- gstgoom.c 11 Apr 2002 20:42:10 -0000 1.7 +++ gstgoom.c 20 Apr 2002 21:42:31 -0000 1.8 @@ -59,7 +59,7 @@ /* elementfactory information */ static GstElementDetails gst_goom_details = { "GOOM: what a GOOM!", - "Filter/Visualization", + "Visualization", "Takes frames of data and outputs video frames using the GOOM filter", VERSION, "Wim Taymans <wim...@ch...>", Index: gstflxdec.c =================================================================== RCS file: /cvsroot/gstreamer/gst-plugins/gst/flx/gstflxdec.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- gstflxdec.c 11 Apr 2002 20:42:10 -0000 1.12 +++ gstflxdec.c 20 Apr 2002 21:42:31 -0000 1.13 @@ -29,7 +29,7 @@ /* flx element information */ static GstElementDetails flxdec_details = { "FLX Decoder", - "flxdec", + "Codec/Audio/Decoder", "FLX decoder", VERSION, "Sepp Wijnands <mr...@ga...>" Index: gstfloat2int.c =================================================================== RCS file: /cvsroot/gstreamer/gst-plugins/gst/intfloat/gstfloat2int.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- gstfloat2int.c 11 Apr 2002 20:42:10 -0000 1.8 +++ gstfloat2int.c 20 Apr 2002 21:42:31 -0000 1.9 @@ -24,7 +24,7 @@ static GstElementDetails float2int_details = { "Float to Integer effect", - "Filter/Effect", + "Filter/Audio/Conversion", "Convert from floating point to integer audio data", VERSION, "Steve Baker <ste...@ya...>", Index: gstint2float.c =================================================================== RCS file: /cvsroot/gstreamer/gst-plugins/gst/intfloat/gstint2float.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- gstint2float.c 11 Apr 2002 20:42:10 -0000 1.9 +++ gstint2float.c 20 Apr 2002 21:42:31 -0000 1.10 @@ -24,7 +24,7 @@ static GstElementDetails int2float_details = { "Integer to Float effect", - "Filter/Effect", + "Filter/Audio/Conversion", "Convert from integer to floating point audio data", VERSION, "Steve Baker <ste...@ya...>", Index: gstdeinterlace.c =================================================================== RCS file: /cvsroot/gstreamer/gst-plugins/gst/deinterlace/gstdeinterlace.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- gstdeinterlace.c 11 Apr 2002 20:42:09 -0000 1.6 +++ gstdeinterlace.c 20 Apr 2002 21:42:30 -0000 1.7 @@ -24,8 +24,8 @@ #include "gstdeinterlace.h" static GstElementDetails deinterlace_details = { - "DeInterlace", - "Filter/Effect", + "Deinterlace", + "Filter/Video", "Deinterlace video", VERSION, "Wim Taymans <wim...@ch...>", |