session: give caps to session
Let the session parse the caps and update its SSRC when needed.
This commit is contained in:
parent
c06482a2cb
commit
0e53e9109e
@ -1883,15 +1883,9 @@ gst_rtp_session_setcaps_send_rtp (GstPad * pad, GstRtpSession * rtpsession,
|
|||||||
GstCaps * caps)
|
GstCaps * caps)
|
||||||
{
|
{
|
||||||
GstRtpSessionPrivate *priv;
|
GstRtpSessionPrivate *priv;
|
||||||
GstStructure *s = gst_caps_get_structure (caps, 0);
|
|
||||||
guint ssrc;
|
|
||||||
|
|
||||||
priv = rtpsession->priv;
|
priv = rtpsession->priv;
|
||||||
|
|
||||||
if (gst_structure_get_uint (s, "ssrc", &ssrc)) {
|
|
||||||
GST_DEBUG_OBJECT (rtpsession, "setting internal SSRC to %08x", ssrc);
|
|
||||||
rtp_session_set_internal_ssrc (priv->session, ssrc);
|
|
||||||
}
|
|
||||||
rtp_session_update_send_caps (priv->session, caps);
|
rtp_session_update_send_caps (priv->session, caps);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
@ -2440,11 +2440,19 @@ ignore:
|
|||||||
void
|
void
|
||||||
rtp_session_update_send_caps (RTPSession * sess, GstCaps * caps)
|
rtp_session_update_send_caps (RTPSession * sess, GstCaps * caps)
|
||||||
{
|
{
|
||||||
|
GstStructure *s;
|
||||||
|
guint ssrc;
|
||||||
|
|
||||||
g_return_if_fail (RTP_IS_SESSION (sess));
|
g_return_if_fail (RTP_IS_SESSION (sess));
|
||||||
g_return_if_fail (GST_IS_CAPS (caps));
|
g_return_if_fail (GST_IS_CAPS (caps));
|
||||||
|
|
||||||
GST_LOG ("received caps %" GST_PTR_FORMAT, caps);
|
GST_LOG ("received caps %" GST_PTR_FORMAT, caps);
|
||||||
|
|
||||||
|
s = gst_caps_get_structure (caps, 0);
|
||||||
|
|
||||||
|
if (gst_structure_get_uint (s, "ssrc", &ssrc))
|
||||||
|
rtp_session_set_internal_ssrc (sess, ssrc);
|
||||||
|
|
||||||
RTP_SESSION_LOCK (sess);
|
RTP_SESSION_LOCK (sess);
|
||||||
rtp_source_update_caps (sess->source, caps);
|
rtp_source_update_caps (sess->source, caps);
|
||||||
RTP_SESSION_UNLOCK (sess);
|
RTP_SESSION_UNLOCK (sess);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user