← Back to team overview

rohc team mailing list archive

Re: [Question #230218]: compressed header size

 

Question #230218 on rohc changed:
https://answers.launchpad.net/rohc/+question/230218

    Status: Open => Answered

Didier Barvaux proposed the following answer:
Friedrich,

> In my running of V1.5.1, the first four packets are at IR state,
> then the compressed header size of the rest packets keeps
> constant at 3 bytes. But in the running of V1.3.1 with the same
> setup, only the first THREE packets are at IR state. Do you know
> the reason why V1.5.1 needs one more IR header packet than
> V1.3.1 does?

Yes, it is expected at the very beginning of a stream. It was required
to fix a problem with the initialization of TS_STRIDE.


> Also under the same setup, the packets at the following timestamps
> perform different between V1.5.1 and V1.3.1. V1.5.1 has larger
> compressed header sizes. What reasons may result in the difference?

The RTP TimeStamp (TS) of the stream is not regular (or it is but you
lost one or more packets). You can see this in logs:

/common/ts_sc_comp.c:98 c_add_ts()] Timestamp = 1463
/common/ts_sc_comp.c:110 c_add_ts()] TS delta = 60
/common/ts_sc_comp.c:169 c_add_ts()] state SEND_SCALED
/common/ts_sc_comp.c:193 c_add_ts()] ts_stride calculated = 60
/common/ts_sc_comp.c:194 c_add_ts()] previous ts_stride = 20
/common/ts_sc_comp.c:221 c_add_ts()] /!\ TS delta changed but is a multiple of previous TS_STRIDE, so do not change TS_STRIDE, but retransmit it several times along all TS bits (probably a RTP TS jump at source)

To cope with TS irregularity (or packet loss) the ROHC compressor has to
transmit more bits of TS. It is not performed in versions 1.3.x, but it
was not robust enough. If you lose some packets with some specific
patterns, the compressor and decompressor could lose sync. See
https://bugs.launchpad.net/rohc/+bug/1080035

Regards,
Didier

-- 
You received this question notification because you are a member of ROHC
Team, which is an answer contact for rohc.