← Back to team overview

rohc team mailing list archive

Re: [Question #263736]: App stats problem

 

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

    Status: Open => Needs information

Didier Barvaux requested more information:
Hello,

The periodic refreshes in FO and IR states may be configured by the
rohc_comp_set_periodic_refreshes() function of the library API. By
default, they are set to 700 and 1700 packets. With the default values,
you cannot see any periodic refreshes with network captures with less
than 1700 packets.

That is not the case with the capture that you use:
    $ capinfos test/non_regression/inputs/ipv6/udp/rtp/audio-vlc/source.pcap | grep ^Number
    Number of packets:   4490

So, I checked what was wrong. There is a bug. Some profiles such as UDP
or RTP do not run the periodic refreshes code for every packets. Please
try with the following patch:

=== modified file 'src/comp/c_generic.c'
--- src/comp/c_generic.c        2014-06-21 10:59:41 +0000
+++ src/comp/c_generic.c        2015-03-22 20:39:58 +0000
@@ -870,6 +870,10 @@ int c_generic_encode(struct rohc_comp_ct
        /* decide in which state to go */
        assert(g_context->decide_state != NULL);
        g_context->decide_state(context);
+       if(context->mode == ROHC_U_MODE)
+       {
+               periodic_down_transition(context);
+       }
 
        /* compute how many bits are needed to send header fields */
        if(!encode_uncomp_fields(context, uncomp_pkt))
@@ -1463,11 +1467,6 @@ void decide_state(struct rohc_comp_ctxt
        }
 
        change_state(context, next_state);
-
-       if(context->mode == ROHC_U_MODE)
-       {
-               periodic_down_transition(context);
-       }
 }
 
 
Regards,
Didier

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