| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
| |
This avoids the issue that the ~SDR termination marker doesn't reach the
consumer because it's still prebuffering
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since commit d9ef93e, UHD does not backpressure the modulator anymore.
If a pipe input is used, the ODR-DabMux before also doesn't get any
back-pressure, the modulation thread and the mux run a very high rate.
This high rate fills the buffer between OutputUHD and its worker thread,
until the out-of-memory killer kills ODR-DabMod.
Less impact on ZMQ input, because that is throttled at the mux, but
we still have a buffer that can grow in an uncontrolled way
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When using UHD without synchronous=1:
After a modulator restart, the input ZMQ buffer is nearly empty, and
the modulator actually gets blocked by the ThreadsafeQueue. This is
visible by looking at the time deltas printed in the debugging code.
This commit adds a minimal form of prebuffering (10 ETI frames) to the
ZeroMQ input, and removes the useless minimum required size for the
ThreadsafeQueue.
In synchronous=1, the issue is not visible because the TIST defines the
time to transmit, which will cause the ZMQ buffer to fill.
|
| |
|
| |
|
| |
|
|
|