From: Eugeni Doljenko <dolzenko@rsu.ru>
To: alsa-devel@lists.sourceforge.net
Subject: Sample loss in full duplex program
Date: Mon, 20 Oct 2003 19:04:20 +0400 [thread overview]
Message-ID: <3F93F974.5030506@rsu.ru> (raw)
I have add code below to example program latency.c:
It just wrote first 100000 samples to the file "rawout" in plain text
format.
I have simple program which helps me to analyse such files.
With that program I've found that some samples are lost (~ one per 4000)
(My settings: latency_min = 8192; /* in frames / 2 */
latency_max = 8192; /* in frames / 2 */
block = 1; /* block mode */ // When set to 0 I got
awfull sample lost
tick_time = 1; /* disabled, otherwise in us */
tick_time_ok = 0;
use_poll = 1;
)
What can I do to not loss that samples in full duplex mode?
Sorry for my English.
Eugeni.
latency.c:
/*around string N649*/
ok = 1; // was here
in_max = 0; // was here
//prepare big buffer
double* filebuf = malloc(500000*sizeof(double)); //I've added
int filebufp = 0; //I've added
FILE* file; //I've added
short* shortbuf; //I've added
int i; //I've added
while (ok && frames_in < loop_limit) { // was here
if (use_poll) { //
was here
/* use poll to wait for next event */ // was here
snd_pcm_wait(chandle, 1000); // was here
} // was here
if ((r = readbuf(chandle, buffer, latency, &frames_in,
&in_max)) < 0) // was here
ok = 0;
// was here
else {
// was here
if (effect) //I've added // was here
applyeffect(buffer,r); //
was here
shortbuf = (short*)buffer; //I've
added
//write to big buffer
for(i=0; i<r; i++)
//I've added
{
//I've added
filebuf[filebufp] = shortbuf[i]; //I've
added
filebufp++;
//I've added
}
//I've added
//write big buffer to file
if(filebufp>100000) //I've
added
{
//I've added
file = fopen("rawout", "w"); //I've added
for(i=0; i<100000; i++)
//I've added
fprintf(file, "%f\n", filebuf[i]/32000); //I've added
fclose(file);
//I've added
exit(1);
//I've added
}
-------------------------------------------------------
This SF.net email sponsored by: Enterprise Linux Forum Conference & Expo
The Event For Linux Datacenter Solutions & Strategies in The Enterprise
Linux in the Boardroom; in the Front Office; & in the Server Room
http://www.enterpriselinuxforum.com
reply other threads:[~2003-10-20 15:04 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3F93F974.5030506@rsu.ru \
--to=dolzenko@rsu.ru \
--cc=alsa-devel@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.