[alsa-devel] PulseAudio and SNDRV_PCM_INFO_BATCH

Alexander E. Patrakov patrakov at gmail.com
Wed Jun 17 18:48:11 CEST 2015


On 17.06.2015 20:09, David Henningsson wrote:
>
>
> On 2015-06-17 11:19, Takashi Iwai wrote:
>> Well, USB-audio has another problem.  USB-audio uses the intermediate
>> audio ring buffer, and the samples are copied to each URB buffer.  At
>> each packet complete, the driver copies the rest of sample chunk
>> again, and advances the hwptr when the packets.  So, the hwptr of
>> USB-audio is in advance of the actual sample position.  But we provide
>> the runtime delay information for user-space to correct to the more
>> accurate sample position.  So far, so good.
>>
>> A missing piece in this picture is, however, the position of the
>> not-yet-queued samples in ring buffer.  Basically you can rewrite /
>> rewind the sample at most this point, but not farther -- such
>> in-flight samples can't be modified any longer.  This can be seen a
>> kind of hardware fifo with a pretty big and non-continuously variable
>> size during operation.
>>
>> In that sense, get_fifo() looks like a candidate for giving such
>> information, indeed.  But reviving the old (and rather bad working)
>> API appears dangerous to me.  I'd prefer creating a new API function
>> instead, if any.
>>
>> BTW, because of its design like above, a large (or no) period size
>> doesn't help for saving power at all with USB-audio.  This should be
>> considered before the further discussion...
>
> Hmm...I was trying to understand this power save argument. I tried to
> figure out a "typical" URB size by just plugging my headset in, and I
> saw wMaxPacketSize being 96 and/or 192 bytes.
> Then, MAX_PACKS is set to either 6 (or 48 for USB 2.0 devices, but this
> is just a headset).
>
> Can this be correct? Does it mean that we are getting interrupts every
> 192 * 6 bytes (i e, every 6 ms for a 48kHz/stereo/16bit stream)?

At least that's how often the position gets updated in the worst case. I 
have attached a report for a Logitech USB headset and a test program 
where you can modify the buffer and period sizes. A line is logged every 
time snd_pcm_avail() returns a different value.

-- 
Alexander E. Patrakov
-------------- next part --------------
======= testing hw:2 =======
min_period_size: 48 frames, dir: 0
FIFO size is 0
Hardware PCM card 2 'C-Media USB Headphone Set' device 0 subdevice 0
Its setup is:
  stream       : PLAYBACK
  access       : RW_INTERLEAVED
  format       : S16_LE
  subformat    : STD
  channels     : 2
  rate         : 48000
  exact rate   : 48000 (48000/1)
  msbits       : 16
  buffer_size  : 4096
  period_size  : 1024
  period_time  : 21333
  tstamp_mode  : NONE
  period_step  : 1
  avail_min    : 1024
  period_event : 0
  start_threshold  : 1024
  stop_threshold   : 4096
  silence_threshold: 0
  silence_size : 0
  boundary     : 4611686018427387904
  appl_ptr     : 0
  hw_ptr       : 0
