Lines Matching defs:substream

142 	struct snd_pcm_substream *substream;
194 int device = dpcm->substream->pstr->pcm->device;
196 if (dpcm->substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
198 return &dpcm->loopback->setup[dpcm->substream->number][device];
244 * running. For example called by opposite substream
250 pcm_err(dpcm->substream->pcm,
282 pcm_err(dpcm->substream->pcm,
349 substream->runtime;
351 substream->runtime;
363 substream, SNDRV_PCM_STATE_DRAINING);
366 substream->runtime;
401 static int loopback_trigger(struct snd_pcm_substream *substream, int cmd)
403 struct snd_pcm_runtime *runtime = substream->runtime;
406 int err = 0, stream = 1 << substream->stream;
410 err = loopback_check_format(cable, substream->stream);
421 if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
430 if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
439 if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
449 if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
458 static void params_change(struct snd_pcm_substream *substream)
460 struct snd_pcm_runtime *runtime = substream->runtime;
478 static int loopback_prepare(struct snd_pcm_substream *substream)
480 struct snd_pcm_runtime *runtime = substream->runtime;
500 if (substream->stream == SNDRV_PCM_STREAM_CAPTURE) {
514 if (!(cable->valid & ~(1 << substream->stream)) ||
516 substream->stream == SNDRV_PCM_STREAM_PLAYBACK))
517 params_change(substream);
518 cable->valid |= 1 << substream->stream;
526 struct snd_pcm_runtime *runtime = dpcm->substream->runtime;
553 unsigned int channels = capt->substream->runtime->channels;
560 memcpy(capt->substream->runtime->dma_area + capt->channel_buf_n * i + dst_off_ch,
561 play->substream->runtime->dma_area + play->channel_buf_n * i + src_off_ch,
570 struct snd_pcm_runtime *runtime = play->substream->runtime;
572 char *dst = capt->substream->runtime->dma_area;
707 (1 << dpcm->substream->stream)) {
713 snd_pcm_period_elapsed(dpcm->substream);
742 pcm_err(dpcm->substream->pcm,
777 dpcm_play->substream->runtime->state !=
785 dpcm_play->substream : NULL;
787 dpcm_capt->substream : NULL;
789 dpcm_play->substream->runtime :
790 dpcm_capt->substream->runtime;
907 static snd_pcm_uframes_t loopback_pointer(struct snd_pcm_substream *substream)
909 struct snd_pcm_runtime *runtime = substream->runtime;
955 static int loopback_hw_free(struct snd_pcm_substream *substream)
957 struct snd_pcm_runtime *runtime = substream->runtime;
962 cable->valid &= ~(1 << substream->stream);
967 static unsigned int get_cable_index(struct snd_pcm_substream *substream)
969 if (!substream->pcm->device)
970 return substream->stream;
972 return !substream->stream;
1039 static void free_cable(struct snd_pcm_substream *substream)
1041 struct loopback *loopback = substream->private_data;
1042 int dev = get_cable_index(substream);
1045 cable = loopback->cables[substream->number][dev];
1048 if (cable->streams[!substream->stream]) {
1051 cable->streams[substream->stream] = NULL;
1054 struct loopback_pcm *dpcm = substream->runtime->private_data;
1059 loopback->cables[substream->number][dev] = NULL;
1160 pcm_err(dpcm->substream->pcm,
1166 cable->snd_timer.stream = dpcm->substream->stream;
1203 pcm_err(dpcm->substream->pcm,
1230 static int loopback_open(struct snd_pcm_substream *substream)
1232 struct snd_pcm_runtime *runtime = substream->runtime;
1233 struct loopback *loopback = substream->private_data;
1237 int dev = get_cable_index(substream);
1246 dpcm->substream = substream;
1248 cable = loopback->cables[substream->number][dev];
1261 loopback->cables[substream->number][dev] = cable;
1319 cable->streams[substream->stream] = dpcm;
1324 free_cable(substream);
1331 static int loopback_close(struct snd_pcm_substream *substream)
1333 struct loopback *loopback = substream->private_data;
1334 struct loopback_pcm *dpcm = substream->runtime->private_data;
1340 free_cable(substream);
1714 snd_iprintf(buffer, "Cable %i substream %i:\n", num, sub);