ROHC compression/decompression library
|
ROHC decompression context for the RTP profile. More...
#include "rtp.h"
#include "d_generic.h"
#include "d_udp.h"
#include "ts_sc_decomp.h"
#include <netinet/ip.h>
#include <netinet/udp.h>
#include <string.h>
Go to the source code of this file.
Data Structures | |
struct | d_rtp_context |
Define the RTP part of the decompression profile context. More... | |
Functions | |
int | rtp_decode_static_rtp (struct d_generic_context *context, const unsigned char *packet, unsigned int length, unsigned char *dest) |
Decode the UDP/RTP static part of the ROHC packet. | |
int | rtp_decode_dynamic_rtp (struct d_generic_context *context, const unsigned char *packet, unsigned int length, unsigned char *dest) |
Decode the UDP/RTP dynamic part of the ROHC packet. | |
int | rtp_build_uncompressed_rtp (struct d_generic_context *context, struct d_generic_changes *active, unsigned char *dest, int payload_size) |
Build an uncompressed UDP/RTP header. | |
int | rtp_get_static_part (void) |
Get the size of the static part of an IR packet. |
ROHC decompression context for the RTP profile.
int rtp_build_uncompressed_rtp | ( | struct d_generic_context * | context, |
struct d_generic_changes * | active, | ||
unsigned char * | dest, | ||
int | payload_size | ||
) |
Build an uncompressed UDP/RTP header.
context | The generic decompression context |
active | The UDP/RTP header changes |
dest | The buffer to store the UDP/RTP header (MUST be at least of sizeof(struct udphdr) + sizeof(struct rtphdr) length) |
payload_size | The length of the UDP/RTP payload |
References d_generic_changes::next_header, rohc_debugf, d_generic_context::specific, and d_rtp_context::udp_checksum_present.
Referenced by d_rtp_create().
int rtp_decode_dynamic_rtp | ( | struct d_generic_context * | context, |
const unsigned char * | packet, | ||
unsigned int | length, | ||
unsigned char * | dest | ||
) |
Decode the UDP/RTP dynamic part of the ROHC packet.
context | The generic decompression context |
packet | The ROHC packet to decode |
length | The length of the ROHC packet |
dest | The decoded UDP/RTP header |
References d_generic_context::active1, d_generic_context::active2, rtphdr::cc, d_ip_id_init(), d_lsb_init(), d_record_ts_stride(), d_sdvalue_decode(), d_sdvalue_size(), GET_BIT_0_7, GET_NEXT_16_BITS, d_generic_changes::ip, ip_get_version(), d_generic_context::ip_id1, d_generic_context::ip_id2, IPV4, ipv4_get_id(), rtphdr::m, d_generic_context::multiple_ip, rtphdr::padding, rtphdr::pt, rohc_debugf, RTP_CONST_DYN_PART_SIZE, rtphdr::sn, sn, d_generic_context::sn, d_generic_context::specific, rtphdr::timestamp, ts_decode_unscaled(), d_rtp_context::ts_sc, ts_update_context(), d_rtp_context::udp_checksum_present, and rtphdr::version.
Referenced by d_rtp_create().
int rtp_decode_static_rtp | ( | struct d_generic_context * | context, |
const unsigned char * | packet, | ||
unsigned int | length, | ||
unsigned char * | dest | ||
) |
Decode the UDP/RTP static part of the ROHC packet.
context | The generic decompression context |
packet | The ROHC packet to decode |
length | The length of the ROHC packet |
dest | The decoded UDP/RTP header |
References rohc_debugf, rtphdr::ssrc, and udp_decode_static_udp().
Referenced by d_rtp_create().
int rtp_get_static_part | ( | void | ) |
Get the size of the static part of an IR packet.
Referenced by rtp_detect_ir_size().