Classes | Defines | Typedefs | Functions

limoa generics
[LIM openmax application layer]

Classes

struct  ox_callback_play_t
struct  ox_rqst_player_create_t
struct  ox_rqst_player_realize_t
struct  ox_rsps_player_get_position_t
struct  ox_rqst_player_register_callback_t
struct  ox_rqst_player_set_callback_events_mask_t
struct  ox_rqst_player_set_position_t
struct  ipc_packet_id_t
struct  ipc_packet_header_t
struct  ipc_packet_t
struct  ipc_standard_rsps_t

Defines

#define deep_copy_data_sink(d, s, p, o)   deep_copy_src_snk(d, s, p, o)
#define deep_copy_data_source(d, s, p, o)   deep_copy_src_snk(d, s, p, o)
#define OX_CALLBACK_PLAY   MSG(SGMT_CALLBACK, 1)
#define OX_RQST_ENGINE_PING   MSG(SGMT_ENGINE, 1)
#define OX_RQST_OUTPUT_MIX_CREATE   MSG(SGMT_OUTPUT_MIX, 1)
#define OX_RQST_OUTPUT_MIX_REALIZE   MSG(SGMT_OUTPUT_MIX, 2)
#define OX_RQST_OUTPUT_MIX_DESTROY   MSG(SGMT_OUTPUT_MIX, 3)
#define OX_RQST_PLAYER_CREATE   MSG(SGMT_PLAYER, 1)
#define OX_RQST_PLAYER_REALIZE   MSG(SGMT_PLAYER, 2)
#define OX_RQST_PLAYER_DESTROY   MSG(SGMT_PLAYER, 3)
#define OX_RQST_PLAYER_PLAY   MSG(SGMT_PLAYER, 4)
#define OX_RQST_PLAYER_PAUSE   MSG(SGMT_PLAYER, 5)
#define OX_RQST_PLAYER_STOP   MSG(SGMT_PLAYER, 6)
#define OX_RQST_PLAYER_GET_POSITION   MSG(SGMT_PLAYER, 7)
#define OX_RQST_PLAYER_REGISTER_CALLBACK   MSG(SGMT_PLAYER, 20)
#define OX_RQST_PLAYER_SET_CALLBACK_EVENTS_MASK   MSG(SGMT_PLAYER, 21)
#define OX_RQST_PLAYER_SET_POSITION   MSG(SGMT_PLAYER, 22)
#define LIMOX_SOCKET_PATH   "/var/tmp/limox"
#define LIMOA_SOCKET_PATH   "/var/tmp/limoa"
#define BUF_BYTES(b, t)   ((((b) + sizeof(t) - 1) / sizeof(t)) * sizeof(t))
#define PTR_PADDING(b)   BUF_BYTES(b, void *)
#define DEFAULT_IPC_PACKET_POOL_BYTES   (1024 * 16)
#define LIMOA_IPC_REQUEST_TO_SERVER   0
#define LIMOA_IPC_RESPONSE_TO_CLIENT   1
#define LIMOA_IPC_CALLBACK_TO_CLIENT   2
#define LIMOA_IPC_RESPONSE_TO_SERVER   3
#define ipc_init_request(rqst, id_val, dat_bytes, dat)

Typedefs

typedef void * ipc_session_t

Functions

int deep_copy_src_snk (void *dst, const void *src, void *dptr, void *ptroff)
static void * ipc_init_response (ipc_packet_t *rsps, int bytes)
static ipc_standard_rsps_tipc_init_standard_response (ipc_packet_t *rsps)
ipc_session_t ipc_session_create (int fd)
void ipc_session_destroy (ipc_session_t sid)
int ipc_read_packet (ipc_session_t sid, ipc_packet_t *pkt)
int ipc_write_packet (ipc_session_t sid, ipc_packet_t *pkt)
void ipc_release_packet (ipc_session_t sid, ipc_packet_t *pkt)
const char * xa_error_string (XAresult res)

Define Documentation

#define BUF_BYTES (   b,
  t 
)    ((((b) + sizeof(t) - 1) / sizeof(t)) * sizeof(t))
#define deep_copy_data_sink (   d,
  s,
  p,
  o 
)    deep_copy_src_snk(d, s, p, o)
#define deep_copy_data_source (   d,
  s,
  p,
  o 
)    deep_copy_src_snk(d, s, p, o)
#define DEFAULT_IPC_PACKET_POOL_BYTES   (1024 * 16)
#define ipc_init_request (   rqst,
  id_val,
  dat_bytes,
  dat 
)
Value:
do { \
        (rqst)->header.id.value = id_val;                   \
        (rqst)->header.bytes = dat_bytes;                   \
        (rqst)->dptr = dat; } while(0)

