Alsa-Devel Archive on 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox