omxil/omxilcomponentcommon/src/common/omxilstate.cpp
author Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
Fri, 07 May 2010 16:25:23 +0100
branchOpenMAX-IL_SHAI
changeset 16 eedf2dcd43c6
parent 0 40261b775718
permissions -rw-r--r--
Implementation of OpenMAX-IL with SHAI
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
16
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
     1
// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
     2
// All rights reserved.
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
     3
// This component and the accompanying materials are made available
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
     4
// under the terms of "Eclipse Public License v1.0"
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
     5
// which accompanies this distribution, and is available
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
     7
//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
     8
// Initial Contributors:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
     9
// Nokia Corporation - initial contribution.
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    10
//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    11
// Contributors:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    12
//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    13
// Description:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    14
//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    15
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    16
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    17
/**
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    18
   @file
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    19
   @internalComponent
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    20
*/
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    21
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    22
#include "log.h"
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    23
#include "omxilstate.h"
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    24
#include "omxilfsm.h"
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    25
#include "omxilcommand.h"
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    26
#include "omxilconfigmanager.h"
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    27
#include "omxilcallbackmanager.h"
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    28
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    29
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    30
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    31
COmxILFsm::COmxILState::GetParameter(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    32
	const COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    33
	OMX_INDEXTYPE aParamIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    34
	TAny* apComponentParameterStructure) const
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    35
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    36
    DEBUG_PRINTF(_L8("COmxILState::GetParameter"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    37
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    38
	// This API can be used independently of the current state of the
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    39
	// component.  Let's try first the Port Manager to check if the index is
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    40
	// known there
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    41
	OMX_ERRORTYPE retValue =
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    42
		aFsm.iPortManager.GetParameter(aParamIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    43
									   apComponentParameterStructure);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    44
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    45
	if (OMX_ErrorUnsupportedIndex == retValue)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    46
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    47
		// Otherwise, try Config Manager...
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    48
		retValue = aFsm.iConfigManager.GetParameter(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    49
			aParamIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    50
			apComponentParameterStructure);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    51
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    52
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    53
	return retValue;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    54
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    55
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    56
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    57
// This SetParameter version must be used in the following states:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    58
// - OMX_StateIdle,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    59
// - OMX_StateExecuting,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    60
// - OMX_StatePaused, and
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    61
//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    62
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    63
COmxILFsm::COmxILState::SetParameter(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    64
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    65
	OMX_INDEXTYPE aParamIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    66
	const TAny* apComponentParameterStructure)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    67
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    68
    DEBUG_PRINTF(_L8("COmxILState::SetParameter"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    69
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    70
	OMX_ERRORTYPE retValue =
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    71
		aFsm.iPortManager.SetParameter(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    72
			aParamIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    73
			apComponentParameterStructure,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    74
			OMX_TRUE				// Port must be disabled
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    75
			);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    76
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    77
	if (OMX_ErrorUnsupportedIndex == retValue)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    78
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    79
		// Try Config Manager now...
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    80
		retValue = aFsm.iConfigManager.SetParameter(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    81
			aParamIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    82
			apComponentParameterStructure,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    83
			OMX_FALSE // run-time
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    84
			);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    85
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    86
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    87
	return retValue;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    88
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    89
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    90
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    91
// This SetParameter version must be used in the following states:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    92
// - OMX_StateLoaded and derived states,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    93
// - OMX_StateWaitForResources
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    94
//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    95
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    96
COmxILFsm::COmxILState::SetParameterV2(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    97
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    98
	OMX_INDEXTYPE aParamIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
    99
	const TAny* apComponentParameterStructure)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   100
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   101
    DEBUG_PRINTF(_L8("COmxILState::SetParameterV2"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   102
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   103
	OMX_ERRORTYPE retValue =
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   104
		aFsm.iPortManager.SetParameter(aParamIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   105
									   apComponentParameterStructure);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   106
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   107
	if (OMX_ErrorUnsupportedIndex == retValue)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   108
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   109
		// Try Config Manager now...
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   110
		retValue = aFsm.iConfigManager.SetParameter(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   111
			aParamIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   112
			apComponentParameterStructure);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   113
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   114
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   115
	return retValue;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   116
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   117
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   118
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   119
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   120
COmxILFsm::COmxILState::GetConfig(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   121
	const COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   122
	OMX_INDEXTYPE aConfigIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   123
	TAny* apComponentConfigStructure) const
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   124
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   125
    DEBUG_PRINTF(_L8("COmxILState::GetConfig"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   126
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   127
	OMX_ERRORTYPE retValue =
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   128
		aFsm.iPortManager.GetConfig(aConfigIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   129
									apComponentConfigStructure);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   130
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   131
	if (OMX_ErrorUnsupportedIndex == retValue)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   132
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   133
		// Try Config Manager now...
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   134
		retValue = aFsm.iConfigManager.GetConfig(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   135
			aConfigIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   136
			apComponentConfigStructure);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   137
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   138
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   139
	return retValue;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   140
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   141
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   142
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   143
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   144
COmxILFsm::COmxILState::SetConfig(COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   145
								  OMX_INDEXTYPE aConfigIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   146
								  const TAny* apComponentConfigStructure)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   147
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   148
    DEBUG_PRINTF(_L8("COmxILState::SetConfig"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   149
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   150
	OMX_ERRORTYPE retValue =
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   151
		aFsm.iPortManager.SetConfig(aConfigIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   152
									apComponentConfigStructure);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   153
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   154
	if (OMX_ErrorUnsupportedIndex == retValue)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   155
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   156
		// Try Config Manager now...
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   157
		retValue = aFsm.iConfigManager.SetConfig(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   158
			aConfigIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   159
			apComponentConfigStructure);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   160
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   161
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   162
	return retValue;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   163
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   164
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   165
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   166
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   167
COmxILFsm::COmxILState::GetExtensionIndex(const COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   168
										  OMX_STRING aParameterName,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   169
										  OMX_INDEXTYPE* apIndexType) const
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   170
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   171
    DEBUG_PRINTF(_L8("COmxILState::GetExtensionIndex"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   172
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   173
	OMX_ERRORTYPE retValue =
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   174
		aFsm.iPortManager.GetExtensionIndex(aParameterName,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   175
											apIndexType);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   176
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   177
	if (OMX_ErrorUnsupportedIndex == retValue)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   178
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   179
		// Try Config Manager now...
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   180
		retValue = aFsm.iConfigManager.GetExtensionIndex(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   181
			aParameterName,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   182
			apIndexType);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   183
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   184
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   185
	return retValue;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   186
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   187
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   188
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   189
//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   190
//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   191
//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   192
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   193
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   194
COmxILFsm::COmxILState::CommandFlush(COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   195
									 const TOmxILCommand& aCommand)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   196
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   197
    DEBUG_PRINTF(_L8("COmxILState::CommandFlush"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   198
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   199
	__ASSERT_DEBUG(aCommand.iCommandType == OMX_CommandFlush,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   200
				   User::Panic(KOmxILFsmPanicCategory, 1));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   201
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   202
	return aFsm.iPortManager.BufferFlushIndicationFlushCommand(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   203
		aCommand.iParam1);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   204
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   205
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   206
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   207
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   208
COmxILFsm::COmxILState::CommandPortDisable(COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   209
										   const TOmxILCommand& aCommand)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   210
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   211
    DEBUG_PRINTF(_L8("COmxILState::CommandPortDisable"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   212
	__ASSERT_DEBUG(aCommand.iCommandType == OMX_CommandPortDisable,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   213
				   User::Panic(KOmxILFsmPanicCategory, 1));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   214
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   215
	// First, flush all buffers in the port(s) that is(are) to be disabled.
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   216
	return aFsm.iPortManager.PortDisableIndication(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   217
		aCommand.iParam1);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   218
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   219
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   220
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   221
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   222
COmxILFsm::COmxILState::CommandPortEnable(COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   223
										  const TOmxILCommand& aCommand)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   224
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   225
    DEBUG_PRINTF(_L8("COmxILState::CommandPortEnable"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   226
	__ASSERT_DEBUG(aCommand.iCommandType == OMX_CommandPortEnable,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   227
				   User::Panic(KOmxILFsmPanicCategory, 1));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   228
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   229
	TBool indicationIsFinal = EFalse;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   230
	return aFsm.iPortManager.PortEnableIndication(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   231
		aCommand.iParam1,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   232
		indicationIsFinal);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   233
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   234
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   235
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   236
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   237
COmxILFsm::COmxILState::CommandMarkBuffer(COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   238
										  const TOmxILCommand& aCommand)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   239
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   240
    DEBUG_PRINTF(_L8("COmxILState::CommandMarkBuffer"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   241
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   242
	__ASSERT_DEBUG(aCommand.iCommandType == OMX_CommandMarkBuffer,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   243
				   User::Panic(KOmxILFsmPanicCategory, 1));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   244
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   245
	if (!aCommand.ipCommandData)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   246
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   247
		return OMX_ErrorBadParameter;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   248
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   249
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   250
	return aFsm.iPortManager.BufferMarkIndication(aCommand.iParam1,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   251
												  aCommand.ipCommandData);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   252
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   253
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   254
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   255
//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   256
// COmxILStateInvalid
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   257
//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   258
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   259
COmxILFsm::COmxILStateInvalid::GetParameter(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   260
	const COmxILFsm& /*aFsm*/,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   261
	OMX_INDEXTYPE /*aParamIndex*/,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   262
	TAny* /*apComponentParameterStructure*/) const
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   263
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   264
    DEBUG_PRINTF(_L8("COmxILStateInvalid::GetParameter"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   265
	return OMX_ErrorInvalidState;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   266
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   267
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   268
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   269
COmxILFsm::COmxILStateInvalid::SetParameter(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   270
	COmxILFsm& /*aFsm*/,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   271
	OMX_INDEXTYPE /*aParamIndex*/,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   272
	const TAny* /*apComponentParameterStructure*/)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   273
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   274
    DEBUG_PRINTF(_L8("COmxILStateInvalid::SetParameter"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   275
	return OMX_ErrorInvalidState;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   276
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   277
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   278
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   279
COmxILFsm::COmxILStateInvalid::GetConfig(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   280
	const COmxILFsm& /*aFsm*/,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   281
	OMX_INDEXTYPE /*aConfigIndex*/,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   282
	TAny* /*apComponentConfigStructure*/) const
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   283
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   284
    DEBUG_PRINTF(_L8("COmxILStateInvalid::GetConfig"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   285
	return OMX_ErrorInvalidState;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   286
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   287
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   288
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   289
COmxILFsm::COmxILStateInvalid::SetConfig(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   290
	COmxILFsm& /*aFsm*/,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   291
	OMX_INDEXTYPE /*aConfigIndex*/,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   292
	const TAny* /*apComponentConfigStructure*/)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   293
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   294
    DEBUG_PRINTF(_L8("COmxILStateInvalid::SetConfig"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   295
	return OMX_ErrorInvalidState;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   296
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   297
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   298
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   299
COmxILFsm::COmxILStateInvalid::GetExtensionIndex(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   300
	const COmxILFsm& /*aFsm*/,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   301
	OMX_STRING /*aParameterName*/,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   302
	OMX_INDEXTYPE* /*apIndexType*/) const
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   303
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   304
	DEBUG_PRINTF(_L8("COmxILStateInvalid::GetExtensionIndex"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   305
	return OMX_ErrorInvalidState;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   306
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   307
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   308
OMX_STATETYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   309
COmxILFsm::COmxILStateInvalid::GetState() const
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   310
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   311
    DEBUG_PRINTF(_L8("COmxILStateInvalid::GetState"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   312
	return OMX_StateInvalid;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   313
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   314
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   315
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   316
COmxILFsm::COmxILStateInvalid::ComponentTunnelRequest(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   317
	COmxILFsm& /*aFsm*/,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   318
	OMX_U32 /*aPort*/,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   319
	OMX_HANDLETYPE /*aTunneledComp*/,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   320
	OMX_U32 /*aTunneledPort*/,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   321
	OMX_TUNNELSETUPTYPE* /*apTunnelSetup*/)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   322
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   323
    DEBUG_PRINTF(_L8("COmxILStateInvalid::ComponentTunnelRequest"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   324
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   325
	return OMX_ErrorInvalidState;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   326
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   327
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   328
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   329
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   330
COmxILFsm::COmxILStateInvalid::PopulateBuffer(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   331
	COmxILFsm& /*aFsm*/,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   332
	OMX_BUFFERHEADERTYPE** /*appBufferHdr*/,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   333
	OMX_U32 /*aPortIndex*/,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   334
	OMX_PTR /*apAppPrivate*/,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   335
	OMX_U32 /*aSizeBytes*/,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   336
	OMX_U8* /*apBuffer*/,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   337
	TBool& /*portPopulationCompleted*/)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   338
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   339
    DEBUG_PRINTF(_L8("COmxILStateInvalid::PopulateBuffer"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   340
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   341
	return OMX_ErrorInvalidState;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   342
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   343
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   344
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   345
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   346
COmxILFsm::COmxILStateInvalid::FreeBuffer(COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   347
										  OMX_U32 aPortIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   348
										  OMX_BUFFERHEADERTYPE* apBuffer,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   349
										  TBool& aPortDepopulationCompleted)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   350
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   351
    DEBUG_PRINTF(_L8("COmxILStateInvalid::FreeBuffer"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   352
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   353
	return COmxILState::FreeBufferV2(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   354
		aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   355
		aPortIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   356
		apBuffer,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   357
		aPortDepopulationCompleted);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   358
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   359
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   360
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   361
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   362
COmxILFsm::COmxILStateInvalid::EmptyThisBuffer(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   363
	COmxILFsm& /*aFsm*/,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   364
	OMX_BUFFERHEADERTYPE* /*apBuffer*/)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   365
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   366
    DEBUG_PRINTF(_L8("COmxILStateInvalid::EmptyThisBuffer"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   367
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   368
	return OMX_ErrorInvalidState;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   369
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   370
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   371
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   372
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   373
COmxILFsm::COmxILStateInvalid::FillThisBuffer(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   374
	COmxILFsm& /*aFsm*/,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   375
	OMX_BUFFERHEADERTYPE* /*apBuffer*/)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   376
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   377
    DEBUG_PRINTF(_L8("COmxILStateInvalid::FillThisBuffer"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   378
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   379
	return OMX_ErrorInvalidState;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   380
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   381
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   382
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   383
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   384
COmxILFsm::COmxILStateInvalid::CommandStateSet(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   385
	COmxILFsm& /*aFsm*/,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   386
	const TOmxILCommand& /*aCommand*/)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   387
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   388
    DEBUG_PRINTF(_L8("COmxILStateInvalid::CommandStateSet"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   389
	return OMX_ErrorInvalidState;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   390
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   391
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   392
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   393
COmxILFsm::COmxILStateInvalid::CommandFlush(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   394
	COmxILFsm& /*aFsm*/,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   395
	const TOmxILCommand& /*aCommand*/)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   396
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   397
    DEBUG_PRINTF(_L8("COmxILStateInvalid::CommandFlush"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   398
	return OMX_ErrorInvalidState;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   399
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   400
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   401
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   402
COmxILFsm::COmxILStateInvalid::CommandPortEnable(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   403
	COmxILFsm& /*aFsm*/,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   404
	const TOmxILCommand& /*aCommand*/)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   405
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   406
    DEBUG_PRINTF(_L8("COmxILStateInvalid::CommandPortEnable"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   407
	return OMX_ErrorInvalidState;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   408
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   409
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   410
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   411
COmxILFsm::COmxILStateInvalid::CommandPortDisable(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   412
	COmxILFsm& /*aFsm*/,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   413
	const TOmxILCommand& /*aCommand*/)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   414
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   415
    DEBUG_PRINTF(_L8("COmxILStateInvalid::CommandPortDisable"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   416
	return OMX_ErrorInvalidState;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   417
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   418
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   419
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   420
COmxILFsm::COmxILStateInvalid::CommandMarkBuffer(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   421
	COmxILFsm& /*aFsm*/,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   422
	const TOmxILCommand& /*aCommand*/)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   423
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   424
    DEBUG_PRINTF(_L8("COmxILStateInvalid::CommandMarkBuffer"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   425
	return OMX_ErrorInvalidState;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   426
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   427
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   428
//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   429
// COmxILStateLoaded
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   430
//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   431
OMX_STATETYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   432
COmxILFsm::COmxILStateLoaded::GetState() const
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   433
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   434
    DEBUG_PRINTF(_L8("COmxILStateLoaded::GetState"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   435
	return OMX_StateLoaded;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   436
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   437
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   438
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   439
COmxILFsm::COmxILStateLoaded::SetParameter(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   440
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   441
	OMX_INDEXTYPE aParamIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   442
	const TAny* apComponentParameterStructure)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   443
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   444
    DEBUG_PRINTF(_L8("COmxILStateLoaded::SetParameter"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   445
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   446
	return COmxILState::SetParameterV2(aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   447
									   aParamIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   448
									   apComponentParameterStructure);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   449
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   450
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   451
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   452
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   453
COmxILFsm::COmxILStateLoaded::PopulateBuffer(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   454
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   455
	OMX_BUFFERHEADERTYPE** appBufferHdr,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   456
	OMX_U32 aPortIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   457
	OMX_PTR apAppPrivate,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   458
	OMX_U32 aSizeBytes,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   459
	OMX_U8* apBuffer,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   460
	TBool& portPopulationCompleted)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   461
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   462
    DEBUG_PRINTF(_L8("COmxILStateLoaded::PopulateBuffer"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   463
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   464
	// At this point, the command requesting the transition from Loaded to Idle
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   465
	// has not been received yet.. (see COmxILStateLoadedToIdle). Therefore,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   466
	// this can only be successful if the port is disabled
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   467
	return COmxILState::PopulateBuffer(aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   468
									   appBufferHdr,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   469
									   aPortIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   470
									   apAppPrivate,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   471
									   aSizeBytes,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   472
									   apBuffer,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   473
									   portPopulationCompleted);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   474
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   475
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   476
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   477
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   478
COmxILFsm::COmxILStateLoaded::FreeBuffer(COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   479
										 OMX_U32 aPortIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   480
										 OMX_BUFFERHEADERTYPE* apBuffer,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   481
										 TBool& aPortDepopulationCompleted)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   482
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   483
    DEBUG_PRINTF(_L8("COmxILStateLoaded::FreeBuffer"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   484
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   485
	return COmxILState::FreeBuffer(aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   486
								   aPortIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   487
								   apBuffer,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   488
								   aPortDepopulationCompleted);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   489
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   490
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   491
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   492
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   493
COmxILFsm::COmxILStateLoaded::EmptyThisBuffer(COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   494
											  OMX_BUFFERHEADERTYPE* apBuffer)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   495
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   496
    DEBUG_PRINTF(_L8("COmxILStateLoaded::EmptyThisBuffer"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   497
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   498
	return COmxILState::EmptyThisBuffer(aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   499
										apBuffer);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   500
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   501
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   502
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   503
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   504
COmxILFsm::COmxILStateLoaded::FillThisBuffer(COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   505
											 OMX_BUFFERHEADERTYPE* apBuffer)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   506
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   507
    DEBUG_PRINTF(_L8("COmxILStateLoaded::FillThisBuffer"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   508
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   509
	return COmxILState::FillThisBuffer(aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   510
									   apBuffer);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   511
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   512
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   513
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   514
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   515
COmxILFsm::COmxILStateLoaded::ComponentTunnelRequest(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   516
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   517
	OMX_U32 aPort,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   518
	OMX_HANDLETYPE aTunneledComp,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   519
	OMX_U32 aTunneledPort,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   520
	OMX_TUNNELSETUPTYPE* apTunnelSetup)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   521
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   522
    DEBUG_PRINTF(_L8("COmxILStateLoaded::ComponentTunnelRequest"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   523
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   524
	return COmxILState::ComponentTunnelRequestV2(aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   525
												 aPort,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   526
												 aTunneledComp,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   527
												 aTunneledPort,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   528
												 apTunnelSetup);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   529
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   530
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   531
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   532
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   533
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   534
COmxILFsm::COmxILStateLoaded::CommandStateSet(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   535
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   536
	const TOmxILCommand& aCommand)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   537
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   538
    DEBUG_PRINTF(_L8("COmxILStateLoaded::CommandStateSet"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   539
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   540
	__ASSERT_DEBUG(aCommand.iCommandType == OMX_CommandStateSet,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   541
				   User::Panic(KOmxILFsmPanicCategory, 1));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   542
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   543
	// The only two transitions allowed are :
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   544
	// - OMX_StateIdle and
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   545
	// - OMX_StateWaitForResources.
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   546
	COmxILFsm::TStateIndex nextState = COmxILFsm::EStateMax;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   547
	switch(aCommand.iParam1)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   548
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   549
	case OMX_StateIdle:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   550
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   551
		nextState = COmxILFsm::ESubStateLoadedToIdle;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   552
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   553
		break;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   554
	case OMX_StateWaitForResources:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   555
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   556
		nextState = COmxILFsm::EStateWaitForResources;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   557
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   558
		break;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   559
	case OMX_StateLoaded:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   560
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   561
		return OMX_ErrorSameState;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   562
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   563
	case OMX_StateInvalid:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   564
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   565
		// Notify the IL client... ignore the ret value..
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   566
		aFsm.iCallbacks.TransitionCompleteNotification(OMX_StateInvalid);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   567
		// Invalidate component
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   568
		return OMX_ErrorInvalidState;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   569
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   570
	default:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   571
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   572
		return OMX_ErrorIncorrectStateTransition;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   573
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   574
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   575
		};
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   576
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   577
	// Initial checks OK. The component is commanded to make a transition to
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   578
	// OMX_StateIdle or OMX_StateWaitForResources.
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   579
	OMX_ERRORTYPE omxRetValue = aFsm.FsmTransition(nextState);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   580
	if (OMX_ErrorNone != omxRetValue)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   581
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   582
		return omxRetValue;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   583
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   584
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   585
	if (COmxILFsm::ESubStateLoadedToIdle == nextState)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   586
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   587
		// Lets tell port manager in case there are buffer supplier tunnelled ports
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   588
		TBool componentPopulationCompleted = EFalse;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   589
		omxRetValue =
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   590
			aFsm.iPortManager.TunnellingBufferAllocation(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   591
				componentPopulationCompleted);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   592
		if (OMX_ErrorNone != omxRetValue)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   593
			{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   594
			return omxRetValue;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   595
			}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   596
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   597
		if (componentPopulationCompleted)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   598
			{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   599
			// Complete here the transition to OMX_StateIdle
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   600
			omxRetValue = aFsm.FsmTransition(COmxILFsm::EStateIdle);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   601
			if (OMX_ErrorNone == omxRetValue)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   602
				{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   603
				// Notify the IL client that port population has completed
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   604
				// sucessfully
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   605
				omxRetValue =
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   606
					aFsm.iCallbacks.TransitionCompleteNotification(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   607
						OMX_StateIdle);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   608
				}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   609
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   610
			}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   611
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   612
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   613
	else
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   614
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   615
		// Notify the IL client that the transition to
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   616
		// OMX_StateWaitForResources has completed sucessfully
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   617
		omxRetValue = aFsm.iCallbacks.TransitionCompleteNotification(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   618
			OMX_StateWaitForResources);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   619
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   620
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   621
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   622
	return omxRetValue;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   623
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   624
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   625
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   626
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   627
COmxILFsm::COmxILStateLoaded::CommandPortEnable(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   628
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   629
	const TOmxILCommand& aCommand)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   630
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   631
    DEBUG_PRINTF(_L8("COmxILStateLoaded::CommandPortEnable"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   632
	__ASSERT_DEBUG(aCommand.iCommandType == OMX_CommandPortEnable,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   633
				   User::Panic(KOmxILFsmPanicCategory, 1));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   634
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   635
	TBool indicationIsFinal = ETrue;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   636
	return aFsm.iPortManager.PortEnableIndication(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   637
		aCommand.iParam1,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   638
		indicationIsFinal);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   639
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   640
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   641
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   642
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   643
//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   644
// COmxILStateLoadedToIdle
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   645
//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   646
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   647
COmxILFsm::COmxILStateLoadedToIdle::PopulateBuffer(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   648
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   649
	OMX_BUFFERHEADERTYPE** appBufferHdr,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   650
	OMX_U32 aPortIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   651
	OMX_PTR apAppPrivate,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   652
	OMX_U32 aSizeBytes,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   653
	OMX_U8* apBuffer,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   654
	TBool& portPopulationCompleted)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   655
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   656
    DEBUG_PRINTF(_L8("COmxILStateLoadedToIdle::PopulateBuffer"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   657
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   658
	OMX_ERRORTYPE omxError =
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   659
		COmxILState::PopulateBufferV2(aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   660
									  appBufferHdr,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   661
									  aPortIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   662
									  apAppPrivate,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   663
									  aSizeBytes,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   664
									  apBuffer,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   665
									  portPopulationCompleted);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   666
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   667
	if (apBuffer && OMX_ErrorNone == omxError)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   668
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   669
		DEBUG_PRINTF2(_L8("COmxILStateLoadedToIdle::PopulateBuffer : PORT [%u] : Buffer population occurring in state LoadedToIdle"), aPortIndex);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   670
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   671
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   672
	return omxError;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   673
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   674
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   675
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   676
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   677
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   678
COmxILFsm::COmxILStateLoadedToIdle::CommandStateSet(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   679
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   680
	const TOmxILCommand& aCommand)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   681
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   682
    DEBUG_PRINTF(_L8("COmxILStateLoadedToIdle::CommandStateSet"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   683
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   684
	__ASSERT_DEBUG(aCommand.iCommandType == OMX_CommandStateSet,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   685
				   User::Panic(KOmxILFsmPanicCategory, 1));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   686
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   687
	switch(aCommand.iParam1)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   688
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   689
	case OMX_StateWaitForResources:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   690
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   691
		// Not implemented for now...
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   692
		return OMX_ErrorNotImplemented;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   693
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   694
	case OMX_StateLoaded:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   695
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   696
		// Here, return "same state" as the transition to OMX_StateLoaded has
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   697
		// not completed yet.
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   698
		return OMX_ErrorSameState;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   699
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   700
	case OMX_StateInvalid:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   701
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   702
		// Notify the IL client... ignore the ret value...
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   703
		aFsm.iCallbacks.TransitionCompleteNotification(OMX_StateInvalid);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   704
		// Invalidate component
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   705
		return OMX_ErrorInvalidState;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   706
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   707
	default:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   708
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   709
		return OMX_ErrorIncorrectStateTransition;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   710
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   711
		};
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   712
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   713
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   714
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   715
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   716
COmxILFsm::COmxILStateLoadedToIdle::CommandPortEnable(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   717
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   718
	const TOmxILCommand& aCommand)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   719
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   720
    DEBUG_PRINTF(_L8("COmxILStateLoadedToIdle::CommandPortEnable"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   721
	__ASSERT_DEBUG(aCommand.iCommandType == OMX_CommandPortEnable,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   722
				   User::Panic(KOmxILFsmPanicCategory, 1));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   723
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   724
	TBool indicationIsFinal = EFalse;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   725
	OMX_ERRORTYPE omxRetValue =
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   726
		aFsm.iPortManager.PortEnableIndication(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   727
			aCommand.iParam1,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   728
			indicationIsFinal);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   729
	if (OMX_ErrorNone != omxRetValue)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   730
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   731
		return omxRetValue;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   732
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   733
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   734
	// Lets tell port manager in case the port being enabled is a tunnel
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   735
	// supplier...
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   736
	TBool componentPopulationCompleted = EFalse;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   737
	omxRetValue =
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   738
		aFsm.iPortManager.TunnellingBufferAllocation(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   739
			componentPopulationCompleted, aCommand.iParam1);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   740
	if (OMX_ErrorNone != omxRetValue)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   741
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   742
		return omxRetValue;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   743
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   744
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   745
	// Let's do this check here although this situation is going to be very
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   746
	// unlikely...
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   747
	if (componentPopulationCompleted)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   748
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   749
		// Complete here the transition to OMX_StateIdle
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   750
		omxRetValue = aFsm.FsmTransition(COmxILFsm::EStateIdle);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   751
		if (OMX_ErrorNone == omxRetValue)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   752
			{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   753
			// Notify the IL client that port population has completed sucessfully
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   754
			aFsm.iCallbacks.TransitionCompleteNotification(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   755
				OMX_StateIdle);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   756
			}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   757
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   758
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   759
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   760
	return omxRetValue;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   761
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   762
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   763
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   764
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   765
//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   766
// COmxILStateWaitForResources
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   767
//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   768
OMX_STATETYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   769
COmxILFsm::COmxILStateWaitForResources::GetState() const
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   770
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   771
    DEBUG_PRINTF(_L8("COmxILStateWaitForResources::GetState"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   772
	return OMX_StateWaitForResources;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   773
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   774
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   775
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   776
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   777
COmxILFsm::COmxILStateWaitForResources::SetParameter(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   778
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   779
	OMX_INDEXTYPE aParamIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   780
	const TAny* apComponentParameterStructure)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   781
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   782
    DEBUG_PRINTF(_L8("COmxILStateWaitForResources::SetParameter"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   783
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   784
	return COmxILState::SetParameterV2(aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   785
									   aParamIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   786
									   apComponentParameterStructure);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   787
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   788
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   789
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   790
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   791
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   792
COmxILFsm::COmxILStateWaitForResources::PopulateBuffer(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   793
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   794
	OMX_BUFFERHEADERTYPE** appBufferHdr,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   795
	OMX_U32 aPortIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   796
	OMX_PTR apAppPrivate,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   797
	OMX_U32 aSizeBytes,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   798
	OMX_U8* apBuffer,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   799
	TBool& portPopulationCompleted)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   800
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   801
    DEBUG_PRINTF(_L8("COmxILStateWaitForResources::PopulateBuffer"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   802
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   803
	// NOTE that according to the spec, PopulateBuffer could be used here even
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   804
	// if the port is enabled. However, for now the transition from
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   805
	// OMX_StateWaitForResouces -> OMX_StateIdle is not supported, therefore
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   806
	// buffer population is only allowed for disabled ports. This should be
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   807
	// changed once Resource Management functionality is available and this
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   808
	// state is revisited.
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   809
	return COmxILState::PopulateBuffer(aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   810
									   appBufferHdr,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   811
									   aPortIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   812
									   apAppPrivate,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   813
									   aSizeBytes,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   814
									   apBuffer,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   815
									   portPopulationCompleted);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   816
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   817
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   818
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   819
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   820
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   821
COmxILFsm::COmxILStateWaitForResources::FreeBuffer(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   822
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   823
	OMX_U32 aPortIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   824
	OMX_BUFFERHEADERTYPE* apBuffer,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   825
	TBool& aPortDepopulationCompleted)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   826
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   827
    DEBUG_PRINTF(_L8("COmxILStateWaitForResources::FreeBuffer"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   828
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   829
	return COmxILState::FreeBuffer(aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   830
								   aPortIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   831
								   apBuffer,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   832
								   aPortDepopulationCompleted);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   833
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   834
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   835
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   836
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   837
COmxILFsm::COmxILStateWaitForResources::EmptyThisBuffer(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   838
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   839
	OMX_BUFFERHEADERTYPE* apBuffer)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   840
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   841
    DEBUG_PRINTF(_L8("COmxILStateWaitForResources::EmptyThisBuffer"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   842
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   843
	return COmxILState::EmptyThisBuffer(aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   844
										apBuffer);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   845
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   846
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   847
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   848
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   849
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   850
COmxILFsm::COmxILStateWaitForResources::FillThisBuffer(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   851
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   852
	OMX_BUFFERHEADERTYPE* apBuffer)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   853
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   854
    DEBUG_PRINTF(_L8("COmxILStateWaitForResources::FillThisBuffer"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   855
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   856
	return COmxILState::FillThisBuffer(aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   857
									   apBuffer);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   858
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   859
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   860
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   861
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   862
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   863
COmxILFsm::COmxILStateWaitForResources::ComponentTunnelRequest(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   864
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   865
	OMX_U32 aPort,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   866
	OMX_HANDLETYPE aTunneledComp,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   867
	OMX_U32 aTunneledPort,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   868
	OMX_TUNNELSETUPTYPE* apTunnelSetup)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   869
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   870
    DEBUG_PRINTF(_L8("COmxILStateWaitForResources::ComponentTunnelRequest"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   871
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   872
	return COmxILState::ComponentTunnelRequest(aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   873
											   aPort,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   874
											   aTunneledComp,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   875
											   aTunneledPort,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   876
											   apTunnelSetup);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   877
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   878
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   879
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   880
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   881
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   882
COmxILFsm::COmxILStateWaitForResources::CommandStateSet(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   883
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   884
	const TOmxILCommand& aCommand)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   885
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   886
    DEBUG_PRINTF(_L8("COmxILStateWaitForResources::CommandStateSet"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   887
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   888
	__ASSERT_DEBUG(aCommand.iCommandType == OMX_CommandStateSet,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   889
				   User::Panic(KOmxILFsmPanicCategory, 1));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   890
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   891
	// Transition to OMX_StateIdle not implemented for now...
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   892
	COmxILFsm::TStateIndex nextState = COmxILFsm::EStateMax;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   893
	switch(aCommand.iParam1)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   894
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   895
	case OMX_StateLoaded:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   896
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   897
		nextState = COmxILFsm::EStateLoaded;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   898
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   899
		break;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   900
	case OMX_StateWaitForResources:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   901
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   902
		return OMX_ErrorSameState;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   903
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   904
	case OMX_StateInvalid:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   905
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   906
		// Notify the IL client... ignore the ret value...
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   907
		aFsm.iCallbacks.TransitionCompleteNotification(OMX_StateInvalid);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   908
		// Invalidate component
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   909
		return OMX_ErrorInvalidState;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   910
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   911
	default:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   912
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   913
		return OMX_ErrorIncorrectStateTransition;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   914
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   915
		};
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   916
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   917
	// Initial checks OK. The component is commanded to make a transition to
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   918
	// OMX_StateLoaded
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   919
	OMX_ERRORTYPE omxRetValue = aFsm.FsmTransition(nextState);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   920
	if (OMX_ErrorNone == omxRetValue)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   921
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   922
		// Notify the IL client that the transition to
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   923
		// OMX_StateLoaded has completed sucessfully
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   924
		omxRetValue =
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   925
			aFsm.iCallbacks.TransitionCompleteNotification(OMX_StateLoaded);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   926
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   927
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   928
	return omxRetValue;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   929
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   930
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   931
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   932
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   933
COmxILFsm::COmxILStateWaitForResources::CommandPortEnable(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   934
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   935
	const TOmxILCommand& aCommand)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   936
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   937
    DEBUG_PRINTF(_L8("COmxILStateWaitForResources::CommandPortEnable"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   938
	__ASSERT_DEBUG(aCommand.iCommandType == OMX_CommandPortEnable,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   939
				   User::Panic(KOmxILFsmPanicCategory, 1));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   940
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   941
    // NOTE: Here, we only care about the port enabled flag. Transition from
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   942
    // OMX_StateWaitForResources to OMX_StateIdle is not implemented at this
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   943
    // stage until a Resource Manager is available. Whenever a Resource Manager
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   944
    // becomes available, a COmxILStateWaitForResourcesToIdle substate should
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   945
    // be implemented to handle the allocation of buffers mandated by the
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   946
    // standard when a port is enabled in this transition.
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   947
	TBool indicationIsFinal = ETrue;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   948
	return aFsm.iPortManager.PortEnableIndication(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   949
		aCommand.iParam1,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   950
		indicationIsFinal);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   951
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   952
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   953
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   954
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   955
//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   956
// COmxILStateIdle
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   957
//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   958
OMX_STATETYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   959
COmxILFsm::COmxILStateIdle::GetState() const
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   960
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   961
    DEBUG_PRINTF(_L8("COmxILStateIdle::GetState"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   962
	return OMX_StateIdle;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   963
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   964
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   965
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   966
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   967
COmxILFsm::COmxILStateIdle::SetParameter(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   968
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   969
	OMX_INDEXTYPE aParamIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   970
	const TAny* apComponentParameterStructure)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   971
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   972
    DEBUG_PRINTF(_L8("COmxILStateIdle::SetParameter"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   973
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   974
	return COmxILState::SetParameter(aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   975
									 aParamIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   976
									 apComponentParameterStructure);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   977
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   978
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   979
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   980
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   981
COmxILFsm::COmxILStateIdle::PopulateBuffer(COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   982
										   OMX_BUFFERHEADERTYPE** appBufferHdr,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   983
										   OMX_U32 aPortIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   984
										   OMX_PTR apAppPrivate,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   985
										   OMX_U32 aSizeBytes,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   986
										   OMX_U8* apBuffer,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   987
										   TBool& portPopulationCompleted)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   988
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   989
    DEBUG_PRINTF(_L8("COmxILStateIdle::PopulateBuffer"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   990
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   991
	// At this point, no buffer population can take place unless the port is disabled
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   992
	return COmxILState::PopulateBuffer(aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   993
									   appBufferHdr,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   994
									   aPortIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   995
									   apAppPrivate,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   996
									   aSizeBytes,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   997
									   apBuffer,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   998
									   portPopulationCompleted);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
   999
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1000
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1001
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1002
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1003
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1004
COmxILFsm::COmxILStateIdle::FreeBuffer(COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1005
									   OMX_U32 aPortIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1006
									   OMX_BUFFERHEADERTYPE* apBuffer,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1007
									   TBool& aPortDepopulationCompleted)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1008
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1009
    DEBUG_PRINTF(_L8("COmxILStateIdle::FreeBuffer"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1010
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1011
	// At this point, the command requesting the transition from Idle to Loaded
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1012
	// has not been received yet.. (see COmxILStateIdleToLoaded). Therefore,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1013
	// this can only be successful if the port is disabled
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1014
	return COmxILState::FreeBuffer(aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1015
								   aPortIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1016
								   apBuffer,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1017
								   aPortDepopulationCompleted);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1018
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1019
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1020
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1021
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1022
COmxILFsm::COmxILStateIdle::EmptyThisBuffer(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1023
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1024
	OMX_BUFFERHEADERTYPE* apBuffer)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1025
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1026
    DEBUG_PRINTF(_L8("COmxILStateIdle::EmptyThisBuffer"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1027
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1028
	return COmxILState::EmptyThisBufferV2(aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1029
										  apBuffer);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1030
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1031
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1032
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1033
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1034
COmxILFsm::COmxILStateIdle::FillThisBuffer(COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1035
										   OMX_BUFFERHEADERTYPE* apBuffer)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1036
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1037
    DEBUG_PRINTF(_L8("COmxILStateIdle::FillThisBuffer"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1038
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1039
	return COmxILState::FillThisBufferV2(aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1040
										 apBuffer);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1041
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1042
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1043
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1044
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1045
COmxILFsm::COmxILStateIdle::ComponentTunnelRequest(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1046
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1047
	OMX_U32 aPort,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1048
	OMX_HANDLETYPE aTunneledComp,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1049
	OMX_U32 aTunneledPort,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1050
	OMX_TUNNELSETUPTYPE* apTunnelSetup)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1051
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1052
    DEBUG_PRINTF(_L8("COmxILStateIdle::ComponentTunnelRequest"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1053
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1054
	return COmxILState::ComponentTunnelRequest(aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1055
											   aPort,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1056
											   aTunneledComp,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1057
											   aTunneledPort,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1058
											   apTunnelSetup);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1059
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1060
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1061
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1062
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1063
COmxILFsm::COmxILStateIdle::CommandStateSet(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1064
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1065
	const TOmxILCommand& aCommand)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1066
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1067
    DEBUG_PRINTF(_L8("COmxILStateIdle::CommandStateSet"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1068
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1069
	__ASSERT_DEBUG(aCommand.iCommandType == OMX_CommandStateSet,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1070
				   User::Panic(KOmxILFsmPanicCategory, 1));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1071
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1072
	COmxILFsm::TStateIndex nextState = COmxILFsm::EStateInvalid;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1073
	switch(aCommand.iParam1)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1074
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1075
	case OMX_StateLoaded:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1076
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1077
		nextState = COmxILFsm::ESubStateIdleToLoaded;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1078
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1079
		break;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1080
	case OMX_StateExecuting:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1081
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1082
		nextState = COmxILFsm::EStateExecuting;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1083
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1084
		break;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1085
	case OMX_StatePause:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1086
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1087
		nextState = COmxILFsm::EStatePause;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1088
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1089
		break;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1090
	case OMX_StateIdle:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1091
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1092
		return OMX_ErrorSameState;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1093
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1094
	case OMX_StateInvalid:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1095
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1096
		// Notify the IL client... ignore the ret value...
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1097
		aFsm.iCallbacks.TransitionCompleteNotification(OMX_StateInvalid);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1098
		// Invalidate component
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1099
		return OMX_ErrorInvalidState;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1100
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1101
	default:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1102
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1103
		return OMX_ErrorIncorrectStateTransition;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1104
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1105
		};
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1106
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1107
	// Initial command checks OK
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1108
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1109
	// Commit transition to the valid state
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1110
	OMX_ERRORTYPE omxRetValue = aFsm.FsmTransition(nextState);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1111
	if (OMX_ErrorNone != omxRetValue)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1112
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1113
		return omxRetValue;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1114
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1115
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1116
	if (COmxILFsm::ESubStateIdleToLoaded == nextState)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1117
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1118
		// Lets tell port manager in case there are tunnelled ports...
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1119
		TBool componentDepopulationCompleted = EFalse;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1120
		omxRetValue =
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1121
			aFsm.iPortManager.TunnellingBufferDeallocation(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1122
				componentDepopulationCompleted);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1123
		if (OMX_ErrorNone != omxRetValue)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1124
			{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1125
			return omxRetValue;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1126
			}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1127
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1128
		if (componentDepopulationCompleted)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1129
			{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1130
			// Complete here the transition to OMX_StateLoaded
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1131
			omxRetValue = aFsm.FsmTransition(COmxILFsm::EStateLoaded);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1132
			if (OMX_ErrorNone == omxRetValue)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1133
				{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1134
				// Notify the IL client that port population has completed sucessfully
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1135
				omxRetValue = aFsm.iCallbacks.TransitionCompleteNotification(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1136
					OMX_StateLoaded);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1137
				}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1138
			}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1139
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1140
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1141
	else
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1142
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1143
		// Notify the IL client that the transition to the valid state
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1144
		// OMX_StatePause or OMX_StateExecuting has completed sucessfully
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1145
		omxRetValue = aFsm.iCallbacks.TransitionCompleteNotification(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1146
			static_cast<OMX_STATETYPE>(aCommand.iParam1));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1147
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1148
		if (OMX_ErrorNone == omxRetValue)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1149
			{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1150
			// Fire up the tunnelled buffer exchange, if any tunnelled ports are
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1151
			// found in the component...
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1152
			omxRetValue = aFsm.iPortManager.InitiateTunnellingDataFlow();
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1153
			}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1154
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1155
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1156
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1157
	return omxRetValue;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1158
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1159
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1160
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1161
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1162
COmxILFsm::COmxILStateIdle::CommandFlush(COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1163
										 const TOmxILCommand& aCommand)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1164
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1165
    DEBUG_PRINTF(_L8("COmxILStateIdle::CommandFlush"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1166
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1167
	__ASSERT_DEBUG(aCommand.iCommandType == OMX_CommandFlush,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1168
				   User::Panic(KOmxILFsmPanicCategory, 1));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1169
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1170
	return aFsm.iPortManager.BufferFlushIndicationFlushCommand(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1171
		aCommand.iParam1, OMX_FALSE); // Do not eject buffers
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1172
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1173
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1174
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1175
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1176
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1177
COmxILFsm::COmxILStateIdle::CommandPortEnable(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1178
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1179
	const TOmxILCommand& aCommand)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1180
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1181
    DEBUG_PRINTF(_L8("COmxILStateIdle::CommandPortEnable"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1182
	__ASSERT_DEBUG(aCommand.iCommandType == OMX_CommandPortEnable,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1183
				   User::Panic(KOmxILFsmPanicCategory, 1));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1184
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1185
	// In this state, the port allocation has finished for enabled
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1186
	// ports. However, a port is being enabled here. The port being enabled
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1187
	// must populate (if tunnel supplier) or be populated (if non-tunnel
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1188
	// supplier or IL Client communication)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1189
	TBool indicationIsFinal = EFalse;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1190
	OMX_ERRORTYPE omxRetValue =
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1191
		aFsm.iPortManager.PortEnableIndication(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1192
			aCommand.iParam1,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1193
			indicationIsFinal);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1194
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1195
	if (OMX_ErrorNone == omxRetValue)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1196
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1197
		// From section 3.2.2.6, "If the IL client enables a port while the
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1198
		// component is in any state other than OMX_StateLoaded or
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1199
		// OMX_WaitForResources, then that port shall allocate its buffers via
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1200
		// the same call sequence used on a transition from OMX_StateLoaded to
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1201
		// OMX_StateIdle."
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1202
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1203
		// Lets tell port manager in case the port being enabled is a tunnel
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1204
		// supplier...
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1205
		TBool componentPopulationCompleted = EFalse;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1206
		omxRetValue =
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1207
			aFsm.iPortManager.TunnellingBufferAllocation(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1208
				componentPopulationCompleted, aCommand.iParam1);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1209
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1210
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1211
	return omxRetValue;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1212
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1213
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1214
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1215
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1216
//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1217
// COmxILStateIdleToLoaded
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1218
//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1219
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1220
COmxILFsm::COmxILStateIdleToLoaded::FreeBuffer(COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1221
											   OMX_U32 aPortIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1222
											   OMX_BUFFERHEADERTYPE* apBuffer,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1223
											   TBool& aPortDepopulationCompleted)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1224
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1225
    DEBUG_PRINTF(_L8("COmxILStateIdleToLoaded::FreeBuffer"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1226
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1227
	return COmxILState::FreeBufferV2(aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1228
									 aPortIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1229
									 apBuffer,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1230
									 aPortDepopulationCompleted);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1231
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1232
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1233
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1234
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1235
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1236
COmxILFsm::COmxILStateIdleToLoaded::CommandStateSet(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1237
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1238
	const TOmxILCommand& aCommand)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1239
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1240
    DEBUG_PRINTF(_L8("COmxILStateIdleToLoaded::CommandStateSet"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1241
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1242
	__ASSERT_DEBUG(aCommand.iCommandType == OMX_CommandStateSet,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1243
				   User::Panic(KOmxILFsmPanicCategory, 1));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1244
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1245
	switch (aCommand.iParam1)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1246
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1247
	case OMX_StateIdle:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1248
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1249
		// Here, return "same state" as the transition to OMX_StateLoaded has
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1250
		// not completed yet.
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1251
		return OMX_ErrorSameState;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1252
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1253
	case OMX_StateInvalid:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1254
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1255
		// Notify the IL client... ignore the ret value...
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1256
		aFsm.iCallbacks.TransitionCompleteNotification(OMX_StateInvalid);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1257
		// Invalidate component
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1258
		return OMX_ErrorInvalidState;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1259
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1260
	default:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1261
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1262
		__ASSERT_ALWAYS(0, User::Panic(KOmxILFsmPanicCategory, 1));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1263
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1264
		};
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1265
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1266
	return OMX_ErrorNone;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1267
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1268
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1269
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1270
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1271
//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1272
// COmxILStateExecuting
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1273
//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1274
OMX_STATETYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1275
COmxILFsm::COmxILStateExecuting::GetState() const
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1276
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1277
    DEBUG_PRINTF(_L8("COmxILStateExecuting::GetState"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1278
	return OMX_StateExecuting;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1279
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1280
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1281
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1282
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1283
COmxILFsm::COmxILStateExecuting::SetParameter(COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1284
											  OMX_INDEXTYPE aParamIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1285
											  const TAny* apComponentParameterStructure)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1286
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1287
    DEBUG_PRINTF(_L8("COmxILStateExecuting::SetParameter"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1288
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1289
	return COmxILState::SetParameter(aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1290
									 aParamIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1291
									 apComponentParameterStructure);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1292
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1293
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1294
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1295
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1296
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1297
COmxILFsm::COmxILStateExecuting::PopulateBuffer(COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1298
												OMX_BUFFERHEADERTYPE** appBufferHdr,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1299
												OMX_U32 aPortIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1300
												OMX_PTR apAppPrivate,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1301
												OMX_U32 aSizeBytes,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1302
												OMX_U8* apBuffer,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1303
												TBool& portPopulationCompleted)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1304
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1305
    DEBUG_PRINTF(_L8("COmxILStateExecuting::PopulateBuffer"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1306
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1307
	return COmxILState::PopulateBuffer(aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1308
									   appBufferHdr,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1309
									   aPortIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1310
									   apAppPrivate,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1311
									   aSizeBytes,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1312
									   apBuffer,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1313
									   portPopulationCompleted);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1314
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1315
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1316
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1317
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1318
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1319
COmxILFsm::COmxILStateExecuting::FreeBuffer(COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1320
											OMX_U32 aPortIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1321
											OMX_BUFFERHEADERTYPE* apBuffer,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1322
											TBool& aPortDepopulationCompleted)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1323
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1324
    DEBUG_PRINTF(_L8("COmxILStateExecuting::FreeBuffer"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1325
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1326
	return COmxILState::FreeBuffer(aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1327
								   aPortIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1328
								   apBuffer,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1329
								   aPortDepopulationCompleted);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1330
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1331
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1332
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1333
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1334
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1335
COmxILFsm::COmxILStateExecuting::EmptyThisBuffer(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1336
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1337
	OMX_BUFFERHEADERTYPE* apBuffer)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1338
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1339
    DEBUG_PRINTF(_L8("COmxILStateExecuting::EmptyThisBuffer"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1340
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1341
	return COmxILState::EmptyThisBufferV2(aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1342
										  apBuffer);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1343
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1344
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1345
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1346
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1347
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1348
COmxILFsm::COmxILStateExecuting::FillThisBuffer(COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1349
												OMX_BUFFERHEADERTYPE* apBuffer)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1350
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1351
    DEBUG_PRINTF(_L8("COmxILStateExecuting::FillThisBuffer"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1352
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1353
	return COmxILState::FillThisBufferV2(aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1354
										 apBuffer);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1355
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1356
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1357
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1358
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1359
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1360
COmxILFsm::COmxILStateExecuting::ComponentTunnelRequest(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1361
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1362
	OMX_U32 aPort,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1363
	OMX_HANDLETYPE aTunneledComp,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1364
	OMX_U32 aTunneledPort,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1365
	OMX_TUNNELSETUPTYPE* apTunnelSetup)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1366
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1367
    DEBUG_PRINTF(_L8("COmxILStateExecuting::ComponentTunnelRequest"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1368
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1369
	return COmxILState::ComponentTunnelRequest(aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1370
											   aPort,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1371
											   aTunneledComp,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1372
											   aTunneledPort,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1373
											   apTunnelSetup);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1374
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1375
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1376
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1377
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1378
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1379
COmxILFsm::COmxILStateExecuting::CommandStateSet(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1380
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1381
	const TOmxILCommand& aCommand)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1382
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1383
    DEBUG_PRINTF(_L8("COmxILStateExecuting::CommandStateSet"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1384
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1385
	__ASSERT_DEBUG(aCommand.iCommandType == OMX_CommandStateSet,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1386
				   User::Panic(KOmxILFsmPanicCategory, 1));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1387
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1388
	COmxILFsm::TStateIndex nextState = COmxILFsm::EStateMax;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1389
	switch(aCommand.iParam1)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1390
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1391
	case OMX_StateIdle:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1392
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1393
		nextState = COmxILFsm::ESubStateExecutingToIdle;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1394
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1395
		break;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1396
	case OMX_StatePause:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1397
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1398
		nextState = COmxILFsm::EStatePause;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1399
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1400
		break;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1401
	case OMX_StateExecuting:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1402
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1403
		return OMX_ErrorSameState;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1404
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1405
	case OMX_StateInvalid:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1406
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1407
		// Notify the IL client... ignore the ret value...
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1408
		aFsm.iCallbacks.TransitionCompleteNotification(OMX_StateInvalid);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1409
		// Invalidate component
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1410
		return OMX_ErrorInvalidState;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1411
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1412
	default:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1413
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1414
		return OMX_ErrorIncorrectStateTransition;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1415
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1416
		};
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1417
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1418
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1419
	// Initial checks OK. The component is commanded to make a transition to
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1420
	// ESubStateExecutingToIdle substate or OMX_StatePause.
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1421
	OMX_ERRORTYPE omxRetValue = aFsm.FsmTransition(nextState);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1422
	if (OMX_ErrorNone != omxRetValue)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1423
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1424
		return omxRetValue;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1425
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1426
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1427
	if (COmxILFsm::ESubStateExecutingToIdle == nextState)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1428
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1429
		// Lets tell port manager since at this point it is mandated that all
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1430
		// buffers must be returned to their suppliers (IL Client and/or
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1431
		// tunnelled components).
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1432
		TBool allBuffersReturnedToSuppliers = EFalse;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1433
		omxRetValue =
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1434
			aFsm.iPortManager.BufferFlushIndicationPauseOrExeToIdleCommand(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1435
				allBuffersReturnedToSuppliers);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1436
		if (OMX_ErrorNone != omxRetValue)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1437
			{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1438
			return omxRetValue;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1439
			}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1440
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1441
		if (allBuffersReturnedToSuppliers)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1442
			{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1443
			// Complete here the transition to OMX_StateIdle
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1444
			omxRetValue = aFsm.FsmTransition(COmxILFsm::EStateIdle);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1445
			if (OMX_ErrorNone == omxRetValue)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1446
				{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1447
				// Notify the IL client that port population has completed sucessfully
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1448
				omxRetValue = aFsm.iCallbacks.TransitionCompleteNotification(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1449
					OMX_StateIdle);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1450
				}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1451
			}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1452
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1453
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1454
	else
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1455
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1456
		// Notify the IL client that the transition to OMX_StatePause has
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1457
		// completed sucessfully
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1458
		omxRetValue = aFsm.iCallbacks.TransitionCompleteNotification(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1459
			OMX_StatePause);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1460
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1461
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1462
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1463
	return omxRetValue;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1464
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1465
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1466
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1467
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1468
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1469
COmxILFsm::COmxILStateExecuting::CommandPortEnable(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1470
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1471
	const TOmxILCommand& aCommand)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1472
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1473
    DEBUG_PRINTF(_L8("COmxILStateExecuting::CommandPortEnable"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1474
	__ASSERT_DEBUG(aCommand.iCommandType == OMX_CommandPortEnable,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1475
				   User::Panic(KOmxILFsmPanicCategory, 1));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1476
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1477
	// In this state, the port allocation has finished for enabled
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1478
	// ports. However, a port is being enabled here. The port being enabled
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1479
	// must populate (if tunnel supplier) or be populated (if non-tunnel
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1480
	// supplier or IL Client communication)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1481
	TBool indicationIsFinal = EFalse;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1482
	OMX_ERRORTYPE omxRetValue =
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1483
		aFsm.iPortManager.PortEnableIndication(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1484
			aCommand.iParam1,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1485
			indicationIsFinal);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1486
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1487
	if (OMX_ErrorNone == omxRetValue)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1488
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1489
		// From section 3.2.2.6, "If the IL client enables a port while the
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1490
		// component is in any state other than OMX_StateLoaded or
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1491
		// OMX_WaitForResources, then that port shall allocate its buffers via
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1492
		// the same call sequence used on a transition from OMX_StateLoaded to
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1493
		// OMX_StateIdle. If the IL client enables while the component is in
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1494
		// the OMX_Executing state, then that port shall begin transferring
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1495
		// buffers"
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1496
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1497
		// Lets tell port manager in case the port being enabled is a tunnel
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1498
		// supplier...
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1499
		TBool componentPopulationCompleted = EFalse;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1500
		omxRetValue =
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1501
			aFsm.iPortManager.TunnellingBufferAllocation(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1502
				componentPopulationCompleted, aCommand.iParam1);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1503
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1504
		// No need to use here componentPopulationCompleted. A port is being
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1505
		// enabled in OMX_StateExecuting. If the port is a supplier, after
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1506
		// being re-enabled it should start the buffer allocation phase,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1507
		// regardless of the population state of other ports in the component.
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1508
		if (OMX_ErrorNone == omxRetValue)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1509
			{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1510
			// Fire up the tunnelled buffer exchange in the enabled port...
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1511
			omxRetValue = aFsm.iPortManager.InitiateTunnellingDataFlow(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1512
				aCommand.iParam1);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1513
			}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1514
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1515
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1516
	return omxRetValue;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1517
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1518
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1519
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1520
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1521
//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1522
// MOmxILPauseOrExecutingToIdle
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1523
//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1524
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1525
COmxILFsm::MOmxILPauseOrExecutingToIdle::ReturnThisBuffer(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1526
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1527
	OMX_BUFFERHEADERTYPE* apBuffer,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1528
	OMX_DIRTYPE aDirection)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1529
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1530
    DEBUG_PRINTF(_L8("MOmxILPauseOrExecutingToIdle::ReturnThisBuffer"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1531
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1532
	TBool allBuffersReturned = EFalse;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1533
	OMX_ERRORTYPE omxRetValue =
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1534
		aFsm.iPortManager.BufferReturnIndication(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1535
			apBuffer,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1536
			aDirection,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1537
			allBuffersReturned
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1538
			);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1539
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1540
	if (OMX_ErrorNone != omxRetValue)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1541
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1542
		return omxRetValue;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1543
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1544
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1545
	if (allBuffersReturned &&
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1546
		aFsm.iPortManager.AllBuffersAtHome())
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1547
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1548
		// Complete here the transition to OMX_StateIdle
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1549
		omxRetValue = aFsm.FsmTransition(COmxILFsm::EStateIdle);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1550
		if (OMX_ErrorNone == omxRetValue)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1551
			{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1552
			// Notify the IL client that transition to Idle has completed
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1553
			// sucessfully
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1554
			omxRetValue = aFsm.iCallbacks.TransitionCompleteNotification(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1555
				OMX_StateIdle);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1556
			}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1557
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1558
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1559
	return omxRetValue;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1560
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1561
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1562
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1563
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1564
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1565
//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1566
// COmxILStateExecutingToIdle
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1567
//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1568
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1569
COmxILFsm::COmxILStateExecutingToIdle::EmptyThisBuffer(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1570
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1571
	OMX_BUFFERHEADERTYPE* apBuffer)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1572
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1573
    DEBUG_PRINTF(_L8("COmxILStateExecutingToIdle::EmptyThisBuffer"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1574
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1575
	return ReturnThisBuffer(aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1576
							apBuffer,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1577
							OMX_DirInput);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1578
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1579
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1580
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1581
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1582
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1583
COmxILFsm::COmxILStateExecutingToIdle::FillThisBuffer(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1584
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1585
	OMX_BUFFERHEADERTYPE* apBuffer)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1586
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1587
    DEBUG_PRINTF(_L8("COmxILStateExecutingToIdle::FillThisBuffer"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1588
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1589
	return ReturnThisBuffer(aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1590
							apBuffer,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1591
							OMX_DirOutput);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1592
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1593
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1594
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1595
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1596
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1597
COmxILFsm::COmxILStateExecutingToIdle::CommandStateSet(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1598
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1599
	const TOmxILCommand& aCommand)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1600
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1601
    DEBUG_PRINTF(_L8("COmxILStateExecutingToIdle::CommandStateSet"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1602
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1603
	__ASSERT_DEBUG(aCommand.iCommandType == OMX_CommandStateSet,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1604
				   User::Panic(KOmxILFsmPanicCategory, 1));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1605
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1606
	switch(aCommand.iParam1)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1607
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1608
	case OMX_StateExecuting:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1609
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1610
		// Here, return "same state" as the transition to OMX_StateIdle has
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1611
		// not completed yet.
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1612
		return OMX_ErrorSameState;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1613
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1614
	case OMX_StateInvalid:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1615
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1616
		// Notify the IL client... ignore the ret value...
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1617
		aFsm.iCallbacks.TransitionCompleteNotification(OMX_StateInvalid);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1618
		// Invalidate component
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1619
		return OMX_ErrorInvalidState;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1620
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1621
	default:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1622
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1623
		return OMX_ErrorIncorrectStateTransition;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1624
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1625
		};
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1626
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1627
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1628
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1629
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1630
//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1631
// COmxILStatePause
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1632
//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1633
OMX_STATETYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1634
COmxILFsm::COmxILStatePause::GetState() const
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1635
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1636
    DEBUG_PRINTF(_L8("COmxILStatePause::GetState"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1637
	return OMX_StatePause;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1638
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1639
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1640
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1641
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1642
COmxILFsm::COmxILStatePause::SetParameter(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1643
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1644
	OMX_INDEXTYPE aParamIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1645
	const TAny* apComponentParameterStructure)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1646
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1647
    DEBUG_PRINTF(_L8("COmxILStatePause::SetParameter"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1648
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1649
	return COmxILState::SetParameter(aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1650
									 aParamIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1651
									 apComponentParameterStructure);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1652
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1653
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1654
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1655
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1656
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1657
COmxILFsm::COmxILStatePause::PopulateBuffer(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1658
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1659
	OMX_BUFFERHEADERTYPE** appBufferHdr,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1660
	OMX_U32 aPortIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1661
	OMX_PTR apAppPrivate,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1662
	OMX_U32 aSizeBytes,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1663
	OMX_U8* apBuffer,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1664
	TBool& portPopulationCompleted)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1665
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1666
    DEBUG_PRINTF(_L8("COmxILStatePause::PopulateBuffer"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1667
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1668
	return COmxILState::PopulateBuffer(aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1669
									   appBufferHdr,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1670
									   aPortIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1671
									   apAppPrivate,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1672
									   aSizeBytes,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1673
									   apBuffer,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1674
									   portPopulationCompleted);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1675
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1676
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1677
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1678
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1679
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1680
COmxILFsm::COmxILStatePause::FreeBuffer(COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1681
										OMX_U32 aPortIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1682
										OMX_BUFFERHEADERTYPE* apBuffer,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1683
										TBool& aPortDepopulationCompleted)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1684
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1685
    DEBUG_PRINTF(_L8("COmxILStatePause::FreeBuffer"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1686
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1687
	return COmxILState::FreeBuffer(aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1688
								   aPortIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1689
								   apBuffer,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1690
								   aPortDepopulationCompleted);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1691
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1692
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1693
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1694
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1695
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1696
COmxILFsm::COmxILStatePause::EmptyThisBuffer(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1697
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1698
	OMX_BUFFERHEADERTYPE* apBuffer)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1699
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1700
    DEBUG_PRINTF(_L8("COmxILStatePause::EmptyThisBuffer"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1701
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1702
	return COmxILState::EmptyThisBufferV2(aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1703
										  apBuffer);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1704
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1705
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1706
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1707
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1708
COmxILFsm::COmxILStatePause::FillThisBuffer(COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1709
											OMX_BUFFERHEADERTYPE* apBuffer)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1710
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1711
    DEBUG_PRINTF(_L8("COmxILStatePause::FillThisBuffer"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1712
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1713
	return COmxILState::FillThisBufferV2(aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1714
										 apBuffer);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1715
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1716
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1717
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1718
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1719
COmxILFsm::COmxILStatePause::ComponentTunnelRequest(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1720
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1721
	OMX_U32 aPort,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1722
	OMX_HANDLETYPE aTunneledComp,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1723
	OMX_U32 aTunneledPort,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1724
	OMX_TUNNELSETUPTYPE* apTunnelSetup)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1725
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1726
    DEBUG_PRINTF(_L8("COmxILStatePause::ComponentTunnelRequest"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1727
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1728
	return COmxILState::ComponentTunnelRequest(aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1729
											   aPort,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1730
											   aTunneledComp,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1731
											   aTunneledPort,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1732
											   apTunnelSetup);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1733
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1734
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1735
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1736
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1737
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1738
COmxILFsm::COmxILStatePause::CommandStateSet(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1739
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1740
	const TOmxILCommand& aCommand)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1741
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1742
    DEBUG_PRINTF(_L8("COmxILStatePause::CommandStateSet"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1743
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1744
	__ASSERT_DEBUG(aCommand.iCommandType == OMX_CommandStateSet,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1745
				   User::Panic(KOmxILFsmPanicCategory, 1));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1746
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1747
	COmxILFsm::TStateIndex nextState = COmxILFsm::EStateInvalid;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1748
	switch(aCommand.iParam1)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1749
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1750
	case OMX_StateIdle:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1751
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1752
		nextState = COmxILFsm::ESubStatePauseToIdle;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1753
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1754
		break;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1755
	case OMX_StateExecuting:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1756
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1757
		nextState = COmxILFsm::EStateExecuting;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1758
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1759
		break;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1760
	case OMX_StatePause:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1761
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1762
		return OMX_ErrorSameState;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1763
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1764
	case OMX_StateInvalid:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1765
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1766
		// Notify the IL client... ignore the ret value...
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1767
		aFsm.iCallbacks.TransitionCompleteNotification(OMX_StateInvalid);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1768
		// Invalidate component
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1769
		return OMX_ErrorInvalidState;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1770
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1771
	default:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1772
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1773
		return OMX_ErrorIncorrectStateTransition;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1774
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1775
		};
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1776
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1777
	// Initial command checks OK. The component is commanded to make a
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1778
	// transition to ESubStatePauseToIdle substate or OMX_StateExecuting.
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1779
	// Commit transition to the valid state
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1780
	OMX_ERRORTYPE omxRetValue = aFsm.FsmTransition(nextState);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1781
	if (OMX_ErrorNone != omxRetValue)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1782
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1783
		return omxRetValue;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1784
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1785
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1786
	if (COmxILFsm::ESubStatePauseToIdle == nextState)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1787
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1788
		// Lets tell port manager since at this point it is mandated that all
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1789
		// buffers must be returned to their suppliers (IL Client and/or
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1790
		// tunnelled components).
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1791
		TBool allBuffersReturnedToSuppliers = EFalse;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1792
		omxRetValue =
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1793
			aFsm.iPortManager.BufferFlushIndicationPauseOrExeToIdleCommand(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1794
				allBuffersReturnedToSuppliers);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1795
		if (OMX_ErrorNone != omxRetValue)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1796
			{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1797
			return omxRetValue;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1798
			}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1799
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1800
		if (allBuffersReturnedToSuppliers)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1801
			{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1802
			// Complete here the transition to OMX_StateIdle
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1803
			omxRetValue = aFsm.FsmTransition(COmxILFsm::EStateIdle);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1804
			if (OMX_ErrorNone == omxRetValue)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1805
				{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1806
				// Notify the IL client that port population has completed sucessfully
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1807
				aFsm.iCallbacks.TransitionCompleteNotification(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1808
					OMX_StateIdle);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1809
				}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1810
			}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1811
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1812
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1813
	else
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1814
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1815
		// Notify the IL client that the transition to OMX_StateExecuting has
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1816
		// completed sucessfully
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1817
		omxRetValue = aFsm.iCallbacks.TransitionCompleteNotification(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1818
			OMX_StateExecuting);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1819
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1820
		if (OMX_ErrorNone == omxRetValue)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1821
			{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1822
			// Fire up the tunnelled buffer exchange, if any tunnelled ports are
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1823
			// found in the component...
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1824
			omxRetValue = aFsm.iPortManager.InitiateTunnellingDataFlow();
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1825
			}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1826
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1827
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1828
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1829
	return omxRetValue;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1830
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1831
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1832
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1833
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1834
COmxILFsm::COmxILStatePause::CommandPortEnable(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1835
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1836
	const TOmxILCommand& aCommand)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1837
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1838
    DEBUG_PRINTF(_L8("COmxILStatePause::CommandPortEnable"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1839
	__ASSERT_DEBUG(aCommand.iCommandType == OMX_CommandPortEnable,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1840
				   User::Panic(KOmxILFsmPanicCategory, 1));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1841
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1842
	// In this state, the port allocation has finished for enabled
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1843
	// ports. However, a port is being enabled here. The port being enabled
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1844
	// must populate (if tunnel supplier) or be populated (if non-tunnel
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1845
	// supplier or IL Client communication)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1846
	TBool indicationIsFinal = EFalse;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1847
	OMX_ERRORTYPE omxRetValue = aFsm.iPortManager.PortEnableIndication(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1848
		aCommand.iParam1,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1849
		indicationIsFinal);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1850
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1851
	if (OMX_ErrorNone == omxRetValue)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1852
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1853
		// From section 3.2.2.6, "If the IL client enables a port while the
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1854
		// component is in any state other than OMX_StateLoaded or
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1855
		// OMX_WaitForResources, then that port shall allocate its buffers via
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1856
		// the same call sequence used on a transition from OMX_StateLoaded to
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1857
		// OMX_StateIdle."
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1858
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1859
		// Lets tell port manager in case the port being enabled is a tunnel
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1860
		// supplier...
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1861
		TBool componentPopulationCompleted = EFalse;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1862
		omxRetValue =
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1863
			aFsm.iPortManager.TunnellingBufferAllocation(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1864
				componentPopulationCompleted, aCommand.iParam1);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1865
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1866
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1867
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1868
	return omxRetValue;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1869
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1870
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1871
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1872
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1873
//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1874
// COmxILStatePauseToIdle
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1875
//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1876
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1877
COmxILFsm::COmxILStatePauseToIdle::EmptyThisBuffer(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1878
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1879
	OMX_BUFFERHEADERTYPE* apBuffer)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1880
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1881
    DEBUG_PRINTF(_L8("COmxILStatePauseToIdle::EmptyThisBuffer"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1882
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1883
	return ReturnThisBuffer(aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1884
							apBuffer,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1885
							OMX_DirInput);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1886
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1887
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1888
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1889
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1890
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1891
COmxILFsm::COmxILStatePauseToIdle::FillThisBuffer(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1892
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1893
	OMX_BUFFERHEADERTYPE* apBuffer)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1894
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1895
    DEBUG_PRINTF(_L8("COmxILStatePauseToIdle::FillThisBuffer"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1896
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1897
	return ReturnThisBuffer(aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1898
							apBuffer,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1899
							OMX_DirOutput);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1900
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1901
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1902
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1903
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1904
OMX_ERRORTYPE
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1905
COmxILFsm::COmxILStatePauseToIdle::CommandStateSet(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1906
	COmxILFsm& aFsm,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1907
	const TOmxILCommand& aCommand)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1908
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1909
    DEBUG_PRINTF(_L8("COmxILStatePauseToIdle::CommandStateSet"));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1910
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1911
	__ASSERT_DEBUG(aCommand.iCommandType == OMX_CommandStateSet,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1912
				   User::Panic(KOmxILFsmPanicCategory, 1));
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1913
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1914
	switch(aCommand.iParam1)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1915
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1916
	case OMX_StatePause:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1917
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1918
		// Here, return "same state" as the transition to OMX_StateIdle has not
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1919
		// completed yet.
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1920
		return OMX_ErrorSameState;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1921
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1922
	case OMX_StateInvalid:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1923
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1924
		// Notify the IL client... ignore the ret value...
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1925
		aFsm.iCallbacks.TransitionCompleteNotification(OMX_StateInvalid);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1926
		// Invalidate component
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1927
		return OMX_ErrorInvalidState;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1928
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1929
	default:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1930
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1931
		return OMX_ErrorIncorrectStateTransition;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1932
		}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1933
		};
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1934
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1935
	}
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1936
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 0
diff changeset
  1937