Scaled RTP Timestamp encoding.
More...
#include "comp_wlsb.h"
#include "rohc_traces.h"
#include <stdbool.h>
Go to the source code of this file.
|
bool | c_create_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_destroy_sc (struct ts_sc_comp *const ts_sc) |
| Destroy 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 (const 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 (const 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.
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)
|
void add_scaled |
( |
const struct ts_sc_comp *const |
ts_sc, |
|
|
const uint16_t |
sn |
|
) |
| |
Add a new TS_SCALED value to the ts_sc_comp object.
- Parameters
-
void add_unscaled |
( |
const struct ts_sc_comp *const |
ts_sc, |
|
|
const uint16_t |
sn |
|
) |
| |
Add a new unscaled TS value to the ts_sc_comp object.
- Parameters
-
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 |
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 |
- Returns
- true if creation is successful, false otherwise
void c_destroy_sc |
( |
struct ts_sc_comp *const |
ts_sc | ) |
|
uint32_t get_ts_scaled |
( |
const struct ts_sc_comp *const |
ts_sc | ) |
|
Return the TS_SCALED value.
- Parameters
-
- Returns
- The TS_SCALED value
uint32_t get_ts_stride |
( |
const struct ts_sc_comp *const |
ts_sc | ) |
|
Return the TS_STRIDE value.
- Parameters
-
- Returns
- TS_STRIDE value
uint32_t get_ts_unscaled |
( |
const struct ts_sc_comp *const |
ts_sc | ) |
|
Return the unscaled TS value.
- Parameters
-
- Returns
- The unscaled TS value
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 |
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 |
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