[alsa-devel] [PATCH] alsa-lib: Add htimestamp operation in plugin file

Takashi Iwai tiwai at suse.de
Mon Feb 27 09:39:40 CET 2017


On Mon, 27 Feb 2017 08:54:43 +0100,
Sutar, Mounesh wrote:
> 
> ping

Better to check with the actual patch and experiment with various
configurations.  The result speaks clearer than words :)


Takashi

> 
> -----Original Message-----
> From: alsa-devel-bounces at alsa-project.org [mailto:alsa-devel-bounces at alsa-project.org] On Behalf Of Sutar, Mounesh
> Sent: 03 February 2017 16:28
> To: Takashi Sakamoto <o-takashi at sakamocchi.jp>; Takashi Iwai <tiwai at suse.de>
> Cc: sutar.mounesh at gmail.com; alsa-devel at alsa-project.org; Andreas Pape <apape at de.adit-jv.com>; Frkuska, Joshua <Joshua_Frkuska at mentor.com>
> Subject: Re: [alsa-devel] [PATCH] alsa-lib: Add htimestamp operation in plugin file
> 
> 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 at alsa-project.org [mailto:alsa-devel-bounces at alsa-project.org] On Behalf Of Sutar, Mounesh
> Sent: 30 November 2016 12:57
> To: Takashi Sakamoto <o-takashi at sakamocchi.jp>; Takashi Iwai <tiwai at suse.de>
> Cc: sutar.mounesh at gmail.com; alsa-devel at alsa-project.org; Andreas Pape <apape at de.adit-jv.com>; Frkuska, Joshua <Joshua_Frkuska at 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 at 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 at de.adit-jv.com>
>     Signed-off-by: Joshua Frkuska <joshua_frkuska at mentor.com>
> 
> M       src/pcm/pcm_file.c
> 
> commit 2ef7a53c31de47f5f33127a89054a661a31bd310
> Author: Mengdong Lin <mengdong.lin at 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 at linux.intel.com>
>     Signed-off-by: Takashi Iwai <tiwai at 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 at sakamocchi.jp]
> Sent: 29 November 2016 21:04
> To: Takashi Iwai <tiwai at suse.de>
> Cc: sutar.mounesh at gmail.com; alsa-devel at alsa-project.org; Frkuska, Joshua <Joshua_Frkuska at mentor.com>; Andreas Pape <apape at de.adit-jv.com>; Sutar, Mounesh <Mounesh_Sutar at 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 at alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel at alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel


More information about the Alsa-devel mailing list