Page 1 of 1

Parallel output to components in the audio_pipline

Posted: Mon Aug 24, 2020 9:57 am
by bosleymusic
Is there a method/implementation built into the audio_pipeline to take a stereo element, and simultaneously link other stereo elements with it?

As an example, if I want to hear realtime DSP, I use i2s_reader (from CODEC) ---> DSP element in pipeline (i.e. EQ) ---> i2s_writer (back to codec) - simple enough. But now say I want to feed EQ into i2s_writer - for local low latency monitoring - and also feed EQ into an HTTP stream in the pipeline so that someone else can hear what I'm doing over a server? So, is it possible for EQ to feed 2 writers, or is it possible for i2s_writer to feed both hardware and http stream?

i2s_reader ------> DSP -----> i2s_writer
......................... \_____http_stream

OR

i2s_reader -----> DSP -----> i2s_writer ----> http_stream

Re: Parallel output to components in the audio_pipline

Posted: Thu Aug 27, 2020 6:11 am
by jeeper1974
I am looking at doing the same type of thing. i2s-->bt a2dp -->wav-->file. Have you found any way to do it? It looks like there can only be one stream writer at a time.

Re: Parallel output to components in the audio_pipline

Posted: Tue Sep 01, 2020 3:12 pm
by bosleymusic
There appears to be a way to use ring buffer is multi in, and multi out - but I don't think any of the elements that you can register to the pipeline can actually do this right now, so it would be either using the ring buffer API raw and writing your own pipe elements, or just creating your own pipeline without explicitly calling the pipeline API...