doubao_chat/include_lib/net/uC-HTTPc/soundcloud.h

156 lines
6.6 KiB
C

/*
*********************************************************************************************************
* EXAMPLE CODE
*
* This file is provided as an example on how to use Micrium products.
*
* Please feel free to use any application code labeled as 'EXAMPLE CODE' in
* your application products. Example code may be used as is, in whole or in
* part, or may be used as a reference only. This file can be modified as
* required to meet the end-product requirements.
*
*********************************************************************************************************
*/
/*
*********************************************************************************************************
*
* HTTP CLIENT SOUNDCLOUD SOURCE CODE
*
* Filename : soundcloud.h
* Version : V3.01.00
*********************************************************************************************************
*/
/*
*********************************************************************************************************
*********************************************************************************************************
* MODULE
*********************************************************************************************************
*********************************************************************************************************
*/
#ifndef SOUNDCLOUD_MODULE_PRESENT
#define SOUNDCLOUD_MODULE_PRESENT
/*
*********************************************************************************************************
*********************************************************************************************************
* INCLUDE FILES
*********************************************************************************************************
*********************************************************************************************************
*/
#include "http-c.h"
/*
*********************************************************************************************************
*********************************************************************************************************
* EXTERNS
*********************************************************************************************************
*********************************************************************************************************
*/
#ifdef SOUNDCLOUD_MODULE
#define SOUNDCLOUD_EXT
#else
#define SOUNDCLOUD_EXT extern
#endif
/*
*********************************************************************************************************
*********************************************************************************************************
* DEFAULT CONFIGURATION
*********************************************************************************************************
*********************************************************************************************************
*/
void SoundCloudTask_Init(void);
void SoundCloudTask(void *p_data);
typedef struct stream_buffer {
CPU_INT08U *WrAddress;
CPU_INT08U *Start;
CPU_BOOLEAN DecodingStarted;
void *p_msg;
} STREAM_BUFFER;
/*
*********************************************************************************************************
*********************************************************************************************************
* DEFINES
*********************************************************************************************************
*********************************************************************************************************
*/
#define SOUNDCLOUD_CFG_REQ_NBR_MAX 2u
#define SOUNDCLOUD_CFG_CONN_NBR_MAX 3u
#define SOUNDCLOUD_CFG_CONN_BUF_SIZE 5*1460u
#define SOUNDCLOUD_CFG_HDR_NBR_MAX 10u
#define SOUNDCLOUD_CFG_HDR_VAL_LEN_MAX 300u
#define SOUNDCLOUD_URL_LEN_MAX 100u
#define SOUNDCLOUD_CONN_RETRY_MAX 5
#define SOUNDCLOUD_API_HOSTNAME "api.soundcloud.com"
#define SOUNDCLOUD_URL_TRACKS "/tracks/"
/*
*********************************************************************************************************
*********************************************************************************************************
* GLOBAL VARIABLES
*********************************************************************************************************
*********************************************************************************************************
*/
SOUNDCLOUD_EXT CPU_INT16U SoundCloud_Buf[40];
SOUNDCLOUD_EXT STREAM_BUFFER stream_buff;
SOUNDCLOUD_EXT HTTPc_CONN_OBJ SoundCloud_ConnTbl[SOUNDCLOUD_CFG_CONN_NBR_MAX];
SOUNDCLOUD_EXT HTTPc_REQ_OBJ SoundCloud_ReqTbl[SOUNDCLOUD_CFG_REQ_NBR_MAX];
SOUNDCLOUD_EXT HTTPc_RESP_OBJ SoundCloud_RespTbl[SOUNDCLOUD_CFG_REQ_NBR_MAX];
/*
*********************************************************************************************************
*********************************************************************************************************
* FUNCTION PROTOTYPES
*********************************************************************************************************
*********************************************************************************************************
*/
CPU_BOOLEAN SoundCloud_GetStream(CPU_CHAR *p_url);
CPU_BOOLEAN SoundCloud_PlayStream(CPU_CHAR *p_host,
CPU_CHAR *p_url,
CPU_CHAR *p_buf);
CPU_INT32U SoundCloud_MP3Decode(void);
void SoundCloud_PlaytTrack(CPU_CHAR *track_id,
CPU_CHAR *client_id);
/*
*********************************************************************************************************
*********************************************************************************************************
* MODULE END
*********************************************************************************************************
*********************************************************************************************************
*/
#endif /* SOUNDCLOUD_MODULE_PRESENT */