Prosody RTP processing: API: sm_vmptx_propagate_rtcp_sr_ntp

Prototype Definition

int sm_vmptx_propagate_rtcp_sr_ntp(struct sm_vmptx_propagate_rtcp_sr_ntp_parms *propp)

Parameters

*propp
a structure of the following type:
typedef struct sm_vmptx_propagate_rtcp_sr_ntp_parms {
	tSMVMPtxId vmptx;					/* in */
	tSM_UT64 localtimeref;					/* in */
	tSM_UT64 ntp_timestamp;					/* in */
} SM_VMPTX_PROPAGATE_RTCP_SR_NTP_PARMS;

Description

RTCP sender reports (SRs) include an RTP timestamp and a 64 bit NTP time with this NTP time indicating the wallclock time corresponding to the sample with the given RTP timestamp. For SR associated with a VMP[tx] this NTP time is normally the time of the epoch in which that packet would be emitted. This call sets an adjustment to cause each RTCP SR NTP time to be an earlier time in order to allow the relation between NTP time and a given sample to be maintained when forwarding an RTP signal from a VMP[rx] via a signal pipeline to a VMP[tx]. The passed in ntp_timestamp needs to be calculated by the application, normally using a received RTCP sender report NTP time, and the difference between RTCP SR RTP timestamp and the RTP timestamp obtained on occurrence of sm_vmprx_status() kSMVMPrxStatusJBResync, as a basis for the calculation.

Fields

vmptx
The VMP[tx]
localtimeref
A local time reference in units of microseconds obtained on occurrence of kSMVMPrxStatusJBResync.
ntp_timestamp
The NTP time that should correspond to this localtimeref for this VMP[tx].

Returns

0 if call completed successfully, otherwise a standard error such as:


This function is part of the Prosody RTP processing API.