Playing silence
Available: 0, loop iteration: 0, diff: 0, timestamp diff: 6 usec
Available: 288, loop iteration: 2621, diff: 2621, timestamp diff: 5560 usec
Available: 528, loop iteration: 4934, diff: 2313, timestamp diff: 5985 usec
Available: 768, loop iteration: 6804, diff: 1870, timestamp diff: 6000 usec
Available: 1056, loop iteration: 8810, diff: 2006, timestamp diff: 5998 usec
Available: 1296, loop iteration: 10533, diff: 1723, timestamp diff: 5011 usec
Available: 1536, loop iteration: 12238, diff: 1705, timestamp diff: 4997 usec
Available: 1824, loop iteration: 14428, diff: 2190, timestamp diff: 6014 usec
Available: 2064, loop iteration: 16434, diff: 2006, timestamp diff: 4986 usec
Available: 2304, loop iteration: 18209, diff: 1775, timestamp diff: 4989 usec
Available: 2592, loop iteration: 20846, diff: 2637, timestamp diff: 5995 usec
Available: 2832, loop iteration: 23188, diff: 2342, timestamp diff: 5004 usec
Available: 3072, loop iteration: 25568, diff: 2380, timestamp diff: 4998 usec
Available: 3360, loop iteration: 28495, diff: 2927, timestamp diff: 6002 usec
Available: 3600, loop iteration: 30172, diff: 1677, timestamp diff: 5000 usec
Available: 3840, loop iteration: 32005, diff: 1833, timestamp diff: 4996 usec
======= testing hw:2 =======
min_period_size: 48 frames, dir: 0
FIFO size is 0
Hardware PCM card 2 'C-Media USB Headphone Set' device 0 subdevice 0
Its setup is:
  stream       : PLAYBACK
  access       : RW_INTERLEAVED
  format       : S16_LE
  subformat    : STD
  channels     : 2
  rate         : 48000
  exact rate   : 48000 (48000/1)
  msbits       : 16
  buffer_size  : 512
  period_size  : 128
  period_time  : 2666
  tstamp_mode  : NONE
  period_step  : 1
  avail_min    : 128
  period_event : 0
  start_threshold  : 128
  stop_threshold   : 512
  silence_threshold: 0
  silence_size : 0
  boundary     : 4611686018427387904
  appl_ptr     : 0
  hw_ptr       : 0
Playing silence
Available: 0, loop iteration: 0, diff: 0, timestamp diff: 6 usec
Available: 144, loop iteration: 2384, diff: 2384, timestamp diff: 2621 usec
Available: 288, loop iteration: 4286, diff: 1902, timestamp diff: 2996 usec
Available: 384, loop iteration: 6134, diff: 1848, timestamp diff: 3063 usec
======= testing hw:2 =======
min_period_size: 48 frames, dir: 0
FIFO size is 0
Hardware PCM card 2 'C-Media USB Headphone Set' device 0 subdevice 0
Its setup is:
  stream       : PLAYBACK
  access       : RW_INTERLEAVED
  format       : S16_LE
  subformat    : STD
  channels     : 2
  rate         : 48000
  exact rate   : 48000 (48000/1)
  msbits       : 16
  buffer_size  : 512
  period_size  : 128
  period_time  : 2666
  tstamp_mode  : NONE
  period_step  : 1
  avail_min    : 128
  period_event : 0
  start_threshold  : 128
  stop_threshold   : 512
  silence_threshold: 0
  silence_size : 0
  boundary     : 4611686018427387904
  appl_ptr     : 0
  hw_ptr       : 0
Playing silence
Available: 0, loop iteration: 0, diff: 0, timestamp diff: 5 usec
Available: 144, loop iteration: 2963, diff: 2963, timestamp diff: 3114 usec
Available: 288, loop iteration: 4528, diff: 1565, timestamp diff: 2993 usec
Available: 384, loop iteration: 4943, diff: 415, timestamp diff: 3807 usec
======= testing hw:2 =======
min_period_size: 48 frames, dir: 0
FIFO size is 0
Hardware PCM card 2 'C-Media USB Headphone Set' device 0 subdevice 0
Its setup is:
  stream       : PLAYBACK
  access       : RW_INTERLEAVED
  format       : S16_LE
  subformat    : STD
  channels     : 2
  rate         : 48000
  exact rate   : 48000 (48000/1)
  msbits       : 16
  buffer_size  : 4096
  period_size  : 128
  period_time  : 2666
  tstamp_mode  : NONE
  period_step  : 1
  avail_min    : 128
  period_event : 0
  start_threshold  : 128
  stop_threshold   : 4096
  silence_threshold: 0
  silence_size : 0
  boundary     : 4611686018427387904
  appl_ptr     : 0
  hw_ptr       : 0
