Disable INPUT_STREAM_DERIVED in AVB?

If you have a simple question and just want an answer.
Post Reply
User avatar
akp
XCore Expert
Posts: 578
Joined: Thu Nov 26, 2015 11:47 pm

Disable INPUT_STREAM_DERIVED in AVB?

Post by akp »

With talker only function in the AVB code the INPUT_STREAM_DERIVED media clock doesn't work and causes gaps in audio at the listener end (in my case a Macbook Pro). I suppose the code needs a listener to sync to a media stream from a talker? Honestly I thought it should be able to generate a clock from PTP sync lock but maybe that's not possible?

LOCAL_CLOCK media clock seems to work gapless (if I use the Macbook to select the XMOS as clock source). But so far I haven't found a way to disable INPUT_STREAM_DERIVED mode so the only possibility is LOCAL_CLOCK. I tried to remove the AEM_CLOCK_SOURCE_INPUT_STREAM clock descriptor (desc_clock_source_0) in the aem_descriptors.h.in in case there are no audio sinks but it didn't work (won't 'enumerate' on the Macbook). Any thoughts?

Code: Select all

#if (AVB_NUM_SINKS > 0)
  AEM_CLOCK_SOURCE_TYPE, 2, sizeof(desc_clock_source_0), (unsigned)desc_clock_source_0, sizeof(desc_clock_source_1), (unsigned)desc_clock_source_1,
#else
  AEM_CLOCK_SOURCE_TYPE, 1, sizeof(desc_clock_source_1), (unsigned)desc_clock_source_1,
#endif


User avatar
akp
XCore Expert
Posts: 578
Joined: Thu Nov 26, 2015 11:47 pm

Post by akp »

Update: I was able to update the descriptors so the only media clock presented to the peer is LOCAL_CLOCK. I had to make a few other changes, and I switched clock 0 so it is LOCAL_CLOCK and clock 1 is INPUT_STREAM_DERIVED (the XMOS code has it the other way around). I have disabled INPUT_STREAM_DERIVED as an option from the descriptors in the case that AVB_NUM_SINKS is 0.
Post Reply