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/flx/gstflxdec.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/flx/gstflxdec.c')
-rw-r--r-- | gst/flx/gstflxdec.c | 47 |
1 files changed, 3 insertions, 44 deletions
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; } |