Playing silence
Available: 0, loop iteration: 0, diff: 0, timestamp diff: 6 usec
Available: 144, loop iteration: 2907, diff: 2907, timestamp diff: 3099 usec
Available: 288, loop iteration: 4192, diff: 1285, timestamp diff: 4498 usec
Available: 384, loop iteration: 4957, diff: 765, timestamp diff: 1496 usec
Available: 528, loop iteration: 5447, diff: 490, timestamp diff: 3017 usec
Available: 672, loop iteration: 6718, diff: 1271, timestamp diff: 5295 usec
Available: 768, loop iteration: 7035, diff: 317, timestamp diff: 701 usec
Available: 912, loop iteration: 8346, diff: 1311, timestamp diff: 4201 usec
Available: 1056, loop iteration: 9278, diff: 932, timestamp diff: 1788 usec
Available: 1152, loop iteration: 9948, diff: 670, timestamp diff: 1996 usec
Available: 1296, loop iteration: 11591, diff: 1643, timestamp diff: 3007 usec
Available: 1440, loop iteration: 12760, diff: 1169, timestamp diff: 2995 usec
Available: 1536, loop iteration: 13759, diff: 999, timestamp diff: 2010 usec
Available: 1680, loop iteration: 15285, diff: 1526, timestamp diff: 2990 usec
Available: 1824, loop iteration: 16887, diff: 1602, timestamp diff: 2998 usec
Available: 1920, loop iteration: 17762, diff: 875, timestamp diff: 2001 usec
Available: 2064, loop iteration: 19287, diff: 1525, timestamp diff: 2996 usec
Available: 2208, loop iteration: 20872, diff: 1585, timestamp diff: 2998 usec
Available: 2304, loop iteration: 21980, diff: 1108, timestamp diff: 2003 usec
Available: 2448, loop iteration: 23677, diff: 1697, timestamp diff: 3014 usec
Available: 2592, loop iteration: 25332, diff: 1655, timestamp diff: 2988 usec
Available: 2688, loop iteration: 26443, diff: 1111, timestamp diff: 1999 usec
Available: 2832, loop iteration: 28060, diff: 1617, timestamp diff: 3007 usec
Available: 2976, loop iteration: 29702, diff: 1642, timestamp diff: 2997 usec
Available: 3072, loop iteration: 30748, diff: 1046, timestamp diff: 1989 usec
Available: 3216, loop iteration: 32351, diff: 1603, timestamp diff: 3006 usec
Available: 3360, loop iteration: 33923, diff: 1572, timestamp diff: 3013 usec
Available: 3456, loop iteration: 34982, diff: 1059, timestamp diff: 1990 usec
Available: 3600, loop iteration: 36595, diff: 1613, timestamp diff: 2999 usec
Available: 3744, loop iteration: 38126, diff: 1531, timestamp diff: 3007 usec
Available: 3840, loop iteration: 39131, diff: 1005, timestamp diff: 1987 usec
Available: 3984, loop iteration: 40743, diff: 1612, timestamp diff: 3004 usec
======= testing hw:2 =======
min_period_size: 48 frames, dir: 0
FIFO size is 0
Hardware PCM card 2 'C-Media USB Headphone Set' device 0 subdevice 0
Its setup is:
  stream       : PLAYBACK
  access       : RW_INTERLEAVED
  format       : S16_LE
  subformat    : STD
  channels     : 2
  rate         : 48000
  exact rate   : 48000 (48000/1)
  msbits       : 16
  buffer_size  : 32768
  period_size  : 8192
  period_time  : 170666
  tstamp_mode  : NONE
  period_step  : 1
  avail_min    : 8192
  period_event : 0
  start_threshold  : 8192
  stop_threshold   : 32768
  silence_threshold: 0
  silence_size : 0
  boundary     : 4611686018427387904
  appl_ptr     : 0
  hw_ptr       : 0
