OpenMAX Bellagio
0.9.3
|
#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 |
Variables | |
BOSA_COMPONENTLOADER ** | loadersList = NULL |
#define _GNU_SOURCE |
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
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().
CPresult file_pipe_Constructor | ( | CP_PIPETYPE * | pPipe, |
CPstring | szURI | ||
) |
Referenced by OMX_GetContentPipe().
CPresult inet_pipe_Constructor | ( | CP_PIPETYPE * | pPipe, |
CPstring | szURI | ||
) |
Referenced by OMX_GetContentPipe().
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_ERRORTYPE OMX_FreeHandle | ( | OMX_HANDLETYPE | hComponent | ) |
The OMX_FreeHandle standard function.
This function executes the BOSA_DestroyComponent of the component loaders
hComponent | the component handle to be freed |
Definition at line 190 of file omxcore.c.
References DEB_LEV_FUNCTION_NAME, DEBUG, and err.
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
role | See spec |
pNumComps | See spec |
compNames | See spec |
Definition at line 358 of file omxcore.c.
References DEB_LEV_FUNCTION_NAME, DEBUG, err, and OMX_ErrorNone.
OMX_ERRORTYPE OMX_GetContentPipe | ( | OMX_HANDLETYPE * | hPipe, |
OMX_STRING | szURI | ||
) |
Definition at line 413 of file omxcore.c.
References DEB_LEV_FUNCTION_NAME, DEBUG, err, file_pipe_Constructor(), inet_pipe_Constructor(), OMX_ErrorContentPipeCreationFailed, and OMX_ErrorNone.
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.
Definition at line 153 of file omxcore.c.
References DEB_LEV_FUNCTION_NAME, DEBUG, err, and OMX_ErrorNone.
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_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
hOutput | component handler that controls the output port of the tunnel |
nPortOutput | index of the output port of the tunnel |
hInput | component handler that controls the input port of the tunnel |
nPortInput | index of the input port of the tunnel |
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.
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