+
+/**
+ * gst_rtsp_sdp_from_stream:
+ * @sdp: a #GstSDPMessage
+ * @info: (transfer none): a #GstSDPInfo
+ * @stream: (transfer none): a #GstRTSPStream
+ *
+ * Add info from @stream to @sdp.
+ *
+ */
+void
+gst_rtsp_sdp_from_stream (GstSDPMessage * sdp, GstSDPInfo * info,
+ GstRTSPStream * stream)
+{
+ GstCaps *caps;
+ GstRTSPProfile profiles;
+ guint mask;
+
+ caps = gst_rtsp_stream_get_caps (stream);
+
+ if (caps == NULL) {
+ g_warning ("ignoring stream without caps");
+ return;
+ }
+
+ /* make a new media for each profile */
+ profiles = gst_rtsp_stream_get_profiles (stream);
+ mask = 1;
+ while (profiles >= mask) {
+ GstRTSPProfile prof = profiles & mask;
+
+ if (prof)
+ make_media (sdp, info, stream, caps, prof);
+
+ mask <<= 1;
+ }
+ gst_caps_unref (caps);
+}