Add WENCGetEncodeData

This commit is contained in:
capitalistspz 2025-02-02 13:33:45 +00:00
parent 958936de47
commit 089b1a5013

View File

@ -34,6 +34,7 @@ typedef struct WPADStatusMotionPlus WPADStatusMotionPlus;
typedef struct WPADStatusBalanceBoard WPADStatusBalanceBoard;
typedef struct WPADStatusTrain WPADStatusTrain;
typedef WPADStatusProController WPADStatusPro;
typedef struct WENCParams WENCParams;
typedef enum WPADError
{
@ -740,6 +741,13 @@ struct WPADAddress
WUT_CHECK_OFFSET(WPADAddress, 0x00, btDeviceAddress);
WUT_CHECK_SIZE(WPADAddress, 0x6);
//! Continuation parameters for WENCGetEncodeData
struct WENCParams
{
WUT_UNKNOWN_BYTES(32);
};
WUT_CHECK_SIZE(WENCParams, 32);
typedef void (*WPADCallback)(WPADChan channel, WPADError status);
typedef WPADCallback WPADControlLedCallback;
typedef WPADCallback WPADControlDpdCallback;
@ -893,6 +901,23 @@ WPADSendStreamData(WPADChan channel,
void *data,
uint32_t size);
/**
* Encode 16-bit LPCM as 4-bit Yamaha ADPCM
* \param params encoding continuation params, written on first call, and read and updated on each subsequent call
* \param continuing should be TRUE if continuing encoding stream with the params produced via a prior call
* \param samples 16-bit LPCM sample buffer
* \param sampleCount number of 16-bit LPCM samples
* \param outEncodedData buffer for the returned adpcm samples, buffer size should be equal to {(sampleCount + 1) / 2}
* \return Number of LPCM-16 samples
* \sa WPADSendStreamData
*/
uint32_t
WENCGetEncodeData(WENCParams *params,
BOOL continuing,
const int16_t *samples,
uint32_t sampleCount,
uint8_t *outEncodedData);
/**
* Returns the global Wii Remote speaker volume
*/