You need to provide a function to indicate whether htstamp_wallclk is available or not. Since the function returning tstamp_wallclk is a void function and it itself can't return the error, user can't know whether it's a bogus value or not.
Yes, this was planned but I wasn't sure how to go about it. These types of routines usually rely on hw_params, I guess I could query them and check the .info field. Not sure if there's another way. Also maybe I should change the return type to provide -EINVAL is somehow the audio timestamp is not available for a specific device (digital input as Clemens mentioned)
And that function should check whether the running PCM protocol version is high enough to support the new ABI.
Yep
\
+#ifndef DOXYGEN +void INTERNAL(snd_pcm_status_get_htstamp_wallclk)(const snd_pcm_status_t *obj, snd_htimestamp_t *ptr) +#else +void snd_pcm_status_get_htstamp_wallclk(const snd_pcm_status_t *obj, snd_htimestamp_t *ptr) +#endif
I think you can avoid this hack for the new functions.
Ok, I have no idea what I am doing here, just copy-pasted to make it work...