OSDN Git Service

pcm: Fill sw_params proto field
authorTakashi Iwai <tiwai@suse.de>
Wed, 16 Jul 2014 15:48:34 +0000 (17:48 +0200)
committerTakashi Iwai <tiwai@suse.de>
Tue, 22 Jul 2014 10:14:49 +0000 (12:14 +0200)
Fill the new proto field introduced to sw_params with the current PCM
protocol version.  This makes tstamp_type evaluated properly in the
kernel.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
include/sound/asound.h
src/pcm/pcm.c
src/pcm/pcm_params.c

index 552f41b..c819df4 100644 (file)
@@ -386,8 +386,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 proto;                     /* protocol version */
+       unsigned int tstamp_type;               /* timestamp type (req. proto >= 2.0.12) */
        unsigned char reserved[56];             /* reserved for future */
 };
 
index 8984443..1399a5b 100644 (file)
@@ -5610,6 +5610,7 @@ int snd_pcm_sw_params_current(snd_pcm_t *pcm, snd_pcm_sw_params_t *params)
                SNDMSG("PCM not set up");
                return -EIO;
        }
+       params->proto = SNDRV_PCM_VERSION;
        params->tstamp_mode = pcm->tstamp_mode;
        params->tstamp_type = pcm->tstamp_type;
        params->period_step = pcm->period_step;
index 4adbefa..6e57904 100644 (file)
@@ -2257,6 +2257,7 @@ static int snd_pcm_sw_params_default(snd_pcm_t *pcm, snd_pcm_sw_params_t *params
 {
        assert(pcm && params);
        assert(pcm->setup);
+       params->proto = SNDRV_PCM_VERSION;
        params->tstamp_mode = SND_PCM_TSTAMP_NONE;
        params->tstamp_type = pcm->tstamp_type;
        params->period_step = 1;