1 /* GStreamer
2  * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Library General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Library General Public License for more details.
13  *
14  * You should have received a copy of the GNU Library General Public
15  * License along with this library; if not, write to the
16  * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
17  * Boston, MA 02110-1301, USA.
18  */
19 
20 #ifdef HAVE_CONFIG_H
21 #include "config.h"
22 #endif
23 
24 #include <gst/tag/tag.h>
25 
26 #include "gstrtputils.h"
27 
28 #include "gstrtpac3depay.h"
29 #include "gstrtpac3pay.h"
30 #include "gstrtpbvdepay.h"
31 #include "gstrtpbvpay.h"
32 #include "gstrtpceltdepay.h"
33 #include "gstrtpceltpay.h"
34 #include "gstrtpdvdepay.h"
35 #include "gstrtpdvpay.h"
36 #include "gstrtpgstdepay.h"
37 #include "gstrtpgstpay.h"
38 #include "gstrtpilbcdepay.h"
39 #include "gstrtpilbcpay.h"
40 #include "gstrtppcmupay.h"
41 #include "gstrtppcmapay.h"
42 #include "gstrtppcmadepay.h"
43 #include "gstrtppcmudepay.h"
44 #include "gstrtpg722depay.h"
45 #include "gstrtpg722pay.h"
46 #include "gstrtpg723depay.h"
47 #include "gstrtpg723pay.h"
48 #include "gstrtpg726depay.h"
49 #include "gstrtpg726pay.h"
50 #include "gstrtpg729depay.h"
51 #include "gstrtpg729pay.h"
52 #include "gstrtpgsmpay.h"
53 #include "gstrtpgsmdepay.h"
54 #include "gstrtpamrpay.h"
55 #include "gstrtpamrdepay.h"
56 #include "gstrtpmpapay.h"
57 #include "gstrtpmpadepay.h"
58 #include "gstrtpmparobustdepay.h"
59 #include "gstrtpmpvdepay.h"
60 #include "gstrtpmpvpay.h"
61 #include "gstrtpopusdepay.h"
62 #include "gstrtpopuspay.h"
63 #include "gstrtph261pay.h"
64 #include "gstrtph261depay.h"
65 #include "gstrtph263pdepay.h"
66 #include "gstrtph263ppay.h"
67 #include "gstrtph263depay.h"
68 #include "gstrtph263pay.h"
69 #include "gstrtph264depay.h"
70 #include "gstrtph264pay.h"
71 #include "gstrtph265depay.h"
72 #include "gstrtph265pay.h"
73 #include "gstrtpj2kdepay.h"
74 #include "gstrtpj2kpay.h"
75 #include "gstrtpjpegdepay.h"
76 #include "gstrtpjpegpay.h"
77 #include "gstrtpklvdepay.h"
78 #include "gstrtpklvpay.h"
79 #include "gstrtpL8depay.h"
80 #include "gstrtpL8pay.h"
81 #include "gstrtpL16depay.h"
82 #include "gstrtpL16pay.h"
83 #include "gstrtpL24depay.h"
84 #include "gstrtpL24pay.h"
85 #include "gstasteriskh263.h"
86 #include "gstrtpmp1sdepay.h"
87 #include "gstrtpmp2tdepay.h"
88 #include "gstrtpmp2tpay.h"
89 #include "gstrtpmp4vdepay.h"
90 #include "gstrtpmp4vpay.h"
91 #include "gstrtpmp4adepay.h"
92 #include "gstrtpmp4apay.h"
93 #include "gstrtpmp4gdepay.h"
94 #include "gstrtpmp4gpay.h"
95 #include "gstrtpqcelpdepay.h"
96 #include "gstrtpqdmdepay.h"
97 #include "gstrtpsbcdepay.h"
98 #include "gstrtpsbcpay.h"
99 #include "gstrtpsirenpay.h"
100 #include "gstrtpsirendepay.h"
101 #include "gstrtpspeexpay.h"
102 #include "gstrtpspeexdepay.h"
103 #include "gstrtpsv3vdepay.h"
104 #include "gstrtptheoradepay.h"
105 #include "gstrtptheorapay.h"
106 #include "gstrtpvorbisdepay.h"
107 #include "gstrtpvorbispay.h"
108 #include "gstrtpvp8depay.h"
109 #include "gstrtpvp8pay.h"
110 #include "gstrtpvp9depay.h"
111 #include "gstrtpvp9pay.h"
112 #include "gstrtpvrawdepay.h"
113 #include "gstrtpvrawpay.h"
114 #include "gstrtpstreampay.h"
115 #include "gstrtpstreamdepay.h"
116 #include "gstrtpredenc.h"
117 #include "gstrtpreddec.h"
118 #include "gstrtpulpfecdec.h"
119 #include "gstrtpulpfecenc.h"
120 #include "gstrtpreddec.h"
121 #include "gstrtpredenc.h"
122 #include "gstrtpstorage.h"
123 
124 static gboolean
plugin_init(GstPlugin * plugin)125 plugin_init (GstPlugin * plugin)
126 {
127   gst_tag_image_type_get_type ();
128 
129   rtp_quark_meta_tag_video =
130       g_quark_from_static_string (GST_META_TAG_VIDEO_STR);
131   rtp_quark_meta_tag_audio =
132       g_quark_from_static_string (GST_META_TAG_AUDIO_STR);
133 
134   if (!gst_rtp_ac3_depay_plugin_init (plugin))
135     return FALSE;
136 
137   if (!gst_rtp_ac3_pay_plugin_init (plugin))
138     return FALSE;
139 
140   if (!gst_rtp_bv_depay_plugin_init (plugin))
141     return FALSE;
142 
143   if (!gst_rtp_bv_pay_plugin_init (plugin))
144     return FALSE;
145 
146   if (!gst_rtp_celt_depay_plugin_init (plugin))
147     return FALSE;
148 
149   if (!gst_rtp_celt_pay_plugin_init (plugin))
150     return FALSE;
151 
152   if (!gst_rtp_dv_depay_plugin_init (plugin))
153     return FALSE;
154 
155   if (!gst_rtp_dv_pay_plugin_init (plugin))
156     return FALSE;
157 
158   if (!gst_rtp_gst_depay_plugin_init (plugin))
159     return FALSE;
160 
161   if (!gst_rtp_gst_pay_plugin_init (plugin))
162     return FALSE;
163 
164   if (!gst_rtp_ilbc_pay_plugin_init (plugin))
165     return FALSE;
166 
167   if (!gst_rtp_ilbc_depay_plugin_init (plugin))
168     return FALSE;
169 
170   if (!gst_rtp_g722_depay_plugin_init (plugin))
171     return FALSE;
172 
173   if (!gst_rtp_g722_pay_plugin_init (plugin))
174     return FALSE;
175 
176   if (!gst_rtp_g723_depay_plugin_init (plugin))
177     return FALSE;
178 
179   if (!gst_rtp_g723_pay_plugin_init (plugin))
180     return FALSE;
181 
182   if (!gst_rtp_g726_depay_plugin_init (plugin))
183     return FALSE;
184 
185   if (!gst_rtp_g726_pay_plugin_init (plugin))
186     return FALSE;
187 
188   if (!gst_rtp_g729_depay_plugin_init (plugin))
189     return FALSE;
190 
191   if (!gst_rtp_g729_pay_plugin_init (plugin))
192     return FALSE;
193 
194   if (!gst_rtp_gsm_depay_plugin_init (plugin))
195     return FALSE;
196 
197   if (!gst_rtp_gsm_pay_plugin_init (plugin))
198     return FALSE;
199 
200   if (!gst_rtp_amr_depay_plugin_init (plugin))
201     return FALSE;
202 
203   if (!gst_rtp_amr_pay_plugin_init (plugin))
204     return FALSE;
205 
206   if (!gst_rtp_pcma_depay_plugin_init (plugin))
207     return FALSE;
208 
209   if (!gst_rtp_pcmu_depay_plugin_init (plugin))
210     return FALSE;
211 
212   if (!gst_rtp_pcmu_pay_plugin_init (plugin))
213     return FALSE;
214 
215   if (!gst_rtp_pcma_pay_plugin_init (plugin))
216     return FALSE;
217 
218   if (!gst_rtp_mpa_depay_plugin_init (plugin))
219     return FALSE;
220 
221   if (!gst_rtp_mpa_pay_plugin_init (plugin))
222     return FALSE;
223 
224   if (!gst_rtp_mpa_robust_depay_plugin_init (plugin))
225     return FALSE;
226 
227   if (!gst_rtp_mpv_depay_plugin_init (plugin))
228     return FALSE;
229 
230   if (!gst_rtp_mpv_pay_plugin_init (plugin))
231     return FALSE;
232 
233   if (!gst_rtp_opus_depay_plugin_init (plugin))
234     return FALSE;
235 
236   if (!gst_rtp_opus_pay_plugin_init (plugin))
237     return FALSE;
238 
239   if (!gst_rtp_h261_pay_plugin_init (plugin))
240     return FALSE;
241 
242   if (!gst_rtp_h261_depay_plugin_init (plugin))
243     return FALSE;
244 
245   if (!gst_rtp_h263p_pay_plugin_init (plugin))
246     return FALSE;
247 
248   if (!gst_rtp_h263p_depay_plugin_init (plugin))
249     return FALSE;
250 
251   if (!gst_rtp_h263_depay_plugin_init (plugin))
252     return FALSE;
253 
254   if (!gst_rtp_h263_pay_plugin_init (plugin))
255     return FALSE;
256 
257   if (!gst_rtp_h264_depay_plugin_init (plugin))
258     return FALSE;
259 
260   if (!gst_rtp_h264_pay_plugin_init (plugin))
261     return FALSE;
262 
263   if (!gst_rtp_h265_depay_plugin_init (plugin))
264     return FALSE;
265 
266   if (!gst_rtp_h265_pay_plugin_init (plugin))
267     return FALSE;
268 
269   if (!gst_rtp_j2k_depay_plugin_init (plugin))
270     return FALSE;
271 
272   if (!gst_rtp_j2k_pay_plugin_init (plugin))
273     return FALSE;
274 
275   if (!gst_rtp_jpeg_depay_plugin_init (plugin))
276     return FALSE;
277 
278   if (!gst_rtp_jpeg_pay_plugin_init (plugin))
279     return FALSE;
280 
281   if (!gst_rtp_klv_depay_plugin_init (plugin))
282     return FALSE;
283 
284   if (!gst_rtp_klv_pay_plugin_init (plugin))
285     return FALSE;
286 
287   if (!gst_rtp_L8_pay_plugin_init (plugin))
288     return FALSE;
289 
290   if (!gst_rtp_L8_depay_plugin_init (plugin))
291     return FALSE;
292 
293   if (!gst_rtp_L16_pay_plugin_init (plugin))
294     return FALSE;
295 
296   if (!gst_rtp_L16_depay_plugin_init (plugin))
297     return FALSE;
298 
299   if (!gst_rtp_L24_pay_plugin_init (plugin))
300     return FALSE;
301 
302   if (!gst_rtp_L24_depay_plugin_init (plugin))
303     return FALSE;
304 
305   if (!gst_asteriskh263_plugin_init (plugin))
306     return FALSE;
307 
308   if (!gst_rtp_mp1s_depay_plugin_init (plugin))
309     return FALSE;
310 
311   if (!gst_rtp_mp2t_depay_plugin_init (plugin))
312     return FALSE;
313 
314   if (!gst_rtp_mp2t_pay_plugin_init (plugin))
315     return FALSE;
316 
317   if (!gst_rtp_mp4v_pay_plugin_init (plugin))
318     return FALSE;
319 
320   if (!gst_rtp_mp4v_depay_plugin_init (plugin))
321     return FALSE;
322 
323   if (!gst_rtp_mp4a_pay_plugin_init (plugin))
324     return FALSE;
325 
326   if (!gst_rtp_mp4a_depay_plugin_init (plugin))
327     return FALSE;
328 
329   if (!gst_rtp_mp4g_depay_plugin_init (plugin))
330     return FALSE;
331 
332   if (!gst_rtp_mp4g_pay_plugin_init (plugin))
333     return FALSE;
334 
335   if (!gst_rtp_qcelp_depay_plugin_init (plugin))
336     return FALSE;
337 
338   if (!gst_rtp_qdm2_depay_plugin_init (plugin))
339     return FALSE;
340 
341   if (!gst_rtp_sbc_depay_plugin_init (plugin))
342     return FALSE;
343 
344   if (!gst_rtp_sbc_pay_plugin_init (plugin))
345     return FALSE;
346 
347   if (!gst_rtp_siren_pay_plugin_init (plugin))
348     return FALSE;
349 
350   if (!gst_rtp_siren_depay_plugin_init (plugin))
351     return FALSE;
352 
353   if (!gst_rtp_speex_pay_plugin_init (plugin))
354     return FALSE;
355 
356   if (!gst_rtp_speex_depay_plugin_init (plugin))
357     return FALSE;
358 
359   if (!gst_rtp_sv3v_depay_plugin_init (plugin))
360     return FALSE;
361 
362   if (!gst_rtp_theora_depay_plugin_init (plugin))
363     return FALSE;
364 
365   if (!gst_rtp_theora_pay_plugin_init (plugin))
366     return FALSE;
367 
368   if (!gst_rtp_vorbis_depay_plugin_init (plugin))
369     return FALSE;
370 
371   if (!gst_rtp_vorbis_pay_plugin_init (plugin))
372     return FALSE;
373 
374   if (!gst_rtp_vp8_depay_plugin_init (plugin))
375     return FALSE;
376 
377   if (!gst_rtp_vp8_pay_plugin_init (plugin))
378     return FALSE;
379 
380   if (!gst_rtp_vp9_depay_plugin_init (plugin))
381     return FALSE;
382 
383   if (!gst_rtp_vp9_pay_plugin_init (plugin))
384     return FALSE;
385 
386   if (!gst_rtp_vraw_depay_plugin_init (plugin))
387     return FALSE;
388 
389   if (!gst_rtp_vraw_pay_plugin_init (plugin))
390     return FALSE;
391 
392   if (!gst_rtp_stream_pay_plugin_init (plugin))
393     return FALSE;
394 
395   if (!gst_rtp_stream_depay_plugin_init (plugin))
396     return FALSE;
397 
398   if (!gst_element_register (plugin, "rtpredenc", GST_RANK_NONE,
399           GST_TYPE_RTP_RED_ENC))
400     return FALSE;
401 
402   if (!gst_element_register (plugin, "rtpreddec", GST_RANK_NONE,
403           GST_TYPE_RTP_RED_DEC))
404     return FALSE;
405 
406   if (!gst_element_register (plugin, "rtpulpfecdec", GST_RANK_NONE,
407           GST_TYPE_RTP_ULPFEC_DEC))
408     return FALSE;
409 
410   if (!gst_element_register (plugin, "rtpulpfecenc", GST_RANK_NONE,
411           GST_TYPE_RTP_ULPFEC_ENC))
412     return FALSE;
413 
414   if (!gst_element_register (plugin, "rtpreddec", GST_RANK_NONE,
415           GST_TYPE_RTP_RED_DEC))
416     return FALSE;
417 
418   if (!gst_element_register (plugin, "rtpredenc", GST_RANK_NONE,
419           GST_TYPE_RTP_RED_ENC))
420     return FALSE;
421 
422   if (!gst_element_register (plugin, "rtpstorage", GST_RANK_NONE,
423           GST_TYPE_RTP_STORAGE))
424     return FALSE;
425 
426   return TRUE;
427 }
428 
429 GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
430     GST_VERSION_MINOR,
431     rtp,
432     "Real-time protocol plugins",
433     plugin_init, VERSION, "LGPL", GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN);
434