omxilcomp/omxilaudioemulator/pcmrenderer/src/omxilpcmrendererapb0port.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 17 Sep 2010 08:27:08 +0300
changeset 1 e0d606d6e3b1
parent 0 58be5850fb6c
permissions -rw-r--r--
Revision: 2010wk36 Kit: 201037
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     1
/*
1
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
     2
* Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
0
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     3
* All rights reserved.
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     8
*
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     9
* Initial Contributors:
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    11
*
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    12
* Contributors:
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    13
*
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    14
* Description:
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    15
*
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    16
*/
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    17
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    18
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    19
/**
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    20
 @file
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    21
 @internalComponent
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    22
*/
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    23
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    24
#include <openmax/il/khronos/v1_x/OMX_Component.h>
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    25
#include <openmax/il/common/omxilutil.h>
1
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    26
#include <openmax/il/shai/OMX_Symbian_ExtensionNames.h>
0
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    27
#include "log.h"
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    28
#include "omxilpcmrendererapb0port.h"
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    29
#include "omxilpcmrendererconst.h"
1
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    30
#include "omxilpcmrendererprocessingfunction.h"
0
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    31
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    32
1
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    33
COmxILPcmRendererAPB0Port* COmxILPcmRendererAPB0Port::NewL(
0
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    34
	const TOmxILCommonPortData& aCommonPortData,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    35
	const RArray<OMX_AUDIO_CODINGTYPE>& aSupportedAudioFormats,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    36
	const OMX_AUDIO_PARAM_PCMMODETYPE& aParamAudioPcm,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    37
	const OMX_AUDIO_CONFIG_VOLUMETYPE& aConfigAudioVolume,
1
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    38
	const OMX_AUDIO_CONFIG_MUTETYPE& aConfigAudioMute,
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    39
	COmxILPcmRendererProcessingFunction& aProcessingFunction)
