This function is deprecated.
int sm_vidmprx_status(struct sm_vidmprx_status_parms *statusp)
typedef struct sm_vidmprx_status_parms {
tSMVidMPrxId vidmprx; /* in */
enum kSMVidMPrxStatus {
kSMVidMPrxStatusRunning,
kSMVidMPrxStatusStopped,
kSMVidMPrxStatusGotPorts,
kSMVidMPrxStatusNewSSRC,
kSMVidMPrxStatusUnhandledPayload,
kSMVidMPrxStatusInternalError,
kSMVidMPrxStatusGotPortsIPv6,
kSMVidMPrxStatusNewSSRCIPv6,
kSMVidMPrxStatusSTUNBindRequest,
kSMVidMPrxStatusSTUNBindResponse,
} status; /* out */
union {
struct {
int RTP_Port; /* out */
int RTCP_Port; /* out */
struct in_addr address; /* out */
} ports; /* out */
struct {
tSM_INT no_data; /* out */
} run; /* out */
struct {
struct in_addr address; /* out */
int port; /* out */
int ssrc; /* out */
} ssrc; /* out */
struct {
int type; /* out */
} payload; /* out */
struct {
int num_errors; /* out */
} internal_error; /* out */
struct {
int RTP_Port; /* out */
int RTCP_Port; /* out */
struct in6_addr address; /* out */
} ports_ipv6; /* out */
struct {
struct in6_addr address; /* out */
int port; /* out */
int ssrc; /* out */
} ssrc_ipv6; /* out */
struct {
int recv_port; /* out */
enum kSMAddressType {
kSMAddressTypeIPv4,
kSMAddressTypeIPv6,
} address_type; /* out */
union {
struct in_addr ipv4; /* out */
struct in6_addr ipv6; /* out */
} address; /* out */
int port; /* out */
tSM_UT32 priority; /* out */
int use_candidate; /* out */
int remote_is_controlling; /* out */
} bind_request; /* out */
struct {
int recv_port; /* out */
char transaction_id[12]; /* out */
enum kSMVidMPrxSTUNResult {
kSMVidMPrxSTUNResultSuccess,
kSMVidMPrxSTUNResultError,
kSMVidMPrxSTUNResultInvalid,
kSMVidMPrxSTUNResultTimeout,
} result; /* out */
tSM_INT error_code; /* out */
enum kSMAddressType address_type; /* out */
union {
struct in_addr ipv4; /* out */
struct in6_addr ipv6; /* out */
} address; /* out */
int port; /* out */
int local_was_controlling; /* out */
} bind_response; /* out */
} u; /* out */
} SM_VIDMPRX_STATUS_PARMS;
Returns the current status of the VidMP[rx] or an error to indicate that an error has occurred.
When the VidMP[rx] event, obtained from sm_vidmprx_get_event(), is signalled the user must call this function to determine the nature of the status change. The change in status may indicate that an error occurred whilst processing a user request or it may be notifiying the user of a change to the previous state of the VidMP[rx].
0 if call completed successfully, otherwise a standard error such as:
This function is part of the Prosody RTP processing API.