Scaled RTP Timestamp encoding.
More...
#include "comp_wlsb.h"
#include "rohc_traces.h"
#include <stdbool.h>
Go to the source code of this file.
|
void | c_init_sc (struct ts_sc_comp *const ts_sc, const size_t wlsb_window_width, rohc_trace_callback2_t trace_cb, void *const trace_cb_priv) |
| Create the ts_sc_comp object. More...
|
|
void | c_add_ts (struct ts_sc_comp *const ts_sc, const uint32_t ts, const uint16_t sn) |
| Store the new TS, calculate new values and update the state. More...
|
|
void | nb_bits_unscaled (const struct ts_sc_comp *const ts_sc, size_t *const bits_nr_less_equal_than_2, size_t *const bits_nr_more_than_2) |
| Return the number of bits needed to encode unscaled TS. More...
|
|
void | add_unscaled (struct ts_sc_comp *const ts_sc, const uint16_t sn) |
| Add a new unscaled TS value to the ts_sc_comp object. More...
|
|
void | nb_bits_scaled (const struct ts_sc_comp *const ts_sc, size_t *const bits_nr_less_equal_than_2, size_t *const bits_nr_more_than_2) |
| Return the number of bits needed to encode TS_SCALED. More...
|
|
void | add_scaled (struct ts_sc_comp *const ts_sc, const uint16_t sn) |
| Add a new TS_SCALED value to the ts_sc_comp object. More...
|
|
uint32_t | get_ts_stride (const struct ts_sc_comp *const ts_sc) |
| Return the TS_STRIDE value. More...
|
|
uint32_t | get_ts_scaled (const struct ts_sc_comp *const ts_sc) |
| Return the TS_SCALED value. More...
|
|
uint32_t | get_ts_unscaled (const struct ts_sc_comp *const ts_sc) |
| Return the unscaled TS value. More...
|
|
bool | rohc_ts_sc_is_deducible (const struct ts_sc_comp *const ts_sc) |
| Whether TimeStamp (TS) is deducible from the Sequence Number (SN) or not. More...
|
|
Scaled RTP Timestamp encoding.
- Author
- David Moreau from TAS
-
Didier Barvaux didie.nosp@m.r.ba.nosp@m.rvaux.nosp@m.@tou.nosp@m.louse.nosp@m..viv.nosp@m.eris..nosp@m.com
-
Didier Barvaux didie.nosp@m.r@ba.nosp@m.rvaux.nosp@m..org
See section 4.5.3 of RFC 3095 for details about Scaled RTP Timestamp encoding.
◆ ts_sc_state
State of scaled RTP Timestamp encoding.
See section 4.5.3 of RFC 3095 for details about Scaled RTP Timestamp encoding.
Enumerator |
---|
INIT_TS | Initialization state (TS_STRIDE value not yet computed)
|
INIT_STRIDE | Initialization state (TS_STRIDE value computed and sent)
|
SEND_SCALED | Compression state (TS_SCALED value computed and sent)
|
◆ add_scaled()
void add_scaled |
( |
struct ts_sc_comp *const |
ts_sc, |
|
|
const uint16_t |
sn |
|
) |
| |
Add a new TS_SCALED value to the ts_sc_comp object.
- Parameters
-
◆ add_unscaled()
void add_unscaled |
( |
struct ts_sc_comp *const |
ts_sc, |
|
|
const uint16_t |
sn |
|
) |
| |
Add a new unscaled TS value to the ts_sc_comp object.
- Parameters
-
◆ c_add_ts()
void c_add_ts |
( |
struct ts_sc_comp *const |
ts_sc, |
|
|
const uint32_t |
ts, |
|
|
const uint16_t |
sn |
|
) |
| |
Store the new TS, calculate new values and update the state.
- Parameters
-
ts_sc | The ts_sc_comp object |
ts | The timestamp to add |
sn | The sequence number of the RTP packet |
◆ c_init_sc()
Create the ts_sc_comp object.
- Parameters
-
ts_sc | The ts_sc_comp object to create |
wlsb_window_width | The width of the W-LSB sliding window to use for TS_STRIDE (must be > 0) |
trace_cb | The trace callback |
trace_cb_priv | An optional private context for the trace callback, may be NULL |
◆ get_ts_scaled()
uint32_t get_ts_scaled |
( |
const struct ts_sc_comp *const |
ts_sc | ) |
|
Return the TS_SCALED value.
- Parameters
-
- Returns
- The TS_SCALED value
◆ get_ts_stride()
uint32_t get_ts_stride |
( |
const struct ts_sc_comp *const |
ts_sc | ) |
|
Return the TS_STRIDE value.
- Parameters
-
- Returns
- TS_STRIDE value
◆ get_ts_unscaled()
uint32_t get_ts_unscaled |
( |
const struct ts_sc_comp *const |
ts_sc | ) |
|
Return the unscaled TS value.
- Parameters
-
- Returns
- The unscaled TS value
◆ nb_bits_scaled()
void nb_bits_scaled |
( |
const struct ts_sc_comp *const |
ts_sc, |
|
|
size_t *const |
bits_nr_less_equal_than_2, |
|
|
size_t *const |
bits_nr_more_than_2 |
|
) |
| |
Return the number of bits needed to encode TS_SCALED.
- Parameters
-
| ts_sc | The ts_sc_comp object |
[out] | bits_nr_less_equal_than_2 | The number of bits needed to encode TS_SCALED in a field that is smaller than or equal to 2 bits |
[out] | bits_nr_more_than_2 | The number of bits needed to encode TS_SCALED in a field that is strictly larger than to 2 bits |
◆ nb_bits_unscaled()
void nb_bits_unscaled |
( |
const struct ts_sc_comp *const |
ts_sc, |
|
|
size_t *const |
bits_nr_less_equal_than_2, |
|
|
size_t *const |
bits_nr_more_than_2 |
|
) |
| |
Return the number of bits needed to encode unscaled TS.
- Parameters
-
| ts_sc | The ts_sc_comp object |
[out] | bits_nr_less_equal_than_2 | The number of bits needed to encode TS_SCALED in a field that is smaller than or equal to 2 bits |
[out] | bits_nr_more_than_2 | The number of bits needed to encode TS_SCALED in a field that is strictly larger than to 2 bits |
◆ rohc_ts_sc_is_deducible()
bool rohc_ts_sc_is_deducible |
( |
const struct ts_sc_comp *const |
ts_sc | ) |
|
Whether TimeStamp (TS) is deducible from the Sequence Number (SN) or not.
- Parameters
-
ts_sc | The TS SCALED compression context |
- Returns
- true if TS is deducible from SN, false otherwise