diff options
author | Benjamin Otte <otte@gnome.org> | 2003-10-28 20:52:41 +0000 |
---|---|---|
committer | Benjamin Otte <otte@gnome.org> | 2003-10-28 20:52:41 +0000 |
commit | 5bb80c9f5359a446d52ad7824095ae4c67bf3cdf (patch) | |
tree | 389f062ecc5627e362c48b89fda7257d10fa8d8c /gst/cdxaparse/gstcdxaparse.c | |
parent | 680f08e33306ff907e31b3c9db70e132fc9a5158 (diff) | |
download | gst-plugins-bad-5bb80c9f5359a446d52ad7824095ae4c67bf3cdf.tar.gz gst-plugins-bad-5bb80c9f5359a446d52ad7824095ae4c67bf3cdf.tar.bz2 gst-plugins-bad-5bb80c9f5359a446d52ad7824095ae4c67bf3cdf.zip |
merge TYPEFIND branch. Major changes:
Original commit message from CVS:
merge TYPEFIND branch. Major changes:
- totally reworked type(find) system
- all typefind functions are in gst/typefind now
- more typefind functions then before
- some plugins might fail to compile now because I don't have them installed and they
a) require bytestream or
b) haven't had their typefind fixed.
Please fix those plugins and put the typefind functions into gst/typefind if they don't have dependencies
Diffstat (limited to 'gst/cdxaparse/gstcdxaparse.c')
-rw-r--r-- | gst/cdxaparse/gstcdxaparse.c | 44 |
1 files changed, 3 insertions, 41 deletions
diff --git a/gst/cdxaparse/gstcdxaparse.c b/gst/cdxaparse/gstcdxaparse.c index a601b727..2ee3071d 100644 --- a/gst/cdxaparse/gstcdxaparse.c +++ b/gst/cdxaparse/gstcdxaparse.c @@ -50,16 +50,6 @@ static GstElementDetails gst_cdxa_parse_details = { "(C) 2002", }; -static GstCaps* cdxa_type_find (GstByteStream *bs, gpointer private); - -/* typefactory for 'cdxa' */ -static GstTypeDefinition cdxadefinition = { - "cdxaparse_video", - "video/x-cdxa", - ".dat", - cdxa_type_find, -}; - /* CDXAParse signals and args */ enum { /* FILL ME */ @@ -158,33 +148,6 @@ gst_cdxa_parse_init (GstCDXAParse *cdxa_parse) } -static GstCaps* -cdxa_type_find (GstByteStream *bs, - gpointer private) -{ - GstBuffer *buf = NULL; - GstCaps *new = NULL; - - GST_DEBUG ("cdxa_parse: typefind"); - - if (gst_bytestream_peek (bs, &buf, 12) == 12) { - guint32 head1 = GUINT32_FROM_LE (((guint32 *) GST_BUFFER_DATA (buf))[0]), - head2 = GUINT32_FROM_LE (((guint32 *) GST_BUFFER_DATA (buf))[2]); - - if (head1 == GST_RIFF_TAG_RIFF && head2 == GST_RIFF_RIFF_CDXA) { - new = GST_CAPS_NEW ("cdxa_type_find", - "video/x-cdxa", - NULL); - } - } - - if (buf != NULL) { - gst_buffer_unref (buf); - } - - return new; -} - static gboolean gst_cdxa_parse_handle_event (GstCDXAParse *cdxa_parse) { @@ -343,7 +306,9 @@ static gboolean plugin_init (GModule *module, GstPlugin *plugin) { GstElementFactory *factory; - GstTypeFactory *type; + + if (!gst_library_load ("gstbytestream")) + return FALSE; /* create an elementfactory for the cdxa_parse element */ factory = gst_element_factory_new ("cdxaparse", GST_TYPE_CDXA_PARSE, @@ -353,9 +318,6 @@ plugin_init (GModule *module, GstPlugin *plugin) 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; |