|
#define | AF_MESSAGE_SECTION 0x10000 |
|
#define | STREAMER_MSG_START (0x0000 | AF_MESSAGE_SECTION) |
|
#define | STREAMER_MSG_END (0x00FF | AF_MESSAGE_SECTION) |
|
#define | CODEC_INFO_LEN 64 |
|
#define | GET_BIT(Bit) (1 << (Bit)) |
|
#define | SET_BIT(Flag, Bit) ((Flag) |= GET_BIT(Bit)) |
|
#define | CLEAR_BIT(Flag, Bit) ((Flag) &= ~GET_BIT(Bit)) |
|
#define | BUILD_ELEMENT(n_src, n_sink, id) (_SRC(n_src) | _SINK(n_sink) | id) |
|
#define | _SINK(num) ((num & 0x3) << 14) |
|
#define | _SRC(num) ((num & 0x3) << 12) |
|
#define | ELEMENT_ID(type) (type & 0x0FFF) |
|
#define | STREAMER_MQ_NAME_LENGTH (32) |
|
#define | PLAYER_MQ_NAME_BASE "/player.mq." |
|
#define | STREAMER_MQ_NAME_BASE "/streamer.mq." |
|
#define | MQ_NAME_FORMAT "%s%ld" |
|
#define | MAX_PIPELINES (1) |
| The maximum number of Pipelines that may be created within a single streamer task.
|
|
#define | MAX_ELEMENTS (ELEMENT_LAST_INDEX) |
| The maximum number of Elements that may be created within a single streamer task.
|
|
#define | WAIT_STREAMER_MSG_RESPONSE_TIME_OUT 8000 /* 8s */ |
| The wait time out for streamer response of a message processing completion After streamer processed a message, it will signal the condition variable in the message to make the function call synchronized.
|
|
#define | TRACK_TITLE_LEN 64 |
|
#define | TRACK_ARTIST_LEN 64 |
|
#define | TRACK_ALBUM_LEN 64 |
|
#define | TRACK_GENRE_LEN 34 |
|
#define | TRACK_YEAR_LEN 5 |
|
#define | STREAMER_MSG_SIZE (sizeof(STREAMER_MSG_T)) |
|
|
enum | StreamReturnType {
STREAM_OK = 0
,
STREAM_ERR_GENERAL = -1
,
STREAM_ERR_INVALID_ARGS = -2
,
STREAM_ERR_NO_MEM = -3
,
STREAM_ERR_INVALID_SEEK_TIME = -4
,
STREAM_ERR_NOT_SEEKABLE = -5
,
STREAM_ERR_INFO_ABSENT = -6
,
STREAM_ERR_ELEMENT_ALREADY_IN_PIPELINE = -7
,
STREAM_ERR_ELEMENT_LINKED = -8
,
STREAM_ERR_ELEMENT_NOT_FREE = -9
,
STREAM_ERR_ELEMENT_NOT_FOUND = -10
,
STREAM_ERR_ELEMENT_INVALID_PAD = -11
,
STREAM_ERR_ELEMENT_PADS_NOT_LINKED = -12
,
STREAM_ERR_ELEMENT_BAD_STATUS = -13
} |
| StreamReturnType Handles return status from pipeline operations. More...
|
|
enum | STREAMER_MSG_ID {
STREAM_MSG_CLOSE_TASK = STREAMER_MSG_START
,
STREAM_MSG_CREATE_PIPELINE
,
STREAM_MSG_DESTROY_PIPELINE
,
STREAM_MSG_CREATE_ELEMENT
,
STREAM_MSG_DESTROY_ELEMENT
,
STREAM_MSG_ADD_ELEMENT
,
STREAM_MSG_REMOVE_ELEMENT
,
STREAM_MSG_LINK_ELEMENTS
,
STREAM_MSG_UNLINK_ELEMENTS
,
STREAM_MSG_SET_STATE
,
STREAM_MSG_GET_STATE
,
STREAM_MSG_SET_FILE
,
STREAM_MSG_SET_PROPERTY
,
STREAM_MSG_GET_PROPERTY
,
STREAM_MSG_GET_TRACK_INFO
,
STREAM_MSG_SEEK_PIPELINE
,
STREAM_MSG_QUERY_PIPELINE
,
STREAM_MSG_SET_REPEAT
,
STREAM_MSG_UPDATE_DURATION
,
STREAM_MSG_UPDATE_POSITION
,
STREAM_MSG_UPDATE_TRACK_INFO
,
STREAM_MSG_EOS
,
STREAM_MSG_ERROR
,
STREAM_MSG_LAST = STREAMER_MSG_END
} |
| Streamer Message Identifiers Enumeration of all streamer request messages. More...
|
|
enum | PipelineState {
STATE_NULL
,
STATE_READY
,
STATE_PAUSED
,
STATE_PLAYING
} |
| PipelineState. More...
|
|
enum | StreamPipelineType {
STREAM_PIPELINE_FILESYSTEM
,
STREAM_PIPELINE_MEM
,
STREAM_PIPELINE_NETBUF
,
STREAM_PIPELINE_PCM
,
STREAM_PIPELINE_BTSA
,
STREAM_PIPELINE_PCM_AIRPLAY
,
STREAM_PIPELINE_PCM_ASYNC
,
STREAM_PIPELINE_PCM_ANALOG
,
STREAM_PIPELINE_MIC2FILE
,
STREAM_PIPELINE_VIT
,
STREAM_PIPELINE_EAP
,
STREAM_PIPELINE_MAX
} |
| StreamPipelineType. More...
|
|
enum | ElementIndex {
ELEMENT_FILE_SRC_INDEX
,
ELEMENT_MEM_SRC_INDEX
,
ELEMENT_NETBUF_SRC_INDEX
,
ELEMENT_AUDIO_SRC_INDEX
,
ELEMENT_FILE_SINK_INDEX
,
ELEMENT_MEM_SINK_INDEX
,
ELEMENT_AUDIO_SINK_INDEX
,
ELEMENT_DECODER_INDEX
,
ELEMENT_VIT_INDEX
,
ELEMENT_EAP_INDEX
,
ELEMENT_LAST_INDEX
} |
|
enum | StreamElementType {
TYPE_ELEMENT_FILE_SRC = BUILD_ELEMENT (3, 0, ELEMENT_FILE_SRC_INDEX)
,
TYPE_ELEMENT_MEM_SRC = BUILD_ELEMENT (3, 0, ELEMENT_MEM_SRC_INDEX)
,
TYPE_ELEMENT_NETBUF_SRC = BUILD_ELEMENT (3, 0, ELEMENT_NETBUF_SRC_INDEX)
,
TYPE_ELEMENT_AUDIO_SRC = BUILD_ELEMENT (1, 0, ELEMENT_AUDIO_SRC_INDEX)
,
TYPE_ELEMENT_FILE_SINK = BUILD_ELEMENT (0, 1, ELEMENT_FILE_SINK_INDEX)
,
TYPE_ELEMENT_MEM_SINK = BUILD_ELEMENT (0, 1, ELEMENT_MEM_SINK_INDEX)
,
TYPE_ELEMENT_AUDIO_SINK = BUILD_ELEMENT (0, 1, ELEMENT_AUDIO_SINK_INDEX)
,
TYPE_ELEMENT_DECODER = BUILD_ELEMENT (1, 3, ELEMENT_DECODER_INDEX)
,
TYPE_ELEMENT_VIT_SINK = BUILD_ELEMENT (0, 1, ELEMENT_VIT_INDEX)
,
TYPE_ELEMENT_EAP = BUILD_ELEMENT (1, 1, ELEMENT_EAP_INDEX)
,
TYPE_ELEMENT_LAST = ELEMENT_LAST_INDEX
} |
| StreamElementType. More...
|
|
enum | DecoderType {
DECODER_TYPE_UNKNOWN
,
DECODER_TYPE_WAV
,
DECODER_TYPE_MP3
,
DECODER_TYPE_MP2
,
DECODER_TYPE_AAC
,
DECODER_TYPE_OGG
,
DECODER_TYPE_WMA
,
DECODER_TYPE_WMV
,
DECODER_TYPE_MPEG2
,
DECODER_TYPE_MPEG4
,
DECODER_TYPE_JPEG
,
DECODER_TYPE_CD_DA
,
DECODER_TYPE_MFI
,
DECODER_TYPE_FLAC
,
DECODER_TYPE_ALAC
,
DECODER_TYPE_AC3
,
DECODER_TYPE_OPUS
,
DECODER_TYPE_OGG_OPUS
,
LAST_DECODER_TYPE
} |
| DecoderType. More...
|
|
enum | ParserType {
PARSER_TYPE_ASF
,
PARSER_TYPE_MP4
,
PARSER_TYPE_3GP
,
PARSER_TYPE_OGG
,
PARSER_TYPE_BY_PASS
,
LAST_PARSER_TYPE
} |
| ParserType. More...
|
|
enum | StreamInfoType {
INFO_VIDEO_BITRATE = 1
,
INFO_VIDEO_FRAMERATE
,
INFO_VIDEO_TYPE
,
INFO_AUDIO_BITRATE
,
INFO_AUDIO_CHANNELS
,
INFO_AUDIO_SAMPLERATE
,
INFO_AUDIO_TYPE
,
INFO_CODEC_INFO
,
INFO_DURATION
,
INFO_POSITION
,
INFO_TIME_SEEKABLE
,
INFO_BYTE_SEEKABLE
,
INFO_STREAM_INFO_UPDATE
,
INFO_FILE_SIZE
,
INFO_BUFF_OCC
,
INFO_ALBUM
,
INFO_ARTIST
,
INFO_TITLE
,
INFO_GENRE
,
INFO_YEAR
,
INFO_TRACK
,
INFO_ALBUMART_IMAGE
,
INFO_META_INFO_UPDATE
,
INFO_ERROR
,
INFO_LAST
} |
| StreamInfoType. More...
|
|
enum | AudioSrcDeviceDriverType {
AUDIOSRC_PCMRTOS
,
LAST_AUDIOSRC_DEVICE_DRIVER_TYPE
} |
| AudioSrcDeviceDriverType. More...
|
|
enum | AudioSinkDeviceDriverType {
AUDIO_SINK_DEVICE_TYPE_PCMRTOS
,
LAST_AUDIO_SINK_DEVICE_DRIVER_TYPE
} |
| AudioSinkDeviceDriverType. More...
|
|
enum | StreamMsgType {
MESSAGE_UNKNOWN = 0
,
MESSAGE_EOS = GET_BIT (0)
,
MESSAGE_ERROR = GET_BIT (1)
,
MESSAGE_WARNING = GET_BIT (2)
,
MESSAGE_INFO = GET_BIT (3)
,
MESSAGE_BUFFERING = GET_BIT (4)
,
MESSAGE_STATE_CHANGED = GET_BIT (5)
} |
| StreamMsgType Different message types that are available. More...
|
|
enum | AlbumArtSource {
ART_DEFAULT = 0
,
ART_EMBEDDED
,
ART_FOLDER
} |
| Album Art Source. More...
|
|
enum | ImageFormat {
IMG_RGB_555 = 0
,
IMG_RGB_565
,
IMG_RGB_666
,
IMG_RGB_888
,
IMG_GRAYSCALE
} |
| Image Format. More...
|
|
|
STREAMER_T * | streamer_create (STREAMER_CREATE_PARAM *task_param) |
|
void | streamer_destroy (STREAMER_T *streamer) |
|
int32_t | streamer_create_pipeline (STREAMER_T *streamer, int32_t pipeline_id, StreamPipelineType pipeline_type, char *in_dev_name, char *out_dev_name, bool block) |
|
int32_t | streamer_destroy_pipeline (STREAMER_T *streamer, int32_t pipeline_id, bool block) |
|
int32_t | streamer_get_track_info (STREAMER_T *streamer, int32_t pipeline_id, TrackInfo *info, bool block) |
|
int32_t | streamer_set_state (STREAMER_T *streamer, int32_t pipeline_id, PipelineState state, bool block) |
|
int32_t | streamer_get_state (STREAMER_T *streamer, int32_t pipeline_id, PipelineState *state, bool block) |
|
int32_t | streamer_query_info (STREAMER_T *streamer, int32_t pipeline_id, StreamInfoType infoType, StreamData *query_data, bool block) |
|
int32_t | streamer_seek_pipeline (STREAMER_T *streamer, int32_t pipeline_id, int32_t seek_time_ms, bool block) |
|
int32_t | streamer_set_property (STREAMER_T *streamer, ELEMENT_PROPERTY_T prop, bool block) |
|
int32_t | streamer_get_property (STREAMER_T *streamer, uint16_t prop, uint32_t *val_ptr, bool block) |
|
int32_t | streamer_set_file (STREAMER_T *streamer, int32_t pipeline_id, char *path, PipelineState state, bool block) |
|
int32_t | streamer_set_repeat (STREAMER_T *streamer, int32_t pipeline_id, bool repeat_on, bool block) |
|
Public APIs for using the maestro streamer framework