All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Alexander E. Patrakov" <patrakov@gmail.com>
To: Raymond Yau <superquad.vortex2@gmail.com>
Cc: ALSA Development Mailing List <alsa-devel@alsa-project.org>,
	Lars-Peter Clausen <lars@metafoo.de>,
	Takashi Iwai <tiwai@suse.de>,
	clemens@ladisch.de, Tanu Kaskinen <tanu.kaskinen@linux.intel.com>,
	Arun Raghavan <arun@accosted.net>,
	David Henningsson <david.henningsson@canonical.com>
Subject: Re: PulseAudio and SNDRV_PCM_INFO_BATCH
Date: Fri, 19 Jun 2015 16:19:31 +0500	[thread overview]
Message-ID: <5583FAC3.70500@gmail.com> (raw)
In-Reply-To: <CAN8cciYdGP5Q9eGT+tjE_1qxkxT3JT7vPECN0CCvpZf7H5_tzA@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 386 bytes --]

18.06.2015 08:15, Raymond Yau wrote:

> How about the result using multiple of 48 frames as period size since
> min period size is 48 frames (1 ms) , it seem that your tests are not
> using the optimal period size

Attached. See the second and the third tests in the file. Also, on 
request from David, I have added logging of the delay in addition to avail.

-- 
Alexander E. Patrakov

