|
ROHC compression/decompression library
|
ROHC decompression context for the RTP profile. More...
#include "d_rtp.h"#include "rohc_traces_internal.h"#include "rohc_bit_ops.h"#include "rohc_debug.h"#include "rohc_utils.h"#include "ts_sc_decomp.h"#include "sdvl.h"#include "crc.h"#include "decode.h"#include "rohc_decomp_internals.h"#include "protocols/udp.h"#include "protocols/rtp.h"#include <assert.h>
Defines | |
| #define | RTP_CONST_DYN_PART_SIZE 9 |
| The size (in bytes) of the constant RTP dynamic part. | |
Functions | |
| void * | d_rtp_create (const struct d_context *const context) |
| Create the RTP decompression context. | |
Variables | |
| struct d_profile | d_rtp_profile |
| Define the decompression part of the RTP profile as described in the RFC 3095. | |
ROHC decompression context for the RTP profile.
| #define RTP_CONST_DYN_PART_SIZE 9 |
The size (in bytes) of the constant RTP dynamic part.
According to RFC3095 section 5.7.7.6: 1 (flags V, P, RX, CC) + 1 (flags M, PT) + 2 (RTP SN) + 4 (RTP TS) + 1 (CSRC list) = 9 bytes
The size of the Generic CSRC list field is considered constant because generic CSRC list is not supported yet and thus 1 byte of zero is used.
| void* d_rtp_create | ( | const struct d_context *const | context | ) |
Create the RTP decompression context.
This function is one of the functions that must exist in one profile for the framework to work.
References d_generic_context::build_next_header, d_generic_context::compute_crc_dynamic, d_generic_context::compute_crc_static, d_create_sc(), d_generic_create(), d_generic_destroy(), d_generic_context::decode_values_from_bits, d_context::decompressor, d_generic_context::detect_packet_type, d_profile::id, d_generic_context::inner_ip_changes, d_generic_changes::next_header, d_generic_changes::next_header_len, d_generic_context::next_header_len, d_generic_context::next_header_proto, d_generic_context::outer_ip_changes, d_generic_context::parse_dyn_next_hdr, d_generic_context::parse_static_next_hdr, d_generic_context::parse_uo_remainder, d_context::profile, rohc_error, ROHC_IPPROTO_UDP, rohc_lsb_free(), rohc_lsb_new(), ROHC_LSB_SHIFT_RTP_SN, ROHC_TRACE_DECOMP, rtp_compute_crc_dynamic(), rtp_compute_crc_static(), d_generic_context::sn_lsb_ctxt, d_generic_context::specific, rohc_decomp::trace_callback, d_rtp_context::ts_scaled_ctxt, d_rtp_context::udp_checksum_present, d_generic_context::update_context, and zfree.
| struct d_profile d_rtp_profile |
{
ROHC_PROFILE_RTP,
"RTP / Decompressor",
d_generic_decode,
d_rtp_create,
d_rtp_destroy,
d_generic_get_sn,
}
Define the decompression part of the RTP profile as described in the RFC 3095.
1.7.6.1