omx_audiomixer_component.c File Reference

#include <omxcore.h>
#include <omx_base_audio_port.h>
#include <omx_audiomixer_component.h>
#include <OMX_Audio.h>

Go to the source code of this file.

Defines

#define OMX_AUDIO_MIXER_INPUTPORT_INDEX   0
#define OMX_AUDIO_MIXER_INPUTPORT_INDEX_1   1
#define OMX_AUDIO_MIXER_OUTPUTPORT_INDEX   2
#define GAIN_VALUE   100.0f
#define MAX_COMPONENT_AUDIO_MIXER   1

Functions

OMX_ERRORTYPE omx_audio_mixer_component_Constructor (OMX_COMPONENTTYPE *openmaxStandComp, OMX_STRING cComponentName)
OMX_ERRORTYPE omx_audio_mixer_component_Destructor (OMX_COMPONENTTYPE *openmaxStandComp)
void omx_audio_mixer_component_BufferMgmtCallback (OMX_COMPONENTTYPE *openmaxStandComp, OMX_BUFFERHEADERTYPE *pInBuffer, OMX_BUFFERHEADERTYPE *pOutBuffer)
OMX_ERRORTYPE omx_audio_mixer_component_SetConfig (OMX_IN OMX_HANDLETYPE hComponent, OMX_IN OMX_INDEXTYPE nIndex, OMX_IN OMX_PTR pComponentConfigStructure)
OMX_ERRORTYPE omx_audio_mixer_component_GetConfig (OMX_IN OMX_HANDLETYPE hComponent, OMX_IN OMX_INDEXTYPE nIndex, OMX_INOUT OMX_PTR pComponentConfigStructure)
OMX_ERRORTYPE omx_audio_mixer_component_SetParameter (OMX_IN OMX_HANDLETYPE hComponent, OMX_IN OMX_INDEXTYPE nParamIndex, OMX_IN OMX_PTR ComponentParameterStructure)
OMX_ERRORTYPE omx_audio_mixer_component_GetParameter (OMX_IN OMX_HANDLETYPE hComponent, OMX_IN OMX_INDEXTYPE nParamIndex, OMX_INOUT OMX_PTR ComponentParameterStructure)
void * omx_audio_mixer_BufferMgmtFunction (void *param)


Detailed Description

OpenMAX audio mixer control component. This component implements a mixer that mixes multiple audio PCM streams and produces a single output stream.

Copyright (C) 2008 STMicroelectronics Copyright (C) 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
2008-07-02 15:17:00 +0200 (Wed, 02 Jul 2008)
Revision
Rev
557
Author
Author
gsent

Definition in file omx_audiomixer_component.c.


Define Documentation

#define GAIN_VALUE   100.0f

#define MAX_COMPONENT_AUDIO_MIXER   1

Definition at line 43 of file omx_audiomixer_component.c.

Referenced by omx_audio_mixer_component_Constructor().

#define OMX_AUDIO_MIXER_INPUTPORT_INDEX   0

Definition at line 35 of file omx_audiomixer_component.c.

#define OMX_AUDIO_MIXER_INPUTPORT_INDEX_1   1

Definition at line 36 of file omx_audiomixer_component.c.

#define OMX_AUDIO_MIXER_OUTPUTPORT_INDEX   2

Definition at line 37 of file omx_audiomixer_component.c.


Function Documentation

void* omx_audio_mixer_BufferMgmtFunction ( void *  param  ) 

This is the central function for component processing,overridden for audio mixer. 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 358 of file omx_audiomixer_component.c.

References DEB_LEV_ERR, DEB_LEV_FULL_SEQ, DEB_LEV_FUNCTION_NAME, DEB_LEV_SIMPLE_SEQ, DEBUG, dequeue(), MAX_PORTS, OMX_BUFFERFLAG_EOS, OMX_EventBufferFlag, OMX_EventMark, OMX_FALSE, OMX_PortDomainAudio, OMX_StateExecuting, OMX_StateIdle, OMX_StateInvalid, OMX_StateLoaded, OMX_StatePause, OMX_TransStateLoadedToIdle, OMX_TRUE, OMX_COMPONENTTYPE::pComponentPrivate, PORT_IS_BEING_FLUSHED, PORT_IS_ENABLED, tsem_down(), and tsem_wait().

Referenced by omx_audio_mixer_component_Constructor().

void omx_audio_mixer_component_BufferMgmtCallback ( OMX_COMPONENTTYPE openmaxStandComp,
OMX_BUFFERHEADERTYPE pInBuffer,
OMX_BUFFERHEADERTYPE pOutBuffer 
)

OMX_ERRORTYPE omx_audio_mixer_component_Constructor ( OMX_COMPONENTTYPE openmaxStandComp,
OMX_STRING  cComponentName 
)

OMX_ERRORTYPE omx_audio_mixer_component_Destructor ( OMX_COMPONENTTYPE openmaxStandComp  ) 

OMX_ERRORTYPE omx_audio_mixer_component_GetConfig ( OMX_IN OMX_HANDLETYPE  hComponent,
OMX_IN OMX_INDEXTYPE  nIndex,
OMX_INOUT OMX_PTR  pComponentConfigStructure 
)

OMX_ERRORTYPE omx_audio_mixer_component_GetParameter ( OMX_IN OMX_HANDLETYPE  hComponent,
OMX_IN OMX_INDEXTYPE  nParamIndex,
OMX_INOUT OMX_PTR  ComponentParameterStructure 
)

OMX_ERRORTYPE omx_audio_mixer_component_SetConfig ( OMX_IN OMX_HANDLETYPE  hComponent,
OMX_IN OMX_INDEXTYPE  nIndex,
OMX_IN OMX_PTR  pComponentConfigStructure 
)

OMX_ERRORTYPE omx_audio_mixer_component_SetParameter ( OMX_IN OMX_HANDLETYPE  hComponent,
OMX_IN OMX_INDEXTYPE  nParamIndex,
OMX_IN OMX_PTR  ComponentParameterStructure 
)


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