mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-17 11:45:25 +00:00
rtpsession: update caps in the source
Inform the source when caps changed. This was removed in the port to 1.0 leaving the source unaware of the clock-rate and unable to interpollate rtp timestamps for SR packets.
This commit is contained in:
parent
f4eef3f48d
commit
f17db5c4ed
3 changed files with 23 additions and 0 deletions
|
@ -1785,6 +1785,8 @@ gst_rtp_session_setcaps_send_rtp (GstPad * pad, GstRtpSession * rtpsession,
|
|||
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);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
|
|
@ -2454,6 +2454,26 @@ ignore:
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* rtp_session_update_send_caps:
|
||||
* @sess: an #RTPSession
|
||||
* @caps: a #GstCaps
|
||||
*
|
||||
* Update the caps of the sender in the rtp session.
|
||||
*/
|
||||
void
|
||||
rtp_session_update_send_caps (RTPSession * sess, GstCaps * caps)
|
||||
{
|
||||
g_return_val_if_fail (RTP_IS_SESSION (sess), GST_FLOW_ERROR);
|
||||
g_return_val_if_fail (GST_IS_CAPS (caps), GST_FLOW_ERROR);
|
||||
|
||||
GST_LOG ("received caps %" GST_PTR_FORMAT, caps);
|
||||
|
||||
RTP_SESSION_LOCK (sess);
|
||||
rtp_source_update_caps (sess->source, caps);
|
||||
RTP_SESSION_UNLOCK (sess);
|
||||
}
|
||||
|
||||
/**
|
||||
* rtp_session_send_rtp:
|
||||
* @sess: an #RTPSession
|
||||
|
|
|
@ -333,6 +333,7 @@ GstFlowReturn rtp_session_process_rtcp (RTPSession *sess, GstBuffer
|
|||
guint64 ntpnstime);
|
||||
|
||||
/* processing packets for sending */
|
||||
void rtp_session_update_send_caps (RTPSession *sess, GstCaps *caps);
|
||||
GstFlowReturn rtp_session_send_rtp (RTPSession *sess, gpointer data, gboolean is_list,
|
||||
GstClockTime current_time, GstClockTime running_time);
|
||||
|
||||
|
|
Loading…
Reference in a new issue