omxilvideocomps/omxil3gpdemuxer/src/comxil3gpdemuxeraudiooutputport.cpp
author hgs
Fri, 08 Oct 2010 22:09:17 +0100
changeset 0 5d29cba61097
permissions -rw-r--r--
2010wk38_02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
     1
/*
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
     2
* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
     3
* All rights reserved.
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
     8
*
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
     9
* Initial Contributors:
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    11
*
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    12
* Contributors:
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    13
*
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    14
* Description:
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    15
*
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    16
*/
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    17
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    18
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    19
/**
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    20
@file
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    21
@internalComponent
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    22
*/
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    23
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    24
#include "log.h"
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    25
#include "comxil3gpdemuxeraudiooutputport.h"
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    26
#include "comxil3gpdemuxerprocessingfunction.h"
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    27
#include "taudioformat.h"
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    28
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    29
// TODO: Possibly add other mime types, for now only AAC handled
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    30
_LIT8(KMimeTypeAudioAac, "audio/aac");
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    31
_LIT(K3GPDemuxerAudioPortPanic, "COmxIL3GPDemuxerVideoOutputPort");
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    32
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    33
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    34
COmxIL3GPDemuxerAudioOutputPort* COmxIL3GPDemuxerAudioOutputPort::NewL(const TOmxILCommonPortData& aCommonPortData,
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    35
                                                                       COmxIL3GPDemuxerProcessingFunction& aProcessingFunction)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    36
	{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    37
	DEBUG_PRINTF(_L8("COmxIL3GPDemuxerAudioOutputPort::NewL"));
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    38
	// TODO this array must be left empty, to be removed from the audio port constructor
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    39
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    40
	COmxIL3GPDemuxerAudioOutputPort* self = new(ELeave) COmxIL3GPDemuxerAudioOutputPort(aProcessingFunction);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    41
	CleanupStack::PushL(self);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    42
	self->ConstructL(aCommonPortData);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    43
	CleanupStack::Pop(self);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    44
	return self;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    45
	}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    46
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    47
void COmxIL3GPDemuxerAudioOutputPort::ConstructL(const TOmxILCommonPortData& aCommonPortData)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    48
	{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    49
    RArray<OMX_AUDIO_CODINGTYPE> supportedCodings;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    50
    CleanupClosePushL(supportedCodings);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    51
    supportedCodings.AppendL(OMX_AUDIO_CodingAAC);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    52
    COmxILAudioPort::ConstructL(aCommonPortData, supportedCodings);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    53
    CleanupStack::PopAndDestroy(&supportedCodings);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    54
    
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    55
    OMX_PARAM_PORTDEFINITIONTYPE& paramPortDefinition=GetParamPortDefinition();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    56
	// We have to finish with iParamPortDefinition
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    57
    paramPortDefinition.eDomain = OMX_PortDomainAudio;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    58
    paramPortDefinition.format.audio.pNativeRender = 0;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    59
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    60
	// TODO: Possible add in the future other mime types that can be handled by
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    61
	// this audio port... for now only AAC Check
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    62
	// COmxILAudioPort::iParamAudioPortFormat.nIndex and use
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    63
	// COmxILAudioPort::iSupportedAudioFormats[iParamAudioPortFormat.nIndex]
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    64
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    65
	iMimeTypeBuf.CreateL(KMimeTypeAudioAac(), KMimeTypeAudioAac().Length() + 1);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    66
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    67
	TUint8* pTUint = const_cast<TUint8*>(iMimeTypeBuf.PtrZ());
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    68
	paramPortDefinition.format.audio.cMIMEType = reinterpret_cast<OMX_STRING>(pTUint);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    69
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    70
	paramPortDefinition.format.audio.bFlagErrorConcealment = OMX_FALSE;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    71
	paramPortDefinition.format.audio.eEncoding = OMX_AUDIO_CodingAAC;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    72
	}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    73
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    74
COmxIL3GPDemuxerAudioOutputPort::COmxIL3GPDemuxerAudioOutputPort(COmxIL3GPDemuxerProcessingFunction& aProcessingFunction) 
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    75
:	iProcessingFunction(&aProcessingFunction)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    76
	{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    77
	DEBUG_PRINTF(_L8("COmxIL3GPDemuxerAudioOutputPort::COmxIL3GPDemuxerAudioOutputPort"));
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    78
	}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    79
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    80
COmxIL3GPDemuxerAudioOutputPort::~COmxIL3GPDemuxerAudioOutputPort()
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    81
	{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    82
	DEBUG_PRINTF(_L8("COmxIL3GPDemuxerAudioOutputPort::~COmxIL3GPDemuxerAudioOutputPort"));
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    83
	iMimeTypeBuf.Close();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    84
	}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    85
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    86
OMX_ERRORTYPE COmxIL3GPDemuxerAudioOutputPort::GetLocalOmxParamIndexes(RArray<TUint>& aIndexArray) const
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    87
	{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    88
	DEBUG_PRINTF(_L8("COmxIL3GPDemuxerAudioOutputPort::GetLocalOmxParamIndexes"));
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    89
	OMX_ERRORTYPE omxRetValue = COmxILAudioPort::GetLocalOmxParamIndexes(aIndexArray);		
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    90
	if (omxRetValue != OMX_ErrorNone)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    91
		{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    92
		return omxRetValue;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    93
		}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    94
		
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    95
	TInt err = aIndexArray.InsertInOrder(OMX_IndexParamNumAvailableStreams);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    96
	// Note that index duplication is OK.
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    97
	if (err == KErrNone || err == KErrAlreadyExists)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    98
		{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    99
		err = aIndexArray.InsertInOrder(OMX_IndexParamActiveStream);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   100
		}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   101
				
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   102
	if (err != KErrNone && err != KErrAlreadyExists)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   103
		{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   104
		return OMX_ErrorInsufficientResources;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   105
		}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   106
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   107
	return OMX_ErrorNone;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   108
	}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   109
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   110
OMX_ERRORTYPE COmxIL3GPDemuxerAudioOutputPort::GetLocalOmxConfigIndexes(RArray<TUint>& aIndexArray) const
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   111
	{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   112
	return COmxILAudioPort::GetLocalOmxConfigIndexes(aIndexArray);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   113
	}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   114
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   115
OMX_ERRORTYPE COmxIL3GPDemuxerAudioOutputPort::GetParameter(OMX_INDEXTYPE aParamIndex,
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   116
                                                            TAny* apComponentParameterStructure) const
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   117
	{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   118
	DEBUG_PRINTF(_L8("COmxIL3GPDemuxerAudioOutputPort::GetParameter"));
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   119
	switch(aParamIndex)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   120
		{		
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   121
		case OMX_IndexParamNumAvailableStreams:
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   122
			{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   123
			OMX_PARAM_U32TYPE* u32Type = reinterpret_cast<OMX_PARAM_U32TYPE*>(apComponentParameterStructure);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   124
			u32Type->nU32 = iProcessingFunction->NumAvailableStreams(COmxIL3GPDemuxer::EPortIndexAudioOutput);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   125
			return OMX_ErrorNone;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   126
			}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   127
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   128
		case OMX_IndexParamActiveStream:
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   129
			{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   130
			OMX_PARAM_U32TYPE* u32Type = reinterpret_cast<OMX_PARAM_U32TYPE*>(apComponentParameterStructure);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   131
			u32Type->nU32 = iProcessingFunction->ActiveStream(COmxIL3GPDemuxer::EPortIndexAudioOutput);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   132
			return OMX_ErrorNone;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   133
			}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   134
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   135
		default:
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   136
			{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   137
			return COmxILAudioPort::GetParameter(aParamIndex, apComponentParameterStructure);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   138
			}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   139
		}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   140
	}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   141
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   142
OMX_ERRORTYPE COmxIL3GPDemuxerAudioOutputPort::SetParameter(OMX_INDEXTYPE aParamIndex,
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   143
                                                            const TAny* apComponentParameterStructure,
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   144
                                                            TBool& aUpdateProcessingFunction)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   145
	{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   146
	DEBUG_PRINTF(_L8("COmxIL3GPDemuxerAudioOutputPort::SetParameter"));
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   147
	switch(aParamIndex)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   148
		{		
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   149
		case OMX_IndexParamActiveStream:
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   150
			{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   151
			const OMX_PARAM_U32TYPE* u32Type = reinterpret_cast<const OMX_PARAM_U32TYPE*>(apComponentParameterStructure);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   152
			return iProcessingFunction->SetActiveStream(COmxIL3GPDemuxer::EPortIndexAudioOutput, u32Type->nU32);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   153
			}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   154
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   155
		default:
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   156
			{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   157
			return COmxILAudioPort::SetParameter(aParamIndex, apComponentParameterStructure, aUpdateProcessingFunction);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   158
			}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   159
		}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   160
	}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   161
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   162
OMX_ERRORTYPE COmxIL3GPDemuxerAudioOutputPort::SetFormatInPortDefinition(
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   163
	const OMX_PARAM_PORTDEFINITIONTYPE& aPortDefinition,
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   164
	TBool& /*aUpdateProcessingFunction*/)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   165
	{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   166
	DEBUG_PRINTF(_L8("COmxIL3GPDemuxerAudioOutputPort::SetFormatInPortDefinition"));
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   167
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   168
	if (aPortDefinition.nBufferCountActual > KMaxAudioBuffers)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   169
		{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   170
		return OMX_ErrorBadParameter;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   171
		}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   172
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   173
	GetParamPortDefinition().format.audio = aPortDefinition.format.audio;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   174
	
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   175
	return OMX_ErrorNone;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   176
	}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   177
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   178
TBool COmxIL3GPDemuxerAudioOutputPort::IsTunnelledPortCompatible(const OMX_PARAM_PORTDEFINITIONTYPE& /*aPortDefinition*/) const
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   179
	{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   180
	DEBUG_PRINTF(_L8("COmxIL3GPDemuxerAudioOutputPort::IsTunnelledPortCompatible"));
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   181
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   182
	// This function only gets called on input ports, so panic if this is ever called
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   183
	User::Panic(K3GPDemuxerAudioPortPanic, KErrGeneral);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   184
	return EFalse; // to keep compiler happy
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   185
	}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   186
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   187
void COmxIL3GPDemuxerAudioOutputPort::FormatDetected(const TAudioFormat& aFormat)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   188
	{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   189
	GetParamPortDefinition().format.audio.eEncoding = aFormat.iCoding;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   190
	}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   191
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   192
OMX_AUDIO_CODINGTYPE COmxIL3GPDemuxerAudioOutputPort::AudioFormat()
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   193
	{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   194
	return GetParamPortDefinition().format.audio.eEncoding;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   195
	}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   196
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   197
/** Returns the number of buffers configured on this port. */
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   198
TInt COmxIL3GPDemuxerAudioOutputPort::BufferCount() const
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   199
	{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   200
	return GetParamPortDefinition().nBufferCountActual;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   201
	}