int sm_vmptx_set_csrc(struct sm_vmptx_set_csrc_parms *csrcp)
typedef struct sm_vmptx_set_csrc_parms {
tSMVMPtxId vmptx; /* in */
unsigned repeat_delay; /* in */
unsigned packet_count; /* in */
enum kSMVMPTxCSRCType {
kSMVMPTxCSRCTypeArray,
kSMVMPTxCSRCTypeList,
} type; /* in */
union {
struct {
int num_csrc; /* in */
int *csrc; /* in */
} csrc_array; /* in */
struct {
tSMVMPTxCSRCListId csrc_list_id; /* in */
int exclude_ssrc; /* in */
int ssrc; /* in */
} csrc_list; /* in */
} u; /* in */
} SM_VMPTX_SET_CSRC_PARMS;
Sets the CSRC list to be sent in the RTP packets.
When type is kSMVMPTxCSRCTypeArray, the CSRC list is specified using num_csrc and csrc. If num_csrc is zero then no CSRC list will be sent.
When
type
is
kSMVMPTxCSRCTypeList,
the field
csrc_list_id
must be a list object created using
sm_vmptx_create_csrc_list(),
or kSMNullVMPTxCSRCListId to clear the CSRC list.
Any changes to the list object will automatically be reflected in
the RTP packets being sent. Where this VMP[tx] has a corresponding
VMP[rx], the appropriate SSRC can be excluded from the CSRC list
of the RTP packets sent by this VMP[tx]. When the field
exclude_ssrc
is non-zero, the SSRC passed in
ssrc
will not be included in the CSRC list of RTP packets sent by this VMP[tx]
even if it is included in the CSRC list object.
The list object and vmptx must have been allocated
on the same tSMModuleId.
0 if call completed successfully, otherwise a standard error such as:
This function is part of the Prosody RTP processing API.