diff --git a/CHANGELOG.rst b/CHANGELOG.rst index cf2cb203..237efafd 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,6 +1,11 @@ sc_usb_audio Change Log ======================= +HEAD +---- + - RESOLVED: Enumeration issue when MAX_MIX_COUNT > 0. Introduced in mixer optimisations + in 6.11.0 + 6.11.1 ------ - ADDED: ADAT transmit functionality, including SMUX. See ADAT_TX and ADAT_TX_INDEX. diff --git a/module_usb_audio/mixer/mixer.xc b/module_usb_audio/mixer/mixer.xc index 88cb10e4..28be3cf7 100644 --- a/module_usb_audio/mixer/mixer.xc +++ b/module_usb_audio/mixer/mixer.xc @@ -363,9 +363,6 @@ static void mixer1(chanend c_host, chanend c_mix_ctl, chanend c_mixer2) /* Request from audio() */ inuint(c_mixer2); - GiveSamplesToDevice(c_mixer2, samples_to_device_map, multOut, underflow); - GetSamplesFromDevice(c_mixer2); - /* Request data from decouple thread */ outuint(c_host, 0); @@ -504,9 +501,6 @@ static void mixer1(chanend c_host, chanend c_mix_ctl, chanend c_mixer2) sampFreq = inuint(c_host); mixer1_mix2_flag = sampFreq > 96000; - /* Wait for request */ - inuint(c_mixer2); - /* Inform mixer2 (or audio()) about freq change */ outct(c_mixer2, command); outuint(c_mixer2, sampFreq); @@ -515,9 +509,6 @@ static void mixer1(chanend c_host, chanend c_mix_ctl, chanend c_mixer2) case SET_STREAM_FORMAT_OUT: case SET_STREAM_FORMAT_IN: - /* Wait for request */ - inuint(c_mixer2); - /* Inform mixer2 (or audio()) about format change */ outct(c_mixer2, command); outuint(c_mixer2, inuint(c_host)); @@ -612,7 +603,8 @@ static void mixer1(chanend c_host, chanend c_mix_ctl, chanend c_mixer2) } #else /* IF MAX_MIX_COUNT > 0 */ /* No mixes, this thread runs on its own doing just volume */ - + GiveSamplesToDevice(c_mixer2, samples_to_device_map, multOut, underflow); + GetSamplesFromDevice(c_mixer2); GiveSamplesToHost(c_host, samples_to_host_map, multIn); GetSamplesFromHost(c_host, underflow); #endif