chenguangming / doubango

Automatically exported from code.google.com/p/doubango
1 stars 2 forks source link

Jitter buffer shows negative count for missing seq numbers #436

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Make a video call
2. Wait for the jitter buffer to start printing messages like "Time to decode 
frame...but some RTP packets are missing (missing_seq_num_start=4462, 
missing_seq_num_count=-45, last_seq_num_with_mark=4461). Postpone :("
3. Hangup

What is the expected output? What do you see instead?
missing_eq_num_count should not be negative

What version of the product are you using? On what operating system?
branch 2.0 rev 1246 running on iOS 8 and 7.

Please provide any additional information below.
I've seen this problem before upgrading to the latest version but instead of 
getting negative values I was getting a max integer because 
missing_eq_num_count was unsigned int. You've changed it to int32_t in the 
latest version but the problem seems to be the way the missing_seq_num_count is 
calculated.

                if(last_seq_num_with_mark >= 0 && pkt->header->seq_num != (last_seq_num_with_mark + ++i)){
            *missing_seq_num_start = (last_seq_num_with_mark + i);
            *missing_seq_num_count = pkt->header->seq_num - (*missing_seq_num_start);
            break;
        }

Original issue reported on code.google.com by machados...@gmail.com on 19 Feb 2015 at 6:54