From 5bb80c9f5359a446d52ad7824095ae4c67bf3cdf Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 28 Oct 2003 20:52:41 +0000 Subject: 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 --- gst/flx/gstflxdec.c | 47 +++-------------------------------------------- 1 file changed, 3 insertions(+), 44 deletions(-) (limited to 'gst/flx/gstflxdec.c') diff --git a/gst/flx/gstflxdec.c b/gst/flx/gstflxdec.c index 7ed55f1b..f4e085c3 100644 --- a/gst/flx/gstflxdec.c +++ b/gst/flx/gstflxdec.c @@ -28,8 +28,6 @@ #define JIFFIE (GST_SECOND/70) -static GstCaps* flxdec_type_find (GstByteStream *bs, gpointer private); - /* flx element information */ static GstElementDetails flxdec_details = { "FLX Decoder", @@ -41,13 +39,6 @@ static GstElementDetails flxdec_details = { "(C) 2001", }; -static GstTypeDefinition flxdec_definition = { - "flxdec_video/fli", - "video/fli", - ".flc .fli", - flxdec_type_find, -}; - /* Flx signals and args */ enum { /* FILL ME */ @@ -112,37 +103,6 @@ static void flx_decode_delta_flc (GstFlxDec *, guchar *, guchar *); static GstElementClass *parent_class = NULL; -static GstCaps* -flxdec_type_find (GstByteStream *bs, gpointer private) -{ - GstBuffer *buf = NULL; - GstCaps *new = NULL; - - if (gst_bytestream_peek (bs, &buf, 134) == 134) { - guint8 *data = GST_BUFFER_DATA (buf); - - /* check magic */ - if ((data[4] == 0x11 || data[4] == 0x12 || - data[4] == 0x30 || data[4] == 0x44) && - data[5] == 0xaf) { - /* check the frame type of the first frame */ - if ((data[132] == 0x00 || data[132] == 0xfa) && data[133] == 0xf1) { - GST_DEBUG ("GstFlxDec: found supported flx format"); - new = gst_caps_new ("flxdec_type_find", - "video/x-fli", - NULL); - } - } - } - - if (buf != NULL) { - gst_buffer_unref (buf); - } - - return new; -} - - GType gst_flxdec_get_type(void) { @@ -688,7 +648,9 @@ static gboolean plugin_init (GModule *module, GstPlugin *plugin) { GstElementFactory *factory; - GstTypeFactory *type; + + if (!gst_library_load ("gstbytestream")) + return FALSE; factory = gst_element_factory_new("flxdec", GST_TYPE_FLXDEC, &flxdec_details); g_return_val_if_fail(factory != NULL, FALSE); @@ -699,9 +661,6 @@ plugin_init (GModule *module, GstPlugin *plugin) gst_plugin_add_feature (plugin, GST_PLUGIN_FEATURE (factory)); - type = gst_type_factory_new (&flxdec_definition); - gst_plugin_add_feature (plugin, GST_PLUGIN_FEATURE (type)); - return TRUE; } -- cgit v1.2.1