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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



ping

-----Original Message-----
From: alsa-devel-bounces@xxxxxxxxxxxxxxxx [mailto:alsa-devel-bounces@xxxxxxxxxxxxxxxx] On Behalf Of Sutar, Mounesh
Sent: 03 February 2017 16:28
To: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx>; Takashi Iwai <tiwai@xxxxxxx>
Cc: sutar.mounesh@xxxxxxxxx; alsa-devel@xxxxxxxxxxxxxxxx; Andreas Pape <apape@xxxxxxxxxxxxxx>; Frkuska, Joshua <Joshua_Frkuska@xxxxxxxxxx>
Subject: Re:  [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@xxxxxxxxxxxxxxxx [mailto:alsa-devel-bounces@xxxxxxxxxxxxxxxx] On Behalf Of Sutar, Mounesh
Sent: 30 November 2016 12:57
To: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx>; Takashi Iwai <tiwai@xxxxxxx>
Cc: sutar.mounesh@xxxxxxxxx; alsa-devel@xxxxxxxxxxxxxxxx; Andreas Pape <apape@xxxxxxxxxxxxxx>; Frkuska, Joshua <Joshua_Frkuska@xxxxxxxxxx>
Subject: Re:  [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@xxxxxxxxxxxxxx>
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@xxxxxxxxxxxxxx>
    Signed-off-by: Joshua Frkuska <joshua_frkuska@xxxxxxxxxx>

M       src/pcm/pcm_file.c

commit 2ef7a53c31de47f5f33127a89054a661a31bd310
Author: Mengdong Lin <mengdong.lin@xxxxxxxxxxxxxxx>
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@xxxxxxxxxxxxxxx>
    Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>

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@xxxxxxxxxxxxx]
Sent: 29 November 2016 21:04
To: Takashi Iwai <tiwai@xxxxxxx>
Cc: sutar.mounesh@xxxxxxxxx; alsa-devel@xxxxxxxxxxxxxxxx; Frkuska, Joshua <Joshua_Frkuska@xxxxxxxxxx>; Andreas Pape <apape@xxxxxxxxxxxxxx>; Sutar, Mounesh <Mounesh_Sutar@xxxxxxxxxx>
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@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel




[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux