oRTP  1.0.2
Data Structures | Macros | Typedefs | Functions
b64.c File Reference
#include "ortp/port.h"
#include "ortp/b64.h"
#include <bctoolbox/defs.h>
#include <assert.h>
#include <string.h>
Include dependency graph for b64.c:

Data Structures

struct  b64ErrorString_t_
 

Macros

#define B64_VER_C_B64_MAJOR   1
 
#define B64_VER_C_B64_MINOR   2
 
#define B64_VER_C_B64_REVISION   3
 
#define B64_VER_C_B64_EDIT   17
 
#define NUM_PLAIN_DATA_BYTES   (3)
 
#define NUM_ENCODED_DATA_BYTES   (4)
 
#define NUM_ELEMENTS(x)   (sizeof(x) / sizeof(x[0]))
 
#define SEVERITY_STR_DECL(rc, desc)
 
#define SEVERITY_STR_ENTRY(rc)
 

Typedefs

typedef struct b64ErrorString_t_ b64ErrorString_t_
 

Functions

size_t b64_encode (void const *src, size_t srcSize, char *dest, size_t destLen)
 Encodes a block of binary data into Base-64. More...
 
size_t b64_encode2 (void const *src, size_t srcSize, char *dest, size_t destLen, unsigned flags, int lineLen, B64_RC *rc)
 Encodes a block of binary data into Base-64. More...
 
size_t b64_decode (char const *src, size_t srcLen, void *dest, size_t destSize)
 Decodes a sequence of Base-64 into a block of binary data. More...
 
size_t b64_decode2 (char const *src, size_t srcLen, void *dest, size_t destSize, unsigned flags, char const **badChar, B64_RC *rc)
 Decodes a sequence of Base-64 into a block of binary data. More...
 
const char * b64_getErrorString (B64_RC code)
 Returns the textual description of the error. More...
 
size_t b64_getErrorStringLength (B64_RC code)
 Returns the length of the textual description of the error. More...
 

Detailed Description

Implementation file for the b64 library

Macro Definition Documentation

◆ SEVERITY_STR_DECL

#define SEVERITY_STR_DECL (   rc,
  desc 
)
Value:
\
static const char s_str##rc[] = desc; \
static const b64ErrorString_t_ s_rct##rc = { rc, s_str##rc, NUM_ELEMENTS(s_str##rc) - 1 }

◆ SEVERITY_STR_ENTRY

#define SEVERITY_STR_ENTRY (   rc)
Value:
\
&s_rct##rc

Function Documentation

◆ b64_decode()

size_t b64_decode ( char const *  src,
size_t  srcLen,
void *  dest,
size_t  destSize 
)

Decodes a sequence of Base-64 into a block of binary data.

Parameters
srcPointer to the Base-64 block to be decoded. May not be NULL, except when dest is NULL, in which case it is ignored. If dest is NULL, and src is not NULL, then the returned value is calculated exactly, otherwise a value is returned that is guaranteed to be large enough to hold the decoded block.
srcLenLength of block to be encoded. Must be an integral of 4, the Base-64 encoding quantum, otherwise the Base-64 block is assumed to be invalid
destPointer to the buffer into which the result is to be written. May be NULL, in which case the function returns the required length
destSizeLength of the buffer into which the result is to be written. Must be at least as large as that indicated by the return value from b64_decode(src, srcSize, NULL, 0), even in the case where the encoded form contains a number of characters that will be ignored, resulting in a lower total length of converted form.
Returns
0 if the size of the buffer was insufficient, or the length of the converted buffer was longer than destSize
Note
The function returns the required length if dest is NULL. The returned size might be larger than the actual required size, but will never be smaller.
The behaviour of both b64_encode2() and b64_decode2() are undefined if the line length is not a multiple of 4.
Threading: The function is fully re-entrant.
See also
b64::decode()

◆ b64_decode2()

size_t b64_decode2 ( char const *  src,
size_t  srcLen,
void *  dest,
size_t  destSize,
unsigned  flags,
char const **  badChar,
B64_RC rc 
)

Decodes a sequence of Base-64 into a block of binary data.

Parameters
srcPointer to the Base-64 block to be decoded. May not be NULL, except when dest is NULL, in which case it is ignored. If dest is NULL, and src is not NULL, then the returned value is calculated exactly, otherwise a value is returned that is guaranteed to be large enough to hold the decoded block.
srcLenLength of block to be encoded. Must be an integral of 4, the Base-64 encoding quantum, otherwise the Base-64 block is assumed to be invalid
destPointer to the buffer into which the result is to be written. May be NULL, in which case the function returns the required length
destSizeLength of the buffer into which the result is to be written. Must be at least as large as that indicated by the return value from b64_decode(src, srcSize, NULL, 0), even in the case where the encoded form contains a number of characters that will be ignored, resulting in a lower total length of converted form.
flagsA combination of the B64_FLAGS enumeration, that moderate the behaviour of the function.
rcThe return code representing the status of the operation. May be NULL.
badCharIf the flags parameter does not contain B64_F_STOP_ON_NOTHING, this parameter specifies the address of a pointer that will be set to point to any character in the sequence that stops the parsing, as dictated by the flags parameter. May be NULL.
Returns
0 if the size of the buffer was insufficient, or the length of the converted buffer was longer than destSize, or a bad character stopped parsing.
Note
The function returns the required length if dest is NULL. The returned size might be larger than the actual required size, but will never be smaller.
The behaviour of both b64_encode2() and b64_decode2() are undefined if the line length is not a multiple of 4.
Threading: The function is fully re-entrant.
See also
b64::decode()

