RTP profile: RTP header with extension flag set not correctly handled

Bug #1038637 reported by Didier Barvaux
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
rohc
Status tracked in Rohc-main
1.3.x
Won't Fix
Medium
Didier Barvaux
1.4.x
Won't Fix
Medium
Didier Barvaux
Rohc-1.5.x
Won't Fix
Medium
Didier Barvaux
Rohc-main
Fix Released
Medium
Didier Barvaux

Bug Description

On trunk, there is a problem if the first packet of one RTP stream has its extension flag set. The packet is then compressed as IR packet with a dynamic chain but no TS_STRIDE (not possible on first packet of a stream). In this case, RX is set to TSS and that's wrong. The X bit is so not transmitted.

Tags: library rtp
Revision history for this message
Didier Barvaux (didier-barvaux) wrote :

Confirmed on trunk.

Revision history for this message
Didier Barvaux (didier-barvaux) wrote :

Confirmed on branch 1.4.x.

Revision history for this message
Didier Barvaux (didier-barvaux) wrote :

Confirmed on branch 1.3.x.

Revision history for this message
Didier Barvaux (didier-barvaux) wrote :

Non-regression test added for the bug. It fails for the moment.

See http://bazaar.launchpad.net/~didier-barvaux/rohc/main/revision/715

Revision history for this message
Didier Barvaux (didier-barvaux) wrote :

Fixed on main branch. See http://bazaar.launchpad.net/~didier-barvaux/rohc/main/revision/716 for details.

The first packets of a new stream must transmit the value of the RTP eXtension (X) bit. The field is considered as STATIC, so it should not change often but it must be transmitted at least on first packets. On those packets, the RX bit shall be set to 1 even if the TSS field (for TS_STRIDE) is set to 0. Upon field change, the compressor shall go back to FO state because the RTP eXtension bit is a STATIC field. It then can use either one IR, IR-DYN or UO-1-ID with extension 3, or any UOR-2* with extension 3.

Always transmitting the RTP eXtension (X) bit in the first packets of a stream makes change the reference captures of all the non-regression tests.

Revision history for this message
Didier Barvaux (didier-barvaux) wrote :

Bug won't be fixed on branch 1.5.x: too invasive and compatibility between 1.5.x releases would be broken.
See http://bazaar.launchpad.net/~didier-barvaux/rohc/1.5.x/revision/564

Revision history for this message
Didier Barvaux (didier-barvaux) wrote :

Bug won't be fixed on branch 1.4.x: too invasive and compatibility between 1.4.x releases would be broken.
See http://bazaar.launchpad.net/~didier-barvaux/rohc/1.4.x/revision/365

Revision history for this message
Didier Barvaux (didier-barvaux) wrote :

Bug won't be fixed on branch 1.3.x: too invasive and compatibility between 1.3.x releases would be broken.
See http://bazaar.launchpad.net/~didier-barvaux/rohc/1.3.x/revision/214

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.