Latency

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'm getting confused by ALSA API again, can anyone clarify.


I'm setting up ALSA with this :

        int bufchunks = 10;							 	// bufchunks are the number of 512 sample buffers alsa is using

        unsigned int buflen;
        unsigned int wanted_buflen = 13 * bufchunks;                                    // milliseconds * number of frames
        int dir=1;


        // Value is in useconds
        wanted_buflen=wanted_buflen * 1000;                                             // convert milliseconds to useconds
        buflen = wanted_buflen;
        if (snd_pcm_hw_params_set_buffer_time_near(playback_handle, hw_params, &buflen, &dir) < 0)
        {
                fprintf(stderr,"%s: ALSA: initialise_sound_system() - Couldn't set buffer length",PROGNAME);
                exit(1);
        }


I am reading the latency like this :

int get_playback_latency_ms()
{
        int framesleft;
        int ms_in_buffer;
        framesleft=snd_pcm_avail (playback_handle);                             // How many samples behind is the player

        return( (framesleft*1000)/playback_sample_rate );                       // frames to milliseconds
}


printf("%d\n",get_playback_latency_ms());
In my main loop gives me results like this.


23
12
0
82
70
58
47
35
24
12


If I increase the bufchunks value I seem to get larger latency (If I
pause terminal output with ^S it takes a longer time to stop playing),
yet the latency values i'm reading always seem to be the same.

How do I read a true latency in milliseconds ?

Thanks,
Jon




------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________
Alsa-user mailing list
Alsa-user@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/alsa-user




[Index of Archives]     [ALSA Devel]     [Linux Audio Users]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]

  Powered by Linux