AVB many streams listening

Technical questions regarding the XTC tools and programming with XMOS.
theeddielam
Junior Member
Posts: 4
Joined: Sat Oct 30, 2010 2:55 pm

AVB many streams listening

Post by theeddielam »

We are now coding for AVB streaming selections and buffering control for our intercom application.

For our application, we would like to receive 12 audio streams from other EVB(s) and then mix it together for output.
Based on the AVB demo source code, we can establish one audio stream, it is no problem.

But, what do we need to do if we would like to listen to many audio streams together at the same time? how to start and activate many audio streams sinking and put it into buffers or fifo?
Please kindly advice.

We are studying belows... .but not sure how to modify the code.
// check if there is a new stream
int res = avb_check_for_new_stream(streamId, vlan, addr);

// if so, add it to the stream table
if (res) {
simple_printf("Found stream %x.%x, address %x:%x:%x:%x:%x:%x, vlan %d\n",
streamId[0], streamId[1],
addr[0], addr[1], addr[2], addr[3], addr[4], addr[5],
vlan);

stream_index = streamId[1] & 0x1;
map[0] = stream_index;

set_avb_sink_sync(stream_index, 0);
set_avb_sink_channels(stream_index, 1);
set_avb_sink_map(stream_index, map, 1);
set_avb_sink_state(stream_index, AVB_SINK_STATE_DISABLED);
set_avb_sink_id(stream_index, streamId);
set_avb_sink_vlan(stream_index, vlan);
set_avb_sink_addr(stream_index, addr, 6);

set_avb_sink_state(stream_index, AVB_SINK_STATE_POTENTIAL);

active_channels |= (1 << stream_index);
c_gpio_ctl <: active_channels;
}


mcross48
Newbie
Posts: 1
Joined: Fri Sep 21, 2012 4:44 pm

Post by mcross48 »

I am also looking to do this. I tried using the demo software that was two_channel_listener, but that one was designed to listen to 2, single channel streams, not 2 8 channel streams. I am looking to combine 2-6 streams and have one endpoint listen to them. Are there any recommendations?