OpenMAX Bellagio  0.9.3
omx_audiomixer_component.h File Reference
#include <OMX_Types.h>
#include <OMX_Component.h>
#include <OMX_Core.h>
#include <string.h>
#include <omx_base_filter.h>
#include <omx_base_audio_port.h>

Go to the source code of this file.

Macros

#define MIXER_COMP_NAME   "OMX.st.audio.mixer"
 
#define MIXER_COMP_ROLE   "audio.mixer"
 
#define MAX_MIXER_COMPONENTS   5
 
#define MIXER_QUALITY_LEVELS   1
 
#define MAX_PORTS   5
 
#define MAX_CHANNEL   6
 
#define omx_audio_mixer_component_PortType_FIELDS
 
#define omx_audio_mixer_component_PrivateType_FIELDS
 

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 *inputbuffer, OMX_BUFFERHEADERTYPE *outputbuffer)
 
OMX_ERRORTYPE omx_audio_mixer_component_GetParameter (OMX_HANDLETYPE hComponent, OMX_INDEXTYPE nParamIndex, OMX_PTR ComponentParameterStructure)
 
OMX_ERRORTYPE omx_audio_mixer_component_SetParameter (OMX_HANDLETYPE hComponent, OMX_INDEXTYPE nParamIndex, OMX_PTR ComponentParameterStructure)
 
OMX_ERRORTYPE omx_audio_mixer_component_GetConfig (OMX_HANDLETYPE hComponent, OMX_INDEXTYPE nIndex, OMX_PTR pComponentConfigStructure)
 
OMX_ERRORTYPE omx_audio_mixer_component_SetConfig (OMX_HANDLETYPE hComponent, OMX_INDEXTYPE nIndex, OMX_PTR pComponentConfigStructure)
 
void * omx_audio_mixer_BufferMgmtFunction (void *param)
 

Macro Definition Documentation

◆ MAX_CHANNEL

#define MAX_CHANNEL   6

Definition at line 45 of file omx_audiomixer_component.h.

◆ MAX_MIXER_COMPONENTS

#define MAX_MIXER_COMPONENTS   5

Definition at line 39 of file omx_audiomixer_component.h.

◆ MAX_PORTS

#define MAX_PORTS   5

Definition at line 44 of file omx_audiomixer_component.h.

◆ MIXER_COMP_NAME

#define MIXER_COMP_NAME   "OMX.st.audio.mixer"

src/components/audio_effects/omx_audiomixer_component.h

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-2009 STMicroelectronics Copyright (C) 2008-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 37 of file omx_audiomixer_component.h.

◆ MIXER_COMP_ROLE

#define MIXER_COMP_ROLE   "audio.mixer"

Definition at line 38 of file omx_audiomixer_component.h.

◆ MIXER_QUALITY_LEVELS

#define MIXER_QUALITY_LEVELS   1

Definition at line 41 of file omx_audiomixer_component.h.

◆ omx_audio_mixer_component_PortType_FIELDS

#define omx_audio_mixer_component_PortType_FIELDS
Value:
OMX_AUDIO_PARAM_PCMMODETYPE pAudioPcmMode; \ \
float gain; \ \
OMX_AUDIO_CONFIG_VOLUMETYPE sVolume; \ \
OMX_AUDIO_CONFIG_CHANNELVOLUMETYPE sChannelVolume[MAX_CHANNEL];
#define MAX_CHANNEL
#define omx_base_audio_PortType_FIELDS

Audio Mixer port structure.

Definition at line 50 of file omx_audiomixer_component.h.

◆ omx_audio_mixer_component_PrivateType_FIELDS

#define omx_audio_mixer_component_PrivateType_FIELDS
Value:
#define omx_base_filter_PrivateType_FIELDS

Twoport component private structure. see the define above

Definition at line 65 of file omx_audiomixer_component.h.

Function Documentation

◆ omx_audio_mixer_BufferMgmtFunction()

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.

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 399 of file omx_audiomixer_component.c.

References checkAnyPortBeingFlushed(), 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_TransStateExecutingToIdle, OMX_TransStateLoadedToIdle, OMX_TransStatePauseToIdle, OMX_TRUE, OMX_COMPONENTTYPE::pComponentPrivate, PORT_IS_BEING_FLUSHED, PORT_IS_ENABLED, tsem_down(), tsem_up(), and tsem_wait().

Referenced by omx_audio_mixer_component_Constructor().

◆ omx_audio_mixer_component_BufferMgmtCallback()

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

◆ omx_audio_mixer_component_Constructor()

◆ omx_audio_mixer_component_Destructor()

OMX_ERRORTYPE omx_audio_mixer_component_Destructor ( OMX_COMPONENTTYPE openmaxStandComp)

◆ omx_audio_mixer_component_GetConfig()

◆ omx_audio_mixer_component_GetParameter()

◆ omx_audio_mixer_component_SetConfig()

◆ omx_audio_mixer_component_SetParameter()


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