pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-netif/+/30169 )
Change subject: osmux: recreate lost RTP pkts before handling newest one ......................................................................
osmux: recreate lost RTP pkts before handling newest one
In the event we need to fill in the batch with intermediate lost RTP packets, we must do so before handling the last one.
Change-Id: Ib5dd7b1fa6213c96ece803b781a7ef1cf102a1d4 --- M src/osmux_input.c 1 file changed, 5 insertions(+), 5 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/69/30169/1
diff --git a/src/osmux_input.c b/src/osmux_input.c index 67c0218..cbb85d0 100644 --- a/src/osmux_input.c +++ b/src/osmux_input.c @@ -479,6 +479,11 @@ } }
+ /* Handle RTP packet loss scenario */ + rc = osmux_replay_lost_packets(link, req); + if (rc != 0) + return rc; + /* Init of talkspurt (RTP M marker bit) needs to be in the first AMR slot * of the OSMUX packet, enforce sending previous batch if required: */ @@ -499,11 +504,6 @@ if (req->needed_bytes > link->remaining_bytes) return 1;
- /* Handle RTP packet loss scenario */ - rc = osmux_replay_lost_packets(link, req); - if (rc != 0) - return rc; - /* This batch is full, force batch delivery */ rc = osmux_circuit_enqueue(link, req->circuit, req->msg); if (rc != 0)