From 325dac0fc21bf3e014f1a0bbe6de5dc711e21e30 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Wed, 29 Aug 2007 01:22:43 +0000 Subject: gst/rtpmanager/gstrtpsession.*: Distribute synchronisation parameters to the session manager so that it can generate ... Original commit message from CVS: * gst/rtpmanager/gstrtpsession.c: (stop_rtcp_thread), (gst_rtp_session_change_state), (gst_rtp_session_event_send_rtp_sink): * gst/rtpmanager/gstrtpsession.h: Distribute synchronisation parameters to the session manager so that it can generate correct SR packets for lip-sync. * gst/rtpmanager/rtpsession.c: (rtp_session_set_base_time), (rtp_session_set_timestamp_sync), (session_start_rtcp): * gst/rtpmanager/rtpsession.h: Add methods for setting sync parameters. Set correct RTP time in SR packets using the sync params. * gst/rtpmanager/rtpsource.c: (rtp_source_send_rtp): * gst/rtpmanager/rtpsource.h: Record last RTP <-> GST timestamp so that we can use them to convert NTP to RTP timestamps in SR packets. --- gst/rtpmanager/rtpsession.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'gst/rtpmanager/rtpsession.h') diff --git a/gst/rtpmanager/rtpsession.h b/gst/rtpmanager/rtpsession.h index 9082d9d2..9380b55e 100644 --- a/gst/rtpmanager/rtpsession.h +++ b/gst/rtpmanager/rtpsession.h @@ -189,6 +189,10 @@ struct _RTPSession { gpointer user_data; RTPSessionStats stats; + + /* for mapping RTP time to NTP time */ + GstClockTime start_timestamp; + GstClockTime base_time; }; /** @@ -251,7 +255,8 @@ GstFlowReturn rtp_session_process_rtcp (RTPSession *sess, GstBuffer /* processing packets for sending */ GstFlowReturn rtp_session_send_rtp (RTPSession *sess, GstBuffer *buffer); - +void rtp_session_set_base_time (RTPSession *sess, GstClockTime base_time); +void rtp_session_set_timestamp_sync (RTPSession *sess, GstClockTime start_timestamp); /* stopping the session */ GstFlowReturn rtp_session_send_bye (RTPSession *sess, const gchar *reason); -- cgit