1 /* GStreamer
2  * Copyright (C) 2007-2008 Wouter Cloetens <wouter@mind.be>
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
13  */
14 
15 #ifdef HAVE_CONFIG_H
16 #include "config.h"
17 #endif
18 
19 #include <gst/gst-i18n-plugin.h>
20 
21 #include "gstsouphttpsrc.h"
22 #include "gstsouphttpclientsink.h"
23 #include "gstsouputils.h"
24 
25 GST_DEBUG_CATEGORY (soup_utils_debug);
26 
27 static gboolean
plugin_init(GstPlugin * plugin)28 plugin_init (GstPlugin * plugin)
29 {
30 #ifdef ENABLE_NLS
31   GST_DEBUG ("binding text domain %s to locale dir %s", GETTEXT_PACKAGE,
32       LOCALEDIR);
33   bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
34   bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
35 #endif
36 
37   /* see https://bugzilla.gnome.org/show_bug.cgi?id=674885 */
38   g_type_ensure (G_TYPE_SOCKET);
39   g_type_ensure (G_TYPE_SOCKET_ADDRESS);
40   g_type_ensure (G_TYPE_SOCKET_SERVICE);
41   g_type_ensure (G_TYPE_SOCKET_FAMILY);
42   g_type_ensure (G_TYPE_SOCKET_CLIENT);
43   g_type_ensure (G_TYPE_RESOLVER);
44   g_type_ensure (G_TYPE_PROXY_RESOLVER);
45   g_type_ensure (G_TYPE_PROXY_ADDRESS);
46   g_type_ensure (G_TYPE_TLS_CERTIFICATE);
47   g_type_ensure (G_TYPE_TLS_CONNECTION);
48   g_type_ensure (G_TYPE_TLS_DATABASE);
49   g_type_ensure (G_TYPE_TLS_INTERACTION);
50 
51   gst_element_register (plugin, "souphttpsrc", GST_RANK_PRIMARY,
52       GST_TYPE_SOUP_HTTP_SRC);
53   gst_element_register (plugin, "souphttpclientsink", GST_RANK_NONE,
54       GST_TYPE_SOUP_HTTP_CLIENT_SINK);
55   GST_DEBUG_CATEGORY_INIT (soup_utils_debug, "souputils", 0, "Soup utils");
56 
57   return TRUE;
58 }
59 
60 GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
61     GST_VERSION_MINOR,
62     soup,
63     "libsoup HTTP client src/sink",
64     plugin_init, VERSION, GST_LICENSE, GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN)
65