123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- #ifndef _AIRPLAY_H_
- #define _AIRPLAY_H_
- #include <stdbool.h>
- #include <stdint.h>
- #define METADATA_STRING_LEN 100
- typedef enum
- {
- AIRPLAY_SUCCESS = 0,
- AIRPLAY_ERR_BAD_PARAM,
- AIRPLAY_ERR_BAD_STATE,
- AIRPLAY_ERR_NO_RESOURCE,
- AIRPLAY_ERR_OOM,
- AIRPLAY_ERR_NOT_SUPPORTED,
- AIRPLAY_ERR_OTHER,
- } Airplay_Status_e;
- typedef enum
- {
- AIRPLAY_SUPPORT_MIRROR = 0x01,
- AIRPLAY_SUPPORT_VIDEO_CAST = 0x02,
- AIRPLAY_DISPLAY_COVERART = 0x04,
- AIRPLAY_SUPPORT_ALL = 0xff,
- } Airplay_Capability_e;
- typedef struct
- {
- char data[METADATA_STRING_LEN];
- uint8_t size;
- } MetaData_String_t;
- typedef struct
- {
- MetaData_String_t songAlbumArtist;
- MetaData_String_t songArtist;
- MetaData_String_t songAlbum;
- MetaData_String_t songComposer;
- MetaData_String_t songGenre;
- MetaData_String_t songName;
- uint16_t songYear;
- uint16_t songTrackCount;
- uint16_t songTrackNumber;
- uint32_t totalTime; // in milliseconds
- uint32_t startTime; // in milliseconds
- } Airplay_Audio_MetaData_t;
- typedef struct
- {
- int size;
- char *data;
- } Airplay_Audio_CoverArt_t;
- typedef enum
- {
- AIRPLAY_AV_EVENT_DECODE_START = 0X0001000F, /*!< Audio/Video Decode Start evnet*/
- AIRPLAY_AV_EVENT_INITOK,
- AIRPLAY_AV_EVENT_PLAY_DONE,
- AIRPLAY_AV_EVENT_SET_VOLUME,
- AIRPLAY_AV_EVENT_SET_METADATA,
- AIRPLAY_AV_EVENT_SET_COVERART,
- AIRPLAY_AV_EVENT_NOT_HTTP,
- AIRPLAY_AV_EVENT_SCREEN_ON,
- AIRPLAY_AV_EVENT_SCREEN_OFF,
- AIRPLAY_AV_EVENT_UNKNOWN_FORMAT,
- AIRPLAY_AV_EVENT_LOADING,
- AIRPLAY_AV_EVENT_PAUSED,
- AIRPLAY_EVENT_END = 0X000FFFFF,
- } Airplay_Event_t;
- typedef enum {
- AIRP_PLAYER_STOPPED,
- AIRP_PLAYER_INITIALIZING,
- AIRP_PLAYER_READY,
- AIRP_PLAYER_PLAYING,
- AIRP_PLAYER_PAUSED,
- AIRP_PLAYER_STOPPING,
- } Airp_Player_State_t;
- typedef bool (*AirplayCbkFunc_t)(Airplay_Event_t, int param);
- Airplay_Status_e Airplay_Start(uint32_t capability);
- Airplay_Status_e Airplay_Stop(void);
- Airplay_Status_e Airplay_GetAudioMetadata(Airplay_Audio_MetaData_t *);
- Airplay_Status_e Airplay_GetAudioCoverArt(Airplay_Audio_CoverArt_t *);
- Airplay_Status_e Airplay_FreeAudioCoverArt(Airplay_Audio_CoverArt_t *);
- void Airplay_RegisterCBKFunc(AirplayCbkFunc_t);
- AirplayCbkFunc_t Airplay_GetRegisteredCBKFunc(void);
- Airplay_Status_e Airplay_Ctrl_PausePlay(void);
- bool Airplay_Is_AudioOnly(void);
- Airp_Player_State_t Airplay_Get_PlayerState(void);
- #endif
|