Playing silence
Available: 0, loop iteration: 0, diff: 0, timestamp diff: 6 usec
Available: 288, loop iteration: 5758, diff: 5758, timestamp diff: 6060 usec
Available: 576, loop iteration: 8994, diff: 3236, timestamp diff: 5981 usec
Available: 864, loop iteration: 9998, diff: 1004, timestamp diff: 10924 usec
Available: 1152, loop iteration: 10591, diff: 593, timestamp diff: 1078 usec
Available: 1440, loop iteration: 13865, diff: 3274, timestamp diff: 6010 usec
Available: 1728, loop iteration: 16758, diff: 2893, timestamp diff: 5989 usec
Available: 2016, loop iteration: 19899, diff: 3141, timestamp diff: 6001 usec
Available: 2304, loop iteration: 23141, diff: 3242, timestamp diff: 6009 usec
Available: 2592, loop iteration: 26416, diff: 3275, timestamp diff: 5990 usec
Available: 2832, loop iteration: 29733, diff: 3317, timestamp diff: 6001 usec
Available: 3120, loop iteration: 32973, diff: 3240, timestamp diff: 6008 usec
Available: 3408, loop iteration: 36215, diff: 3242, timestamp diff: 5986 usec
Available: 3696, loop iteration: 39013, diff: 2798, timestamp diff: 5002 usec
Available: 3984, loop iteration: 42252, diff: 3239, timestamp diff: 6007 usec
Available: 4272, loop iteration: 45450, diff: 3198, timestamp diff: 5992 usec
Available: 4560, loop iteration: 48762, diff: 3312, timestamp diff: 6000 usec
Available: 4848, loop iteration: 52013, diff: 3251, timestamp diff: 6002 usec
Available: 5136, loop iteration: 55228, diff: 3215, timestamp diff: 5994 usec
Available: 5424, loop iteration: 58508, diff: 3280, timestamp diff: 6003 usec
Available: 5664, loop iteration: 61803, diff: 3295, timestamp diff: 6001 usec
Available: 5952, loop iteration: 65035, diff: 3232, timestamp diff: 5999 usec
Available: 6240, loop iteration: 68285, diff: 3250, timestamp diff: 5997 usec
Available: 6528, loop iteration: 71028, diff: 2743, timestamp diff: 5001 usec
Available: 6816, loop iteration: 74260, diff: 3232, timestamp diff: 6001 usec
Available: 7104, loop iteration: 77483, diff: 3223, timestamp diff: 5998 usec
Available: 7392, loop iteration: 80763, diff: 3280, timestamp diff: 6002 usec
Available: 7680, loop iteration: 83994, diff: 3231, timestamp diff: 5998 usec
Available: 7968, loop iteration: 87264, diff: 3270, timestamp diff: 6000 usec
Available: 8208, loop iteration: 90594, diff: 3330, timestamp diff: 6010 usec
Available: 8496, loop iteration: 93736, diff: 3142, timestamp diff: 5991 usec
Available: 8784, loop iteration: 96978, diff: 3242, timestamp diff: 5999 usec
Available: 9072, loop iteration: 99722, diff: 2744, timestamp diff: 5213 usec
Available: 9360, loop iteration: 102870, diff: 3148, timestamp diff: 5784 usec
Available: 9648, loop iteration: 106131, diff: 3261, timestamp diff: 5999 usec
Available: 9936, loop iteration: 109396, diff: 3265, timestamp diff: 6008 usec
Available: 10176, loop iteration: 112670, diff: 3274, timestamp diff: 5991 usec
Available: 10464, loop iteration: 115949, diff: 3279, timestamp diff: 6003 usec
Available: 10752, loop iteration: 119133, diff: 3184, timestamp diff: 6000 usec
Available: 11040, loop iteration: 121861, diff: 2728, timestamp diff: 5007 usec
Available: 11328, loop iteration: 125087, diff: 3226, timestamp diff: 5991 usec
Available: 11616, loop iteration: 128297, diff: 3210, timestamp diff: 6001 usec
Available: 11904, loop iteration: 131508, diff: 3211, timestamp diff: 6007 usec
Available: 12192, loop iteration: 134751, diff: 3243, timestamp diff: 5992 usec
Available: 12480, loop iteration: 138020, diff: 3269, timestamp diff: 5997 usec
Available: 12720, loop iteration: 141905, diff: 3885, timestamp diff: 6004 usec
Available: 13008, loop iteration: 145912, diff: 4007, timestamp diff: 5995 usec
Available: 13296, loop iteration: 149204, diff: 3292, timestamp diff: 6005 usec
Available: 13584, loop iteration: 151936, diff: 2732, timestamp diff: 5010 usec
Available: 13872, loop iteration: 155234, diff: 3298, timestamp diff: 5984 usec
Available: 14160, loop iteration: 158505, diff: 3271, timestamp diff: 6003 usec
Available: 14448, loop iteration: 161738, diff: 3233, timestamp diff: 6007 usec
Available: 14736, loop iteration: 164654, diff: 2916, timestamp diff: 5994 usec
Available: 15024, loop iteration: 167883, diff: 3229, timestamp diff: 5997 usec
Available: 15312, loop iteration: 171085, diff: 3202, timestamp diff: 6013 usec
Available: 15552, loop iteration: 174292, diff: 3207, timestamp diff: 5985 usec
Available: 15840, loop iteration: 177599, diff: 3307, timestamp diff: 6000 usec
Available: 16128, loop iteration: 180910, diff: 3311, timestamp diff: 6011 usec
Available: 16416, loop iteration: 183632, diff: 2722, timestamp diff: 4986 usec
Available: 16704, loop iteration: 186775, diff: 3143, timestamp diff: 6002 usec
Available: 16992, loop iteration: 190041, diff: 3266, timestamp diff: 6010 usec
Available: 17280, loop iteration: 193280, diff: 3239, timestamp diff: 5988 usec
Available: 17520, loop iteration: 196472, diff: 3192, timestamp diff: 6001 usec
Available: 17808, loop iteration: 199722, diff: 3250, timestamp diff: 5998 usec
Available: 18096, loop iteration: 202932, diff: 3210, timestamp diff: 6001 usec
Available: 18384, loop iteration: 205659, diff: 2727, timestamp diff: 5003 usec
Available: 18672, loop iteration: 208904, diff: 3245, timestamp diff: 5998 usec
Available: 18960, loop iteration: 212209, diff: 3305, timestamp diff: 5999 usec
Available: 19248, loop iteration: 215563, diff: 3354, timestamp diff: 5999 usec
Available: 19536, loop iteration: 218857, diff: 3294, timestamp diff: 6002 usec
Available: 19824, loop iteration: 222209, diff: 3352, timestamp diff: 5997 usec
Available: 20064, loop iteration: 225492, diff: 3283, timestamp diff: 6003 usec
Available: 20352, loop iteration: 228637, diff: 3145, timestamp diff: 5999 usec
Available: 20640, loop iteration: 231919, diff: 3282, timestamp diff: 5998 usec
Available: 20928, loop iteration: 234640, diff: 2721, timestamp diff: 5000 usec
Available: 21216, loop iteration: 237912, diff: 3272, timestamp diff: 6001 usec
Available: 21504, loop iteration: 241208, diff: 3296, timestamp diff: 5996 usec
Available: 21792, loop iteration: 244431, diff: 3223, timestamp diff: 5997 usec
Available: 22080, loop iteration: 247673, diff: 3242, timestamp diff: 6009 usec
Available: 22368, loop iteration: 251092, diff: 3419, timestamp diff: 5997 usec
Available: 22656, loop iteration: 254376, diff: 3284, timestamp diff: 5995 usec
Available: 22896, loop iteration: 257490, diff: 3114, timestamp diff: 6007 usec
Available: 23184, loop iteration: 260712, diff: 3222, timestamp diff: 5997 usec
Available: 23472, loop iteration: 263679, diff: 2967, timestamp diff: 6004 usec
Available: 23760, loop iteration: 266440, diff: 2761, timestamp diff: 4990 usec
Available: 24048, loop iteration: 269745, diff: 3305, timestamp diff: 6001 usec
Available: 24336, loop iteration: 273006, diff: 3261, timestamp diff: 6002 usec
Available: 24576, loop iteration: 276372, diff: 3366, timestamp diff: 5994 usec
Available: 24864, loop iteration: 279501, diff: 3129, timestamp diff: 6011 usec
Available: 25152, loop iteration: 282796, diff: 3295, timestamp diff: 5990 usec
Available: 25440, loop iteration: 285381, diff: 2585, timestamp diff: 5000 usec
Available: 25728, loop iteration: 288446, diff: 3065, timestamp diff: 6002 usec
Available: 26016, loop iteration: 291653, diff: 3207, timestamp diff: 6000 usec
Available: 26304, loop iteration: 294848, diff: 3195, timestamp diff: 5996 usec
Available: 26592, loop iteration: 297995, diff: 3147, timestamp diff: 6014 usec
Available: 26880, loop iteration: 301231, diff: 3236, timestamp diff: 5998 usec
Available: 27168, loop iteration: 304342, diff: 3111, timestamp diff: 5988 usec
Available: 27408, loop iteration: 307349, diff: 3007, timestamp diff: 6007 usec
Available: 27696, loop iteration: 310425, diff: 3076, timestamp diff: 5994 usec
Available: 27984, loop iteration: 313506, diff: 3081, timestamp diff: 5998 usec
Available: 28272, loop iteration: 316100, diff: 2594, timestamp diff: 5011 usec
Available: 28560, loop iteration: 319363, diff: 3263, timestamp diff: 5988 usec
Available: 28848, loop iteration: 322609, diff: 3246, timestamp diff: 6004 usec
Available: 29136, loop iteration: 325623, diff: 3014, timestamp diff: 5995 usec
Available: 29424, loop iteration: 328627, diff: 3004, timestamp diff: 6006 usec
Available: 29712, loop iteration: 331894, diff: 3267, timestamp diff: 5997 usec
Available: 30000, loop iteration: 334955, diff: 3061, timestamp diff: 5999 usec
Available: 30240, loop iteration: 337880, diff: 2925, timestamp diff: 5998 usec
Available: 30528, loop iteration: 341150, diff: 3270, timestamp diff: 6002 usec
Available: 30816, loop iteration: 344292, diff: 3142, timestamp diff: 5996 usec
Available: 31104, loop iteration: 346737, diff: 2445, timestamp diff: 5002 usec
Available: 31392, loop iteration: 349724, diff: 2987, timestamp diff: 6011 usec
Available: 31680, loop iteration: 352886, diff: 3162, timestamp diff: 5991 usec
Available: 31968, loop iteration: 355931, diff: 3045, timestamp diff: 5995 usec
Available: 32256, loop iteration: 359009, diff: 3078, timestamp diff: 6001 usec
Available: 32544, loop iteration: 362272, diff: 3263, timestamp diff: 6009 usec
======= testing hw:2 =======
min_period_size: 48 frames, dir: 0
FIFO size is 0
Hardware PCM card 2 'C-Media USB Headphone Set' device 0 subdevice 0
Its setup is:
  stream       : PLAYBACK
  access       : RW_INTERLEAVED
  format       : S16_LE
  subformat    : STD
  channels     : 2
  rate         : 48000
  exact rate   : 48000 (48000/1)
  msbits       : 16
  buffer_size  : 4096
  period_size  : 64
  period_time  : 1333
  tstamp_mode  : NONE
  period_step  : 1
  avail_min    : 64
  period_event : 0
  start_threshold  : 64
  stop_threshold   : 4096
  silence_threshold: 0
  silence_size : 0
  boundary     : 4611686018427387904
  appl_ptr     : 0
  hw_ptr       : 0
