On 24/09/2019 15:52, Charles Keepax wrote: > In general the ALSA framework doesn't really allow for stream > params to change whilst the stream is active. Doing so is > also normally very hard for the types of hardware usually > involved. For example changing the clocks on a running I2S bus, > very difficult to get both ends to pick up those changes at > exactly the correct sample. Some newer buses like soundwire > have more support for things like this were the ends of the > link can synchronise changes but even there that is normally > used for adding/removing streams from the bus, not reconfiguring > a running stream. This jives with what "filt3r" wrote on #alsa-soc "at one point we were just closing the stream (somehow) if we detected a change in e.g. sample-rate, so the user-space application would fail on snd_pcm_readi()" snd_pcm_stop(p_spdif->capture_stream, SNDRV_PCM_STATE_DISCONNECTED); > In your case above I would imagine the system would probably be > setup where the DSP handles the conversion between the params > requested from the receiver and those requested by user-space. > One of the intentions of DPCM was to allow the backend > (DSP-receiver here) to have different params to the frontend > (DSP-userspace here). Although as you note you still probably > need to add something to propagate those changes to the DSP. What > form does the physical link between the receiver and the DSP > take? The setup looks like this: A = Some kind of audio source, typically a TV or game console B = The arm64 SoC, equipped with some nice speakers HDMI A ------> B If we look inside B, we actually have B1 = an eARC receiver (input = HDMI, output = I2S) B2 = an audio DSP (input = I2S, output = speakers) I2S ? B1 -----> B2 -----> speakers To answer your question, B1 and B2 are connected via I2S. Regards. _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx https://mailman.alsa-project.org/mailman/listinfo/alsa-devel