ALSA detect (and create) buffer overruns2019 Community Moderator ElectionHow to stream semi-live audio over internetNode.js Live Streaming: Avoid bufferingAudio mixing with alsa's dmix plugin in c++Method for audio playback with known output latency on WindowsReal time audio streaming to mobile device - dynamic playback speedAlsa Buffer overrun while playback of audioALSA buffer xrun induced by low quality source in ffmpeg capturePortAudio unreliable: Expression '…' failedWhen do I know to cause a rebuffer on streaming audio when playing over ALSA?Strange ALSA monitor device behaviour
What is the magic ball of every day?
Reversed Sudoku
How do I express some one as a black person?
Shifting between bemols (flats) and diesis (sharps)in the key signature
Database Backup for data and log files
Find longest word in a string: are any of these algorithms good?
Signed and unsigned numbers
Why is computing ridge regression with a Cholesky decomposition much quicker than using SVD?
How did Alan Turing break the enigma code using the hint given by the lady in the bar?
weren't playing vs didn't play
If I receive an SOS signal, what is the proper response?
How to write ı (i without dot) character in pgf-pie
Is it necessary to separate DC power cables and data cables?
Coax or bifilar choke
Difference on montgomery curve equation between EFD and RFC7748
Should I take out a loan for a friend to invest on my behalf?
How can I get players to stop ignoring or overlooking the plot hooks I'm giving them?
How to draw cubes in a 3 dimensional plane
Conservation of Mass and Energy
Why the color red for the Republican Party
Are all players supposed to be able to see each others' character sheets?
Intuition behind counterexample of Euler's sum of powers conjecture
finite abelian groups tensor product.
Can I pump my MTB tire to max (55 psi / 380 kPa) without the tube inside bursting?
ALSA detect (and create) buffer overruns
2019 Community Moderator ElectionHow to stream semi-live audio over internetNode.js Live Streaming: Avoid bufferingAudio mixing with alsa's dmix plugin in c++Method for audio playback with known output latency on WindowsReal time audio streaming to mobile device - dynamic playback speedAlsa Buffer overrun while playback of audioALSA buffer xrun induced by low quality source in ffmpeg capturePortAudio unreliable: Expression '…' failedWhen do I know to cause a rebuffer on streaming audio when playing over ALSA?Strange ALSA monitor device behaviour
I am writing a real time voice streaming application that, for reasons too depressing to explain here, uses ALSA. I have a problem that one sides' voice keeps getting delayed and delayed (i.e. - as the streaming progresses, the voice is issued with higher and higher latency).
I suspect that a clock drift between the two sides causes side A to generate more samples per second than side B plays, causing extra samples to be produced each time.
I have not been able to locate how to ask ALSA how many samples are currently queued, nor limit the buffer size so that ALSA reject my new samples instead of increasing its buffer to play them.
Is what I'm trying to do possible?
audio-streaming alsa
add a comment |
I am writing a real time voice streaming application that, for reasons too depressing to explain here, uses ALSA. I have a problem that one sides' voice keeps getting delayed and delayed (i.e. - as the streaming progresses, the voice is issued with higher and higher latency).
I suspect that a clock drift between the two sides causes side A to generate more samples per second than side B plays, causing extra samples to be produced each time.
I have not been able to locate how to ask ALSA how many samples are currently queued, nor limit the buffer size so that ALSA reject my new samples instead of increasing its buffer to play them.
Is what I'm trying to do possible?
audio-streaming alsa
ALSA's buffer size is fixed. You have to measure the relative speeds, and resample accordingly.
– CL.
Mar 7 at 7:02
add a comment |
I am writing a real time voice streaming application that, for reasons too depressing to explain here, uses ALSA. I have a problem that one sides' voice keeps getting delayed and delayed (i.e. - as the streaming progresses, the voice is issued with higher and higher latency).
I suspect that a clock drift between the two sides causes side A to generate more samples per second than side B plays, causing extra samples to be produced each time.
I have not been able to locate how to ask ALSA how many samples are currently queued, nor limit the buffer size so that ALSA reject my new samples instead of increasing its buffer to play them.
Is what I'm trying to do possible?
audio-streaming alsa
I am writing a real time voice streaming application that, for reasons too depressing to explain here, uses ALSA. I have a problem that one sides' voice keeps getting delayed and delayed (i.e. - as the streaming progresses, the voice is issued with higher and higher latency).
I suspect that a clock drift between the two sides causes side A to generate more samples per second than side B plays, causing extra samples to be produced each time.
I have not been able to locate how to ask ALSA how many samples are currently queued, nor limit the buffer size so that ALSA reject my new samples instead of increasing its buffer to play them.
Is what I'm trying to do possible?
audio-streaming alsa
audio-streaming alsa
asked Mar 7 at 6:26
Shachar ShemeshShachar Shemesh
5,89631642
5,89631642
ALSA's buffer size is fixed. You have to measure the relative speeds, and resample accordingly.
– CL.
Mar 7 at 7:02
add a comment |
ALSA's buffer size is fixed. You have to measure the relative speeds, and resample accordingly.
– CL.
Mar 7 at 7:02
ALSA's buffer size is fixed. You have to measure the relative speeds, and resample accordingly.
– CL.
Mar 7 at 7:02
ALSA's buffer size is fixed. You have to measure the relative speeds, and resample accordingly.
– CL.
Mar 7 at 7:02
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55037347%2falsa-detect-and-create-buffer-overruns%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55037347%2falsa-detect-and-create-buffer-overruns%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
ALSA's buffer size is fixed. You have to measure the relative speeds, and resample accordingly.
– CL.
Mar 7 at 7:02