OpenMAX Bellagio 0.9.3
omxcore.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <dirent.h>
#include <strings.h>
#include <errno.h>
#include <assert.h>
#include <OMX_Core.h>
#include <OMX_ContentPipe.h>
#include "omxcore.h"
#include "omx_create_loaders.h"

Go to the source code of this file.

Macros

#define _GNU_SOURCE
 

Functions

CPresult file_pipe_Constructor (CP_PIPETYPE *pPipe, CPstring szURI)
 
CPresult inet_pipe_Constructor (CP_PIPETYPE *pPipe, CPstring szURI)
 
OMX_ERRORTYPE BOSA_AddComponentLoader (BOSA_COMPONENTLOADER *pLoader)
 
OMX_ERRORTYPE OMX_Init ()
 The OMX_Init standard function. More...
 
OMX_ERRORTYPE OMX_Deinit ()
 The OMX_Deinit standard function. More...
 
OMX_ERRORTYPE OMX_GetHandle (OMX_HANDLETYPE *pHandle, OMX_STRING cComponentName, OMX_PTR pAppData, OMX_CALLBACKTYPE *pCallBacks)
 the OMX_GetHandle standard function More...
 
OMX_ERRORTYPE OMX_FreeHandle (OMX_HANDLETYPE hComponent)
 The OMX_FreeHandle standard function. More...
 
OMX_ERRORTYPE OMX_ComponentNameEnum (OMX_STRING cComponentName, OMX_U32 nNameLength, OMX_U32 nIndex)
 the OMX_ComponentNameEnum standard function More...
 
OMX_ERRORTYPE OMX_SetupTunnel (OMX_HANDLETYPE hOutput, OMX_U32 nPortOutput, OMX_HANDLETYPE hInput, OMX_U32 nPortInput)
 the OMX_SetupTunnel standard function More...
 
OMX_ERRORTYPE OMX_GetRolesOfComponent (OMX_STRING CompName, OMX_U32 *pNumRoles, OMX_U8 **roles)
 the OMX_GetRolesOfComponent standard function More...
 
OMX_ERRORTYPE OMX_GetComponentsOfRole (OMX_STRING role, OMX_U32 *pNumComps, OMX_U8 **compNames)
 the OMX_GetComponentsOfRole standard function More...
 
OMX_ERRORTYPE OMX_GetContentPipe (OMX_HANDLETYPE *hPipe, OMX_STRING szURI)
 

Variables

BOSA_COMPONENTLOADER ** loadersList = NULL
 

Macro Definition Documentation

◆ _GNU_SOURCE

#define _GNU_SOURCE

src/omxcore.c

OpenMAX Integration Layer Core. This library implements the OpenMAX core responsible for environment setup, components tunneling and communication.

Copyright (C) 2007-2009 STMicroelectronics Copyright (C) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

Definition at line 27 of file omxcore.c.

Function Documentation

◆ BOSA_AddComponentLoader()

OMX_ERRORTYPE BOSA_AddComponentLoader ( BOSA_COMPONENTLOADER pLoader)

Definition at line 64 of file omxcore.c.

References DEB_LEV_FUNCTION_NAME, and DEBUG.

Referenced by createComponentLoaders().

◆ file_pipe_Constructor()

CPresult file_pipe_Constructor ( CP_PIPETYPE pPipe,
CPstring  szURI 
)

Referenced by OMX_GetContentPipe().

◆ inet_pipe_Constructor()

CPresult inet_pipe_Constructor ( CP_PIPETYPE pPipe,
CPstring  szURI 
)

Referenced by OMX_GetContentPipe().

◆ OMX_ComponentNameEnum()

OMX_ERRORTYPE OMX_ComponentNameEnum ( OMX_STRING  cComponentName,
OMX_U32  nNameLength,
OMX_U32  nIndex 
)

the OMX_ComponentNameEnum standard function

This function build a complete list of names from all the loaders. For each loader the index is from 0 to max, but this function must provide a single list, with a common index. This implementation orders the loaders and the related list of components.

Definition at line 216 of file omxcore.c.

References DEB_LEV_FUNCTION_NAME, DEBUG, err, and OMX_ErrorNone.

◆ OMX_FreeHandle()

