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