omx_base_filter.c File Reference

#include <omxcore.h>
#include "omx_base_filter.h"

Go to the source code of this file.

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)


Detailed Description

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 STMicroelectronics Copyright (C) 2007-2008 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

$Date$ Revision $Rev$ Author $Author$

Definition in file omx_base_filter.c.


Function Documentation

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 75 of file omx_base_filter.c.

References omx_base_component_PrivateType::bStateSem, DEB_LEV_ERR, DEB_LEV_FULL_SEQ, DEB_LEV_FUNCTION_NAME, DEB_LEV_SIMPLE_SEQ, DEBUG, dequeue(), OMX_BUFFERHEADERTYPE::hMarkTargetComponent, queue_t::nelem, OMX_BUFFERHEADERTYPE::nFilledLen, OMX_BUFFERHEADERTYPE::nFlags, OMX_BUFFERHEADERTYPE::nTimeStamp, OMX_BASE_FILTER_INPUTPORT_INDEX, OMX_BASE_FILTER_OUTPUTPORT_INDEX, OMX_BUFFERFLAG_EOS, 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_BUFFERHEADERTYPE::pMarkData, PORT_IS_BEING_FLUSHED, omx_base_component_PrivateType::ports, omx_base_PortType::ReturnBufferFunction, tsem_t::semval, tsem_down(), 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.

Parameters:
openmaxStandComp the ST component to be initialized
Returns:
OMX_ErrorInsufficientResources if a memory allocation fails

Definition at line 36 of file omx_base_filter.c.

References 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_audiodec_component_Constructor(), omx_ffmpeg_colorconv_component_Constructor(), omx_maddec_component_Constructor(), omx_videodec_component_Constructor(), omx_videoenc_component_Constructor(), omx_volume_component_Constructor(), and omx_vorbisdec_component_Constructor().

OMX_ERRORTYPE omx_base_filter_Destructor ( OMX_COMPONENTTYPE openmaxStandComp  ) 

the base filter destructor for ST OpenMAX components

Parameters:
openmaxStandComp the ST OpenMAX component to be disposed

Definition at line 65 of file omx_base_filter.c.

References omx_base_component_Destructor().

Referenced by omx_audio_mixer_component_Destructor(), omx_audiodec_component_Destructor(), omx_ffmpeg_colorconv_component_Destructor(), omx_maddec_component_Destructor(), omx_videodec_component_Destructor(), omx_videoenc_component_Destructor(), omx_volume_component_Destructor(), and omx_vorbisdec_component_Destructor().


Generated for OpenMAX Bellagio rel. 0.3.5-svn by  doxygen 1.5.1
SourceForge.net Logo