Hi,
We had to re-look onto this change again for possible consideration.
The existing solution htimestamp (snd_pcm_generic_real_htimestamp) ALWAYS reads the current time, while snd_pcm_generic_htimestamp reads correct timestamp from slave including evaluation of TSTAMP_MODE.
From documentation of /src/pcm/pcm.c, we can see: """" \par Timestamp mode
The timestamp mode specifies, if timestamps are activated. Currently, only #SND_PCM_TSTAMP_NONE and #SND_PCM_TSTAMP_MMAP modes are known. The mmap mode means that timestamp is taken on every period time boundary. Corresponding position in the ring buffer assigned to timestamp can be obtained using #snd_pcm_htimestamp() function. """"
As snd_pcm_generic_htimestamp() internally calls snd_pcm_htimestamp() to read time, so accurate timestamp can be read from snd_pcm_generic_htimestamp().
Also, in case of pcm_file, if the underlying slave is hardware, then we would wish to read elapsed hardware time, as it will be the most accurate, as opposed to the elapsed wall time. This will provide pcm_file with the most accurate timestamps.
Let us know, your opinion on this to re-consider this change.
Regards, Mounesh
-----Original Message----- From: alsa-devel-bounces@alsa-project.org [mailto:alsa-devel-bounces@alsa-project.org] On Behalf Of Sutar, Mounesh Sent: 30 November 2016 12:57 To: Takashi Sakamoto o-takashi@sakamocchi.jp; Takashi Iwai tiwai@suse.de Cc: sutar.mounesh@gmail.com; alsa-devel@alsa-project.org; Andreas Pape apape@de.adit-jv.com; Frkuska, Joshua Joshua_Frkuska@mentor.com Subject: Re: [alsa-devel] [PATCH] alsa-lib: Add htimestamp operation in plugin file
Hi, I did rebase my repo before applying this patch. It applied without any conflicts.
commit 0d1d25f166a0294bf596dd2e6f55579e5e04186e Author: Andreas Pape apape@de.adit-jv.com Date: Wed Nov 30 12:06:14 2016 +0530
alsa-lib: Add htimestamp operation in plugin file
PCM operation htimestamp is not implemented in plugin file. Calling snd_pcm_htimestamp() on a plugin file crashes. This scenario is considered now.
Signed-off-by: Andreas Pape apape@de.adit-jv.com Signed-off-by: Joshua Frkuska joshua_frkuska@mentor.com
M src/pcm/pcm_file.c
commit 2ef7a53c31de47f5f33127a89054a661a31bd310 Author: Mengdong Lin mengdong.lin@linux.intel.com Date: Fri Nov 25 13:20:02 2016 +0800
topology: Update physical link configurations in Broadwell text conf file
To make this conf file a better example, add configurations for the physical link "Codec", same as that defined by Intel Broadwell upstream machine driver.
Signed-off-by: Mengdong Lin mengdong.lin@linux.intel.com Signed-off-by: Takashi Iwai tiwai@suse.de
M src/conf/topology/broadwell/broadwell.conf
It appears as, source changes are at different locations, it didn’t report any conflicts. Sorry for not observing this source changes, before applying the patch and pushing it to mailing list. And Thanks for pointing it to included fix commit.
Regards, Mounesh
-----Original Message----- From: Takashi Sakamoto [mailto:o-takashi@sakamocchi.jp] Sent: 29 November 2016 21:04 To: Takashi Iwai tiwai@suse.de Cc: sutar.mounesh@gmail.com; alsa-devel@alsa-project.org; Frkuska, Joshua Joshua_Frkuska@mentor.com; Andreas Pape apape@de.adit-jv.com; Sutar, Mounesh Mounesh_Sutar@mentor.com Subject: Re: [PATCH] alsa-lib: Add htimestamp operation in plugin file
On 2016年11月30日 00:22, Takashi Iwai wrote:
On Tue, 29 Nov 2016 16:15:57 +0100,
--- a/src/pcm/pcm_file.c 2013-07-08 14:31:36.000000000 +0200 +++ b/src/pcm/pcm_file.c 2015-05-04 16:26:10.413615403 +0200 @@ -698,6 +698,7 @@ .readi = snd_pcm_file_readi, .readn = snd_pcm_file_readn, .avail_update = snd_pcm_generic_avail_update,
- .htimestamp = snd_pcm_generic_htimestamp, .mmap_commit = snd_pcm_file_mmap_commit, .poll_descriptors_count = snd_pcm_generic_poll_descriptors_count, .poll_descriptors = snd_pcm_generic_poll_descriptors,
I oppose this application, because designated initialization is already applied to the .htimestamp member.
... .poll_descriptors = snd_pcm_generic_poll_descriptors, .poll_revents = snd_pcm_generic_poll_revents, .htimestamp = snd_pcm_generic_htimestamp,
Oops, 'snd_pcm_generic_real_htimestamp' is proper here...
};
Please see below commit: pcm:file: add the missing htimestamp callback http://git.alsa-project.org/?p=alsa-lib.git;a=commit;h=68ae0c72a53704 d416fe77d4c612d1f88d791e02
This mistake causes below warning with -Woverride-init option. pcm_file.c:714:16: warning: initialized field overwritten [-Woverride-init] .htimestamp = snd_pcm_generic_real_htimestamp, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I guess mentor/ADIT developers works for former snapshot, then missed to rebase to current mainline of alsa-lib. I suggest them to di re-evaluation with current mainline without this patch.
I overlooked it, too. Now the commit got reverted.
Thanks.
Takashi Sakamoto _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel