It doesn't inject mavlink packets, it's even mavlink agnostic and acts as a transparent serial link.
I'm using Mission Planner with ULRS since a long time, so I used it with many different versions of MP and it was always working fine until version 1.3.38.
I've made a test with ULRS + MP versions 1.3.37, 1.3.38 and 1.3.39. For about the same quantity of data (+-120 kB) :
with MP 1.3.37 : 1 packet lost over 4027 packets
with MP 1.3.38 : 661 packets lost over 4178 packets
with MP 1.3.39 : 118 packets lost over 4355 packets
Also notice that the max time between packets is quite different :
with MP 1.3.37 : 94 ms
with MP 1.3.38 : 331 ms
with MP 1.3.39 : 438 ms
And the last difference is that the throughput was much higher (not lower) with 1.3.37, so this can't be explained by an excessive throughput with 1.3.38 or 39.
with MP 1.3.37 : 1.57 kB/s (ULRS can handle up to the full 1920 bytes/s, APM is connected at 19200 bauds)
with MP 1.3.38 : 1.09 kB/s
with MP 1.3.39 : 1.06 kB/s
The 3 tlog files are attached and are approx the same size. The test was done successively on the 3 MP versions, without changing anything to the ULRS, hardware or configuration.
I've uploaded 3 screenshots of the stats for the 3 versions of MP, and the 3 corresponding tlogs. The versions are in the filenames.
tlogs and screenshots.zip (824.7 KB)