1 /* GStreamer
2 * Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
3 * 2000 Wim Taymans <wtay@chello.be>
4 *
5 * gstelements.c:
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version.
11 *
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Library General Public License for more details.
16 *
17 * You should have received a copy of the GNU Library General Public
18 * License along with this library; if not, write to the
19 * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
20 * Boston, MA 02110-1301, USA.
21 */
22
23
24 #ifdef HAVE_CONFIG_H
25 # include "config.h"
26 #endif
27
28 #include <gst/gst.h>
29
30 #include "gstcapsfilter.h"
31 #include "gstconcat.h"
32 #include "gstdataurisrc.h"
33 #include "gstdownloadbuffer.h"
34 #include "gstfakesink.h"
35 #include "gstfakesrc.h"
36 #include "gstfdsrc.h"
37 #include "gstfdsink.h"
38 #include "gstfilesink.h"
39 #include "gstfilesrc.h"
40 #include "gstfunnel.h"
41 #include "gstidentity.h"
42 #include "gstinputselector.h"
43 #include "gstoutputselector.h"
44 #include "gstmultiqueue.h"
45 #include "gstqueue.h"
46 #include "gstqueue2.h"
47 #include "gsttee.h"
48 #include "gsttypefindelement.h"
49 #include "gstvalve.h"
50 #include "gststreamiddemux.h"
51
52 static gboolean
plugin_init(GstPlugin * plugin)53 plugin_init (GstPlugin * plugin)
54 {
55 if (!gst_element_register (plugin, "capsfilter", GST_RANK_NONE,
56 gst_capsfilter_get_type ()))
57 return FALSE;
58 if (!gst_element_register (plugin, "concat", GST_RANK_NONE,
59 gst_concat_get_type ()))
60 return FALSE;
61 if (!gst_element_register (plugin, "dataurisrc", GST_RANK_PRIMARY,
62 gst_data_uri_src_get_type ()))
63 return FALSE;
64 if (!gst_element_register (plugin, "downloadbuffer", GST_RANK_NONE,
65 gst_download_buffer_get_type ()))
66 return FALSE;
67 if (!gst_element_register (plugin, "fakesrc", GST_RANK_NONE,
68 gst_fake_src_get_type ()))
69 return FALSE;
70 if (!gst_element_register (plugin, "fakesink", GST_RANK_NONE,
71 gst_fake_sink_get_type ()))
72 return FALSE;
73 #if defined(HAVE_SYS_SOCKET_H) || defined(_MSC_VER)
74 if (!gst_element_register (plugin, "fdsrc", GST_RANK_NONE,
75 gst_fd_src_get_type ()))
76 return FALSE;
77 if (!gst_element_register (plugin, "fdsink", GST_RANK_NONE,
78 gst_fd_sink_get_type ()))
79 return FALSE;
80 #endif
81 if (!gst_element_register (plugin, "filesrc", GST_RANK_PRIMARY,
82 gst_file_src_get_type ()))
83 return FALSE;
84 if (!gst_element_register (plugin, "funnel", GST_RANK_NONE,
85 gst_funnel_get_type ()))
86 return FALSE;
87 if (!gst_element_register (plugin, "identity", GST_RANK_NONE,
88 gst_identity_get_type ()))
89 return FALSE;
90 if (!gst_element_register (plugin, "input-selector", GST_RANK_NONE,
91 gst_input_selector_get_type ()))
92 return FALSE;
93 if (!gst_element_register (plugin, "output-selector", GST_RANK_NONE,
94 gst_output_selector_get_type ()))
95 return FALSE;
96 if (!gst_element_register (plugin, "queue", GST_RANK_NONE,
97 gst_queue_get_type ()))
98 return FALSE;
99 if (!gst_element_register (plugin, "queue2", GST_RANK_NONE,
100 gst_queue2_get_type ()))
101 return FALSE;
102 if (!gst_element_register (plugin, "filesink", GST_RANK_PRIMARY,
103 gst_file_sink_get_type ()))
104 return FALSE;
105 if (!gst_element_register (plugin, "tee", GST_RANK_NONE, gst_tee_get_type ()))
106 return FALSE;
107 if (!gst_element_register (plugin, "typefind", GST_RANK_NONE,
108 gst_type_find_element_get_type ()))
109 return FALSE;
110 if (!gst_element_register (plugin, "multiqueue", GST_RANK_NONE,
111 gst_multi_queue_get_type ()))
112 return FALSE;
113 if (!gst_element_register (plugin, "valve", GST_RANK_NONE,
114 gst_valve_get_type ()))
115 return FALSE;
116
117 if (!gst_element_register (plugin, "streamiddemux", GST_RANK_PRIMARY,
118 gst_streamid_demux_get_type ()))
119 return FALSE;
120
121 return TRUE;
122 }
123
124 GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, GST_VERSION_MINOR, coreelements,
125 "GStreamer core elements", plugin_init, VERSION, GST_LICENSE,
126 GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN);
127