|
@@ -249,6 +249,7 @@ static struct snd_pcm_hardware snd_em28xx_hw_capture = {
|
|
|
.info = SNDRV_PCM_INFO_BLOCK_TRANSFER |
|
|
|
SNDRV_PCM_INFO_MMAP |
|
|
|
SNDRV_PCM_INFO_INTERLEAVED |
|
|
|
+ SNDRV_PCM_INFO_BATCH |
|
|
|
SNDRV_PCM_INFO_MMAP_VALID,
|
|
|
|
|
|
.formats = SNDRV_PCM_FMTBIT_S16_LE,
|
|
@@ -401,11 +402,15 @@ static int snd_em28xx_capture_trigger(struct snd_pcm_substream *substream,
|
|
|
int retval = 0;
|
|
|
|
|
|
switch (cmd) {
|
|
|
+ case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: /* fall through */
|
|
|
+ case SNDRV_PCM_TRIGGER_RESUME: /* fall through */
|
|
|
case SNDRV_PCM_TRIGGER_START:
|
|
|
atomic_set(&dev->stream_started, 1);
|
|
|
break;
|
|
|
+ case SNDRV_PCM_TRIGGER_PAUSE_PUSH: /* fall through */
|
|
|
+ case SNDRV_PCM_TRIGGER_SUSPEND: /* fall through */
|
|
|
case SNDRV_PCM_TRIGGER_STOP:
|
|
|
- atomic_set(&dev->stream_started, 1);
|
|
|
+ atomic_set(&dev->stream_started, 0);
|
|
|
break;
|
|
|
default:
|
|
|
retval = -EINVAL;
|