[-- Attachment #2: pcm_avail.c --]
[-- Type: text/x-csrc, Size: 4194 bytes --]

/*
 *  This extra small demo sends silence to your speakers and tests the precision of the reported position.
 */

#include <asoundlib.h>

#include <stdio.h>
#include <stdlib.h>

const char* device;
const int channels = 2;
const snd_pcm_sframes_t period_size = 960;
const int periods = 4;
const int rate = 48000;


int main(int argc, char* argv[])
{
        int err;
	int failed = 0;
        unsigned int j, j_old;
	short *silence;
	snd_pcm_sframes_t avail = -1, delay = -1;
	snd_pcm_uframes_t min_period_size;
	snd_pcm_uframes_t boundary;
	int dir;
	struct timeval tv_old;

	if (argc != 2) {
		fprintf(stderr, "Usage: %s pcm_name\n", argv[0]);
		exit(EXIT_FAILURE);
	}

	device = argv[1];
	printf("======= testing %s =======\n", device);


        snd_pcm_t *handle;
	snd_output_t *out = NULL;

	snd_pcm_hw_params_t *params;
	snd_pcm_sw_params_t *swparams;

	snd_pcm_hw_params_alloca(&params);
	snd_pcm_sw_params_alloca(&swparams);

	snd_output_stdio_attach(&out, stdout, 0);
	silence = calloc(period_size * periods, sizeof(short) * channels);

	if ((err = snd_pcm_open(&handle, device, SND_PCM_STREAM_PLAYBACK, 0)) < 0) {
		fprintf(stderr, "Playback open error: %s\n", snd_strerror(err));
		exit(EXIT_FAILURE);
	}

	failed =           (err = snd_pcm_hw_params_any(handle, params)) < 0;
	failed = failed || (err = snd_pcm_hw_params_set_rate_resample(handle, params, 1)) < 0;
	failed = failed || (err = snd_pcm_hw_params_set_access(handle, params, SND_PCM_ACCESS_RW_INTERLEAVED)) < 0;
	failed = failed || (err = snd_pcm_hw_params_set_format(handle, params, SND_PCM_FORMAT_S16)) < 0;
	failed = failed || (err = snd_pcm_hw_params_set_channels(handle, params, channels)) < 0;
	failed = failed || (err = snd_pcm_hw_params_set_rate(handle, params, rate, 0)) < 0;

	if (failed) {
		fprintf(stderr, "Playback hwparams (access & format) error: %s\n", snd_strerror(err));
		exit(EXIT_FAILURE);
	}

	err = snd_pcm_hw_params_get_period_size_min(params, &min_period_size, &dir);
	if (err < 0) {
		fprintf(stderr, "Cannot get minimum period size: %s\n", snd_strerror(err));
	}

	printf("min_period_size: %d frames, dir: %d\n", (int)min_period_size, dir);

	failed =           (err = snd_pcm_hw_params_set_period_size(handle, params, period_size, 0)) < 0;
	failed = failed || (err = snd_pcm_hw_params_set_periods(handle, params, periods, 0)) < 0;
	failed = failed || (err = snd_pcm_hw_params(handle, params)) < 0;
	if (failed) {
		fprintf(stderr, "Playback hwparams (period size & periods) error: %s\n", snd_strerror(err));
		exit(EXIT_FAILURE);
	}

	err = snd_pcm_hw_params_get_fifo_size(params);
	if (err < 0) {
		fprintf(stderr, "Playback hwparams: can't get FIFO size, error: %s\n", snd_strerror(err));
	} else {
		printf("FIFO size is %d\n", err);
	}

	failed =           (err = snd_pcm_sw_params_current(handle, swparams)) < 0;
	failed = failed || (err = snd_pcm_sw_params_set_start_threshold(handle, swparams, period_size)) < 0;
	failed = failed || (err = snd_pcm_sw_params_set_avail_min(handle, swparams, period_size)) < 0;
	failed = failed || (err = snd_pcm_sw_params(handle, swparams)) < 0;
	if (failed) {
		fprintf(stderr, "Playback swparams error: %s\n", snd_strerror(err));
		exit(EXIT_FAILURE);
	}

	snd_pcm_dump(handle, out);
	printf("Playing silence\n");
	fflush(stdout);
	memset(silence, 0, period_size * periods * sizeof(short) * channels);
	err = snd_pcm_writei(handle, silence, period_size * periods);
	if (err < 0) {
		fprintf(stderr, "Playback error: %s\n", snd_strerror(err));
		exit(EXIT_FAILURE);
	}

	j = 0;
	j_old = 0;
	gettimeofday(&tv_old, NULL);
	while (1) {
		snd_pcm_sframes_t avail1;
		snd_pcm_sframes_t delay1;
		err = snd_pcm_avail_delay(handle, &avail1, &delay1);
		if (err < 0 || avail1 < 0)
			break;
		if (avail != avail1 || delay != delay1) {
			struct timeval tv;
			gettimeofday(&tv, NULL);
			printf("Available: %d, delay: %d, loop iteration: %d, diff: %d, timestamp diff: %d usec\n", (int)avail1, (int)delay1, j, j - j_old,
				(int)((tv.tv_sec - tv_old.tv_sec) * 1000000 + (tv.tv_usec - tv_old.tv_usec)));
			tv_old = tv;
			j_old = j;
		}
		avail = avail1;
		delay = delay1;
		j++;
	}
	snd_pcm_drop(handle);
	snd_pcm_close(handle);

	free(silence);
	return 0;
}

[-- Attachment #3: usb_sound_timings_v2.txt --]
[-- Type: text/plain, Size: 27195 bytes --]

======= 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
  tstamp_type  : MONOTONIC
  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, delay: 4096, loop iteration: 0, diff: 0, timestamp diff: 6 usec
Available: 288, delay: 4096, loop iteration: 5038, diff: 5038, timestamp diff: 6014 usec
Available: 288, delay: 4048, loop iteration: 5107, diff: 69, timestamp diff: 221 usec
Available: 288, delay: 4000, loop iteration: 5453, diff: 346, timestamp diff: 1001 usec
Available: 288, delay: 3952, loop iteration: 5787, diff: 334, timestamp diff: 1001 usec
Available: 288, delay: 3904, loop iteration: 6132, diff: 345, timestamp diff: 999 usec
Available: 288, delay: 3856, loop iteration: 6467, diff: 335, timestamp diff: 1000 usec
Available: 288, delay: 3808, loop iteration: 6814, diff: 347, timestamp diff: 1000 usec
Available: 528, delay: 3808, loop iteration: 7078, diff: 264, timestamp diff: 785 usec
Available: 528, delay: 3760, loop iteration: 7153, diff: 75, timestamp diff: 215 usec
Available: 528, delay: 3712, loop iteration: 7519, diff: 366, timestamp diff: 1000 usec
Available: 528, delay: 3664, loop iteration: 7881, diff: 362, timestamp diff: 999 usec
Available: 528, delay: 3616, loop iteration: 8224, diff: 343, timestamp diff: 1001 usec
Available: 528, delay: 3568, loop iteration: 8589, diff: 365, timestamp diff: 1000 usec
Available: 768, delay: 3568, loop iteration: 9231, diff: 642, timestamp diff: 1837 usec
Available: 768, delay: 3520, loop iteration: 9276, diff: 45, timestamp diff: 164 usec
Available: 768, delay: 3472, loop iteration: 9642, diff: 366, timestamp diff: 998 usec
Available: 768, delay: 3424, loop iteration: 10007, diff: 365, timestamp diff: 1001 usec
Available: 768, delay: 3376, loop iteration: 10368, diff: 361, timestamp diff: 999 usec
Available: 768, delay: 3328, loop iteration: 10712, diff: 344, timestamp diff: 999 usec
Available: 1056, delay: 3328, loop iteration: 11363, diff: 651, timestamp diff: 1784 usec
Available: 1056, delay: 3280, loop iteration: 11440, diff: 77, timestamp diff: 218 usec
Available: 1056, delay: 3232, loop iteration: 11795, diff: 355, timestamp diff: 1000 usec
Available: 1056, delay: 3184, loop iteration: 12180, diff: 385, timestamp diff: 1000 usec
Available: 1056, delay: 3136, loop iteration: 12566, diff: 386, timestamp diff: 1000 usec
Available: 1056, delay: 3088, loop iteration: 12952, diff: 386, timestamp diff: 999 usec
Available: 1056, delay: 3040, loop iteration: 13248, diff: 296, timestamp diff: 830 usec
Available: 1296, delay: 3088, loop iteration: 13249, diff: 1, timestamp diff: 6 usec
Available: 1296, delay: 3040, loop iteration: 13283, diff: 34, timestamp diff: 163 usec
Available: 1296, delay: 2992, loop iteration: 13669, diff: 386, timestamp diff: 1001 usec
Available: 1296, delay: 2944, loop iteration: 14056, diff: 387, timestamp diff: 1001 usec
Available: 1296, delay: 2896, loop iteration: 14442, diff: 386, timestamp diff: 999 usec
Available: 1296, delay: 2848, loop iteration: 14828, diff: 386, timestamp diff: 999 usec
Available: 1536, delay: 2848, loop iteration: 15121, diff: 293, timestamp diff: 828 usec
Available: 1536, delay: 2800, loop iteration: 15186, diff: 65, timestamp diff: 173 usec
Available: 1536, delay: 2752, loop iteration: 15577, diff: 391, timestamp diff: 999 usec
Available: 1536, delay: 2704, loop iteration: 15964, diff: 387, timestamp diff: 1001 usec
Available: 1536, delay: 2656, loop iteration: 16350, diff: 386, timestamp diff: 999 usec
Available: 1536, delay: 2608, loop iteration: 16737, diff: 387, timestamp diff: 1001 usec
Available: 1536, delay: 2560, loop iteration: 17105, diff: 368, timestamp diff: 999 usec
Available: 1824, delay: 2560, loop iteration: 17350, diff: 245, timestamp diff: 801 usec
Available: 1824, delay: 2512, loop iteration: 17406, diff: 56, timestamp diff: 201 usec
Available: 1824, delay: 2464, loop iteration: 17788, diff: 382, timestamp diff: 999 usec
Available: 1824, delay: 2416, loop iteration: 18170, diff: 382, timestamp diff: 999 usec
Available: 1824, delay: 2368, loop iteration: 18554, diff: 384, timestamp diff: 1001 usec
Available: 1824, delay: 2320, loop iteration: 18941, diff: 387, timestamp diff: 1001 usec
Available: 2064, delay: 2320, loop iteration: 19241, diff: 300, timestamp diff: 832 usec
Available: 2064, delay: 2272, loop iteration: 19270, diff: 29, timestamp diff: 169 usec
Available: 2064, delay: 2224, loop iteration: 19671, diff: 401, timestamp diff: 996 usec
Available: 2064, delay: 2176, loop iteration: 20080, diff: 409, timestamp diff: 1002 usec
Available: 2064, delay: 2128, loop iteration: 20488, diff: 408, timestamp diff: 1000 usec
Available: 2064, delay: 2080, loop iteration: 20896, diff: 408, timestamp diff: 1000 usec
Available: 2304, delay: 2080, loop iteration: 21204, diff: 308, timestamp diff: 769 usec
Available: 2304, delay: 2032, loop iteration: 21296, diff: 92, timestamp diff: 230 usec
Available: 2304, delay: 1984, loop iteration: 21702, diff: 406, timestamp diff: 1001 usec
Available: 2304, delay: 1936, loop iteration: 22107, diff: 405, timestamp diff: 999 usec
Available: 2304, delay: 1888, loop iteration: 22510, diff: 403, timestamp diff: 1001 usec
Available: 2304, delay: 1840, loop iteration: 22922, diff: 412, timestamp diff: 1000 usec
Available: 2304, delay: 1792, loop iteration: 23328, diff: 406, timestamp diff: 999 usec
Available: 2592, delay: 1792, loop iteration: 23643, diff: 315, timestamp diff: 831 usec
Available: 2592, delay: 1744, loop iteration: 23710, diff: 67, timestamp diff: 170 usec
Available: 2592, delay: 1696, loop iteration: 24116, diff: 406, timestamp diff: 999 usec
Available: 2592, delay: 1648, loop iteration: 24523, diff: 407, timestamp diff: 1001 usec
Available: 2592, delay: 1600, loop iteration: 24923, diff: 400, timestamp diff: 999 usec
Available: 2592, delay: 1552, loop iteration: 25334, diff: 411, timestamp diff: 999 usec
Available: 2592, delay: 1504, loop iteration: 25645, diff: 311, timestamp diff: 822 usec
Available: 2832, delay: 1552, loop iteration: 25646, diff: 1, timestamp diff: 6 usec
Available: 2832, delay: 1504, loop iteration: 25712, diff: 66, timestamp diff: 174 usec
Available: 2832, delay: 1456, loop iteration: 26123, diff: 411, timestamp diff: 999 usec
Available: 2832, delay: 1408, loop iteration: 26524, diff: 401, timestamp diff: 999 usec
Available: 2832, delay: 1360, loop iteration: 26940, diff: 416, timestamp diff: 1000 usec
Available: 2832, delay: 1312, loop iteration: 27343, diff: 403, timestamp diff: 1002 usec
Available: 2832, delay: 1264, loop iteration: 27673, diff: 330, timestamp diff: 764 usec
Available: 3072, delay: 1312, loop iteration: 27674, diff: 1, timestamp diff: 6 usec
Available: 3072, delay: 1264, loop iteration: 27769, diff: 95, timestamp diff: 228 usec
Available: 3072, delay: 1216, loop iteration: 28198, diff: 429, timestamp diff: 1002 usec
Available: 3072, delay: 1168, loop iteration: 28613, diff: 415, timestamp diff: 999 usec
Available: 3072, delay: 1120, loop iteration: 29038, diff: 425, timestamp diff: 999 usec
Available: 3072, delay: 1072, loop iteration: 29462, diff: 424, timestamp diff: 1002 usec
Available: 3072, delay: 1024, loop iteration: 29885, diff: 423, timestamp diff: 998 usec
Available: 3360, delay: 1024, loop iteration: 30205, diff: 320, timestamp diff: 820 usec
Available: 3360, delay: 976, loop iteration: 30279, diff: 74, timestamp diff: 180 usec
Available: 3360, delay: 928, loop iteration: 30703, diff: 424, timestamp diff: 1002 usec
Available: 3360, delay: 880, loop iteration: 31126, diff: 423, timestamp diff: 998 usec
Available: 3360, delay: 832, loop iteration: 31550, diff: 424, timestamp diff: 1001 usec
Available: 3360, delay: 784, loop iteration: 31973, diff: 423, timestamp diff: 999 usec
Available: 3600, delay: 784, loop iteration: 32301, diff: 328, timestamp diff: 828 usec
Available: 3600, delay: 736, loop iteration: 32372, diff: 71, timestamp diff: 172 usec
Available: 3600, delay: 688, loop iteration: 32796, diff: 424, timestamp diff: 1001 usec
Available: 3600, delay: 640, loop iteration: 33220, diff: 424, timestamp diff: 1000 usec
Available: 3600, delay: 592, loop iteration: 33635, diff: 415, timestamp diff: 999 usec
Available: 3600, delay: 544, loop iteration: 34059, diff: 424, timestamp diff: 1001 usec
Available: 3600, delay: 496, loop iteration: 34381, diff: 322, timestamp diff: 818 usec
Available: 3840, delay: 544, loop iteration: 34382, diff: 1, timestamp diff: 63 usec
Available: 3840, delay: 496, loop iteration: 34432, diff: 50, timestamp diff: 118 usec
Available: 3840, delay: 448, loop iteration: 34855, diff: 423, timestamp diff: 1000 usec
Available: 3840, delay: 400, loop iteration: 35279, diff: 424, timestamp diff: 1001 usec
Available: 3840, delay: 352, loop iteration: 35692, diff: 413, timestamp diff: 1000 usec
Available: 3840, delay: 304, loop iteration: 36129, diff: 437, timestamp diff: 1000 usec
Available: 3840, delay: 256, loop iteration: 36575, diff: 446, timestamp diff: 1000 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  : 3072
  period_size  : 96
  period_time  : 2000
  tstamp_mode  : NONE
  tstamp_type  : MONOTONIC
  period_step  : 1
  avail_min    : 96
  period_event : 0
  start_threshold  : 96
  stop_threshold   : 3072
  silence_threshold: 0
  silence_size : 0
  boundary     : 6917529027641081856
  appl_ptr     : 0
  hw_ptr       : 0
Playing silence
Available: 0, delay: 3072, loop iteration: 0, diff: 0, timestamp diff: 6 usec
Available: 96, delay: 3072, loop iteration: 1585, diff: 1585, timestamp diff: 2267 usec
Available: 96, delay: 3024, loop iteration: 1654, diff: 69, timestamp diff: 219 usec
Available: 96, delay: 2976, loop iteration: 2012, diff: 358, timestamp diff: 999 usec
Available: 192, delay: 2976, loop iteration: 2265, diff: 253, timestamp diff: 779 usec
Available: 192, delay: 2928, loop iteration: 2337, diff: 72, timestamp diff: 221 usec
Available: 192, delay: 2880, loop iteration: 2535, diff: 198, timestamp diff: 999 usec
Available: 288, delay: 2880, loop iteration: 2780, diff: 245, timestamp diff: 776 usec
Available: 288, delay: 2832, loop iteration: 2844, diff: 64, timestamp diff: 225 usec
Available: 288, delay: 2784, loop iteration: 3116, diff: 272, timestamp diff: 1004 usec
Available: 384, delay: 2784, loop iteration: 3316, diff: 200, timestamp diff: 776 usec
Available: 384, delay: 2736, loop iteration: 3371, diff: 55, timestamp diff: 220 usec
Available: 384, delay: 2688, loop iteration: 3631, diff: 260, timestamp diff: 1002 usec
Available: 480, delay: 2688, loop iteration: 3895, diff: 264, timestamp diff: 780 usec
Available: 480, delay: 2640, loop iteration: 3961, diff: 66, timestamp diff: 220 usec
Available: 480, delay: 2592, loop iteration: 4309, diff: 348, timestamp diff: 999 usec
Available: 576, delay: 2592, loop iteration: 4557, diff: 248, timestamp diff: 789 usec
Available: 576, delay: 2544, loop iteration: 4610, diff: 53, timestamp diff: 211 usec
Available: 576, delay: 2496, loop iteration: 4955, diff: 345, timestamp diff: 999 usec
Available: 672, delay: 2496, loop iteration: 5225, diff: 270, timestamp diff: 773 usec
Available: 672, delay: 2448, loop iteration: 5301, diff: 76, timestamp diff: 227 usec
Available: 672, delay: 2400, loop iteration: 5663, diff: 362, timestamp diff: 1000 usec
Available: 768, delay: 2400, loop iteration: 5940, diff: 277, timestamp diff: 773 usec
Available: 768, delay: 2352, loop iteration: 6020, diff: 80, timestamp diff: 228 usec
Available: 768, delay: 2304, loop iteration: 6386, diff: 366, timestamp diff: 999 usec
Available: 864, delay: 2304, loop iteration: 6669, diff: 283, timestamp diff: 773 usec
Available: 864, delay: 2256, loop iteration: 6729, diff: 60, timestamp diff: 228 usec
Available: 864, delay: 2208, loop iteration: 7087, diff: 358, timestamp diff: 999 usec
Available: 960, delay: 2208, loop iteration: 7373, diff: 286, timestamp diff: 779 usec
Available: 960, delay: 2160, loop iteration: 7443, diff: 70, timestamp diff: 220 usec
Available: 960, delay: 2112, loop iteration: 7804, diff: 361, timestamp diff: 1000 usec
Available: 1056, delay: 2112, loop iteration: 8079, diff: 275, timestamp diff: 771 usec
Available: 1056, delay: 2064, loop iteration: 8160, diff: 81, timestamp diff: 230 usec
Available: 1056, delay: 2016, loop iteration: 8524, diff: 364, timestamp diff: 1001 usec
Available: 1152, delay: 2016, loop iteration: 8778, diff: 254, timestamp diff: 770 usec
Available: 1152, delay: 1968, loop iteration: 8856, diff: 78, timestamp diff: 230 usec
Available: 1152, delay: 1920, loop iteration: 9221, diff: 365, timestamp diff: 999 usec
Available: 1248, delay: 1920, loop iteration: 9503, diff: 282, timestamp diff: 774 usec
Available: 1248, delay: 1872, loop iteration: 9574, diff: 71, timestamp diff: 226 usec
Available: 1248, delay: 1824, loop iteration: 9940, diff: 366, timestamp diff: 999 usec
Available: 1344, delay: 1824, loop iteration: 10203, diff: 263, timestamp diff: 777 usec
Available: 1344, delay: 1776, loop iteration: 10280, diff: 77, timestamp diff: 224 usec
Available: 1344, delay: 1728, loop iteration: 10641, diff: 361, timestamp diff: 1001 usec
Available: 1440, delay: 1728, loop iteration: 10907, diff: 266, timestamp diff: 770 usec
Available: 1440, delay: 1680, loop iteration: 10987, diff: 80, timestamp diff: 228 usec
Available: 1440, delay: 1632, loop iteration: 11358, diff: 371, timestamp diff: 1000 usec
Available: 1536, delay: 1632, loop iteration: 11644, diff: 286, timestamp diff: 775 usec
Available: 1536, delay: 1584, loop iteration: 11720, diff: 76, timestamp diff: 226 usec
Available: 1536, delay: 1536, loop iteration: 12079, diff: 359, timestamp diff: 998 usec
Available: 1632, delay: 1536, loop iteration: 12361, diff: 282, timestamp diff: 778 usec
Available: 1632, delay: 1488, loop iteration: 12440, diff: 79, timestamp diff: 224 usec
Available: 1632, delay: 1440, loop iteration: 12805, diff: 365, timestamp diff: 998 usec
Available: 1728, delay: 1440, loop iteration: 13082, diff: 277, timestamp diff: 770 usec
Available: 1728, delay: 1392, loop iteration: 13163, diff: 81, timestamp diff: 232 usec
Available: 1728, delay: 1344, loop iteration: 13525, diff: 362, timestamp diff: 1001 usec
Available: 1824, delay: 1344, loop iteration: 13803, diff: 278, timestamp diff: 768 usec
Available: 1824, delay: 1296, loop iteration: 13861, diff: 58, timestamp diff: 231 usec
Available: 1824, delay: 1248, loop iteration: 14221, diff: 360, timestamp diff: 999 usec
Available: 1920, delay: 1248, loop iteration: 14522, diff: 301, timestamp diff: 772 usec
Available: 1920, delay: 1200, loop iteration: 14588, diff: 66, timestamp diff: 229 usec
Available: 1920, delay: 1152, loop iteration: 14970, diff: 382, timestamp diff: 1000 usec
Available: 2016, delay: 1152, loop iteration: 15270, diff: 300, timestamp diff: 770 usec
Available: 2016, delay: 1104, loop iteration: 15350, diff: 80, timestamp diff: 230 usec
Available: 2016, delay: 1056, loop iteration: 15733, diff: 383, timestamp diff: 999 usec
Available: 2112, delay: 1056, loop iteration: 16013, diff: 280, timestamp diff: 770 usec
Available: 2112, delay: 1008, loop iteration: 16097, diff: 84, timestamp diff: 231 usec
Available: 2112, delay: 960, loop iteration: 16464, diff: 367, timestamp diff: 999 usec
Available: 2208, delay: 960, loop iteration: 16746, diff: 282, timestamp diff: 782 usec
Available: 2208, delay: 912, loop iteration: 16822, diff: 76, timestamp diff: 218 usec
Available: 2208, delay: 864, loop iteration: 17183, diff: 361, timestamp diff: 999 usec
Available: 2304, delay: 864, loop iteration: 17465, diff: 282, timestamp diff: 784 usec
Available: 2304, delay: 816, loop iteration: 17535, diff: 70, timestamp diff: 216 usec
Available: 2304, delay: 768, loop iteration: 17898, diff: 363, timestamp diff: 1001 usec
Available: 2400, delay: 768, loop iteration: 18180, diff: 282, timestamp diff: 775 usec
Available: 2400, delay: 720, loop iteration: 18258, diff: 78, timestamp diff: 225 usec
Available: 2400, delay: 672, loop iteration: 18639, diff: 381, timestamp diff: 1001 usec
Available: 2496, delay: 672, loop iteration: 18934, diff: 295, timestamp diff: 767 usec
Available: 2496, delay: 624, loop iteration: 19021, diff: 87, timestamp diff: 232 usec
Available: 2496, delay: 576, loop iteration: 19400, diff: 379, timestamp diff: 1000 usec
Available: 2592, delay: 576, loop iteration: 19698, diff: 298, timestamp diff: 770 usec
Available: 2592, delay: 528, loop iteration: 19784, diff: 86, timestamp diff: 229 usec
Available: 2592, delay: 480, loop iteration: 20174, diff: 390, timestamp diff: 1000 usec
Available: 2688, delay: 480, loop iteration: 20480, diff: 306, timestamp diff: 772 usec
Available: 2688, delay: 432, loop iteration: 20564, diff: 84, timestamp diff: 230 usec
Available: 2688, delay: 384, loop iteration: 20938, diff: 374, timestamp diff: 998 usec
Available: 2784, delay: 384, loop iteration: 21208, diff: 270, timestamp diff: 769 usec
Available: 2784, delay: 336, loop iteration: 21270, diff: 62, timestamp diff: 231 usec
Available: 2784, delay: 288, loop iteration: 21671, diff: 401, timestamp diff: 1000 usec
Available: 2880, delay: 288, loop iteration: 21991, diff: 320, timestamp diff: 768 usec
Available: 2880, delay: 240, loop iteration: 22082, diff: 91, timestamp diff: 232 usec
Available: 2880, delay: 192, loop iteration: 22487, diff: 405, timestamp diff: 1001 usec
Available: 2976, delay: 192, loop iteration: 22797, diff: 310, timestamp diff: 768 usec
Available: 2976, delay: 144, loop iteration: 22885, diff: 88, timestamp diff: 231 usec
Available: 2976, delay: 96, loop iteration: 23281, diff: 396, timestamp diff: 1000 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  : 3840
  period_size  : 960
  period_time  : 20000
  tstamp_mode  : NONE
  tstamp_type  : MONOTONIC
  period_step  : 1
  avail_min    : 960
  period_event : 0
  start_threshold  : 960
  stop_threshold   : 3840
  silence_threshold: 0
  silence_size : 0
  boundary     : 8646911284551352320
  appl_ptr     : 0
  hw_ptr       : 0
Playing silence
Available: 0, delay: 3840, loop iteration: 0, diff: 0, timestamp diff: 7 usec
Available: 240, delay: 3840, loop iteration: 3832, diff: 3832, timestamp diff: 5214 usec
Available: 240, delay: 3792, loop iteration: 3900, diff: 68, timestamp diff: 213 usec
Available: 240, delay: 3744, loop iteration: 4190, diff: 290, timestamp diff: 998 usec
Available: 240, delay: 3696, loop iteration: 4505, diff: 315, timestamp diff: 999 usec
Available: 240, delay: 3648, loop iteration: 4826, diff: 321, timestamp diff: 1000 usec
Available: 240, delay: 3600, loop iteration: 5146, diff: 320, timestamp diff: 1002 usec
Available: 480, delay: 3600, loop iteration: 5389, diff: 243, timestamp diff: 779 usec
Available: 480, delay: 3552, loop iteration: 5456, diff: 67, timestamp diff: 220 usec
Available: 480, delay: 3504, loop iteration: 5774, diff: 318, timestamp diff: 1000 usec
Available: 480, delay: 3456, loop iteration: 6092, diff: 318, timestamp diff: 1001 usec
Available: 480, delay: 3408, loop iteration: 6406, diff: 314, timestamp diff: 1000 usec
Available: 480, delay: 3360, loop iteration: 6727, diff: 321, timestamp diff: 998 usec
Available: 720, delay: 3360, loop iteration: 6968, diff: 241, timestamp diff: 779 usec
Available: 720, delay: 3312, loop iteration: 7037, diff: 69, timestamp diff: 223 usec
Available: 720, delay: 3264, loop iteration: 7354, diff: 317, timestamp diff: 997 usec
Available: 720, delay: 3216, loop iteration: 7672, diff: 318, timestamp diff: 1001 usec
Available: 720, delay: 3168, loop iteration: 7992, diff: 320, timestamp diff: 1002 usec
Available: 720, delay: 3120, loop iteration: 8312, diff: 320, timestamp diff: 999 usec
Available: 960, delay: 3120, loop iteration: 8558, diff: 246, timestamp diff: 786 usec
Available: 960, delay: 3072, loop iteration: 8626, diff: 68, timestamp diff: 213 usec
Available: 960, delay: 3024, loop iteration: 8944, diff: 318, timestamp diff: 1000 usec
Available: 960, delay: 2976, loop iteration: 9239, diff: 295, timestamp diff: 1000 usec
Available: 960, delay: 2928, loop iteration: 9523, diff: 284, timestamp diff: 1000 usec
Available: 960, delay: 2880, loop iteration: 9828, diff: 305, timestamp diff: 1001 usec
Available: 1200, delay: 2880, loop iteration: 10072, diff: 244, timestamp diff: 771 usec
Available: 1200, delay: 2832, loop iteration: 10145, diff: 73, timestamp diff: 227 usec
Available: 1200, delay: 2784, loop iteration: 10463, diff: 318, timestamp diff: 1000 usec
Available: 1200, delay: 2736, loop iteration: 10773, diff: 310, timestamp diff: 1001 usec
Available: 1200, delay: 2688, loop iteration: 11094, diff: 321, timestamp diff: 1000 usec
Available: 1200, delay: 2640, loop iteration: 11409, diff: 315, timestamp diff: 999 usec
Available: 1440, delay: 2640, loop iteration: 11655, diff: 246, timestamp diff: 781 usec
Available: 1440, delay: 2592, loop iteration: 11724, diff: 69, timestamp diff: 220 usec
Available: 1440, delay: 2544, loop iteration: 12044, diff: 320, timestamp diff: 1000 usec
Available: 1440, delay: 2496, loop iteration: 12365, diff: 321, timestamp diff: 1001 usec
Available: 1440, delay: 2448, loop iteration: 12687, diff: 322, timestamp diff: 1000 usec
Available: 1440, delay: 2400, loop iteration: 13010, diff: 323, timestamp diff: 999 usec
Available: 1680, delay: 2400, loop iteration: 13253, diff: 243, timestamp diff: 774 usec
Available: 1680, delay: 2352, loop iteration: 13325, diff: 72, timestamp diff: 226 usec
Available: 1680, delay: 2304, loop iteration: 13646, diff: 321, timestamp diff: 999 usec
Available: 1680, delay: 2256, loop iteration: 13967, diff: 321, timestamp diff: 1001 usec
Available: 1680, delay: 2208, loop iteration: 14288, diff: 321, timestamp diff: 1001 usec
Available: 1680, delay: 2160, loop iteration: 14597, diff: 309, timestamp diff: 998 usec
Available: 1920, delay: 2160, loop iteration: 14868, diff: 271, timestamp diff: 782 usec
Available: 1920, delay: 2112, loop iteration: 14939, diff: 71, timestamp diff: 220 usec
Available: 1920, delay: 2064, loop iteration: 15278, diff: 339, timestamp diff: 999 usec
Available: 1920, delay: 2016, loop iteration: 15612, diff: 334, timestamp diff: 1001 usec
Available: 1920, delay: 1968, loop iteration: 15913, diff: 301, timestamp diff: 998 usec
Available: 1920, delay: 1920, loop iteration: 16233, diff: 320, timestamp diff: 999 usec
Available: 2160, delay: 1920, loop iteration: 16483, diff: 250, timestamp diff: 780 usec
Available: 2160, delay: 1872, loop iteration: 16549, diff: 66, timestamp diff: 221 usec
Available: 2160, delay: 1824, loop iteration: 16841, diff: 292, timestamp diff: 1001 usec
Available: 2160, delay: 1776, loop iteration: 17049, diff: 208, timestamp diff: 1863 usec
Available: 2160, delay: 1680, loop iteration: 17050, diff: 1, timestamp diff: 1399 usec
Available: 2400, delay: 1680, loop iteration: 17216, diff: 166, timestamp diff: 518 usec
Available: 2400, delay: 1632, loop iteration: 17285, diff: 69, timestamp diff: 219 usec
Available: 2400, delay: 1584, loop iteration: 17549, diff: 264, timestamp diff: 1001 usec
Available: 2400, delay: 1536, loop iteration: 17825, diff: 276, timestamp diff: 999 usec
Available: 2400, delay: 1488, loop iteration: 18069, diff: 244, timestamp diff: 1002 usec
Available: 2400, delay: 1440, loop iteration: 18319, diff: 250, timestamp diff: 999 usec
Available: 2640, delay: 1440, loop iteration: 18496, diff: 177, timestamp diff: 788 usec
Available: 2640, delay: 1392, loop iteration: 18548, diff: 52, timestamp diff: 211 usec
Available: 2640, delay: 1344, loop iteration: 18789, diff: 241, timestamp diff: 1002 usec
Available: 2640, delay: 1296, loop iteration: 19040, diff: 251, timestamp diff: 997 usec
Available: 2640, delay: 1248, loop iteration: 19129, diff: 89, timestamp diff: 1005 usec
Available: 2640, delay: 1200, loop iteration: 19374, diff: 245, timestamp diff: 997 usec
Available: 2880, delay: 1200, loop iteration: 19567, diff: 193, timestamp diff: 782 usec
Available: 2880, delay: 1152, loop iteration: 19624, diff: 57, timestamp diff: 218 usec
Available: 2880, delay: 1104, loop iteration: 19881, diff: 257, timestamp diff: 999 usec
Available: 2880, delay: 1056, loop iteration: 20124, diff: 243, timestamp diff: 999 usec
Available: 2880, delay: 1008, loop iteration: 20366, diff: 242, timestamp diff: 1003 usec
Available: 2880, delay: 960, loop iteration: 20628, diff: 262, timestamp diff: 1000 usec
Available: 3120, delay: 960, loop iteration: 20876, diff: 248, timestamp diff: 774 usec
Available: 3120, delay: 912, loop iteration: 20960, diff: 84, timestamp diff: 225 usec
Available: 3120, delay: 864, loop iteration: 21346, diff: 386, timestamp diff: 998 usec
Available: 3120, delay: 816, loop iteration: 21736, diff: 390, timestamp diff: 1000 usec
Available: 3120, delay: 768, loop iteration: 22150, diff: 414, timestamp diff: 1000 usec
Available: 3120, delay: 720, loop iteration: 22561, diff: 411, timestamp diff: 1001 usec
Available: 3360, delay: 720, loop iteration: 22872, diff: 311, timestamp diff: 772 usec
Available: 3360, delay: 672, loop iteration: 22964, diff: 92, timestamp diff: 227 usec
Available: 3360, delay: 624, loop iteration: 23370, diff: 406, timestamp diff: 1000 usec
Available: 3360, delay: 576, loop iteration: 23756, diff: 386, timestamp diff: 1000 usec
Available: 3360, delay: 528, loop iteration: 24166, diff: 410, timestamp diff: 1001 usec
Available: 3360, delay: 480, loop iteration: 24579, diff: 413, timestamp diff: 998 usec
Available: 3600, delay: 480, loop iteration: 24889, diff: 310, timestamp diff: 772 usec
Available: 3600, delay: 432, loop iteration: 24983, diff: 94, timestamp diff: 230 usec
Available: 3600, delay: 384, loop iteration: 25391, diff: 408, timestamp diff: 1000 usec
Available: 3600, delay: 336, loop iteration: 25799, diff: 408, timestamp diff: 998 usec
Available: 3600, delay: 288, loop iteration: 26209, diff: 410, timestamp diff: 1001 usec
Available: 3600, delay: 240, loop iteration: 26618, diff: 409, timestamp diff: 1001 usec

[-- Attachment #4: Type: text/plain, Size: 0 bytes --]



  reply	other threads:[~2015-06-19 11:17 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-12 12:29 PulseAudio and SNDRV_PCM_INFO_BATCH Arun Raghavan
2015-06-12 12:32 ` Arun Raghavan
2015-06-12 13:43   ` Alexander E. Patrakov
2015-06-12 13:57     ` Alexander E. Patrakov
2015-06-17  3:04     ` Raymond Yau
2015-06-17  3:38       ` Alexander E. Patrakov
2015-06-15  3:42   ` Raymond Yau
2015-06-15  8:03 ` Lars-Peter Clausen
2015-06-15 11:39   ` Raymond Yau
2015-06-15 12:01     ` Lars-Peter Clausen
2015-06-15 13:34       ` Raymond Yau
2015-06-15 14:16         ` Lars-Peter Clausen
2015-06-16  2:33           ` Raymond Yau
2015-06-17  8:27             ` Lars-Peter Clausen
2015-06-17  9:19               ` Takashi Iwai
2015-06-17 15:09                 ` David Henningsson
2015-06-17 16:48                   ` Alexander E. Patrakov
2015-06-18  3:15                     ` Raymond Yau
2015-06-19 11:19                       ` Alexander E. Patrakov [this message]
2015-06-19  1:17                   ` Raymond Yau
2015-06-19 11:32                   ` Takashi Iwai
2015-06-20  3:24                     ` Raymond Yau
2015-06-20  6:17                     ` Raymond Yau
2015-06-22  2:35           ` Raymond Yau
2015-06-22  6:43             ` Lars-Peter Clausen
2015-06-22  7:49               ` Raymond Yau
2015-06-22  9:41               ` Clemens Ladisch
2015-06-22 11:54                 ` Raymond Yau
2015-06-22 12:10                   ` Alexander E. Patrakov
2015-06-22 12:34                     ` Raymond Yau
2015-06-22 12:49                       ` Alexander E. Patrakov
2015-06-22 15:50                         ` Raymond Yau
2015-06-22 16:28                           ` Alexander E. Patrakov
2015-06-24  5:51                             ` Raymond Yau
2015-06-22 22:52                     ` Takashi Sakamoto
2015-06-27 15:28   ` Alexander E. Patrakov
2015-06-27 17:15     ` Clemens Ladisch
2015-06-27 17:58       ` Alexander E. Patrakov
2015-06-28  2:09         ` Raymond Yau

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=5583FAC3.70500@gmail.com \
    --to=patrakov@gmail.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=arun@accosted.net \
    --cc=clemens@ladisch.de \
    --cc=david.henningsson@canonical.com \
    --cc=lars@metafoo.de \
    --cc=superquad.vortex2@gmail.com \
    --cc=tanu.kaskinen@linux.intel.com \
    --cc=tiwai@suse.de \
    /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.