0
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    40
	{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    41
    DEBUG_PRINTF(_L8("COmxILPcmRendererAPB0Port::NewL"));
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    42
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    43
	COmxILPcmRendererAPB0Port* self = new (ELeave)COmxILPcmRendererAPB0Port(
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    44
		aParamAudioPcm,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    45
		aConfigAudioVolume,
1
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    46
		aConfigAudioMute,
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    47
		aProcessingFunction);
0
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    48
	
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    49
	CleanupStack::PushL(self);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    50
	self->ConstructL(aCommonPortData, aSupportedAudioFormats);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    51
	CleanupStack::Pop(self);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    52
	return self;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    53
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    54
	}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    55
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    56
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    57
void
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    58
COmxILPcmRendererAPB0Port::ConstructL(const TOmxILCommonPortData& aCommonPortData, const RArray<OMX_AUDIO_CODINGTYPE>& aSupportedAudioFormats)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    59
	{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    60
    DEBUG_PRINTF(_L8("COmxILPcmRendererAPB0Port::ConstructL"));
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    61
	COmxILAudioPort::ConstructL(aCommonPortData, aSupportedAudioFormats);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    62
	OMX_PARAM_PORTDEFINITIONTYPE& paramPortDefinition=GetParamPortDefinition();
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    63
	// We have to finish with iParamPortDefinition
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    64
	paramPortDefinition.eDomain = OMX_PortDomainAudio;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    65
	paramPortDefinition.format.audio.pNativeRender = 0;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    66
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    67
	iMimeTypeBuf.CreateL(KMimeTypeAudioPcm(), KMimeTypeAudioPcm().Length() + 1);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    68
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    69
	TUint8* pTUint2 = const_cast<TUint8*>(iMimeTypeBuf.PtrZ());
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    70
	paramPortDefinition.format.audio.cMIMEType = reinterpret_cast<OMX_STRING>(pTUint2);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    71
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    72
	paramPortDefinition.format.audio.bFlagErrorConcealment = OMX_FALSE;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    73
	paramPortDefinition.format.audio.eEncoding = OMX_AUDIO_CodingPCM;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    74
	
1
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    75
	// Init iConfigVolumeRamp here...
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    76
	iConfigVolumeRamp.nSize			  = sizeof(OMX_SYMBIAN_AUDIO_CONFIG_VOLUMERAMPTYPE);
0
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    77
	iConfigVolumeRamp.nVersion		  = TOmxILSpecVersion();
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    78
	iConfigVolumeRamp.nPortIndex		  = paramPortDefinition.nPortIndex;
1
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    79
	iConfigVolumeRamp.nChannel                = 0;
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    80
	iConfigVolumeRamp.bLinear                 = OMX_FALSE;
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    81
	iConfigVolumeRamp.sStartVolume.nValue     = 0;
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    82
	iConfigVolumeRamp.sStartVolume.nMin       = 0;
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    83
	iConfigVolumeRamp.sStartVolume.nMax       = 0;
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    84
	iConfigVolumeRamp.sEndVolume.nValue       = 0;
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    85
	iConfigVolumeRamp.sEndVolume.nMin        = 0;
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    86
	iConfigVolumeRamp.sEndVolume.nMax         = 0;
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    87
	iConfigVolumeRamp.nRampDuration           = 0;
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    88
	iConfigVolumeRamp.bRampTerminate          = OMX_FALSE;
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    89
	iConfigVolumeRamp.sCurrentVolume.nValue   = 0;
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    90
	iConfigVolumeRamp.sCurrentVolume.nMin    = 0;
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    91
	iConfigVolumeRamp.sCurrentVolume.nMax     = 0;
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    92
	iConfigVolumeRamp.nRampCurrentTime        = 0;
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    93
	iConfigVolumeRamp.nRampMinDuration        = 0;
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    94
	iConfigVolumeRamp.nRampMaxDuration        = 0;
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    95
	iConfigVolumeRamp.nVolumeStep             = 0;
0
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    96
	}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    97
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    98
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    99
COmxILPcmRendererAPB0Port::COmxILPcmRendererAPB0Port(
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   100
	const OMX_AUDIO_PARAM_PCMMODETYPE& aParamAudioPcm,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   101
	const OMX_AUDIO_CONFIG_VOLUMETYPE& aConfigAudioVolume,
1
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   102
	const OMX_AUDIO_CONFIG_MUTETYPE& aConfigAudioMute,
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   103
	COmxILPcmRendererProcessingFunction& aProcessingFunction)
0
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   104
	:
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   105
	iParamAudioPcm(aParamAudioPcm),
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   106
	iConfigAudioVolume(aConfigAudioVolume),
1
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   107
	iConfigAudioMute(aConfigAudioMute),
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   108
	iProcessingFunction(aProcessingFunction)