◆ b64_encode()

size_t b64_encode ( void const *  src,
size_t  srcSize,
char *  dest,
size_t  destLen 
)

Encodes a block of binary data into Base-64.

Parameters
srcPointer to the block to be encoded. May not be NULL, except when dest is NULL, in which case it is ignored.
srcSizeLength of block to be encoded
destPointer to the buffer into which the result is to be written. May be NULL, in which case the function returns the required length
destLenLength of the buffer into which the result is to be written. Must be at least as large as that indicated by the return value from b64_encode(NULL, srcSize, NULL, 0).
Returns
0 if the size of the buffer was insufficient, or the length of the converted buffer was longer than destLen
Note
The function returns the required length if dest is NULL
The function returns the required length if dest is NULL. The returned size might be larger than the actual required size, but will never be smaller.
Threading: The function is fully re-entrant.
See also
b64::encode()

◆ b64_encode2()

size_t b64_encode2 ( void const *  src,
size_t  srcSize,
char *  dest,
size_t  destLen,
unsigned  flags,
int  lineLen,
B64_RC rc 
)

Encodes a block of binary data into Base-64.

Parameters
srcPointer to the block to be encoded. May not be NULL, except when dest is NULL, in which case it is ignored.
srcSizeLength of block to be encoded
destPointer to the buffer into which the result is to be written. May be NULL, in which case the function returns the required length
destLenLength of the buffer into which the result is to be written. Must be at least as large as that indicated by the return value from b64_encode2(NULL, srcSize, NULL, 0, flags, lineLen, rc).
flagsA combination of the B64_FLAGS enumeration, that moderate the behaviour of the function
lineLenIf the flags parameter contains B64_F_LINE_LEN_USE_PARAM, then this parameter represents the length of the lines into which the encoded form is split, with a hard line break ('\r\n'). If this value is 0, then the line is not split. If it is <0, then the RFC-1113 recommended line length of 64 is used
rcThe return code representing the status of the operation. May be NULL.
Returns
0 if the size of the buffer was insufficient, or the length of the converted buffer was longer than destLen
Note
The function returns the required length if dest is NULL. The returned size might be larger than the actual required size, but will never be smaller.
Threading: The function is fully re-entrant.
See also
b64::encode()

◆ b64_getErrorString()

const char* b64_getErrorString ( B64_RC  code)

Returns the textual description of the error.

Parameters
codeThe error code

◆ b64_getErrorStringLength()

size_t b64_getErrorStringLength ( B64_RC  code)

Returns the length of the textual description of the error.

