omxilvideocomps/omxil3gpmuxer/src/comxil3gpmuxerprocessingfunction.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 "comxil3gpmuxerprocessingfunction.h"
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    25
#include "c3gpmuxer.h"
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    26
#include <openmax/il/common/omxilcallbacknotificationif.h>
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    27
#include "comxil3gpmuxerconfigmanager.h"
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    28
#include "comxil3gpmuxervideoinputport.h"
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    29
#include "comxil3gpmuxeraudioinputport.h"
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    30
#include "log.h"
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    31
#include "c3gpmuxerwriterthreadobserver.h"
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    32
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    33
COmxIL3GPMuxerProcessingFunction* COmxIL3GPMuxerProcessingFunction::NewL(MOmxILCallbackNotificationIf& aCallbacks)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    34
	{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    35
	DEBUG_PRINTF(_L8("COmxIL3GPMuxerProcessingFunction::NewL"));
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    36
	COmxIL3GPMuxerProcessingFunction* self = new (ELeave) COmxIL3GPMuxerProcessingFunction(aCallbacks);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    37
	CleanupStack::PushL(self);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    38
	self->ConstructL();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    39
	CleanupStack::Pop(self);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    40
	return self;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    41
	}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    42
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    43
COmxIL3GPMuxerProcessingFunction::COmxIL3GPMuxerProcessingFunction(MOmxILCallbackNotificationIf& aCallbacks) :
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    44
 COmxILProcessingFunction(aCallbacks),
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    45
 iMuxer(NULL)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    46
 	{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    47
	}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    48
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    49
void COmxIL3GPMuxerProcessingFunction::ConstructL()
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    50
	{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    51
	}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    52
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    53
COmxIL3GPMuxerProcessingFunction::~COmxIL3GPMuxerProcessingFunction()
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    54
	{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    55
	DEBUG_PRINTF(_L8("COmxIL3GPMuxerProcessingFunction::~COmxIL3GPMuxerProcessingFunction"));
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    56
	delete iMuxer;	
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    57
	delete iWriterThreadObserver;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    58
	}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    59
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    60
void COmxIL3GPMuxerProcessingFunction::SetConfigManager(COmxIL3GPMuxerConfigManager& aConfigManager)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    61
	{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    62
	iConfigManager = &aConfigManager;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    63
	}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    64
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    65
OMX_ERRORTYPE COmxIL3GPMuxerProcessingFunction::StateTransitionIndication(TStateIndex aNewState)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    66
	{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    67
	DEBUG_PRINTF2(_L8("COmxIL3GPMuxerProcessingFunction::StateTransitionIndication : aNewState[%u]"), aNewState);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    68
	OMX_ERRORTYPE omxError = OMX_ErrorNone;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    69
	
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    70
	switch(aNewState)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    71
		{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    72
		case EStateExecuting:
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    73
			{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    74
			TRAPD(error, iMuxer->StartL(iAudioPort->IsEnabled(), iVideoPort->IsEnabled()));
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    75
			if (error != KErrNone)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    76
				{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    77
				omxError = SymbianErrorToOmx(error);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    78
				}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    79
			//Creating Writer thread observer
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    80
			TRAP(error, iWriterThreadObserver = C3GPMuxerWriterThreadObserver::NewL(iMuxer));
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    81
	        
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    82
			if (error != KErrNone)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    83
	                {
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    84
	                omxError = SymbianErrorToOmx(error);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    85
	                }
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    86
			iWriterThreadObserver->IssueRequest();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    87
			break;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    88
			}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    89
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    90
		case ESubStateLoadedToIdle:
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    91
			{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    92
			OMX_U32 frameWidth = 0;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    93
			OMX_U32 frameHeight = 0;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    94
			OMX_U32 framerate = 0;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    95
			OMX_U32 bitRate = 0;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    96
			OMX_U32 audioFramerate = 0;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    97
		
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    98
			iVideoPort->GetVideoProperties(frameWidth, frameHeight, framerate, bitRate);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    99
			audioFramerate = iAudioPort->GetAudioFrameRate();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   100
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   101
			const HBufC* filename = iConfigManager->Filename();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   102
			if(!filename)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   103
				{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   104
				// no file name has been set
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   105
				omxError = OMX_ErrorUnsupportedSetting;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   106
				break;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   107
				}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   108
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   109
			delete iMuxer;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   110
			iMuxer = NULL;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   111
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   112
			TRAPD(error, iMuxer = C3GPMuxer::NewL(iCallbacks)); 
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   113
			if (error != KErrNone)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   114
				{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   115
				omxError = SymbianErrorToOmx(error);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   116
				break;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   117
				}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   118
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   119
			iMuxer->SetFilename(filename);							
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   120
			iMuxer->SetAudioVideoProperties(frameWidth, frameHeight, framerate, bitRate, audioFramerate);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   121
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   122
			break;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   123
			}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   124
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   125
		case EStateLoaded:
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   126
			{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   127
			delete iMuxer;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   128
			iMuxer = NULL;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   129
			break;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   130
			}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   131
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   132
		case EStatePause:
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   133
			{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   134
			iMuxer->Pause();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   135
			break;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   136
			}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   137
					
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   138
		default:
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   139
			{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   140
			break;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   141
			}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   142
		}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   143
	
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   144
	return omxError;		
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   145
	}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   146
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   147
OMX_ERRORTYPE COmxIL3GPMuxerProcessingFunction::BufferFlushingIndication(TUint32 aPortIndex, OMX_DIRTYPE aDirection)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   148
	{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   149
	DEBUG_PRINTF3(_L8("COmxIL3GPMuxerProcessingFunction::BufferFlushingIndication : aPortIndex[%u]; aDirection[%u]"), aPortIndex, aDirection);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   150
	if (aDirection == OMX_DirInput)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   151
		{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   152
		iMuxer->FlushBuffers(aPortIndex);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   153
		}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   154
	else
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   155
		{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   156
		return OMX_ErrorBadParameter;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   157
		}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   158
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   159
	return OMX_ErrorNone;
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 COmxIL3GPMuxerProcessingFunction::ParamIndication(OMX_INDEXTYPE /*aParamIndex*/, const TAny* /*apComponentParameterStructure*/)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   163
	{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   164
	DEBUG_PRINTF(_L8("COmxIL3GPMuxerProcessingFunction::ParamIndication"));
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   165
	return OMX_ErrorNone;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   166
	}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   167
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   168
OMX_ERRORTYPE COmxIL3GPMuxerProcessingFunction::ConfigIndication(OMX_INDEXTYPE /*aConfigIndex*/, const TAny* /*apComponentConfigStructure*/)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   169
	{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   170
	DEBUG_PRINTF(_L8("COmxIL3GPMuxerProcessingFunction::ConfigIndication"));
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   171
	return OMX_ErrorNone;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   172
	}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   173
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   174
OMX_ERRORTYPE COmxIL3GPMuxerProcessingFunction::BufferIndication(OMX_BUFFERHEADERTYPE* apBufferHeader,
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   175
                                                                 OMX_DIRTYPE aDirection)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   176
	{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   177
	DEBUG_PRINTF2(_L8("COmxIL3GPMuxerProcessingFunction::BufferIndication : aBufferHeader[%X]"), apBufferHeader);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   178
	// Check if the previous buffer processing invalidated the Muxer 
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   179
	if (iMuxer->IsMuxerInvalid())
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   180
		{	
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   181
		return OMX_ErrorInvalidState;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   182
		}	
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   183
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   184
	TUint32 portIndex;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   185
	if (aDirection == OMX_DirInput)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   186
		{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   187
		portIndex = apBufferHeader->nInputPortIndex;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   188
		}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   189
	else
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   190
		{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   191
		return OMX_ErrorBadParameter;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   192
		}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   193
	
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   194
	TRAPD(err, iMuxer->ProcessThisBufferL(apBufferHeader, portIndex));
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   195
	return SymbianErrorToOmx(err);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   196
	}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   197
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   198
OMX_BOOL COmxIL3GPMuxerProcessingFunction::BufferRemovalIndication(OMX_BUFFERHEADERTYPE* apBufferHeader, OMX_DIRTYPE /*aDirection*/)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   199
	{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   200
	DEBUG_PRINTF2(_L8("COmxIL3GPMuxerProcessingFunction::BufferRemovalIndication : aBufferHeader[%X]"), apBufferHeader);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   201
	if (iMuxer->RemoveBuffer(apBufferHeader))
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   202
		{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   203
		return OMX_TRUE;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   204
		}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   205
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   206
	return OMX_FALSE;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   207
	}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   208
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   209
void COmxIL3GPMuxerProcessingFunction::SetVideoPort(COmxIL3GPMuxerVideoInputPort& aVideoPort)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   210
	{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   211
	iVideoPort = &aVideoPort;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   212
	}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   213
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   214
void COmxIL3GPMuxerProcessingFunction::SetAudioPort(COmxIL3GPMuxerAudioInputPort& aAudioPort)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   215
	{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   216
	iAudioPort = &aAudioPort;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   217
	}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   218
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   219
OMX_ERRORTYPE COmxIL3GPMuxerProcessingFunction::SymbianErrorToOmx(TInt aError)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   220
	{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   221
	switch(aError)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   222
		{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   223
	case KErrNone:
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   224
		return OMX_ErrorNone;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   225
	case KErrNoMemory:
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   226
		return OMX_ErrorInsufficientResources;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   227
	default:
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   228
		return OMX_ErrorUndefined;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   229
		}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   230
	}