New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
jbuf frame completeness #2754
base: main
Are you sure you want to change the base?
jbuf frame completeness #2754
Conversation
PR description reads:
but docs/examples/config still has it for audio and video. Have I misunderstood something? |
Plots for audioThe second plot of each set is the Underruns in |
Looks like for audio, the buffers does not play well together, if I see correctly we have 2-3 packets in jbuf (20-60ms) + up to 80ms within aubuf and this does not compensate a 50ms jitter without packet loss (leads to real aubuf underruns)? |
Looking at the
Note that This PR should touch only
The After this we could think about moving |
please resolve the conflicts ... |
please update the description with more details. Can you please also rebase this on top of git HEAD ? |
- a script that performs a single call - generate both jbuf and aubuf ajb plots
A frame is a sequence of RTP packets with equal timestamp. Now `jbuf_get()` does not pass packets before the oldest frame is complete.
`jbuf_get()` now holds back packets/frames until a new frame was put into jbuf. It returns EAGAIN in order to reduce buffered frames only one by one and slowly.
5e940cf
to
a6e6074
Compare
@@ -337,7 +337,7 @@ enum jbuf_type conf_get_jbuf_type(const struct pl *pl) | |||
{ | |||
if (0 == pl_strcasecmp(pl, "off")) return JBUF_OFF; | |||
if (0 == pl_strcasecmp(pl, "fixed")) return JBUF_FIXED; | |||
if (0 == pl_strcasecmp(pl, "adaptive")) return JBUF_ADAPTIVE; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps add a warning about the config option has been removed?
This PR improves jbuf in order to
O
-notation complexity forjbuf_put()
norjbuf_get()
.This PR still is a draft and will be compared to #2757.