From 5b13c5b464cad4dc2954b0dff7cba988363417ad Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Tue, 7 Jan 2014 11:51:01 +0100 Subject: [PATCH] rtsptransport: add GType for Profile See https://bugzilla.gnome.org/show_bug.cgi?id=720696 --- gst-libs/gst/rtsp/gstrtsptransport.c | 21 ++++++++++++++++++++- gst-libs/gst/rtsp/gstrtsptransport.h | 3 +++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/gst-libs/gst/rtsp/gstrtsptransport.c b/gst-libs/gst/rtsp/gstrtsptransport.c index 2dd333169a..56adf2f522 100644 --- a/gst-libs/gst/rtsp/gstrtsptransport.c +++ b/gst-libs/gst/rtsp/gstrtsptransport.c @@ -102,6 +102,26 @@ static const RTSPProfileMap profiles[] = { {NULL, GST_RTSP_PROFILE_UNKNOWN} }; +GType +gst_rtsp_profile_get_type (void) +{ + static volatile gsize rtsp_profile_type = 0; + static const GFlagsValue rtsp_profile[] = { + {GST_RTSP_PROFILE_AVP, "GST_RTSP_PROFILE_AVP", "avp"}, + {GST_RTSP_PROFILE_SAVP, "GST_RTSP_PROFILE_SAVP", "savp"}, + {GST_RTSP_PROFILE_AVPF, "GST_RTSP_PROFILE_AVPF", "avpf"}, + {GST_RTSP_PROFILE_SAVPF, "GST_RTSP_PROFILE_SAVPF", "savpf"}, + {0, NULL, NULL}, + }; + + if (g_once_init_enter (&rtsp_profile_type)) { + GType tmp = g_flags_register_static ("GstRTSPProfile", rtsp_profile); + g_once_init_leave (&rtsp_profile_type, tmp); + } + + return (GType) rtsp_profile_type; +} + typedef struct { const gchar *name; @@ -115,7 +135,6 @@ static const RTSPLTransMap ltrans[] = { {NULL, GST_RTSP_LOWER_TRANS_UNKNOWN} }; - GType gst_rtsp_lower_trans_get_type (void) { diff --git a/gst-libs/gst/rtsp/gstrtsptransport.h b/gst-libs/gst/rtsp/gstrtsptransport.h index 6855d7deee..33039a5bce 100644 --- a/gst-libs/gst/rtsp/gstrtsptransport.h +++ b/gst-libs/gst/rtsp/gstrtsptransport.h @@ -80,6 +80,9 @@ typedef enum { GST_RTSP_PROFILE_SAVPF = (1 << 3), } GstRTSPProfile; +#define GST_TYPE_RTSP_PROFILE (gst_rtsp_profile_get_type()) +GType gst_rtsp_profile_get_type (void); + /** * GstRTSPLowerTrans: * @GST_RTSP_LOWER_TRANS_UNKNOWN: invalid transport flag