pespin has submitted this change. ( 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(-)
Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve laforge: Looks good to me, approved
diff --git a/src/osmux_input.c b/src/osmux_input.c index bdc7fd3..3a85b45 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 (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)