Date 16.7.2014 17:54, Takashi Iwai wrote:
For controlling the new fields more strictly, add sw_params.proto field indicating the protocol version of the user-space. User-space should fill the SNDRV_PCM_VERSION value it's built with, then kernel can know whether the new fields should be evaluated or not.
And now tstamp_type field is evaluated only when the valid value is set there. This avoids the wrong override of tstamp_type to zero, which is SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY.
Signed-off-by: Takashi Iwai tiwai@suse.de
include/uapi/sound/asound.h | 4 ++-- sound/core/pcm_native.c | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/include/uapi/sound/asound.h b/include/uapi/sound/asound.h index a7e062f91f39..c9fd199b9330 100644 --- a/include/uapi/sound/asound.h +++ b/include/uapi/sound/asound.h @@ -391,8 +391,8 @@ struct snd_pcm_sw_params { snd_pcm_uframes_t silence_threshold; /* min distance from noise for silence filling */ snd_pcm_uframes_t silence_size; /* silence block size */ snd_pcm_uframes_t boundary; /* pointers wrap point */
- unsigned int tstamp_type; /* timestamp type */
- int pads; /* alignment, reserved */
- unsigned int tstamp_type; /* timestamp type (req. proto >= 2.0.12) */
- unsigned int proto; /* protocol version */
I would switch the positions of tstamp_type and proto... It seems logical that all new member added after proto are dependent on this value.
Jaroslav