Files
Michael Sauer 1b0501179d build: W600-SDK importiert, Firmware-Build und Hello am EVK
Docker-Build mit gcc-arm-none-eabi 4.9-2014q4 (statt Homebrew-Cask) verwendet,
Dockerfile/tools/docker.sh dafür aus Task 13 vorgezogen. cmake/sdk.cmake schont
gcc 4.9 (kennt -fcommon/-Wno-error=... nicht). Zwei zusätzliche SDK-Stubs
(EarlyInit, pre_gpio_config) in src/sys/sdk_stubs.c ergänzt, siehe sdk/PATCHES.md.
2026-09-11 12:52:26 +02:00

248 lines
6.1 KiB
C

/**
* @file wm_dlna_dmr.h
*
* @brief DLNA DMR API
*
* @author winnermicro
*
* Copyright (c) 2015 Winner Microelectronics Co., Ltd.
*/
#ifndef __WM__DLNA_DMR_H_
#define __WM__DLNA_DMR_H_
enum dmr_control_type
{
CONTROL_GET = 0,
CONTROL_SET
};
/**
* @brief This Function prototype for action callback functions
*
* @param[in] None
*
* @return None
*
* @note None
*/
typedef void (*dmr_action_callback)(void);
/**
* @brief This Function prototype for control callback functions
*
* @param[in] type to get or set control
* @param[in] channel the channel to control
* @param[in] value the value of getting or wanting to set
*
* @return None
*
* @note None
*/
typedef void (*dmr_control_callback)(enum dmr_control_type type, const char* channel, int* value);
/**
* @brief This Function prototype for getting the playing progress
*
* @param[in] totlen The total length of the playing media
*
* @returns the progress(0.0 ~ 1.0) of having been played
*
* @note None
*/
typedef float (*dmr_play_progress_callback)(int totlen);
/**
* @brief This Function prototype for downloading media data finis-
hed
*
* @param[in] buf The downloaded data this time
* @param[in] datalen The length of buffer data
*
* @retval None
*
* @note None
*/
typedef void (*dmr_download_finish_callback)(char * buf, int datalen);
/**
* @defgroup APP_APIs APP APIs
* @brief APP APIs
*/
/**
* @addtogroup APP_APIs
* @{
*/
/**
* @defgroup DLNA_APIs DLNA APIs
* @brief DLNA DMR APIs
*/
/**
* @addtogroup DLNA_APIs
* @{
*/
/**
* @brief This function is used to register play callback which would
be called while starting to play
*
* @param[in] callback the play callback
*
* @return None
*
* @note None
*/
void tls_dmr_set_play_callback(dmr_action_callback callback);
/**
* @brief This function is used to register stop callback which would
be called while to stop
*
* @param[in] callback the stop callback
*
* @return None
*
* @note None
*/
void tls_dmr_set_stop_callback(dmr_action_callback callback);
/**
* @brief This function is used to register seek callback which would
be called while to seek
*
* @param[in] callback the seek callback
*
* @return None
*
* @note None
*/
void tls_dmr_set_seek_callback(dmr_action_callback callback);
/**
* @brief This function is used to register pause callback which
would be called while to pause
*
* @param[in] callback the pause callback
*
* @return None
*
* @note None
*/
void tls_dmr_set_pause_callback(dmr_action_callback callback);
/**
* @brief This function is used to register play progress callback
which would be called while to get play progress
*
* @param[in] callback the play progress callback
*
* @return None
*
* @note None
*/
void tls_dmr_set_play_progress_callback(dmr_play_progress_callback callback);
/**
* @brief This function is used to register mute control callback
which would be called while to get or set mute control
*
* @param[in] callback the mute control callback
*
* @return None
*
* @note None
*/
void tls_dmr_set_mute_callback(dmr_control_callback callback);
/**
* @brief This function is used to register volume control callback
which would be called while to get or set volume control
*
* @param[in] callback the volume control callback
*
* @return None
*
* @note None
*/
void tls_dmr_set_volume_callback(dmr_control_callback callback);
/**
* @brief This function is used to register volumedb control callback
which would be called while to get or set volumedb
control
*
* @param[in] callback the volumedb control callback
*
* @return None
*
* @note None
*/
void tls_dmr_set_volumedb_callback(dmr_control_callback callback);
/**
* @brief This function is used to register loudness control callback
which would be called while to get or set loudness
control
*
* @param[in] callback the loudness control callback
*
* @return None
*
* @note None
*/
void tls_dmr_set_loudness_callback(dmr_control_callback callback);
/**
* @brief This function is used to initialize the media render
*
* @param[in] *friendly_name friendly name of the media render
* @param[in] *uuid uuid of the media render
*
* @retval 0 success
* @retval minus failed
*
* @note None
*/
int tls_dmr_init(const char *friendly_name, const char *uuid);
/**
* @brief This function is uesd to destroy the media render
*
* @param[in] None
*
* @retval 0 success
* @retval minus failed
*
* @note None
*/
int tls_dmr_destroy(void);
/**
* @brief This function is used to trigger to download data from media
server, the download_callback would be called when
downloading finished
*
* @param[in] dest Destination address to download data
* @param[in] downsize download size of this time
* @param[in] download_callback download finished callback
*
* @retval 0 success
* @retval minus failed
*
* @note None
*/
int tls_dmr_download_data(char * dest, int downsize, dmr_download_finish_callback download_callback);
/**
* @}
*/
/**
* @}
*/
#endif /* __WM__DLNA_DMR_H_ */