mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-26 11:41:09 +00:00
rtsp-server: Add RFC5576 Source-specific media attribute to the SDP media for signalling the CNAME
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2132>
This commit is contained in:
parent
150db81287
commit
a91b1c64a1
1 changed files with 29 additions and 0 deletions
|
@ -465,6 +465,35 @@ gst_rtsp_sdp_make_media (GstSDPMessage * sdp, GstSDPInfo * info,
|
|||
}
|
||||
}
|
||||
|
||||
/* RFC5576 Source-specific media attributes */
|
||||
{
|
||||
GObject *session;
|
||||
guint ssrc;
|
||||
GstStructure *sdes;
|
||||
const gchar *cname;
|
||||
gchar *ssrc_cname;
|
||||
|
||||
session = gst_rtsp_stream_get_rtpsession (stream);
|
||||
if (session) {
|
||||
g_object_get (session, "sdes", &sdes, NULL);
|
||||
|
||||
cname = gst_structure_get_string (sdes, "cname");
|
||||
gst_rtsp_stream_get_ssrc (stream, &ssrc);
|
||||
|
||||
if (cname) {
|
||||
ssrc_cname = g_strdup_printf ("%u cname:%s", ssrc, cname);
|
||||
gst_sdp_media_add_attribute (smedia, "ssrc", ssrc_cname);
|
||||
g_free (ssrc_cname);
|
||||
} else {
|
||||
GST_ERROR ("unable to get CNAME for stream %p", stream);
|
||||
}
|
||||
gst_structure_free (sdes);
|
||||
g_object_unref (session);
|
||||
} else {
|
||||
GST_ERROR ("unable to get RTP session from stream %p", stream);
|
||||
}
|
||||
}
|
||||
|
||||
gst_sdp_message_add_media (sdp, smedia);
|
||||
gst_sdp_media_free (smedia);
|
||||
|
||||
|
|
Loading…
Reference in a new issue