|
#define | BUFFER_PTR(pstbuffer) ((pstbuffer)->buffer) |
| Get buffer pointer.
|
|
#define | BUFFER_SIZE(pstbuffer) ((pstbuffer)->size) |
| Get buffer size.
|
|
#define | BUFFER_OFFSET(pstbuffer) ((pstbuffer)->offset) |
| Get buffer offset.
|
|
#define | BUFFER_TIME(pstbuffer) ((pstbuffer)->time) |
| Get time.
|
|
#define | EVENT_TYPE_BOTH (EVENT_TYPE_UPSTREAM | EVENT_TYPE_DOWNSTREAM) |
| The same thing as EVENT_TYPE_UPSTREAM | EVENT_TYPE_DOWNSTREAM.
|
|
#define | EVENT_TYPE_SHIFT 4 |
| Shift for custom event type creation.
|
|
#define | EVENT_MAKE_TYPE(num, flags) (((num) << EVENT_TYPE_SHIFT) | (flags)) |
|
#define | FLAG(name) EVENT_TYPE_##name |
| Event type flag creation.
|
|
#define | EVENT_IS_UPSTREAM(ev) ((uint32_t)EVENT_TYPE(ev) & (uint32_t)EVENT_TYPE_UPSTREAM) |
|
#define | EVENT_IS_DOWNSTREAM(ev) ((uint32_t)EVENT_TYPE(ev) & (uint32_t)EVENT_TYPE_DOWNSTREAM) |
|
#define | EVENT_IS_SERIALIZED(ev) ((uint32_t)EVENT_TYPE(ev) & (uint32_t)EVENT_TYPE_SERIALIZED) |
|
#define | EVENT_TYPE(pstevent) ((pstevent)->type) |
| Get event type.
|
|
#define | EVENT_FORMAT(pstevent) ((pstevent)->format) |
| Get event format.
|
|
#define | EVENT_DATA(pstevent) ((pstevent)->data) |
| Get event data.
|
|
#define | QUERY_TYPE(pStreamQuery) ((pStreamQuery)->type) |
| Get query type.
|
|
#define | QUERY_FORMAT(pStreamQuery) ((pStreamQuery)->format) |
| Get query format.
|
|
#define | QUERY_DATATYPE(pStreamQuery) ((pStreamQuery)->data_type) |
| Get query data type.
|
|
#define | QUERY_DATA(pStreamQuery) ((pStreamQuery)->data) |
| Get query data.
|
|
#define | MEMBERS_PAD |
| Generic pad.
|
|
#define | PAD_PARENT_ELEMENT(pstpad) ((StreamElement *)((pstpad)->parent)) |
| Get pad parent element.
|
|
#define | PAD_PARENT_PIPELINE(pstpad) ((Pipeline *)((PAD_PARENT_ELEMENT(pstpad))->parent)) |
| Get pad parent pipeline.
|
|
#define | PAD_PARENT(pstpad) ((pstpad)->parent) |
| Get pad parent.
|
|
#define | PAD_TYPE(pstpad) ((pstpad)->type) |
| Get pad type.
|
|
#define | PAD_SCHEDULING(pstpad) ((pstpad)->scheduling) |
| Get pad scheduling.
|
|
#define | PAD_PEER(pstpad) ((pstpad)->peer) |
| Get pad peer.
|
|
#define | PAD_IS_FLUSHING(pstpad) ((pstpad)->flushing) |
| Get pad flushing.
|
|
#define | PAD_SET_FLUSHING(pstpad) ((pstpad)->flushing = true) |
| Set pad flushing.
|
|
#define | PAD_CLEAR_FLUSHING(pstpad) ((pstpad)->flushing = false) |
| Clear pad flushing.
|
|
#define | PAD_IS_ACTIVATED(pstpad) ((pstpad)->activated) |
| Get pad activated.
|
|
#define | PAD_SET_ACTIVATED(pstpad) ((pstpad)->activated = true) |
| Set pad activated.
|
|
#define | PAD_CLEAR_ACTIVATED(pstpad) ((pstpad)->activated = false) |
| Clear pad activated.
|
|
#define | PAD_ACTIVATEFUNC(pstpad) ((pstpad)->activation_handler) |
| Get pad activation handler.
|
|
#define | PAD_ACTIVATEPULLFUNC(pstpad) ((pstpad)->activate_pull) |
| Get pad activate pull function.
|
|
#define | PAD_ACTIVATEPUSHFUNC(pstpad) ((pstpad)->activate_push) |
| Get pad activate push function.
|
|
#define | PAD_EVENTFUNC(pstpad) ((pstpad)->event_handler) |
| Get pad event handler.
|
|
#define | PAD_QUERYFUNC(pstpad) ((pstpad)->query_handler) |
| Get pad query handler.
|
|
#define | PAD_PULLFUNC(pstpad) ((pstpad)->pull_handler) |
| Get pad pull handler.
|
|
#define | PAD_CHAINFUNC(pstpad) ((pstpad)->chain_handler) |
| Get pad chain handler.
|
|
|
enum | EventTypeFlags {
EVENT_TYPE_UPSTREAM = 1 << 0
,
EVENT_TYPE_DOWNSTREAM = 1 << 1
,
EVENT_TYPE_SERIALIZED = 1 << 2
} |
|
enum | EventType {
EVENT_UNKNOWN = EVENT_MAKE_TYPE(0, 0)
,
EVENT_FLUSH_START = EVENT_MAKE_TYPE(1, FLAG(BOTH))
,
EVENT_FLUSH_STOP = EVENT_MAKE_TYPE(2, FLAG(BOTH) | FLAG(SERIALIZED))
,
EVENT_EOS = EVENT_MAKE_TYPE(3, FLAG(DOWNSTREAM) | FLAG(SERIALIZED))
,
EVENT_NEWSEGMENT = EVENT_MAKE_TYPE(4, FLAG(DOWNSTREAM) | FLAG(SERIALIZED))
,
EVENT_SEEK = EVENT_MAKE_TYPE(5, FLAG(UPSTREAM))
} |
|
enum | PadScheduling {
SCHEDULING_NONE
,
SCHEDULING_PULL
,
SCHEDULING_PUSH
} |
|
enum | PadType {
TYPE_PAD_SRC
,
TYPE_PAD_SINK
,
TYPE_PAD_LAST
} |
|
enum | FlowReturn {
FLOW_OK = 0
,
FLOW_NOT_LINKED = -1
,
FLOW_WRONG_STATE = -2
,
FLOW_UNEXPECTED = -3
,
FLOW_ERROR = -4
,
FLOW_NOT_SUPPORTED = -5
,
FLOW_BAD_PARAMETER = -6
,
FLOW_TIME_OUT = -7
,
FLOW_EOS = -8
} |
|
|
FlowReturn | init_pad (StreamPad *pad, void *parent, PadType type) |
| Pad initialization function.
|
|
FlowReturn | deinit_pad (StreamPad *pad) |
| Pad deinitialization function.
|
|
FlowReturn | pad_push (StreamPad *pad, StreamBuffer *buffer) |
| Push the data buffer to the peer pad.
|
|
FlowReturn | pad_pull_range (StreamPad *pad, uint32_t offset, uint32_t size, StreamBuffer *buffer) |
| Pull the data buffer from the peer pad.
|
|
uint8_t | pad_push_event (StreamPad *pad, StreamEvent *event) |
| Push event to the peer pad.
|
|
uint8_t | pad_send_event (StreamPad *pad, StreamEvent *event) |
| Send the event to the element where it will be handled by a handler function.
|
|
uint8_t | activate_pad (StreamPad *pad, uint8_t activate) |
| Call the appropriate pad activation function.
|
|
uint8_t | pad_activate_pull (StreamPad *pad, uint8_t active) |
| Pad activation/deactivation in pull mode.
|
|
uint8_t | pad_activate_push (StreamPad *pad, uint8_t active) |
| Pad activation/deactivation in push mode.
|
|
FlowReturn | event_create_flush_start (StreamEvent *event) |
| Create flush start event.
|
|
FlowReturn | event_create_flush_stop (StreamEvent *event) |
| Create flush stop event.
|
|
FlowReturn | event_create_eos (StreamEvent *event) |
| Create end of stream event.
|
|
FlowReturn | event_create_new_segment (StreamEvent *event, StreamDataFormat format, uint32_t data) |
| Create new segment event.
|
|
FlowReturn | event_create_seek (StreamEvent *event, StreamDataFormat format, uint32_t data) |
| Create seek event.
|
|
uint8_t | pad_query (StreamPad *pad, StreamQuery *query) |
| Send a query to a pad.
|
|
FlowReturn | query_create (StreamQuery *query, StreamInfoType type, StreamDataFormat format, StreamDataType data_type, StreamData *data) |
| Create a query for element or pipeline.
|
|