0
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   109
	{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   110
    DEBUG_PRINTF(_L8("COmxILPcmRendererAPB0Port::COmxILPcmRendererAPB0Port"));
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   111
	}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   112
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   113
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   114
COmxILPcmRendererAPB0Port::~COmxILPcmRendererAPB0Port()
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   115
	{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   116
    DEBUG_PRINTF(_L8("COmxILPcmRendererAPB0Port::~COmxILPcmRendererAPB0Port"));
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   117
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   118
	CleanUpPort();
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   119
	iMimeTypeBuf.Close();
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   120
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   121
	}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   122
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   123
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   124
OMX_ERRORTYPE
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   125
COmxILPcmRendererAPB0Port::SetFormatInPortDefinition(
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   126
	const OMX_PARAM_PORTDEFINITIONTYPE& aPortDefinition,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   127
	TBool& aUpdateProcessingFunction)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   128
	{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   129
    DEBUG_PRINTF(_L8("COmxILPcmRendererAPB0Port::SetFormatInPortDefinition"));
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   130
	// There's no point on chaging the cMIMEType type of this port
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   131
	// Same thing for pNativeRender and eEncoding
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   132
	GetParamPortDefinition().format.audio.bFlagErrorConcealment =
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   133
		aPortDefinition.format.audio.bFlagErrorConcealment;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   134
	// Error concealment not currently needed at the processing function
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   135
	aUpdateProcessingFunction = EFalse;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   136
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   137
	return OMX_ErrorNone;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   138
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   139
	}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   140
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   141
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   142
TBool
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   143
COmxILPcmRendererAPB0Port::IsTunnelledPortCompatible(
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   144
	const OMX_PARAM_PORTDEFINITIONTYPE& aPortDefinition) const
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   145
	{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   146
	DEBUG_PRINTF(_L8("COmxILPcmRendererAPB0Port::IsTunnelledPortCompatible"));
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   147
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   148
	// First, the easy checks...
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   149
	if(aPortDefinition.eDomain != GetParamPortDefinition().eDomain)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   150
		{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   151
		return EFalse;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   152
		}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   153
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   154
	if(aPortDefinition.format.audio.eEncoding != OMX_AUDIO_CodingPCM)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   155
		{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   156
		return EFalse;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   157
		}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   158
	
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   159
    TBool retValue = ETrue;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   160
    
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   161
#ifdef _OMXIL_PCMRENDERER_CHECK_MIME_TYPE_ON
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   162
	RBuf8 tunnelMimeTypeBuf;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   163
	tunnelMimeTypeBuf.Create(KMimeTypeAudioPcm().Length() + 1);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   164
	tunnelMimeTypeBuf =
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   165
		const_cast<const TUint8*>(
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   166
			reinterpret_cast<TUint8*>(aPortDefinition.format.audio.cMIMEType));
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   167
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   168
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   169
	if (iMimeTypeBuf != tunnelMimeTypeBuf)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   170
		{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   171
		retValue = EFalse;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   172
		}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   173
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   174
	tunnelMimeTypeBuf.Close();
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   175
#endif
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   176
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   177
	return retValue;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   178
	}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   179
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   180
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   181
OMX_ERRORTYPE
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   182
COmxILPcmRendererAPB0Port::GetLocalOmxParamIndexes(RArray<TUint>& aIndexArray) const
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   183
	{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   184
    DEBUG_PRINTF(_L8("COmxILPcmRendererAPB0Port::GetLocalOmxParamIndexes"));
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   185
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   186
	// Always collect local indexes from parent
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   187
	OMX_ERRORTYPE omxRetValue =
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   188
		COmxILAudioPort::GetLocalOmxParamIndexes(aIndexArray);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   189
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   190
	if (OMX_ErrorNone != omxRetValue)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   191
		{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   192
		return omxRetValue;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   193
		}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   194
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   195
	TInt err = aIndexArray.InsertInOrder(OMX_IndexParamAudioPcm);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   196
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   197
	// Note that index duplication is OK.
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   198
	if (KErrNone != err && KErrAlreadyExists != err)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   199
		{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   200
		return OMX_ErrorInsufficientResources;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   201
		}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   202
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   203
	return OMX_ErrorNone;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   204
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   205
	}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   206
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   207
OMX_ERRORTYPE
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   208
COmxILPcmRendererAPB0Port::GetLocalOmxConfigIndexes(RArray<TUint>& aIndexArray) const
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   209
	{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   210
    DEBUG_PRINTF(_L8("COmxILPcmRendererAPB0Port::GetLocalOmxConfigIndexes"));
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   211
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   212
	// Always collect local indexes from parent
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   213
	OMX_ERRORTYPE omxRetValue =
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   214
		COmxILAudioPort::GetLocalOmxConfigIndexes(aIndexArray);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   215
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   216
	if (OMX_ErrorNone != omxRetValue)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   217
		{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   218
		return omxRetValue;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   219
		}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   220
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   221
	TInt err = aIndexArray.InsertInOrder(OMX_IndexConfigAudioVolume);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   222
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   223
	// Note that index duplication is OK.
1
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   224
	if (KErrNone != err && KErrAlreadyExists != err)
0
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   225
		{
1
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   226
	    return OMX_ErrorInsufficientResources;
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   227
		}
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   228
	
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   229
	err = aIndexArray.InsertInOrder(OMX_IndexConfigAudioMute);
0
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   230
1
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   231
	if (KErrNone != err && KErrAlreadyExists != err)
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   232
	    {
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   233
	    return OMX_ErrorInsufficientResources;
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   234
	    }
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   235
	
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   236
	err = aIndexArray.InsertInOrder(
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   237
	        OMX_SYMBIANINDEXCONFIGAUDIOPCMVOLUMERAMP);
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   238
                
0
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   239
	if (KErrNone != err && KErrAlreadyExists != err)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   240
		{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   241
		return OMX_ErrorInsufficientResources;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   242
		}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   243
1
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   244
    err = aIndexArray.InsertInOrder(
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   245
            OMX_SYMBIANINDEXCONFIGAUDIODATAAMOUNT);
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   246
                
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   247
    if (KErrNone != err && KErrAlreadyExists != err)
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   248
        {
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   249
        return OMX_ErrorInsufficientResources;
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   250
        }
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   251
	
0
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   252
	return OMX_ErrorNone;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   253
	}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   254
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   255
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   256
OMX_ERRORTYPE
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   257
COmxILPcmRendererAPB0Port::GetParameter(OMX_INDEXTYPE aParamIndex,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   258
										TAny* apComponentParameterStructure) const
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   259
	{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   260
    DEBUG_PRINTF(_L8("COmxILPcmRendererAPB0Port::GetParameter"));
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   261
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   262
	OMX_ERRORTYPE omxRetValue = OMX_ErrorNone;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   263
	switch(aParamIndex)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   264
		{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   265
	case OMX_IndexParamAudioPcm:
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   266
		{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   267
		if (OMX_ErrorNone !=
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   268
			(omxRetValue =
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   269
			 TOmxILUtil::CheckOmxStructSizeAndVersion(
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   270
				 apComponentParameterStructure,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   271
				 sizeof(OMX_AUDIO_PARAM_PCMMODETYPE))))
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   272
			{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   273
			return omxRetValue;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   274
			}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   275
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   276
		OMX_AUDIO_PARAM_PCMMODETYPE* pPcmMode
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   277
			= static_cast<OMX_AUDIO_PARAM_PCMMODETYPE*>(
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   278
				apComponentParameterStructure);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   279
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   280
		*pPcmMode = iParamAudioPcm;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   281
		}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   282
		break;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   283
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   284
	default:
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   285
		{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   286
		// Try the parent's indexes
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   287
		return COmxILAudioPort::GetParameter(aParamIndex,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   288
											 apComponentParameterStructure);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   289
		}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   290
		};
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   291
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   292
	return OMX_ErrorNone;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   293
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   294
	}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   295
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   296
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   297
OMX_ERRORTYPE
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   298
COmxILPcmRendererAPB0Port::SetParameter(OMX_INDEXTYPE aParamIndex,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   299
										const TAny* apComponentParameterStructure,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   300
										TBool& aUpdateProcessingFunction)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   301
	{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   302
    DEBUG_PRINTF(_L8("COmxILPcmRendererAPB0Port::SetParameter"));
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   303
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   304
	aUpdateProcessingFunction = EFalse;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   305
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   306
	OMX_ERRORTYPE omxRetValue = OMX_ErrorNone;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   307
	switch(aParamIndex)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   308
		{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   309
	case OMX_IndexParamAudioPcm:
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   310
		{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   311
		if (OMX_ErrorNone !=
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   312
			(omxRetValue =
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   313
			 TOmxILUtil::CheckOmxStructSizeAndVersion(
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   314
				 const_cast<OMX_PTR>(apComponentParameterStructure),
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   315
				 sizeof(OMX_AUDIO_PARAM_PCMMODETYPE))))
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   316
			{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   317
			return omxRetValue;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   318
			}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   319
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   320
		const OMX_AUDIO_PARAM_PCMMODETYPE* pPcmMode
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   321
			= static_cast<const OMX_AUDIO_PARAM_PCMMODETYPE*>(
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   322
				apComponentParameterStructure);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   323
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   324
		switch (pPcmMode->nSamplingRate)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   325
			{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   326
			case 8000 :
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   327
			case 11025 :
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   328
			case 12000 :
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   329
			case 16000 :
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   330
			case 22050 :
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   331
			case 24000 :
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   332
			case 32000 :
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   333
			case 44100 :
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   334
			case 48000 :
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   335
				break;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   336
			default:
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   337
				return OMX_ErrorBadParameter;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   338
			}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   339
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   340
		switch (pPcmMode->nBitPerSample)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   341
			{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   342
			case 8 :
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   343
			case 16 :
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   344
				break;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   345
			default:
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   346
				return OMX_ErrorBadParameter;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   347
			}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   348
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   349
		// Set the new default values
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   350
		if (iParamAudioPcm.nChannels	 != pPcmMode->nChannels			||
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   351
			iParamAudioPcm.eNumData		 != pPcmMode->eNumData			||
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   352
			iParamAudioPcm.eEndian		 != pPcmMode->eEndian			||
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   353
			iParamAudioPcm.bInterleaved	 != pPcmMode->bInterleaved		||
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   354
			iParamAudioPcm.nBitPerSample != pPcmMode->nBitPerSample		||
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   355
			iParamAudioPcm.nSamplingRate != pPcmMode->nSamplingRate		||
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   356
			iParamAudioPcm.ePCMMode		 != pPcmMode->ePCMMode)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   357
			{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   358
			iParamAudioPcm.nChannels	 = pPcmMode->nChannels;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   359
			iParamAudioPcm.eNumData		 = pPcmMode->eNumData;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   360
			iParamAudioPcm.eEndian		 = pPcmMode->eEndian;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   361
			iParamAudioPcm.bInterleaved	 = pPcmMode->bInterleaved;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   362
			iParamAudioPcm.nBitPerSample = pPcmMode->nBitPerSample;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   363
		    iParamAudioPcm.nSamplingRate = pPcmMode->nSamplingRate;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   364
			iParamAudioPcm.ePCMMode		 = pPcmMode->ePCMMode;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   365
			// This is an indication to the PortManager that the processing
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   366
			// function needs to get updated
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   367
			aUpdateProcessingFunction = ETrue;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   368
			}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   369
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   370
		for (TInt i=0; i<OMX_AUDIO_MAXCHANNELS; i++)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   371
			{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   372
			if (iParamAudioPcm.eChannelMapping[i] != pPcmMode->eChannelMapping[i])
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   373
				{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   374
				iParamAudioPcm.eChannelMapping[i] = pPcmMode->eChannelMapping[i];
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   375
				// This is an indication to the PortManager that the processing
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   376
				// function needs to get updated
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   377
				aUpdateProcessingFunction = ETrue;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   378
				}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   379
			}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   380
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   381
		}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   382
		break;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   383
	default:
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   384
		{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   385
		// Try the parent's indexes
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   386
		return COmxILAudioPort::SetParameter(aParamIndex,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   387
											 apComponentParameterStructure,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   388
											 aUpdateProcessingFunction);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   389
		}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   390
		};
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   391
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   392
	return OMX_ErrorNone;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   393
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   394
	}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   395
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   396
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   397
OMX_ERRORTYPE
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   398
COmxILPcmRendererAPB0Port::GetConfig(OMX_INDEXTYPE aConfigIndex,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   399
									 TAny* apComponentConfigStructure) const
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   400
	{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   401
    DEBUG_PRINTF(_L8("COmxILPcmRendererAPB0Port::GetConfig"));
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   402
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   403
	OMX_ERRORTYPE omxRetValue = OMX_ErrorNone;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   404
	switch(aConfigIndex)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   405
		{
1
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   406
	case OMX_SYMBIANINDEXCONFIGAUDIOPCMVOLUMERAMP:
0
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   407
		{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   408
		if (OMX_ErrorNone !=
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   409
			(omxRetValue =
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   410
			 TOmxILUtil::CheckOmxStructSizeAndVersion(
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   411
				 apComponentConfigStructure,
1
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   412
				 sizeof(OMX_SYMBIAN_AUDIO_CONFIG_VOLUMERAMPTYPE))))
0
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   413
			{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   414
			return omxRetValue;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   415
			}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   416
1
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   417
		OMX_SYMBIAN_AUDIO_CONFIG_VOLUMERAMPTYPE*
0
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   418
			pPcmVolumeRamp
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   419
			= static_cast<
1
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   420
			OMX_SYMBIAN_AUDIO_CONFIG_VOLUMERAMPTYPE*>(
0
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   421
				apComponentConfigStructure);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   422
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   423
		*pPcmVolumeRamp = iConfigVolumeRamp;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   424
		}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   425
		break;
1
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   426
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   427
	case OMX_SYMBIANINDEXCONFIGAUDIODATAAMOUNT:
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   428
		{
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   429
		if (OMX_ErrorNone !=
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   430
		        (omxRetValue =
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   431
		                TOmxILUtil::CheckOmxStructSizeAndVersion(
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   432
		                        apComponentConfigStructure,
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   433
		                        sizeof(OMX_SYMBIAN_AUDIO_CONFIG_PROCESSEDDATAAMOUNTTYPE))))
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   434
		    {
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   435
			return omxRetValue;
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   436
			}
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   437
		
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   438
		OMX_SYMBIAN_AUDIO_CONFIG_PROCESSEDDATAAMOUNTTYPE*
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   439
			pPcmDataAmount
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   440
			= static_cast<
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   441
			OMX_SYMBIAN_AUDIO_CONFIG_PROCESSEDDATAAMOUNTTYPE*>(
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   442
				apComponentConfigStructure);
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   443
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   444
		TInt bytePlayed = iProcessingFunction.GetBytesPlayed();
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   445
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   446
        // Convert into OMX_TICKS
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   447
		// #define OMX_TICKS_PER_SECOND 1000000
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   448
		
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   449
#ifndef OMX_SKIP64BIT
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   450
		OMX_TICKS ticks = static_cast<OMX_TICKS>(bytePlayed) * 8 * OMX_TICKS_PER_SECOND / 
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   451
		        static_cast<OMX_TICKS>(iParamAudioPcm.nBitPerSample) / static_cast<OMX_TICKS>(iParamAudioPcm.nSamplingRate);
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   452
		pPcmDataAmount->nProcessedDataAmount = ticks;
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   453
#else
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   454
		TInt64 ticks = static_cast<TInt64>(bytePlayed) * 8 * OMX_TICKS_PER_SECOND/
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   455
		        static_cast<TInt64>(iParamAudioPcm.nBitPerSample) / static_cast<TInt64>(iParamAudioPcm.nSamplingRate);
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   456
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   457
		pPcmDataAmount->nProcessedDataAmount.nLowPart = ticks & 0xffffffff;
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   458
		pPcmDataAmount->nProcessedDataAmount.nHighPart = ticks >> 32;
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   459
#endif		
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   460
		
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   461
		}
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   462
		break;
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   463
		
0
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   464
	case OMX_IndexConfigAudioVolume:
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   465
		{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   466
		if (OMX_ErrorNone !=
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   467
			(omxRetValue =
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   468
			 TOmxILUtil::CheckOmxStructSizeAndVersion(
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   469
				 apComponentConfigStructure,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   470
				 sizeof(OMX_AUDIO_CONFIG_VOLUMETYPE))))
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   471
			{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   472
			return omxRetValue;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   473
			}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   474
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   475
		OMX_AUDIO_CONFIG_VOLUMETYPE* pConfigVolume
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   476
			= static_cast<OMX_AUDIO_CONFIG_VOLUMETYPE*>(
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   477
				apComponentConfigStructure);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   478
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   479
		*pConfigVolume = iConfigAudioVolume;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   480
		}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   481
		break;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   482
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   483
	case OMX_IndexConfigAudioMute:
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   484
		{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   485
		if (OMX_ErrorNone !=
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   486
			(omxRetValue =
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   487
			 TOmxILUtil::CheckOmxStructSizeAndVersion(
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   488
				 apComponentConfigStructure,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   489
				 sizeof(OMX_AUDIO_CONFIG_MUTETYPE))))
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   490
			{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   491
			return omxRetValue;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   492
			}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   493
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   494
		OMX_AUDIO_CONFIG_MUTETYPE* pConfigMute
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   495
			= static_cast<OMX_AUDIO_CONFIG_MUTETYPE*>(
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   496
				apComponentConfigStructure);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   497
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   498
		*pConfigMute = iConfigAudioMute;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   499
		}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   500
		break;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   501
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   502
	default:
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   503
		{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   504
		// There's no need to try the parent indexes as we know there isn't any
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   505
		// other config in the parent audio classes
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   506
		return OMX_ErrorUnsupportedIndex;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   507
		}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   508
		};
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   509
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   510
	return OMX_ErrorNone;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   511
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   512
	}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   513
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   514
OMX_ERRORTYPE
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   515
COmxILPcmRendererAPB0Port::SetConfig(OMX_INDEXTYPE aConfigIndex,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   516
									 const TAny* apComponentConfigStructure,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   517
									 TBool& aUpdateProcessingFunction)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   518
	{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   519
    DEBUG_PRINTF(_L8("COmxILPcmRendererAPB0Port::SetConfig"));
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   520
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   521
	aUpdateProcessingFunction = EFalse;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   522
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   523
	OMX_ERRORTYPE omxRetValue = OMX_ErrorNone;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   524
	switch(aConfigIndex)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   525
		{
1
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   526
	case OMX_SYMBIANINDEXCONFIGAUDIOPCMVOLUMERAMP:
0
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   527
		{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   528
		if (OMX_ErrorNone !=
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   529
			(omxRetValue =
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   530
			 TOmxILUtil::CheckOmxStructSizeAndVersion(
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   531
				 const_cast<OMX_PTR>(apComponentConfigStructure),
1
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   532
				 sizeof(OMX_SYMBIAN_AUDIO_CONFIG_VOLUMERAMPTYPE))))
0
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   533
			{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   534
			return omxRetValue;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   535
			}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   536
1
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   537
		const OMX_SYMBIAN_AUDIO_CONFIG_VOLUMERAMPTYPE*
0
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   538
			pPcmVolumeRamp
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   539
			= static_cast<
1
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   540
			const OMX_SYMBIAN_AUDIO_CONFIG_VOLUMERAMPTYPE*>(
0
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   541
				apComponentConfigStructure);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   542
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   543
		if (iConfigVolumeRamp.nRampDuration != pPcmVolumeRamp->nRampDuration)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   544
			{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   545
			// This is an indication to the PortManager that the processing
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   546
			// function needs to get updated
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   547
			aUpdateProcessingFunction = ETrue;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   548
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   549
			iConfigVolumeRamp.nRampDuration = pPcmVolumeRamp->nRampDuration;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   550
			}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   551
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   552
		}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   553
		break;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   554
		
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   555
	case OMX_IndexConfigAudioVolume:
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   556
		{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   557
		if (OMX_ErrorNone !=
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   558
			(omxRetValue =
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   559
			 TOmxILUtil::CheckOmxStructSizeAndVersion(
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   560
				 const_cast<OMX_PTR>(apComponentConfigStructure),
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   561
				 sizeof(OMX_AUDIO_CONFIG_VOLUMETYPE))))
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   562
			{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   563
			return omxRetValue;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   564
			}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   565
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   566
		const OMX_AUDIO_CONFIG_VOLUMETYPE* pConfigVolume
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   567
			= static_cast<const OMX_AUDIO_CONFIG_VOLUMETYPE*>(
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   568
				apComponentConfigStructure);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   569
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   570
		// Set the new default values
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   571
		if (iConfigAudioVolume.bLinear		  != pConfigVolume->bLinear			||
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   572
			iConfigAudioVolume.sVolume.nValue != pConfigVolume->sVolume.nValue	||
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   573
			iConfigAudioVolume.sVolume.nMin	  != pConfigVolume->sVolume.nMin	||
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   574
			iConfigAudioVolume.sVolume.nMax	  != pConfigVolume->sVolume.nMax)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   575
			{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   576
			iConfigAudioVolume.bLinear		  = pConfigVolume->bLinear;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   577
			iConfigAudioVolume.sVolume.nValue = pConfigVolume->sVolume.nValue;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   578
			iConfigAudioVolume.sVolume.nMin	  = pConfigVolume->sVolume.nMin;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   579
			iConfigAudioVolume.sVolume.nMax	  = pConfigVolume->sVolume.nMax;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   580
			// This is an indication to the PortManager that the processing
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   581
			// function needs to get updated
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   582
			aUpdateProcessingFunction = ETrue;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   583
			}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   584
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   585
		}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   586
		break;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   587
	case OMX_IndexConfigAudioMute:
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   588
		{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   589
		if (OMX_ErrorNone !=
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   590
			(omxRetValue =
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   591
			 TOmxILUtil::CheckOmxStructSizeAndVersion(
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   592
				 const_cast<OMX_PTR>(apComponentConfigStructure),
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   593
				 sizeof(OMX_AUDIO_CONFIG_MUTETYPE))))
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   594
			{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   595
			return omxRetValue;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   596
			}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   597
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   598
		const OMX_AUDIO_CONFIG_MUTETYPE* pConfigMute
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   599
			= static_cast<const OMX_AUDIO_CONFIG_MUTETYPE*>(
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   600
				apComponentConfigStructure);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   601
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   602
		if (iConfigAudioMute.bMute != pConfigMute->bMute)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   603
			{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   604
			iConfigAudioMute.bMute = pConfigMute->bMute;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   605
			// This is an indication to the PortManager that the processing
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   606
			// function needs to get updated
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   607
			aUpdateProcessingFunction = ETrue;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   608
			}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   609
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   610
		}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   611
		break;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   612
	default:
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   613
		{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   614
		// There's no need to try the parent indexes as we know there isn't any
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   615
		// other config in the parent audio classes
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   616
		return OMX_ErrorUnsupportedIndex;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   617
		}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   618
		};
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   619
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   620
	return OMX_ErrorNone;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   621
	}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   622
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   623
OMX_ERRORTYPE
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   624
COmxILPcmRendererAPB0Port::GetExtensionIndex(
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   625
	OMX_STRING aParameterName,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   626
	OMX_INDEXTYPE* apIndexType) const
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   627
	{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   628
    DEBUG_PRINTF(_L8("COmxILPcmRendererAPB0Port::GetExtensionIndex"));
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   629
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   630
	TPtrC8 requestedParameterNamePtr(
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   631
		const_cast<const TUint8*>(
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   632
			reinterpret_cast<TUint8*>(aParameterName)));
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   633
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   634
	TPtrC8 parameterNamePtr(
1
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   635
		reinterpret_cast<const TUint8*>(OMX_SYMBIAN_INDEX_CONFIG_AUDIO_VOLUMERAMP_NAME));
0
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   636
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   637
	if (requestedParameterNamePtr == parameterNamePtr)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   638
		{
1
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   639
		*apIndexType = static_cast<OMX_INDEXTYPE>(OMX_SYMBIANINDEXCONFIGAUDIOPCMVOLUMERAMP);
0
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   640
			
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   641
		return OMX_ErrorNone;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   642
		}
1
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   643
	
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   644
	parameterNamePtr.Set(reinterpret_cast<const TUint8*>(OMX_SYMBIAN_INDEX_CONFIG_AUDIO_DATAAMOUNT_NAME));
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   645
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   646
	if (requestedParameterNamePtr == parameterNamePtr)
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   647
	        {
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   648
		*apIndexType = static_cast<OMX_INDEXTYPE>(OMX_SYMBIANINDEXCONFIGAUDIODATAAMOUNT);
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   649
		
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   650
		return OMX_ErrorNone;
e0d606d6e3b1 Revision: 2010wk36
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   651
		}
0
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   652
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   653
	*apIndexType = OMX_IndexMax;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   654
	return OMX_ErrorUnsupportedIndex;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   655
	}