gboolean is_joined;
gchar *control;
+ GstRTSPLowerTrans protocols;
+
/* pads on the rtpbin */
GstPad *send_rtp_sink;
GstPad *recv_sink[2];
gint dscp_qos;
};
-#define DEFAULT_CONTROL NULL
+#define DEFAULT_CONTROL NULL
+#define DEFAULT_PROTOCOLS GST_RTSP_LOWER_TRANS_UDP | GST_RTSP_LOWER_TRANS_TCP
enum
{
PROP_0,
PROP_CONTROL,
+ PROP_PROTOCOLS,
PROP_LAST
};
"The control string for this stream", DEFAULT_CONTROL,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (gobject_class, PROP_PROTOCOLS,
+ g_param_spec_flags ("protocols", "Protocols",
+ "Allowed lower transport protocols", GST_TYPE_RTSP_LOWER_TRANS,
+ DEFAULT_PROTOCOLS, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
GST_DEBUG_CATEGORY_INIT (rtsp_stream_debug, "rtspstream", 0, "GstRTSPStream");
ssrc_stream_map_key = g_quark_from_static_string ("GstRTSPServer.stream");
priv->dscp_qos = -1;
priv->control = g_strdup (DEFAULT_CONTROL);
+ priv->protocols = DEFAULT_PROTOCOLS;
g_mutex_init (&priv->lock);
}
case PROP_CONTROL:
g_value_take_string (value, gst_rtsp_stream_get_control (stream));
break;
+ case PROP_PROTOCOLS:
+ g_value_set_flags (value, gst_rtsp_stream_get_protocols (stream));
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, propid, pspec);
}
case PROP_CONTROL:
gst_rtsp_stream_set_control (stream, g_value_get_string (value));
break;
+ case PROP_PROTOCOLS:
+ gst_rtsp_stream_set_protocols (stream, g_value_get_flags (value));
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, propid, pspec);
}
return priv->dscp_qos;
}
+/**
+ * gst_rtsp_stream_set_protocols:
+ * @stream: a #GstRTSPStream
+ * @protocols: the new flags
+ *
+ * Configure the allowed lower transport for @stream.
+ */
+void
+gst_rtsp_stream_set_protocols (GstRTSPStream * stream,
+ GstRTSPLowerTrans protocols)
+{
+ GstRTSPStreamPrivate *priv;
+
+ g_return_if_fail (GST_IS_RTSP_STREAM (stream));
+
+ priv = stream->priv;
+
+ g_mutex_lock (&priv->lock);
+ priv->protocols = protocols;
+ g_mutex_unlock (&priv->lock);
+}
+
+/**
+ * gst_rtsp_stream_get_protocols:
+ * @stream: a #GstRTSPStream
+ *
+ * Get the allowed protocols of @stream.
+ *
+ * Returns: a #GstRTSPLowerTrans
+ */
+GstRTSPLowerTrans
+gst_rtsp_stream_get_protocols (GstRTSPStream * stream)
+{
+ GstRTSPStreamPrivate *priv;
+ GstRTSPLowerTrans res;
+
+ g_return_val_if_fail (GST_IS_RTSP_STREAM (stream),
+ GST_RTSP_LOWER_TRANS_UNKNOWN);
+
+ priv = stream->priv;
+
+ g_mutex_lock (&priv->lock);
+ res = priv->protocols;
+ g_mutex_unlock (&priv->lock);
+
+ return res;
+}
/**
* gst_rtsp_stream_set_address_pool: