rohc team mailing list archive
-
rohc team
-
Mailing list archive
-
Message #02210
Re: rohc performance on lossy media
Thanks for your detailed response first;
First I tried method rohc_comp_set_wlsb_window_width(comp,8) by giving
8bits window width but I still observe the following in the log files;
rohc_decomp_rfc3095.c:1463 parse_uo0() 4 SN bits = 0xe
So I think it still uses 4 bit window length? If yes did I do something
wrong?
Secondly I think for UDP packets ROHC_LSB_SHIFT_SN(-1) is used for
compressor and decompressor which makes parsing delayed packets impossible.
So I need to use something half of (2 ^ lsb_width) instead of -1 by adding
a new enumeration value.
Do have any idea about this parameter?
Best Regards..
2018-01-29 22:11 GMT+03:00 Didier Barvaux <didier@xxxxxxxxxxx>:
> Hello,
>
> > I am using Rohc comressor/decomressor pair on a lossy media(sometimes
> > at receiver side some packets are lost) and the orderings of the UDP
> > packets are not guaranteed.(packets are not coming in right order all
> > the time).
> >
> > I am using Unidirectional mode and observe some decomression failures
> > about CRC check, malformed packets...
> >
> > Any recommendation to overcome these issues?
>
> The ROHC protocol provides several ways to handle packet loss or
> reordering:
>
> a/ Increasing the width of the window used by the W-LSB algorithm
> improves the robustness of the ROHC protocol by sending more bits for
> changing fields. Given a W-LSB width <wlsb_width>, up to
> (<wlsb_width> - 1) packets may be lost without causing additional
> loss.
> The default width is set to 4 by the ROHC library ; please use the
> rohc_comp_set_wlsb_window_width() function to change the value ; see
> [1] for more details.
>
> b/ Increasing the number of transmissions N required for a changing
> static fields or a changing pattern for a dynamic field ensures that
> the loss of N-1 packets during such a change will cause no
> additional loss.
> The default number of transmissions is set to 3 by the ROHC
> library ; there is no API to change the value at that time, but you
> may change the value of the constant MAX_IR_COUNT in the source file
> src/comp/rohc_comp_internals.h and re-build/re-install the library.
>
> c/ Same as b/ but for lists of extensions headers (such as IPv6
> extension headers, GRE, AH...). Use the function
> rohc_comp_set_list_trans_nr() to change the value ; the default
> value is set to 5 ; see [2] for more details.
>
> d/ You may enable packet/context repair upon CRC failures, so that the
> decompressor tries to fix the context or packet if it detects a
> decompression problem (due to packet loss/reordering for example).
> The feature is disabled by default. Enable it with the function
> rohc_decomp_set_features() and the feature
> ROHC_DECOMP_FEATURE_CRC_REPAIR ; see [3] for more details.
>
> Configuring options a-c is easier if you know the largest number of
> consecutive losses that you may expect and/or you want to be protected
> against.
>
> Let me know if my explanations are clear enough or if you need more
> details. And, of course, let me know if one of the options solves your
> problem.
>
> Regards,
> Didier
>
>
> [1] documentation of rohc_comp_set_wlsb_window_width():
> https://rohc-lib.org/support/documentation/API/rohc-doc-2.
> 1.0/group__rohc__comp.html#ga2b68070dddbc038cd55490952a7b3fa4
>
> [2] documentation of rohc_comp_set_list_trans_nr():
> https://rohc-lib.org/support/documentation/API/rohc-doc-2.
> 1.0/group__rohc__comp.html#ga32608bc06e1b0d1656e463eeb1ccbd7f
>
> [3] documentation of rohc_decomp_set_features():
> https://rohc-lib.org/support/documentation/API/rohc-doc-2.
> 1.0/group__rohc__decomp.html#ga2298148ca8dc277a1c1905f550f21f7b
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~rohc
> Post to : rohc@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~rohc
> More help : https://help.launchpad.net/ListHelp
>
Follow ups
References