ALSA detect (and create) buffer overrunsHow 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
Calculating total slots
What is going on with 'gets(stdin)' on the site coderbyte?
Temporarily disable WLAN internet access for children, but allow it for adults
Invalid date error by date command
Is aluminum electrical wire used on aircraft?
Angel of Condemnation - Exile creature with second ability
Picking the different solutions to the time independent Schrodinger eqaution
What does "Scientists rise up against statistical significance" mean? (Comment in Nature)
Mimic lecturing on blackboard, facing audience
Hero deduces identity of a killer
Can a Canadian Travel to the USA twice, less than 180 days each time?
Redundant comparison & "if" before assignment
How to cover method return statement in Apex Class?
Why is so much work done on numerical verification of the Riemann Hypothesis?
Multiplicative persistence
How to rewrite equation of hyperbola in standard form
Has any country ever had 2 former presidents in jail simultaneously?
Does IPv6 have similar concept of network mask?
How to hide some fields of struct in C?
Why Shazam when there is already Superman?
When were female captains banned from Starfleet?
Mixing PEX brands
15% tax on $7.5k earnings. Is that right?
Fear of getting stuck on one programming language / technology that is not used in my country
ALSA detect (and create) buffer overruns
How 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,89631742
5,89631742
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