rtsp: add GType for transport flags
authorWim Taymans <wim.taymans@collabora.co.uk>
Fri, 19 Mar 2010 14:00:01 +0000 (15:00 +0100)
committerWim Taymans <wim.taymans@collabora.co.uk>
Fri, 19 Mar 2010 14:00:01 +0000 (15:00 +0100)
Make a method to register the transport flags as a GType.

gst-libs/gst/rtsp/gstrtspdefs.h
gst-libs/gst/rtsp/gstrtsptransport.c
gst-libs/gst/rtsp/gstrtsptransport.h

index 4986c90..9652f17 100644 (file)
@@ -44,6 +44,7 @@
 #define __GST_RTSP_DEFS_H__
 
 #include <glib.h>
+#include <glib-object.h>
 
 G_BEGIN_DECLS
 
index f509ca9..5027243 100644 (file)
@@ -117,6 +117,26 @@ static const RTSPLTransMap ltrans[] = {
   {NULL, GST_RTSP_LOWER_TRANS_UNKNOWN}
 };
 
+
+GType
+gst_rtsp_lower_trans_get_type (void)
+{
+  static GType rtsp_lower_trans_type = 0;
+  static const GFlagsValue rtsp_lower_trans[] = {
+    {GST_RTSP_LOWER_TRANS_UDP, "UDP Unicast Mode", "udp-unicast"},
+    {GST_RTSP_LOWER_TRANS_UDP_MCAST, "UDP Multicast Mode", "udp-multicast"},
+    {GST_RTSP_LOWER_TRANS_TCP, "TCP interleaved mode", "tcp"},
+    {GST_RTSP_LOWER_TRANS_HTTP, "HTTP tunneled mode", "http"},
+    {0, NULL, NULL},
+  };
+
+  if (!rtsp_lower_trans_type) {
+    rtsp_lower_trans_type =
+        g_flags_register_static ("GstRTSPLowerTrans", rtsp_lower_trans);
+  }
+  return rtsp_lower_trans_type;
+}
+
 #define RTSP_TRANSPORT_PARAMETER_IS_UNIQUE(param) \
 G_STMT_START {                                    \
   if ((transport_params & (param)) != 0)          \
index 71c1c5b..5ceb567 100644 (file)
@@ -93,6 +93,9 @@ typedef enum {
   GST_RTSP_LOWER_TRANS_HTTP      = (1 << 4)
 } GstRTSPLowerTrans;
 
+#define GST_TYPE_RTSP_LOWER_TRANS (gst_rtsp_lower_trans_get_type())
+GType gst_rtsp_lower_trans_get_type (void);
+
 /**
  * GstRTSPRange:
  * @min: minimum value of the range