31 #include <sys/types.h>
49 static int initialized;
53 static int bosa_loaders;
77 loadersList = newLoadersList;
79 loadersList[bosa_loaders - 1] = pLoader;
99 if(initialized == 0) {
106 for (i = 0; i < bosa_loaders; i++) {
126 if(initialized == 1) {
127 for (i = 0; i < bosa_loaders; i++) {
129 free(loadersList[i]);
162 for (i = 0; i < bosa_loaders; i++) {
195 for (i = 0; i < bosa_loaders; i++) {
228 for (i = 0; i < bosa_loaders; i++)
232 while((err = loadersList[i]->BOSA_ComponentNameEnum(loadersList[i],
273 __func__, hOutput, (
int)nPortOutput, hInput, (
int)nPortInput);
279 if (hOutput == NULL && hInput == NULL)
284 DEBUG(
DEB_LEV_ERR,
"Tunneling failed: output port rejects it - err = %x\n", err);
298 DEBUG(
DEB_LEV_ERR,
"Tunneling failed: input port rejects it - err = %08x\n", err);
334 for (i = 0; i < bosa_loaders; i++) {
364 int only_number_requested = 0, full_number=0;
369 if (compNames == NULL) {
370 only_number_requested = 1;
372 only_number_requested = 0;
374 for (i = 0; i < bosa_loaders; i++) {
375 temp_num_comp = *pNumComps;
385 if (only_number_requested == 0) {
386 tempCompNames = malloc(temp_num_comp *
sizeof(
OMX_STRING));
387 for (j=0; j<temp_num_comp; j++) {
400 for (j = 0; j<temp_num_comp; j++) {
401 if (full_number + j < *pNumComps) {
402 strncpy((
char *)compNames[full_number + j], (
const char *)tempCompNames[j], 128);
406 full_number += temp_num_comp;
408 *pNumComps = full_number;
420 if(strncmp(szURI,
"file", 4) == 0) {
422 if(res == 0x00000000)
426 else if(strncmp(szURI,
"inet", 4) == 0) {
428 if(res == 0x00000000)
OMX_ERRORTYPE(* BOSA_DeInitComponentLoader)(struct BOSA_COMPONENTLOADER *loader)
The destructor of the component loader.
OMX_API OMX_ERRORTYPE OMX_GetComponentsOfRole(OMX_IN OMX_STRING role, OMX_INOUT OMX_U32 *pNumComps, OMX_INOUT OMX_U8 **compNames)
OMX_ERRORTYPE BOSA_AddComponentLoader(BOSA_COMPONENTLOADER *pLoader)
#define DEB_LEV_SIMPLE_SEQ
OMX_ERRORTYPE(* ComponentTunnelRequest)(OMX_IN OMX_HANDLETYPE hComp, OMX_IN OMX_U32 nPort, OMX_IN OMX_HANDLETYPE hTunneledComp, OMX_IN OMX_U32 nTunneledPort, OMX_INOUT OMX_TUNNELSETUPTYPE *pTunnelSetup)
OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_Init(void)
The OMX_Init standard function.
#define DEBUG(n, fmt, args...)
OMX_ERRORTYPE(* BOSA_GetRolesOfComponent)(struct BOSA_COMPONENTLOADER *loader, OMX_STRING compName, OMX_U32 *pNumRoles, OMX_U8 **roles)
This function implements the OMX_GetRolesOfComponent standard function for the current component load...
Component loader entry points.
OMX_ERRORTYPE(* BOSA_CreateComponent)(struct BOSA_COMPONENTLOADER *loader, OMX_HANDLETYPE *pHandle, OMX_STRING cComponentName, OMX_PTR pAppData, OMX_CALLBACKTYPE *pCallBacks)
The component constructor of the current component loader.
OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_SetupTunnel(OMX_IN OMX_HANDLETYPE hOutput, OMX_IN OMX_U32 nPortOutput, OMX_IN OMX_HANDLETYPE hInput, OMX_IN OMX_U32 nPortInput)
OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_GetHandle(OMX_OUT OMX_HANDLETYPE *pHandle, OMX_IN OMX_STRING cComponentName, OMX_IN OMX_PTR pAppData, OMX_IN OMX_CALLBACKTYPE *pCallBacks)
OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_FreeHandle(OMX_IN OMX_HANDLETYPE hComponent)
int createComponentLoaders(void)
OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_ComponentNameEnum(OMX_OUT OMX_STRING cComponentName, OMX_IN OMX_U32 nNameLength, OMX_IN OMX_U32 nIndex)
OMX_ERRORTYPE(* BOSA_GetComponentsOfRole)(struct BOSA_COMPONENTLOADER *loader, OMX_STRING role, OMX_U32 *pNumComps, OMX_U8 **compNames)
This function implements the OMX_GetComponentsOfRole standard function for the current component load...
#define OMX_MAX_STRINGNAME_SIZE
OMX_API OMX_ERRORTYPE OMX_GetContentPipe(OMX_OUT OMX_HANDLETYPE *hPipe, OMX_IN OMX_STRING szURI)
BOSA_COMPONENTLOADER ** loadersList
CPresult file_pipe_Constructor(CP_PIPETYPE **ppPipe, CPstring szURI)
OMX_API OMX_ERRORTYPE OMX_GetRolesOfComponent(OMX_IN OMX_STRING compName, OMX_INOUT OMX_U32 *pNumRoles, OMX_OUT OMX_U8 **roles)
#define DEB_LEV_FUNCTION_NAME
OMX_ERRORTYPE(* BOSA_DestroyComponent)(struct BOSA_COMPONENTLOADER *loader, OMX_HANDLETYPE hComponent)
The component destructor of the current component loader.
OMX_ERRORTYPE(* BOSA_InitComponentLoader)(struct BOSA_COMPONENTLOADER *loader)
The constructor of the component loader.
OMX_BUFFERSUPPLIERTYPE eSupplier
CPresult inet_pipe_Constructor(CP_PIPETYPE **ppPipe, CPstring szURI)
OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_Deinit(void)
The OMX_Deinit standard function.