macro to initialize IPC request packet.

Parameters:
rqst request packet.
id_val request ID valude.
bytes request data size in bytes.
dptr request data pointer.
#define LIMOA_IPC_CALLBACK_TO_CLIENT   2
#define LIMOA_IPC_REQUEST_TO_SERVER   0
#define LIMOA_IPC_RESPONSE_TO_CLIENT   1
#define LIMOA_IPC_RESPONSE_TO_SERVER   3
#define LIMOA_SOCKET_PATH   "/var/tmp/limoa"
#define LIMOX_SOCKET_PATH   "/var/tmp/limox"
#define OX_CALLBACK_PLAY   MSG(SGMT_CALLBACK, 1)
#define OX_RQST_ENGINE_PING   MSG(SGMT_ENGINE, 1)
#define OX_RQST_OUTPUT_MIX_CREATE   MSG(SGMT_OUTPUT_MIX, 1)
#define OX_RQST_OUTPUT_MIX_DESTROY   MSG(SGMT_OUTPUT_MIX, 3)
#define OX_RQST_OUTPUT_MIX_REALIZE   MSG(SGMT_OUTPUT_MIX, 2)
#define OX_RQST_PLAYER_CREATE   MSG(SGMT_PLAYER, 1)
#define OX_RQST_PLAYER_DESTROY   MSG(SGMT_PLAYER, 3)
#define OX_RQST_PLAYER_GET_POSITION   MSG(SGMT_PLAYER, 7)
#define OX_RQST_PLAYER_PAUSE   MSG(SGMT_PLAYER, 5)
#define OX_RQST_PLAYER_PLAY   MSG(SGMT_PLAYER, 4)
#define OX_RQST_PLAYER_REALIZE   MSG(SGMT_PLAYER, 2)
#define OX_RQST_PLAYER_REGISTER_CALLBACK   MSG(SGMT_PLAYER, 20)
#define OX_RQST_PLAYER_SET_CALLBACK_EVENTS_MASK   MSG(SGMT_PLAYER, 21)
#define OX_RQST_PLAYER_SET_POSITION   MSG(SGMT_PLAYER, 22)
#define OX_RQST_PLAYER_STOP   MSG(SGMT_PLAYER, 6)
#define PTR_PADDING (   b  )     BUF_BYTES(b, void *)

Typedef Documentation

typedef void* ipc_session_t

Function Documentation

int deep_copy_src_snk ( void *  dst,
const void *  src,
void *  dptr,
void *  ptroff 
)

deep copy XADataSource or XADataSink structure

Parameters:
dst destination structure
src source structure
dptr target data buffer.
ptroff pointer offset within source structure
Returns:
bytes copied into data buffer pointed to by dptr
static void* ipc_init_response ( ipc_packet_t rsps,
int  bytes 
) [inline, static]

macro to initialize IPC response packet.

static ipc_standard_rsps_t* ipc_init_standard_response ( ipc_packet_t rsps  )  [inline, static]

macro to initialize default IPC response packet.

int ipc_read_packet ( ipc_session_t  sid,
ipc_packet_t pkt 
)

read IPC packet data returned in pkt->dptr must be explicitly released by caller through a call to ipc_release_packet().

Parameters:
sid IPC session ID.
pkt IPC packet.
Returns:
number of bytes read, negative number to indicate error.
void ipc_release_packet ( ipc_session_t  sid,
ipc_packet_t pkt 
)

release IPC packet data

Parameters:
sid IPC session ID.
pkt IPC packet, must be the returned by ipc_read_packet().
ipc_session_t ipc_session_create ( int  fd  ) 

initialize IPC session.

Parameters:
fd session socket file descriptor.
Returns:
session ID session successfully initialized, NULL otherwise.
void ipc_session_destroy ( ipc_session_t  sid  ) 

destroy IPC session.

Parameters:
sid session ID return by ipc_session_init().
int ipc_write_packet ( ipc_session_t  sid,
ipc_packet_t pkt 
)

write IPC packet

Parameters:
sid IPC session ID.
pkt IPC packet.
Returns:
number of bytes written, negative number to indicate error.
const char* xa_error_string ( XAresult  res  ) 
LIMOpenMAX Implementation API Reference - Generated by doxygen