acmp_start_fast_connect is also called after the Ethernet cable is un-plugged and then re-plugged.
This causes the stream reconnect to fail after Ethernet cable is re-plugged.
Setup:
Compile with #define AVB_1722_1_FAST_CONNECT_ENABLED 1
Flash the EPs with xflash --boot-partition-size 458752
Connect streams bidirectionally.
Now xrun --xscope the binary on both Endpoints.
Scenario:
EP0 and EP1 boot with fastconnect. Streams are re-connected automatically bidirectionally.
Unplug-replug EP1.
EP1 prints again: Issuing fast connect for 0
Stream EP0->EP1 reconnects and locks
Stream EP1->EP0 does not reconnect.
This can be fixed by making sure that acmp_start_fast_connect is only called once after boot.
E.g. by using a flag:
if(!fast_connect_started) { // Call this only after boot, not after unplug-replug
acmp_start_fast_connect(i_eth);
fast_connect_started = 1;
}