OpenMAX Bellagio 0.9.3
|
#include <OMX_Types.h>
#include <OMX_Component.h>
#include <OMX_Core.h>
#include "omx_base_component.h"
Go to the source code of this file.
Data Structures | |
struct | omx_base_filter_PrivateType |
Macros | |
#define | OMX_BASE_FILTER_INPUTPORT_INDEX 0 |
#define | OMX_BASE_FILTER_OUTPUTPORT_INDEX 1 |
#define | OMX_BASE_FILTER_ALLPORT_INDEX -1 |
#define | omx_base_filter_PrivateType_FIELDS |
Typedefs | |
typedef struct omx_base_filter_PrivateType | omx_base_filter_PrivateType |
Functions | |
OMX_ERRORTYPE | omx_base_filter_Constructor (OMX_COMPONENTTYPE *openmaxStandComp, OMX_STRING cComponentName) |
The base filter contructor for the OpenMAX ST components. | |
OMX_ERRORTYPE | omx_base_filter_Destructor (OMX_COMPONENTTYPE *openmaxStandComp) |
the base filter destructor for ST OpenMAX components | |
void * | omx_base_filter_BufferMgmtFunction (void *param) |
#define OMX_BASE_FILTER_ALLPORT_INDEX -1 |
OMX_BASE_FILTER_ALLPORT_INDEX as the standard specifies, the -1 value for port index is used to point to all the ports
Definition at line 47 of file omx_base_filter.h.
#define OMX_BASE_FILTER_INPUTPORT_INDEX 0 |
OpenMAX Base Filter component. This component does not perform any multimedia processing. It derives from base component and contains two ports. It can be used as base class for codec and filter components.
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_BASE_FILTER_INPUTPORT_INDEX is the index of any input port for the derived components
Definition at line 39 of file omx_base_filter.h.
#define OMX_BASE_FILTER_OUTPUTPORT_INDEX 1 |
OMX_BASE_FILTER_OUTPUTPORT_INDEX is the index of any output port for the derived components
Definition at line 43 of file omx_base_filter.h.
#define omx_base_filter_PrivateType_FIELDS |
Definition at line 52 of file omx_base_filter.h.
typedef struct omx_base_filter_PrivateType omx_base_filter_PrivateType |
Base Filter component private structure.
Definition at line 51 of file omx_base_filter.h.
void * omx_base_filter_BufferMgmtFunction | ( | void * | param | ) |
This is the central function for component processing. It is executed in a separate thread, is synchronized with semaphores at each port, those are released each time a new buffer is available on the given port.
Definition at line 85 of file omx_base_filter.c.
References omx_base_filter_PrivateType::bellagioThreads, omx_base_filter_PrivateType::bIsEOSReached, omx_base_filter_PrivateType::bMgmtSem, omx_base_filter_PrivateType::bStateSem, omx_base_filter_PrivateType::BufferMgmtCallback, omx_base_filter_PrivateType::callbackData, omx_base_filter_PrivateType::callbacks, DEB_LEV_ERR, DEB_LEV_FULL_SEQ, DEB_LEV_FUNCTION_NAME, DEB_LEV_SIMPLE_SEQ, DEBUG, dequeue(), OMX_CALLBACKTYPE::EventHandler, omx_base_filter_PrivateType::flush_all_condition, omx_base_filter_PrivateType::flush_condition, omx_base_filter_PrivateType::flush_mutex, OMX_BUFFERHEADERTYPE::hMarkTargetComponent, OMX_MARKTYPE::hMarkTargetComponent, queue_t::nelem, OMX_BUFFERHEADERTYPE::nFilledLen, OMX_BUFFERHEADERTYPE::nFlags, OMX_PARAM_BELLAGIOTHREADS_ID::nThreadBufferMngtID, OMX_BUFFERHEADERTYPE::nTimeStamp, OMX_BASE_FILTER_INPUTPORT_INDEX, OMX_BASE_FILTER_OUTPUTPORT_INDEX, OMX_BUFFERFLAG_EOS, OMX_BUFFERFLAG_STARTTIME, OMX_EventBufferFlag, OMX_EventMark, OMX_FALSE, OMX_StateExecuting, OMX_StateIdle, OMX_StateInvalid, OMX_StateLoaded, OMX_StatePause, OMX_TransStateLoadedToIdle, OMX_TRUE, omx_base_PortType::pBufferQueue, omx_base_PortType::pBufferSem, OMX_COMPONENTTYPE::pComponentPrivate, omx_base_filter_PrivateType::pMark, OMX_BUFFERHEADERTYPE::pMarkData, OMX_MARKTYPE::pMarkData, PORT_IS_BEING_FLUSHED, omx_base_filter_PrivateType::ports, omx_base_PortType::ReturnBufferFunction, tsem_t::semval, omx_base_filter_PrivateType::state, omx_base_filter_PrivateType::transientState, tsem_down(), tsem_up(), and tsem_wait().
Referenced by omx_base_filter_Constructor().
OMX_ERRORTYPE omx_base_filter_Constructor | ( | OMX_COMPONENTTYPE * | openmaxStandComp, |
OMX_STRING | cComponentName | ||
) |
The base filter contructor for the OpenMAX ST components.
openmaxStandComp | the ST component to be initialized |
cComponentName | the OpenMAX string that describes the component |
OpenMAX Base Filter component. This component does not perform any multimedia processing. It derives from base component and contains two ports. It can be used as a base class for codec and filter components.
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 36 of file omx_base_filter.c.
References omx_base_filter_PrivateType::BufferMgmtFunction, DEB_LEV_ERR, DEB_LEV_FUNCTION_NAME, DEBUG, err, omx_base_component_Constructor(), omx_base_filter_BufferMgmtFunction(), OMX_ErrorInsufficientResources, OMX_ErrorNone, and OMX_COMPONENTTYPE::pComponentPrivate.
Referenced by omx_audio_mixer_component_Constructor(), omx_video_scheduler_component_Constructor(), and omx_volume_component_Constructor().
OMX_ERRORTYPE omx_base_filter_Destructor | ( | OMX_COMPONENTTYPE * | openmaxStandComp | ) |
the base filter destructor for ST OpenMAX components
openmaxStandComp | the ST OpenMAX component to be disposed |
Definition at line 68 of file omx_base_filter.c.
References DEB_LEV_ERR, DEB_LEV_FUNCTION_NAME, DEBUG, err, omx_base_component_Destructor(), and OMX_ErrorNone.
Referenced by omx_audio_mixer_component_Destructor(), omx_video_scheduler_component_Destructor(), and omx_volume_component_Destructor().