-
Notifications
You must be signed in to change notification settings - Fork 84
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
tmr: add tmr_continue() #754
Conversation
29f1276
to
27faf00
Compare
Notes:
|
I wonder if |
I think you are talking about jitter, and I agree that this is not addressed by this patch. The common resolution for transmission+network jitter is a buffer on the receiving end. But to send sound file contents or generated audio, there is no tool in I also got this working with I think that |
src/tmr/tmr.c
Outdated
void tmr_start_dbg(struct tmr *tmr, uint64_t delay, tmr_h *th, void *arg, | ||
const char *file, int line) | ||
{ | ||
tmr_startcont_dbg (tmr, delay, true, th, arg, file, line); |
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.
tmr_startcont_dbg (tmr, delay, true, th, arg, file, line); | |
tmr_startcont_dbg(tmr, delay, true, th, arg, file, line); |
FYI, I considered another formulation in
This would recognise the all-zero situation after Having no detailed documentation the (very readable) code serves as an API, so I thought it better to not break with existing behaviour. A lighter variant, but possibly even less predictable, would have been
The benefits of the form in this pull request are unaltered and more consistent behaviour and fewer calls to |
to allow jiffie-accurate interval timer continuation usually called from within the handler function
to allow jiffie-accurate interval timer continuation
usually called from within the handler function
RTP timing can normally be derived best from an audio source.
This does not work when delivering content from a file, or when
delivering generated content.
The
tmr_continue()
call is a slight modification oftmr_start()
and can be used to continue a timer after an internal, which is
added to the current timeout, avoiding stacking timing errors.