See also
b64_getErrorString()
Parameters
codeThe error code
rtp_session_set_profile
void rtp_session_set_profile(RtpSession *session, RtpProfile *profile)
Definition: rtpsession.c:449
rtp_session_set_source_description
void rtp_session_set_source_description(RtpSession *session, const char *cname, const char *name, const char *email, const char *phone, const char *loc, const char *tool, const char *note)
Definition: rtcp.c:127
fmtp_get_value
bool_t fmtp_get_value(const char *fmtp, const char *param_name, char *result, size_t result_len)
Definition: payloadtype.c:189
session_set_destroy
void session_set_destroy(SessionSet *set)
Definition: sessionset.c:43
rtp_session_get_dscp
int rtp_session_get_dscp(const RtpSession *session)
Definition: rtpsession_inet.c:735
rtp_session_set_recv_buf_size
void rtp_session_set_recv_buf_size(RtpSession *session, int bufsize)
Definition: rtpsession.c:570
rtp_session_set_seq_number
void rtp_session_set_seq_number(RtpSession *session, uint16_t seq)
Definition: rtpsession.c:672
meta_rtp_transport_modifier_inject_packet_to_recv
int meta_rtp_transport_modifier_inject_packet_to_recv(RtpTransport *t, RtpTransportModifier *tpm, mblk_t *msg, int flags)
Definition: rtpsession.c:2290
OrtpRtcpXrConfiguration
Definition: rtpsession.h:251
rtp_session_rtcp_set_jitter_value
void rtp_session_rtcp_set_jitter_value(RtpSession *session, const unsigned int value)
For test purpose only, sets a constant interarrival_jitter value within all RTCP output packets....
Definition: rtpsession.c:1725
_OrtpMemoryFunctions
Definition: port.h:304
_OrtpVideoBandwidthEstimator
Definition: videobandwidthestimator.h:37
rtcp_xr_generic_block_header
Definition: rtcp.h:229
rtp_session_set_blocking_mode
void rtp_session_set_blocking_mode(RtpSession *session, int yesno)
Definition: rtpsession.c:430
_PayloadTypeAvpfParams::trr_interval
uint16_t trr_interval
Definition: payloadtype.h:70
_queue
Definition: str_utils.h:77
ortp_set_log_thread_id
void ortp_set_log_thread_id(unsigned long thread_id)
Definition: logging.c:151
meta_rtp_transport_modifier_inject_packet_to_send
int meta_rtp_transport_modifier_inject_packet_to_send(RtpTransport *t, RtpTransportModifier *tpm, mblk_t *msg, int flags)
Definition: rtpsession.c:2188
rtcp_app
Definition: rtcp.h:400
rtcp_common_header
Definition: rtcp.h:51
OrtpLossRateEstimator::last_packet_sent_count
int64_t last_packet_sent_count
Definition: rtcp.h:542
B64_F_LINE_LEN_76
Definition: b64.h:187
rtp_session_resync
void rtp_session_resync(RtpSession *session)
Definition: rtpsession.c:1643
_MetaRtpTransportImpl
Definition: rtpsession.c:2106
_OrtpNetworkSimulatorParams::latency
uint32_t latency
Definition: rtpsession.h:163
b64_getErrorString
const char * b64_getErrorString(B64_RC code)
Returns the textual description of the error.
Definition: b64.c:597
OrtpRtcpTmmbrInfo
Definition: rtpsession.h:286
b64_decode2
size_t b64_decode2(char const *src, size_t srcLen, void *dest, size_t destSize, unsigned flags, char const **badChar, B64_RC *rc)
Decodes a sequence of Base-64 into a block of binary data.
Definition: b64.c:490
rtp_session_set_scheduling_mode
void rtp_session_set_scheduling_mode(RtpSession *session, int yesno)
Definition: rtpsession.c:395
_JBParameters::buffer_algorithm
OrtpJitterBufferAlgorithm buffer_algorithm
Definition: rtpsession.h:74
B64_F_LINE_LEN_INFINITE
Definition: b64.h:185
rtp_session_recv_telephone_events_supported
int rtp_session_recv_telephone_events_supported(RtpSession *session)
Definition: telephonyevents.c:76
rtp_session_add_aux_remote_addr_full
int rtp_session_add_aux_remote_addr_full(RtpSession *session, const char *rtp_addr, int rtp_port, const char *rtcp_addr, int rtcp_port)
Definition: rtpsession_inet.c:939
rtp_session_rtcp_sendm_raw
int rtp_session_rtcp_sendm_raw(RtpSession *session, mblk_t *m)
Definition: rtpsession_inet.c:1253
ortp_set_log_level_mask
void ortp_set_log_level_mask(const char *domain, int levelmask)
Definition: logging.c:119
_OrtpVideoBandwidthEstimatorPacket
Definition: videobandwidthestimator.h:28
rtp_session_enable_rtcp
void rtp_session_enable_rtcp(RtpSession *session, bool_t yesno)
Definition: rtpsession.c:464
rtp_session_set_send_ts_offset
void rtp_session_set_send_ts_offset(RtpSession *s, uint32_t offset)
Definition: rtpsession.c:554
rtp_session_set_payload_type
int rtp_session_set_payload_type(RtpSession *session, int pt)
Definition: rtpsession.c:833
rtp_session_send_dtmf
int rtp_session_send_dtmf(RtpSession *session, char dtmf, uint32_t userts)
Definition: telephonyevents.c:188
B64_F_LINE_LEN_MASK
Definition: b64.h:188
rtcp_fb_header
Definition: rtcp.h:312
rtp_session_register_event_queue
void rtp_session_register_event_queue(RtpSession *session, OrtpEvQueue *q)
Definition: rtpsession.c:1529
_OrtpAddress
Definition: rtpsession.h:291
b64ErrorString_t_::str
const char * str
Definition: b64.c:526
OrtpRtcpXrStats
Definition: rtpsession.h:261
rtp_session_get_data
void * rtp_session_get_data(const RtpSession *session)
Definition: rtpsession.c:1774
_RtpTransport::t_destroy
void(* t_destroy)(struct _RtpTransport *transport)
Definition: rtpsession.h:142
rtp_session_get_stats
const rtp_stats_t * rtp_session_get_stats(const RtpSession *session)
Definition: rtpsession.c:1695
rtp_session_get_jitter_stats
const jitter_stats_t * rtp_session_get_jitter_stats(const RtpSession *session)
Definition: rtpsession.c:1702
datab
Definition: src/utils.h:32
_telephone_event
Definition: telephonyevents.h:33
sdes_chunk
Definition: rtcp.h:167
rtp_session_get_recv_bandwidth
float rtp_session_get_recv_bandwidth(RtpSession *session)
Definition: rtpsession.c:1870
_PayloadTypeAvpfParams
Definition: payloadtype.h:65
__STRUCT_SHARED_DATA__
Definition: dll_entry.c:7
rtp_session_set_rtcp_report_interval
void rtp_session_set_rtcp_report_interval(RtpSession *session, int value_ms)
Definition: rtpsession.c:476
rtp_session_create_telephone_event_packet
mblk_t * rtp_session_create_telephone_event_packet(RtpSession *session, int start)
Definition: telephonyevents.c:95
ortp_stored_log_t
Definition: logging.c:244
rtp_session_set_data
void rtp_session_set_data(RtpSession *session, void *data)
Definition: rtpsession.c:1766
_OrtpVideoBandwidthEstimatorParams::enabled
int enabled
Definition: rtpsession.h:456
ortp.h
General purpose library functions.
ortp_set_log_level
void ortp_set_log_level(const char *domain, OrtpLogLevel level)
Definition: logging.c:125
rtp_session_set_rtp_socket_recv_buffer_size
void rtp_session_set_rtp_socket_recv_buffer_size(RtpSession *session, unsigned int size)
Definition: rtpsession.c:587
b64_getErrorStringLength
size_t b64_getErrorStringLength(B64_RC code)
Returns the length of the textual description of the error.
Definition: b64.c:602
ortpTimeSpec
Definition: port.h:288
_RtpTransportModifier::t_destroy
void(* t_destroy)(struct _RtpTransportModifier *transport)
Definition: rtpsession.h:127
payload_type_set_send_fmtp
void payload_type_set_send_fmtp(PayloadType *pt, const char *fmtp)
Definition: payloadtype.c:91
payloadtype.h
Definition of payload types.
_OrtpVideoBandwidthEstimatorParams::packets_size_max
unsigned int packets_size_max
Definition: rtpsession.h:458
rtp_session_pick_with_cseq
mblk_t * rtp_session_pick_with_cseq(RtpSession *session, const uint16_t sequence_number)
Definition: rtpsession.c:1120
B64_F_STOP_ON_BAD_CHAR
Definition: b64.h:192
b64_encode2
size_t b64_encode2(void const *src, size_t srcSize, char *dest, size_t destLen, unsigned flags, int lineLen, B64_RC *rc)
Encodes a block of binary data into Base-64.
Definition: b64.c:435
rtp_session_set_rtp_socket_send_buffer_size
void rtp_session_set_rtp_socket_send_buffer_size(RtpSession *session, unsigned int size)
Definition: rtpsession.c:578
rtp_session_set_recv_profile
void rtp_session_set_recv_profile(RtpSession *session, RtpProfile *profile)
Definition: rtpsession.c:516
rtp_session_recvm_with_ts
mblk_t * rtp_session_recvm_with_ts(RtpSession *session, uint32_t user_ts)
Definition: rtpsession.c:1183
_OrtpLogger
Definition: logging.c:39
rtp_session_set_jitter_compensation
void rtp_session_set_jitter_compensation(RtpSession *session, int milisec)
Definition: jitterctl.c:131
b64ErrorString_t_::code
int code
Definition: b64.c:525
rtp_session_rtcp_set_lost_packet_value
void rtp_session_rtcp_set_lost_packet_value(RtpSession *session, const int value)
For test purpose only, sets a constant lost packet value within all RTCP output packets....
Definition: rtpsession.c:1713
OrtpRtcpSendAlgorithm
Definition: rtpsession.h:192
_OrtpNetworkSimulatorParams::consecutive_loss_probability
float consecutive_loss_probability
Definition: rtpsession.h:164
meta_rtp_transport_set_endpoint
void meta_rtp_transport_set_endpoint(RtpTransport *transport, RtpTransport *endpoint)
Definition: rtpsession.c:2419
msgb
Definition: str_utils.h:56
rtcp_rr
Definition: rtcp.h:394
_OrtpNetworkSimulatorParams::max_bandwidth
float max_bandwidth
Definition: rtpsession.h:158
_OrtpPayloadType::channels
int channels
Definition: payloadtype.h:83
_OrtpNetworkSimulatorParams
Definition: rtpsession.h:156
OrtpLossRateEstimator::last_dup_packet_sent_count
int64_t last_dup_packet_sent_count
Definition: rtcp.h:537
_RtpTransport
Definition: rtpsession.h:130
_RtcpStream
Definition: rtpsession.h:358
_OrtpPayloadType::mime_type
char * mime_type
Definition: payloadtype.h:82
rtp_session_set_ssrc
void rtp_session_set_ssrc(RtpSession *session, uint32_t ssrc)
Definition: rtpsession.c:711
b64_getErrorStringLength
size_t b64_getErrorStringLength(B64_RC code)
Returns the length of the textual description of the error.
Definition: b64.c:602
ortp_recv_addr
Definition: str_utils.h:41
rtp_session_set_send_payload_type
int rtp_session_set_send_payload_type(RtpSession *session, int paytype)
Definition: rtpsession.c:762
rtp_session_set_remote_addr
int rtp_session_set_remote_addr(RtpSession *session, const char *addr, int port)
Definition: rtpsession_inet.c:772
rtp_session_get_send_profile
RtpProfile * rtp_session_get_send_profile(RtpSession *session)
Definition: rtpsession.c:540
session_set_clr
#define session_set_clr(ss, rtpsession)
Definition: sessionset.h:121
rtcp_fb_generic_nack_fci
Definition: rtcp.h:317
rtp_session_set_connected_mode
void rtp_session_set_connected_mode(RtpSession *session, bool_t yesno)
Definition: rtpsession.c:1814
_OrtpNetworkSimulatorParams::pad
bool_t pad[3]
Definition: rtpsession.h:168
rtcp_xr_dlrr_report_block
Definition: rtcp.h:247
_OrtpKalmanRLS
Definition: include/ortp/utils.h:61
B64_RC_TRUNCATED_INPUT
Definition: b64.h:169
rtp_session_set_send_telephone_event_payload_type
int rtp_session_set_send_telephone_event_payload_type(RtpSession *session, int paytype)
Definition: rtpsession.c:786
b64.h
[C/C++] Header file for the b64 library.
rtp_session_add_telephone_event
int rtp_session_add_telephone_event(RtpSession *session, mblk_t *packet, uint8_t event, int end, uint8_t volume, uint16_t duration)
Definition: telephonyevents.c:152
_RtpTransportModifier
Definition: rtpsession.h:115
_OrtpCongestionDetector
Definition: congestiondetector.h:36
rtp_session_rtcp_set_delay_value
void rtp_session_rtcp_set_delay_value(RtpSession *session, const unsigned int value)
For test purpose only, simulates a constant RTT (Round Trip Time) value by setting the LSR field with...
Definition: rtpsession.c:1751
rtp_session_signal_connect
int rtp_session_signal_connect(RtpSession *session, const char *signal_name, RtpCallback cb, void *user_data)
Definition: rtpsession.c:627
jitter_stats
Definition: rtp.h:81
rtp_session_set_target_upload_bandwidth
void rtp_session_set_target_upload_bandwidth(RtpSession *session, int target_bandwidth)
Definition: rtpsession.c:481
rtcp_xr_rcvr_rtt_report_block
Definition: rtcp.h:235
rtp_profile_set_payload
void rtp_profile_set_payload(RtpProfile *prof, int idx, PayloadType *pt)
Definition: rtpprofile.c:159
B64_RC
B64_RC
Return codes (from b64_encode2() / b64_decode2())
Definition: b64.h:165
OrtpNetworkSimulatorParams
struct _OrtpNetworkSimulatorParams OrtpNetworkSimulatorParams
OrtpNetworkSimulatorOutbound
Definition: rtpsession.h:148
rtpsession.h
The RtpSession api.
rtp_session_reset
void rtp_session_reset(RtpSession *session)
Definition: rtpsession.c:1666
rtp_session_telephone_events_supported
int rtp_session_telephone_events_supported(RtpSession *session)
Definition: telephonyevents.c:45
meta_rtp_transport_get_endpoint
RtpTransport * meta_rtp_transport_get_endpoint(const RtpTransport *transport)
Definition: rtpsession.c:2415
_OrtpNetworkSimulatorParams::jitter_strength
float jitter_strength
Definition: rtpsession.h:166
b64ErrorString_t_::len
size_t len
Definition: b64.c:527
_OrtpPayloadType::type
int type
Definition: payloadtype.h:75
ortp_logv_flush
void ortp_logv_flush(void)
Definition: logging.c:277
rtp_session_get_profile
RtpProfile * rtp_session_get_profile(RtpSession *session)
Definition: rtpsession.c:529
_OrtpNetworkSimulatorParams::mode
OrtpNetworkSimulatorMode mode
Definition: rtpsession.h:169
_RtpScheduler
Definition: scheduler.h:28
_OrtpNetworkSimulatorParams::max_buffer_size
int max_buffer_size
Definition: rtpsession.h:161
rtcp_fb_sli_fci
Definition: rtcp.h:356
sessionset.h
Sending and receiving multiple streams together with only one thread.
rtp_session_create_packet
mblk_t * rtp_session_create_packet(RtpSession *session, size_t header_size, const uint8_t *payload, size_t payload_size)
Definition: rtpsession.c:865
b64_encode
size_t b64_encode(void const *src, size_t srcSize, char *dest, size_t destLen)
Encodes a block of binary data into Base-64.
Definition: b64.c:425
rtcp_fb_fir_fci
Definition: rtcp.h:346
_JBParameters
Definition: rtpsession.h:66
b64_getErrorString
const char * b64_getErrorString(B64_RC code)
Returns the textual description of the error.
Definition: b64.c:597
_msgb_allocator
Definition: str_utils.h:157
telephonyevents.h
Receiving and sending telephone events (RFC2833)
rtp_profile_set_name
void rtp_profile_set_name(RtpProfile *prof, const char *name)
Definition: rtpprofile.c:186
rtp_session_create_packet_in_place
mblk_t * rtp_session_create_packet_in_place(RtpSession *session, uint8_t *buffer, size_t size, void(*freefn)(void *))
Definition: rtpsession.c:946
sender_info
Definition: rtcp.h:82
_RtpSession
Definition: rtpsession.h:382
rtp_session_set_ssrc_changed_threshold
void rtp_session_set_ssrc_changed_threshold(RtpSession *session, int numpackets)
Definition: rtpsession.c:1633
rtp_stats
Definition: rtp.h:63
OrtpEvDispatcherData
Definition: event.h:113
OrtpLogDomain
Definition: logging.c:29
b64_decode
size_t b64_decode(char const *src, size_t srcLen, void *dest, size_t destSize)
Decodes a sequence of Base-64 into a block of binary data.
Definition: b64.c:479
_RtpTimer
Definition: rtptimer.h:35
B64_F_STOP_ON_NOTHING
Definition: b64.h:189
rtp_session_get_multicast_loopback
int rtp_session_get_multicast_loopback(RtpSession *session)
Definition: rtpsession_inet.c:622
_OrtpNetworkSimulatorParams::enabled
int enabled
Definition: rtpsession.h:157
poly32_t
Definition: src/utils.h:71
rtp_session_send_with_ts
int rtp_session_send_with_ts(RtpSession *session, const uint8_t *buffer, int len, uint32_t userts)
Definition: rtpsession.c:1084
report_block
Definition: rtcp.h:102
session_set_new
SessionSet * session_set_new(void)
Definition: sessionset.c:30
_OrtpEventData
Definition: event.h:36
_OrtpExtremum
Definition: include/ortp/utils.h:33
_OrtpPayloadType::clock_rate
int clock_rate
Definition: payloadtype.h:76
_PayloadTypeAvpfParams::features
unsigned char features
Definition: payloadtype.h:66
rtp_session_set_recv_payload_type
int rtp_session_set_recv_payload_type(RtpSession *session, int pt)
Definition: rtpsession.c:803
_OrtpBwEstimator
Definition: include/ortp/utils.h:74
b64_decode
size_t b64_decode(char const *src, size_t srcLen, void *dest, size_t destSize)
Decodes a sequence of Base-64 into a block of binary data.
Definition: b64.c:479
session_set_set
#define session_set_set(ss, rtpsession)
Definition: sessionset.h:104
rtp_session_set_time_jump_limit
void rtp_session_set_time_jump_limit(RtpSession *session, int miliseconds)
Definition: rtpsession.c:1472
OrtpEvQueue
Definition: event.h:93
OrtpVideoBandwidthEstimatorParams
struct _OrtpVideoBandwidthEstimatorParams OrtpVideoBandwidthEstimatorParams
rtp_session_recv_with_ts
int rtp_session_recv_with_ts(RtpSession *session, uint8_t *buffer, int len, uint32_t ts, int *have_more)
Definition: rtpsession.c:1371
rtp_session_get_round_trip_propagation
float rtp_session_get_round_trip_propagation(RtpSession *session)
Definition: rtpsession.c:1936
rtp_session_get_current_recv_ts
uint32_t rtp_session_get_current_recv_ts(RtpSession *session)
Definition: rtpsession.c:1445
rtcp_fb_rpsi_fci
Definition: rtcp.h:373
rtp_session_get_recv_ssrc
uint32_t rtp_session_get_recv_ssrc(RtpSession *session)
Definition: rtpsession.c:732
rtp_session_flush_sockets
void rtp_session_flush_sockets(RtpSession *session)
Definition: rtpsession_inet.c:988
ortp_scheduler_init
void ortp_scheduler_init(void)
Definition: ortp.c:94
OrtpNetworkSimulatorOutboundControlled
Definition: rtpsession.h:149
rtp_session_get_local_port
int rtp_session_get_local_port(const RtpSession *session)
Definition: rtpsession_inet.c:751
rtp_session_get_rcv_ext_seq_number
uint32_t rtp_session_get_rcv_ext_seq_number(RtpSession *session)
Definition: rtpsession.c:692
rtcp_xr_dlrr_report_subblock
Definition: rtcp.h:241
rtp_session_get_current_send_ts
uint32_t rtp_session_get_current_send_ts(RtpSession *session)
Definition: rtpsession.c:1419
_OrtpNetworkSimulatorParams::jitter_burst_density
float jitter_burst_density
Definition: rtpsession.h:165
rtp_session_get_send_ssrc
uint32_t rtp_session_get_send_ssrc(RtpSession *session)
Definition: rtpsession.c:722
rtp_session_set_symmetric_rtp
void rtp_session_set_symmetric_rtp(RtpSession *session, bool_t yesno)
Definition: rtpsession.c:1788
ortp_min_version_required
bool_t ortp_min_version_required(int major, int minor, int micro)
Definition: ortp.c:196
ortp_set_log_file
void ortp_set_log_file(FILE *file)
Definition: logging.c:66
rtcp_xr_header
Definition: rtcp.h:224
OrtpRtcpXrMediaCallbacks
Definition: rtpsession.h:228
B64_F_STOP_ON_UNEXPECTED_WS
Definition: b64.h:191
payload_type_set_recv_fmtp
void payload_type_set_recv_fmtp(PayloadType *pt, const char *fmtp)
Definition: payloadtype.c:78
logging.h
Logging API.
rtp_session_get_last_recv_time
void rtp_session_get_last_recv_time(RtpSession *session, struct timeval *tv)
Definition: rtpsession.c:2037
payload_type_destroy
void payload_type_destroy(PayloadType *pt)
Definition: payloadtype.c:140
rtp_session_set_multicast_ttl
int rtp_session_set_multicast_ttl(RtpSession *session, int ttl)
Definition: rtpsession_inet.c:500
B64_RC_DATA_ERROR
Definition: b64.h:170
rtcp_fb_tmmbr_fci
Definition: rtcp.h:327
rtp_profile_clear_all
void rtp_profile_clear_all(RtpProfile *prof)
Definition: rtpprofile.c:172
ortp_recv_addr_map
Definition: str_utils.h:50
rtcp_bye_reason
Definition: rtcp.h:189
rtp_session_read_telephone_event
int rtp_session_read_telephone_event(RtpSession *session, mblk_t *packet, telephone_event_t **tab)
Definition: telephonyevents.c:319
rtp_session_refresh_sockets
void rtp_session_refresh_sockets(RtpSession *session)
Definition: rtpsession_inet.c:406
b64ErrorString_t_
Definition: b64.c:522
rtp_session_get_seq_number
uint16_t rtp_session_get_seq_number(RtpSession *session)
Definition: rtpsession.c:685
rtp_session_get_send_bandwidth
float rtp_session_get_send_bandwidth(RtpSession *session)
Definition: rtpsession.c:1883
_RtpStream
Definition: rtpsession.h:318
rtcp_bye
Definition: rtcp.h:195
meta_rtp_transport_modifier_inject_packet_to_send_to
int meta_rtp_transport_modifier_inject_packet_to_send_to(RtpTransport *t, RtpTransportModifier *tpm, mblk_t *msg, int flags, const struct sockaddr *to, socklen_t tolen)
Definition: rtpsession.c:2211
B64_F_STOP_ON_UNKNOWN_CHAR
Definition: b64.h:190
session_set_select
int session_set_select(SessionSet *recvs, SessionSet *sends, SessionSet *errors)
Definition: sessionset.c:113
_dwsplit_t
Definition: src/utils.h:61
_JitterControl
Definition: rtpsession.h:81
ortp_set_log_handler
void ortp_set_log_handler(OrtpLogFunc func)
Definition: logging.c:75
rtcp_sr
Definition: rtcp.h:387
OrtpNetworkSimulatorInbound
Definition: rtpsession.h:147
_OrtpPayloadType
Definition: payloadtype.h:73
rtp_session_get_send_payload_type
int rtp_session_get_send_payload_type(const RtpSession *session)
Definition: rtpsession.c:773
rtp_session_set_pktinfo
int rtp_session_set_pktinfo(RtpSession *session, int activate)
Definition: rtpsession_inet.c:433
sdes_item
Definition: rtcp.h:175
_OrtpNetworkSimulatorCtx
Definition: rtpsession.h:172
ortp_global_stats_display
void ortp_global_stats_display(void)
Definition: ortp.c:146
_OrtpNetworkSimulatorParams::loss_rate
float loss_rate
Definition: rtpsession.h:162
rtp_session_bye
int rtp_session_bye(RtpSession *session, const char *reason)
Definition: rtcp.c:637
rtp_session_create_packet_raw
mblk_t * rtp_session_create_packet_raw(const uint8_t *packet, size_t packet_size)
Definition: rtpsession.c:887
JBParameters
struct _JBParameters JBParameters
rtp_stats_display
void rtp_stats_display(const rtp_stats_t *stats, const char *header)
Definition: ortp.c:157
rtp_session_create_packet_with_data
mblk_t * rtp_session_create_packet_with_data(RtpSession *session, uint8_t *payload, size_t payload_size, void(*freefn)(void *))
Definition: rtpsession.c:914
_OrtpVideoBandwidthEstimatorParams
Definition: rtpsession.h:455
rtp_session_signal_disconnect_by_callback
int rtp_session_signal_disconnect_by_callback(RtpSession *session, const char *signal_name, RtpCallback cb)
Definition: rtpsession.c:651
_WaitPoint
Definition: rtpsession.h:107
rtp_session_get_recv_profile
RtpProfile * rtp_session_get_recv_profile(RtpSession *session)
Definition: rtpsession.c:550
B64_FLAGS
B64_FLAGS
Coding behaviour modification flags (for b64_encode2() / b64_decode2())
Definition: b64.h:182
_OrtpVideoBandwidthEstimatorParams::trust_percentage
unsigned int trust_percentage
Definition: rtpsession.h:459
rtcp_xr_stat_summary_report_block
Definition: rtcp.h:252
B64_RC_OK
Definition: b64.h:167
rtp_session_send_dtmf2
int rtp_session_send_dtmf2(RtpSession *session, char dtmf, uint32_t userts, int duration)
Definition: telephonyevents.c:202
_RtpSignalTable
Definition: rtpsignaltable.h:27
rtp_session_set_local_addr
int rtp_session_set_local_addr(RtpSession *session, const char *addr, int rtp_port, int rtcp_port)
Definition: rtpsession_inet.c:347
_OrtpKalmanRLS::lambda
double lambda
Definition: include/ortp/utils.h:67
_RtpSession::avpf_features
unsigned char avpf_features
Definition: rtpsession.h:444
rtp_session_new
RtpSession * rtp_session_new(int mode)
Definition: rtpsession.c:368
rtp_session_set_remote_addr_full
int rtp_session_set_remote_addr_full(RtpSession *session, const char *rtp_addr, int rtp_port, const char *rtcp_addr, int rtcp_port)
Definition: rtpsession_inet.c:792
ortp_exit
void ortp_exit(void)
Definition: ortp.c:118
B64_F_LINE_LEN_USE_PARAM
Definition: b64.h:184
ortp_init
void ortp_init(void)
Definition: ortp.c:73
_OrtpNetworkSimulatorMode
_OrtpNetworkSimulatorMode
Definition: rtpsession.h:145
rtp_session_send_telephone_events_supported
int rtp_session_send_telephone_events_supported(RtpSession *session)
Definition: telephonyevents.c:64
rtp_session_set_multicast_loopback
int rtp_session_set_multicast_loopback(RtpSession *session, int yesno)
Definition: rtpsession_inet.c:566
rtp_session_destroy
void rtp_session_destroy(RtpSession *session)
Definition: rtpsession.c:1946
rtp_session_get_recv_payload_type
int rtp_session_get_recv_payload_type(const RtpSession *session)
Definition: rtpsession.c:820
OrtpLossRateEstimator
Definition: rtcp.h:526
_SessionSet
Definition: sessionset.h:88
B64_F_LINE_LEN_64
Definition: b64.h:186
rtp_session_release_sockets
void rtp_session_release_sockets(RtpSession *session)
Definition: rtpsession.c:1513
rtpprofile.h
Using and creating standart and custom RTP profiles.
_OrtpStream
Definition: rtpsession.h:296
b64_decode2
size_t b64_decode2(char const *src, size_t srcLen, void *dest, size_t destSize, unsigned flags, char const **badChar, B64_RC *rc)
Decodes a sequence of Base-64 into a block of binary data.
Definition: b64.c:490
rtp_session_get_cum_loss
int rtp_session_get_cum_loss(RtpSession *session)
Definition: rtpsession.c:699
rtp_session_get_multicast_ttl
int rtp_session_get_multicast_ttl(RtpSession *session)
Definition: rtpsession_inet.c:551
rtp_header
Definition: rtp.h:37
rtp_session_set_send_profile
void rtp_session_set_send_profile(RtpSession *session, RtpProfile *profile)
Definition: rtpsession.c:498
_RtpProfile
Definition: rtpprofile.h:41
rtp_session_sendm_with_ts
int rtp_session_sendm_with_ts(RtpSession *session, mblk_t *mp, uint32_t userts)
Definition: rtpsession.c:1065
B64_RC_INSUFFICIENT_BUFFER
Definition: b64.h:168
OrtpEvDispatcher
Definition: event.h:120
b64_encode2
size_t b64_encode2(void const *src, size_t srcSize, char *dest, size_t destLen, unsigned flags, int lineLen, B64_RC *rc)
Encodes a block of binary data into Base-64.
Definition: b64.c:435
rtcp_xr_voip_metrics_report_block
Definition: rtcp.h:269
OrtpRtcpFbConfiguration
Definition: rtpsession.h:210
b64_encode
size_t b64_encode(void const *src, size_t srcSize, char *dest, size_t destLen)
Encodes a block of binary data into Base-64.
Definition: b64.c:425
rtp_session_set_dscp
int rtp_session_set_dscp(RtpSession *session, int dscp)
Definition: rtpsession_inet.c:637