Playing silence
Available: 0, loop iteration: 0, diff: 0, timestamp diff: 6 usec
Available: 96, loop iteration: 1671, diff: 1671, timestamp diff: 1727 usec
Available: 144, loop iteration: 2588, diff: 917, timestamp diff: 3541 usec
Available: 192, loop iteration: 2779, diff: 191, timestamp diff: 458 usec
Available: 288, loop iteration: 3828, diff: 1049, timestamp diff: 1994 usec
Available: 336, loop iteration: 4222, diff: 394, timestamp diff: 3783 usec
Available: 384, loop iteration: 4316, diff: 94, timestamp diff: 231 usec
Available: 480, loop iteration: 5226, diff: 910, timestamp diff: 2760 usec
Available: 528, loop iteration: 5863, diff: 637, timestamp diff: 1226 usec
Available: 672, loop iteration: 6775, diff: 912, timestamp diff: 4773 usec
Available: 720, loop iteration: 6894, diff: 119, timestamp diff: 225 usec
Available: 768, loop iteration: 7443, diff: 549, timestamp diff: 991 usec
Available: 864, loop iteration: 8360, diff: 917, timestamp diff: 2109 usec
Available: 912, loop iteration: 8840, diff: 480, timestamp diff: 892 usec
Available: 960, loop iteration: 9398, diff: 558, timestamp diff: 1000 usec
Available: 1056, loop iteration: 10456, diff: 1058, timestamp diff: 2004 usec
Available: 1104, loop iteration: 10986, diff: 530, timestamp diff: 996 usec
Available: 1152, loop iteration: 11505, diff: 519, timestamp diff: 1006 usec
Available: 1248, loop iteration: 12595, diff: 1090, timestamp diff: 1998 usec
Available: 1296, loop iteration: 13082, diff: 487, timestamp diff: 995 usec
Available: 1344, loop iteration: 13574, diff: 492, timestamp diff: 1006 usec
Available: 1440, loop iteration: 14647, diff: 1073, timestamp diff: 1999 usec
Available: 1488, loop iteration: 15160, diff: 513, timestamp diff: 995 usec
Available: 1536, loop iteration: 15689, diff: 529, timestamp diff: 1005 usec
Available: 1632, loop iteration: 16750, diff: 1061, timestamp diff: 1996 usec
Available: 1680, loop iteration: 17284, diff: 534, timestamp diff: 997 usec
Available: 1728, loop iteration: 17817, diff: 533, timestamp diff: 1001 usec
Available: 1824, loop iteration: 18876, diff: 1059, timestamp diff: 2013 usec
Available: 1872, loop iteration: 19381, diff: 505, timestamp diff: 987 usec
Available: 1920, loop iteration: 19905, diff: 524, timestamp diff: 999 usec
Available: 2016, loop iteration: 20952, diff: 1047, timestamp diff: 2005 usec
Available: 2064, loop iteration: 21453, diff: 501, timestamp diff: 996 usec
Available: 2112, loop iteration: 21964, diff: 511, timestamp diff: 1000 usec
Available: 2208, loop iteration: 22971, diff: 1007, timestamp diff: 2011 usec
Available: 2256, loop iteration: 23477, diff: 506, timestamp diff: 990 usec
Available: 2304, loop iteration: 24023, diff: 546, timestamp diff: 999 usec
Available: 2400, loop iteration: 25135, diff: 1112, timestamp diff: 2007 usec
Available: 2448, loop iteration: 25659, diff: 524, timestamp diff: 1000 usec
Available: 2496, loop iteration: 26211, diff: 552, timestamp diff: 992 usec
Available: 2592, loop iteration: 27260, diff: 1049, timestamp diff: 2003 usec
Available: 2640, loop iteration: 27783, diff: 523, timestamp diff: 998 usec
Available: 2688, loop iteration: 28326, diff: 543, timestamp diff: 1006 usec
Available: 2784, loop iteration: 29408, diff: 1082, timestamp diff: 1998 usec
Available: 2832, loop iteration: 29924, diff: 516, timestamp diff: 994 usec
Available: 2880, loop iteration: 30431, diff: 507, timestamp diff: 1008 usec
Available: 2976, loop iteration: 31507, diff: 1076, timestamp diff: 1996 usec
Available: 3024, loop iteration: 32018, diff: 511, timestamp diff: 997 usec
Available: 3072, loop iteration: 32584, diff: 566, timestamp diff: 1000 usec
Available: 3168, loop iteration: 33681, diff: 1097, timestamp diff: 2011 usec
Available: 3216, loop iteration: 34211, diff: 530, timestamp diff: 989 usec
Available: 3264, loop iteration: 34719, diff: 508, timestamp diff: 1006 usec
Available: 3360, loop iteration: 35802, diff: 1083, timestamp diff: 1995 usec
Available: 3408, loop iteration: 36338, diff: 536, timestamp diff: 998 usec
Available: 3456, loop iteration: 36861, diff: 523, timestamp diff: 1002 usec
Available: 3552, loop iteration: 37847, diff: 986, timestamp diff: 1999 usec
Available: 3600, loop iteration: 38394, diff: 547, timestamp diff: 999 usec
Available: 3648, loop iteration: 38933, diff: 539, timestamp diff: 1005 usec
Available: 3744, loop iteration: 39982, diff: 1049, timestamp diff: 1995 usec
Available: 3792, loop iteration: 40542, diff: 560, timestamp diff: 999 usec
Available: 3840, loop iteration: 41078, diff: 536, timestamp diff: 1005 usec
Available: 3936, loop iteration: 42085, diff: 1007, timestamp diff: 1996 usec
Available: 3984, loop iteration: 42616, diff: 531, timestamp diff: 998 usec
Available: 4032, loop iteration: 43143, diff: 527, timestamp diff: 1002 usec
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pcm_avail.c
Type: text/x-csrc
Size: 4051 bytes
Desc: not available
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20150617/0889ab57/attachment-0001.bin>


More information about the Alsa-devel mailing list