omx_volume_component.c File Reference

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

Go to the source code of this file.

Defines

#define GAIN_VALUE   100.0f
#define MAX_COMPONENT_VOLUME   1

Functions

OMX_ERRORTYPE omx_volume_component_Constructor (OMX_COMPONENTTYPE *openmaxStandComp, OMX_STRING cComponentName)
OMX_ERRORTYPE omx_volume_component_Destructor (OMX_COMPONENTTYPE *openmaxStandComp)
void omx_volume_component_BufferMgmtCallback (OMX_COMPONENTTYPE *openmaxStandComp, OMX_BUFFERHEADERTYPE *pInputBuffer, OMX_BUFFERHEADERTYPE *pOutputBuffer)
OMX_ERRORTYPE omx_volume_component_SetConfig (OMX_IN OMX_HANDLETYPE hComponent, OMX_IN OMX_INDEXTYPE nIndex, OMX_IN OMX_PTR pComponentConfigStructure)
OMX_ERRORTYPE omx_volume_component_GetConfig (OMX_IN OMX_HANDLETYPE hComponent, OMX_IN OMX_INDEXTYPE nIndex, OMX_INOUT OMX_PTR pComponentConfigStructure)
OMX_ERRORTYPE omx_volume_component_SetParameter (OMX_IN OMX_HANDLETYPE hComponent, OMX_IN OMX_INDEXTYPE nParamIndex, OMX_IN OMX_PTR ComponentParameterStructure)
OMX_ERRORTYPE omx_volume_component_GetParameter (OMX_IN OMX_HANDLETYPE hComponent, OMX_IN OMX_INDEXTYPE nParamIndex, OMX_INOUT OMX_PTR ComponentParameterStructure)


Detailed Description

OpenMAX volume control component. This component implements a filter that controls the volume level of the audio PCM stream.

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_volume_component.c.


Define Documentation

#define GAIN_VALUE   100.0f

Definition at line 36 of file omx_volume_component.c.

#define MAX_COMPONENT_VOLUME   1

Definition at line 39 of file omx_volume_component.c.


Function Documentation

void omx_volume_component_BufferMgmtCallback ( OMX_COMPONENTTYPE openmaxStandComp,
OMX_BUFFERHEADERTYPE pInputBuffer,
OMX_BUFFERHEADERTYPE pOutputBuffer 
)

This function is used to process the input buffer and provide one output buffer

Definition at line 136 of file omx_volume_component.c.

References GAIN_VALUE, OMX_BUFFERHEADERTYPE::nFilledLen, OMX_BUFFERHEADERTYPE::pBuffer, and OMX_COMPONENTTYPE::pComponentPrivate.

OMX_ERRORTYPE omx_volume_component_Constructor ( OMX_COMPONENTTYPE openmaxStandComp,
OMX_STRING  cComponentName 
)

Definition at line 45 of file omx_volume_component.c.

References DEB_LEV_FUNCTION_NAME, DEBUG, err, omx_base_filter_Constructor(), OMX_ErrorInsufficientResources, OMX_ErrorNone, and OMX_COMPONENTTYPE::pComponentPrivate.

Referenced by omx_component_library_Setup().

OMX_ERRORTYPE omx_volume_component_Destructor ( OMX_COMPONENTTYPE openmaxStandComp  ) 

The destructor

Definition at line 112 of file omx_volume_component.c.

References DEB_LEV_FUNCTION_NAME, DEBUG, omx_base_filter_Destructor(), OMX_ErrorNone, and OMX_COMPONENTTYPE::pComponentPrivate.

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

Definition at line 181 of file omx_volume_component.c.

References err, omx_base_component_GetConfig(), OMX_ErrorNone, OMX_IndexConfigAudioVolume, OMX_TRUE, OMX_COMPONENTTYPE::pComponentPrivate, and setHeader().

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

Definition at line 246 of file omx_volume_component.c.

References OMX_AUDIO_PARAM_PCMMODETYPE::bInterleaved, checkHeader(), DEB_LEV_SIMPLE_SEQ, DEBUG, OMX_AUDIO_PARAM_PCMMODETYPE::eEndian, OMX_AUDIO_PARAM_PCMMODETYPE::eNumData, OMX_AUDIO_PARAM_PCMMODETYPE::ePCMMode, err, OMX_AUDIO_PARAM_PCMMODETYPE::nBitPerSample, OMX_AUDIO_PARAM_PCMMODETYPE::nChannels, OMX_AUDIO_PARAM_PORTFORMATTYPE::nPortIndex, OMX_AUDIO_PARAM_PCMMODETYPE::nPortIndex, OMX_AUDIO_PARAM_PCMMODETYPE::nSamplingRate, OMX_AUDIO_PCMModeLinear, omx_base_component_GetParameter(), OMX_EndianBig, OMX_ErrorBadParameter, OMX_ErrorBadPortIndex, OMX_ErrorNone, OMX_IndexParamAudioInit, OMX_IndexParamAudioPcm, OMX_IndexParamAudioPortFormat, OMX_NumericalDataSigned, OMX_TRUE, OMX_COMPONENTTYPE::pComponentPrivate, and omx_base_audio_PortType::sAudioParam.

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

setting configurations

Definition at line 154 of file omx_volume_component.c.

References err, OMX_BS32::nValue, omx_base_component_SetConfig(), OMX_ErrorBadParameter, OMX_ErrorNone, OMX_IndexConfigAudioVolume, OMX_COMPONENTTYPE::pComponentPrivate, and OMX_AUDIO_CONFIG_VOLUMETYPE::sVolume.

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

Definition at line 206 of file omx_volume_component.c.

References DEB_LEV_ERR, DEB_LEV_SIMPLE_SEQ, DEBUG, err, OMX_AUDIO_PARAM_PORTFORMATTYPE::nPortIndex, omx_base_component_ParameterSanityCheck(), omx_base_component_SetParameter(), OMX_ErrorBadParameter, OMX_ErrorBadPortIndex, OMX_ErrorNone, OMX_IndexParamAudioPortFormat, OMX_COMPONENTTYPE::pComponentPrivate, and omx_base_audio_PortType::sAudioParam.


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