OMX_ERRORTYPE OMX_FreeHandle ( OMX_HANDLETYPE  hComponent)

The OMX_FreeHandle standard function.

This function executes the BOSA_DestroyComponent of the component loaders

Parameters
hComponentthe component handle to be freed
Returns
The error of the BOSA_DestroyComponent function or OMX_ErrorNone

Definition at line 190 of file omxcore.c.

References DEB_LEV_FUNCTION_NAME, DEBUG, and err.

◆ OMX_GetComponentsOfRole()

OMX_ERRORTYPE OMX_GetComponentsOfRole ( OMX_STRING  role,
OMX_U32 pNumComps,
OMX_U8 **  compNames 
)

the OMX_GetComponentsOfRole standard function

This function searches in all the component loaders any component supporting the requested role

Parameters
roleSee spec
pNumCompsSee spec
compNamesSee spec

Definition at line 358 of file omxcore.c.

References DEB_LEV_FUNCTION_NAME, DEBUG, err, and OMX_ErrorNone.

◆ OMX_GetContentPipe()

◆ OMX_GetHandle()

OMX_ERRORTYPE OMX_GetHandle ( OMX_HANDLETYPE pHandle,
OMX_STRING  cComponentName,
OMX_PTR  pAppData,
OMX_CALLBACKTYPE pCallBacks 
)

the OMX_GetHandle standard function

This function will scan inside any component loader to search for the requested component. If there are more components with the same name the first component is returned. The existence of multiple components with the same name is not contemplated in OpenMAX specification. The assumption is that this behavior is NOT allowed.

Returns
OMX_ErrorNone if a component has been found OMX_ErrorComponentNotFound if the requested component has not been found in any loader

Definition at line 153 of file omxcore.c.

References DEB_LEV_FUNCTION_NAME, DEBUG, err, and OMX_ErrorNone.

◆ OMX_GetRolesOfComponent()

OMX_ERRORTYPE OMX_GetRolesOfComponent ( OMX_STRING  CompName,
OMX_U32 pNumRoles,
OMX_U8 **  roles 
)

the OMX_GetRolesOfComponent standard function

Definition at line 326 of file omxcore.c.

References DEB_LEV_FUNCTION_NAME, DEBUG, err, and OMX_ErrorNone.

◆ OMX_SetupTunnel()

OMX_ERRORTYPE OMX_SetupTunnel ( OMX_HANDLETYPE  hOutput,
OMX_U32  nPortOutput,
OMX_HANDLETYPE  hInput,
OMX_U32  nPortInput 
)

the OMX_SetupTunnel standard function

The implementation of this function is described in the OpenMAX spec

Parameters
hOutputcomponent handler that controls the output port of the tunnel
nPortOutputindex of the output port of the tunnel
hInputcomponent handler that controls the input port of the tunnel
nPortInputindex of the input port of the tunnel
Returns
OMX_ErrorBadParameter, OMX_ErrorPortsNotCompatible, tunnel rejected by a component or OMX_ErrorNone if the tunnel has been established

Definition at line 262 of file omxcore.c.

References OMX_COMPONENTTYPE::ComponentTunnelRequest, DEB_LEV_ERR, DEB_LEV_FUNCTION_NAME, DEB_LEV_PARAMS, DEBUG, err, OMX_TUNNELSETUPTYPE::eSupplier, OMX_TUNNELSETUPTYPE::nTunnelFlags, OMX_BufferSupplyUnspecified, OMX_ErrorBadParameter, OMX_ErrorNone, OMX_ErrorPortsNotCompatible, and OMX_ErrorUndefined.

Variable Documentation

◆ loadersList

BOSA_COMPONENTLOADER** loadersList = NULL

The pointer to the loaders list. This list contains the all the different component loaders present in the system or added by the IL Client with the BOSA_AddComponentLoader function. The component loader is a implementation specific way to handle a set of components. The implementation of the IL core accesses to the loaders in a standard way, but the different loaders can handle different types of components, or handle in different ways the same components. It can be used also to create a multi-OS support

Definition at line 62 of file omxcore.c.


Generated for OpenMAX Bellagio rel. 0.9.3 by  doxygen 1.5.1
SourceForge.net Logo