Hello Galène, hello Toke (I might have a question for you below!) For a bit of context I am working on a project [1] that uses pion, in a different fashion than Galène since we transform audio/video streams and add effects to them, implying that we decode and reencode them server side (with GStreamer). My initial question was about how to adapt encoder settings (bitrate) to network conditions, for instance not to send a 200KB/s video to a 100KB/s capable network. Juliusz pointed Google Congestion Control Algorithm [2] and Galène's implementation out to me: thanks to RTCP receiver and REMB reports, and thanks to the GCC algorithm, I can compute a desirable bitrate. Now this bitrate can be used to monitor encoder settings. This article https://www.aitrans.online/static/paper/Gcc-analysis.pdf also mentions that pacers and padders should be adapted. Toke, would you have some input regarding this: - do you think that in this use case monitoring a pacer with the target bitrate would have real added value? - I guess the pacer must act before the RTP packetizer so that timing information present in RTP headers are correct/not modified by the pacer. Is this correct? - are you aware of any reusable pacer implementation? I am also wondering if it would make more sense to be part of GStreamer processing or in pion Thanks, Guillaume [1] https://github.com/creamlab/ducksoup [2] https://datatracker.ietf.org/doc/html/draft-ietf-rmcat-gcc-02