diff --git a/lib_xua/src/core/buffer/decouple/decouple.xc b/lib_xua/src/core/buffer/decouple/decouple.xc index 4c0319c1..60002b35 100644 --- a/lib_xua/src/core/buffer/decouple/decouple.xc +++ b/lib_xua/src/core/buffer/decouple/decouple.xc @@ -14,12 +14,11 @@ #include "usbaudio20.h" /* Defines from the USB Audio 2.0 Specifications */ #endif -#if( 0 < HID_CONTROLS ) +#if (HID_CONTROLS) #include "user_hid.h" #endif #define MAX(x,y) ((x)>(y) ? (x) : (y)) - /* TODO use SLOTSIZE to potentially save memory */ /* Note we could improve on this, for one subslot is set to 4 */ /* The *4 is conversion to bytes, note we're assuming a slotsize of 4 here whic is potentially as waste */ @@ -65,13 +64,22 @@ unsigned int multIn[NUM_USB_CHAN_IN + 1]; static xc_ptr p_multIn; #endif -/* Number of channels to/from the USB bus - initialised to HS Audio 2.0 */ -#if (AUDIO_CLASS == 1) -unsigned g_numUsbChan_In = NUM_USB_CHAN_IN_FS; -unsigned g_numUsbChan_Out = NUM_USB_CHAN_OUT_FS; -#else -unsigned g_numUsbChan_In = NUM_USB_CHAN_IN; +#if (AUDIO_CLASS == 2) +unsigned g_numUsbChan_In = NUM_USB_CHAN_IN; /* Number of channels to/from the USB bus - initialised to HS for UAC2.0 */ unsigned g_numUsbChan_Out = NUM_USB_CHAN_OUT; +unsigned g_curSubSlot_Out = HS_STREAM_FORMAT_OUTPUT_1_SUBSLOT_BYTES; +unsigned g_curSubSlot_In = HS_STREAM_FORMAT_INPUT_1_SUBSLOT_BYTES; +int sampsToWrite = DEFAULT_FREQ/8000; /* HS assumed here. Expect to be junked during a overflow before stream start */ +int totalSampsToWrite = DEFAULT_FREQ/8000; +int g_maxPacketSize = MAX_DEVICE_AUD_PACKET_SIZE_IN_HS; /* IN packet size. Init to something sensible, but expect to be re-set before stream start */ +#else +unsigned g_numUsbChan_In = NUM_USB_CHAN_IN_FS; /* Number of channels to/from the USB bus - initialised to FS for UAC1.0 */ +unsigned g_numUsbChan_Out = NUM_USB_CHAN_OUT_FS; +unsigned g_curSubSlot_Out = FS_STREAM_FORMAT_OUTPUT_1_SUBSLOT_BYTES; +unsigned g_curSubSlot_In = FS_STREAM_FORMAT_INPUT_1_SUBSLOT_BYTES; +int sampsToWrite = DEFAULT_FREQ/1000; /* FS assumed here. Expect to be junked during a overflow before stream start */ +int totalSampsToWrite = DEFAULT_FREQ/1000; +int g_maxPacketSize = MAX_DEVICE_AUD_PACKET_SIZE_IN_FS; /* IN packet size. Init to something sensible, but expect to be re-set before stream start */ #endif /* Circular audio buffers */ @@ -116,13 +124,7 @@ xc_ptr g_aud_to_host_wrptr; xc_ptr g_aud_to_host_dptr; xc_ptr g_aud_to_host_rdptr; xc_ptr g_aud_to_host_zeros; -#if (AUDIO_CLASS == 2) -int sampsToWrite = DEFAULT_FREQ/8000; /* HS assumed here. Expect to be junked during a overflow before stream start */ -int totalSampsToWrite = DEFAULT_FREQ/8000; -#else -int sampsToWrite = DEFAULT_FREQ/1000; /* HS assumed here. Expect to be junked during a overflow before stream start */ -int totalSampsToWrite = DEFAULT_FREQ/1000; -#endif + int aud_data_remaining_to_device = 0; /* Audio over/under flow flags */ @@ -139,22 +141,7 @@ unsigned unpackData = 0; unsigned packState = 0; unsigned packData = 0; - /* Default to something sensible but the following are setup at stream start (unless UAC1 only..) */ -#if (AUDIO_CLASS == 2) -unsigned g_curSubSlot_Out = HS_STREAM_FORMAT_OUTPUT_1_SUBSLOT_BYTES; -unsigned g_curSubSlot_In = HS_STREAM_FORMAT_INPUT_1_SUBSLOT_BYTES; -#else -unsigned g_curSubSlot_Out = FS_STREAM_FORMAT_OUTPUT_1_SUBSLOT_BYTES; -unsigned g_curSubSlot_In = FS_STREAM_FORMAT_INPUT_1_SUBSLOT_BYTES; -#endif - -/* IN packet size. Init to something sensible, but expect to be re-set before stream start */ -#if (AUDIO_CLASS==2) -int g_maxPacketSize = MAX_DEVICE_AUD_PACKET_SIZE_IN_HS; -#else -int g_maxPacketSize = MAX_DEVICE_AUD_PACKET_SIZE_IN_FS; -#endif #pragma select handler #pragma unsafe arrays