|
#define | AF_MESSAGE_SECTION 0x10000 |
| Message ID prefix.
|
|
#define | STREAMER_MSG_START (0x0000 | AF_MESSAGE_SECTION) |
| First message ID.
|
|
#define | STREAMER_MSG_END (0x00FF | AF_MESSAGE_SECTION) |
| Last message ID.
|
|
#define | STREAMER_MQ_NAME_LENGTH (32) |
| Message queue name length.
|
|
#define | CODEC_INFO_LEN 64 |
| Codec information length.
|
|
#define | GET_BIT(Bit) (1 << (Bit)) |
| Get bit on specified position.
|
|
#define | SET_BIT(Flag, Bit) ((Flag) |= GET_BIT(Bit)) |
| Set bit on specified position.
|
|
#define | CLEAR_BIT(Flag, Bit) ((Flag) &= ~GET_BIT(Bit)) |
| Clear bit on specified position.
|
|
#define | BUILD_ELEMENT(n_src, n_sink, id) (_SRC(n_src) | _SINK(n_sink) | id) |
| Build element ID based on number of sources, sinks and type element ID.
|
|
#define | _SINK(num) ((num & 0x3) << 14) |
| Helper macro for building element ID with sink pad number.
|
|
#define | _SRC(num) ((num & 0x3) << 12) |
| Helper macro for building element ID with source pad number.
|
|
#define | ELEMENT_ID(type) (type & 0x0FFF) |
| Get element ID based on its type.
|
|
#define | PATHNAME_SIZE 256 |
| Maximal path name size.
|
|
#define | EVENT_WAIT_BIT 1 |
| Bit for waiting for streamer message response.
|
|
#define | MSG_POOL_NUM_MSGS 10 |
| Maximum number of messages in streamer message queue.
|
|
#define | MAX_PIPELINES (2) |
| 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 |
| Maximum track title length.
|
|
#define | TRACK_ARTIST_LEN 64 |
| Maximum track artist length.
|
|
#define | TRACK_ALBUM_LEN 64 |
| Maximum track album length.
|
|
#define | TRACK_GENRE_LEN 34 |
| Maximum track genre length.
|
|
#define | TRACK_YEAR_LEN 5 |
| Maximum track year length.
|
|
#define | RAW_DATA 0 |
| Raw data.
|
|
#define | AUDIO_DATA 1 |
| Audio data.
|
|
#define | CHECK_RET(condition, function) |
| Macro for checking return value of a function.
|
|
#define | PIPELINE_SIZE(pipeline) (sizeof(pipeline) / sizeof(ElementIndex)) |
| Pipeline size - number of elements in the pipeline.
|
|
#define | STREAMER_MSG_SIZE (sizeof(STREAMER_MSG_T)) |
| Size of streamer message structure.
|
|
|
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
} |
|
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
} |
|
enum | PipelineState {
STATE_NULL
,
STATE_READY
,
STATE_PAUSED
,
STATE_PLAYING
} |
| PipelineState. More...
|
|
enum | ElementIndex {
ELEMENT_FILE_SRC_INDEX = 0
,
ELEMENT_MEM_SRC_INDEX
,
ELEMENT_NETBUF_SRC_INDEX
,
ELEMENT_MICROPHONE_INDEX
,
ELEMENT_FILE_SINK_INDEX
,
ELEMENT_MEM_SINK_INDEX
,
ELEMENT_SPEAKER_INDEX
,
ELEMENT_DECODER_INDEX
,
ELEMENT_ENCODER_INDEX
,
ELEMENT_VIT_INDEX
,
ELEMENT_VIT_PROC_INDEX
,
ELEMENT_VOICESEEKER_INDEX
,
ELEMENT_SRC_INDEX
,
ELEMENT_USB_SRC_INDEX
,
ELEMENT_USB_SINK_INDEX
,
ELEMENT_ASRC_INDEX
,
ELEMENT_LAST_INDEX
} |
| Element index for the lookup table.
|
|
enum | StreamElementType {
TYPE_ELEMENT_FILE_SRC = BUILD_ELEMENT(1, 0, 0)
,
TYPE_ELEMENT_MEM_SRC = BUILD_ELEMENT(1, 0, 1)
,
TYPE_ELEMENT_NETBUF_SRC = BUILD_ELEMENT(1, 0, 2)
,
TYPE_ELEMENT_AUDIO_SRC = BUILD_ELEMENT(1, 0, 3)
,
TYPE_ELEMENT_FILE_SINK = BUILD_ELEMENT(0, 1, 4)
,
TYPE_ELEMENT_MEM_SINK = BUILD_ELEMENT(0, 1, 5)
,
TYPE_ELEMENT_AUDIO_SINK = BUILD_ELEMENT(0, 1, 6)
,
TYPE_ELEMENT_VIT_SINK = BUILD_ELEMENT(0, 1, 7)
,
TYPE_ELEMENT_DECODER = BUILD_ELEMENT(1, 1, 8)
,
TYPE_ELEMENT_ENCODER = BUILD_ELEMENT(1, 1, 9)
,
TYPE_ELEMENT_AUDIO_PROC = BUILD_ELEMENT(1, 1, 10)
,
TYPE_ELEMENT_LAST = 11
} |
| 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_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_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) |
| Create a streamer.
|
|
int32_t | streamer_destroy (STREAMER_T *streamer) |
| Destroy a streamer object.
|
|
int32_t | streamer_create_pipeline (STREAMER_T *streamer, int32_t pipeline_id, const char *in_dev_name, const char *out_dev_name, PipelineElements elements, bool block) |
| Create a pipeline that will handle the different connected elements.
|
|
int32_t | streamer_destroy_pipeline (STREAMER_T *streamer, int32_t pipeline_id, bool block) |
| Destroy a pipeline.
|
|
int32_t | streamer_get_track_info (STREAMER_T *streamer, int32_t pipeline_id, TrackInfo *info, bool block) |
| Get track information.
|
|
int32_t | streamer_set_state (STREAMER_T *streamer, int32_t pipeline_id, PipelineState state, bool block) |
| Set streamer state.
|
|
int32_t | streamer_get_state (STREAMER_T *streamer, int32_t pipeline_id, PipelineState *state, bool block) |
| Get streamer state.
|
|
int32_t | streamer_query_info (STREAMER_T *streamer, int32_t pipeline_id, StreamInfoType infoType, StreamData *query_data, bool block) |
| Query streamer information.
|
|
int32_t | streamer_seek_pipeline (STREAMER_T *streamer, int32_t pipeline_id, int32_t seek_time_ms, bool block) |
| Seek pipeline.
|
|
int32_t | streamer_set_property (STREAMER_T *streamer, int8_t pipeline_id, ELEMENT_PROPERTY_T prop, bool block) |
| Set element property.
|
|
int32_t | streamer_get_property (STREAMER_T *streamer, int8_t pipeline_id, uint16_t prop, uint32_t *val_ptr, bool block) |
| Get element property.
|
|
int32_t | streamer_set_file (STREAMER_T *streamer, int32_t pipeline_id, char *path, PipelineState state, bool block) |
| Set file source.
|
|
int32_t | streamer_set_repeat (STREAMER_T *streamer, int32_t pipeline_id, bool repeat_on, bool block) |
| Set pipeline to repeat.
|
|
int32_t | is_element_in_pipeline (PipelineElements pipe_elems, ElementIndex id) |
|