omxilcomp/omxilgeneric/filesource/src/omxilfilesource.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 02 Sep 2010 20:13:57 +0300
changeset 0 58be5850fb6c
permissions -rw-r--r--
Revision: 2010wk32 Kit: 201035
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     1
// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     2
// All rights reserved.
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     3
// This component and the accompanying materials are made available
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     4
// under the terms of "Eclipse Public License v1.0"
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     5
// which accompanies this distribution, and is available
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     7
//
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     8
// Initial Contributors:
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     9
// Nokia Corporation - initial contribution.
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    10
//
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    11
// Contributors:
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    12
//
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    13
// Description:
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    14
//
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    15
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    16
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    17
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    18
#include <openmax/il/common/omxilport.h>
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    19
#include <openmax/il/common/omxilspecversion.h>
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    20
#include <openmax/il/loader/omxilsymbiancomponentif.h>
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    21
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    22
#include "omxilfilesource.h"
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    23
#include "omxilotherfilesourceopb0port.h"
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    24
#include "omxilfilesourceprocessingfunction.h"
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    25
#include "omxilfilesourceconfigmanager.h"
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    26
#include "omxilfilesource.hrh"
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    27
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    28
#ifdef OMXIL_AUDIO_FILESOURCE
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    29
#include "omxilaudiofilesourceapb0port.h"
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    30
_LIT8(KNokiaOMXFileSourceComponentName, "OMX.NOKIA.AUDIO.FILESOURCE");
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    31
_LIT8(KNokiaOMXFileSourceRole, "audio_reader.binary");
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    32
OMXIL_COMPONENT_ECOM_ENTRYPOINT(KUidNokiaOmxILAudioFileSource);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    33
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    34
#elif defined(OMXIL_VIDEO_FILESOURCE)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    35
#include "omxilvideofilesourcevpb0port.h"
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    36
_LIT8(KNokiaOMXFileSourceComponentName, "OMX.NOKIA.VIDEO.FILESOURCE");
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    37
_LIT8(KNokiaOMXFileSourceRole, "video_reader.binary");
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    38
OMXIL_COMPONENT_ECOM_ENTRYPOINT(KUidNokiaOmxILVideoFileSource);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    39
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    40
#elif defined(OMXIL_IMAGE_FILESOURCE)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    41
#include "omxilimagefilesourceipb0port.h"
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    42
_LIT8(KNokiaOMXFileSourceComponentName, "OMX.NOKIA.IMAGE.FILESOURCE");
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    43
_LIT8(KNokiaOMXFileSourceRole, "image_reader.binary");
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    44
OMXIL_COMPONENT_ECOM_ENTRYPOINT(KUidNokiaOmxILImageFileSource);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    45
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    46
#elif defined(OMXIL_OTHER_FILESOURCE)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    47
#include "omxilotherfilesourceopb0port.h"
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    48
_LIT8(KNokiaOMXFileSourceComponentName, "OMX.NOKIA.OTHER.FILESOURCE");
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    49
_LIT8(KNokiaOMXFileSourceRole, "other_reader.binary");
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    50
OMXIL_COMPONENT_ECOM_ENTRYPOINT(KUidNokiaOmxILOtherFileSource);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    51
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    52
#endif
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    53
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    54
const TUint8 KComponentVersionMajor = 1;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    55
const TUint8 KComponentVersionMinor = 1;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    56
const TUint8 KComponentVersionRevision = 0;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    57
const TUint8 KComponentVersionStep = 0;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    58
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    59
static const TInt KMinBuffers = 1;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    60
static const TInt KMinBufferSize = 15360;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    61
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    62
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    63
// Component Entry Point
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    64
OMX_ERRORTYPE OMX_ComponentInit(OMX_HANDLETYPE aComponent)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    65
	{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    66
	TRAPD(err, COmxILFileSource::CreateComponentL(aComponent));
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    67
	if (err == KErrNone)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    68
		{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    69
		return OMX_ErrorNone;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    70
		}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    71
	else
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    72
		{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    73
		return err == KErrNoMemory ? OMX_ErrorInsufficientResources : OMX_ErrorUndefined;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    74
		}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    75
	}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    76
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    77
void COmxILFileSource::CreateComponentL(OMX_HANDLETYPE aComponent)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    78
	{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    79
	COmxILFileSource* self = new (ELeave) COmxILFileSource();
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    80
	CleanupStack::PushL(self);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    81
	self->ConstructL(aComponent);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    82
	CleanupStack::Pop(self);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    83
	}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    84
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    85
COmxILFileSource::COmxILFileSource()
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    86
	{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    87
	// nothing to do
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    88
	}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    89
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    90
COmxILFileSource::~COmxILFileSource()
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    91
	{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    92
	}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    93
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    94
void COmxILFileSource::ConstructL(OMX_HANDLETYPE aComponent)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    95
	{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    96
    // STEP 1: Initialize the data received from the IL Core
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    97
    COmxILComponent::ConstructL(aComponent);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    98
    
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    99
    // STEP 2: Create the call backs manager...
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   100
    MOmxILCallbackNotificationIf* callbackNotificationIf=CreateCallbackManagerL(COmxILComponent::EOutofContext);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   101
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   102
	// STEP 3: Create the file source-specific Processing Function...
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   103
    COmxILFileSourceProcessingFunction* pProcessingFunction = COmxILFileSourceProcessingFunction::NewL(*callbackNotificationIf);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   104
    RegisterProcessingFunction(pProcessingFunction);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   105
    
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   106
	// STEP 4: Create Port manager...
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   107
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   108
#ifdef OMXIL_AUDIO_FILESOURCE
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   109
    CreatePortManagerL(COmxILComponent::ENonBufferSharingPortManager,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   110
        TOmxILSpecVersion(),    // OMX Version
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   111
        1,                      // The number of audio ports in this component
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   112
        0,                      // The starting audio port index
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   113
        0,                      // The number of image ports in this component
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   114
        0,                      // The starting image port index
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   115
        0,                      // The number of video ports in this component
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   116
        0,                      // The starting video port index
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   117
        0,                      // The number of other ports in this component
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   118
        0                       // The starting other port index
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   119
        );
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   120
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   121
#elif defined(OMXIL_VIDEO_FILESOURCE)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   122
    CreatePortManagerL(COmxILComponent::ENonBufferSharingPortManager,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   123
        TOmxILSpecVersion(),    // OMX Version
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   124
        0,                      // The number of audio ports in this component
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   125
        0,                      // The starting audio port index
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   126
        0,                      // The number of image ports in this component
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   127
        0,                      // The starting image port index
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   128
        1,                      // The number of video ports in this component
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   129
        0,                      // The starting video port index
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   130
        0,                      // The number of other ports in this component
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   131
        0                       // The starting other port index
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   132
        );
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   133
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   134
#elif defined(OMXIL_IMAGE_FILESOURCE)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   135
    CreatePortManagerL(COmxILComponent::ENonBufferSharingPortManager,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   136
        TOmxILSpecVersion(),    // OMX Version
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   137
        0,                      // The number of audio ports in this component
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   138
        0,                      // The starting audio port index
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   139
        1,                      // The number of image ports in this component
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   140
        0,                      // The starting image port index
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   141
        0,                      // The number of video ports in this component
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   142
        0,                      // The starting video port index
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   143
        0,                      // The number of other ports in this component
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   144
        0                       // The starting other port index
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   145
        );
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   146
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   147
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   148
#elif defined(OMXIL_OTHER_FILESOURCE)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   149
    CreatePortManagerL(COmxILComponent::ENonBufferSharingPortManager,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   150
        TOmxILSpecVersion(),    // OMX Version
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   151
        0,                      // The number of audio ports in this component
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   152
        0,                      // The starting audio port index
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   153
        0,                      // The number of image ports in this component
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   154
        0,                      // The starting image port index
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   155
        0,                      // The number of video ports in this component
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   156
        0,                      // The starting video port index
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   157
        1,                      // The number of other ports in this component
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   158
        0                       // The starting other port index
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   159
        );
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   160
#endif
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   161
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   162
	// STEP 5: Create the File Source component port...
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   163
    COmxILPort* pPort = ConstructPortL();
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   164
    CleanupStack::PushL(pPort);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   165
    
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   166
	// STEP 6: Add to the port manager...
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   167
	User::LeaveIfError(AddPort(pPort, OMX_DirOutput));
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   168
	CleanupStack::Pop(); //pPort
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   169
	
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   170
	// STEP 7: Create the non-port related configuration manager...
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   171
	RPointerArray<TDesC8> componentRoles;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   172
	CleanupClosePushL(componentRoles);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   173
	componentRoles.AppendL(&KNokiaOMXFileSourceRole);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   174
	COmxILFileSourceConfigManager* pConfigManager = COmxILFileSourceConfigManager::NewL(
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   175
                                    KNokiaOMXFileSourceComponentName,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   176
                                    TOmxILVersion(KComponentVersionMajor,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   177
                                                  KComponentVersionMinor,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   178
                                                  KComponentVersionRevision,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   179
                                                  KComponentVersionStep),
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   180
                                    componentRoles,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   181
                                    *pProcessingFunction);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   182
    RegisterConfigurationManager(pConfigManager);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   183
	CleanupStack::PopAndDestroy(&componentRoles);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   184
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   185
	// STEP 8: Finally, let's get everything started
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   186
	InitComponentL();
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   187
	}
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   188
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   189
COmxILPort* COmxILFileSource::ConstructPortL() const
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   190
	{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   191
	OMX_U32 thisPortIndex = 0;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   192
#ifdef OMXIL_AUDIO_FILESOURCE
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   193
	RArray<OMX_AUDIO_CODINGTYPE> supportedAudioFormats;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   194
	CleanupClosePushL(supportedAudioFormats);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   195
	supportedAudioFormats.AppendL(OMX_AUDIO_CodingUnused);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   196
	COmxILAudioFileSourceAPB0Port* opb0Port = COmxILAudioFileSourceAPB0Port::NewL(
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   197
			TOmxILCommonPortData (
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   198
			TOmxILSpecVersion(),	// OMX specification version information
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   199
			thisPortIndex, 			// Port number the structure applies to
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   200
			OMX_DirOutput, 			// Direction of this port
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   201
			KMinBuffers,			// The minimum number of buffers this port requires
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   202
			KMinBufferSize,			// Minimum size, in bytes, for buffers to be used for this port
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   203
			OMX_PortDomainAudio,	// Domain of the port
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   204
			OMX_FALSE,				// Buffers contiguous requirement (true or false)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   205
			0,		                 // Buffer aligment requirements
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   206
			OMX_BufferSupplyUnspecified,	// supplier preference when tunneling between two ports
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   207
			COmxILPort::KBufferMarkPropagationPortNotNeeded),
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   208
			supportedAudioFormats,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   209
			static_cast<COmxILFileSourceProcessingFunction&>(*GetProcessingFunction()));
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   210
	CleanupStack::PopAndDestroy(&supportedAudioFormats);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   211
	return opb0Port;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   212
#elif defined(OMXIL_VIDEO_FILESOURCE)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   213
    RArray<OMX_VIDEO_CODINGTYPE> supportedVideoFormats;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   214
    CleanupClosePushL(supportedVideoFormats);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   215
    RArray<OMX_COLOR_FORMATTYPE> supportedColourFormats;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   216
    CleanupClosePushL(supportedColourFormats);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   217
    COmxILVideoFileSourceVPB0Port* opb0Port = COmxILVideoFileSourceVPB0Port::NewL(
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   218
            TOmxILCommonPortData (
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   219
            TOmxILSpecVersion(),    // OMX specification version information
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   220
            thisPortIndex,          // Port number the structure applies to
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   221
            OMX_DirOutput,           // Direction of this port
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   222
            KMinBuffers,            // The minimum number of buffers this port requires
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   223
            KMinBufferSize,         // Minimum size, in bytes, for buffers to be used for this port
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   224
            OMX_PortDomainVideo,    // Domain of the port
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   225
            OMX_FALSE,//OMX_TRUE,               // Buffers contiguous requirement (true or false)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   226
            0,//KBufferAlignment,       // Buffer aligment requirements
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   227
            OMX_BufferSupplyUnspecified, // supplier preference when tunneling between two ports
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   228
            COmxILPort::KBufferMarkPropagationPortNotNeeded),
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   229
            supportedVideoFormats,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   230
            supportedColourFormats,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   231
            static_cast<COmxILFileSourceProcessingFunction&>(*GetProcessingFunction()));
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   232
    CleanupStack::PopAndDestroy(2);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   233
    return opb0Port;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   234
#elif defined(OMXIL_IMAGE_FILESOURCE)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   235
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   236
    RArray<OMX_IMAGE_CODINGTYPE> supportedImageFormats;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   237
     CleanupClosePushL(supportedImageFormats);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   238
     RArray<OMX_COLOR_FORMATTYPE> supportedColourFormats;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   239
     CleanupClosePushL(supportedColourFormats);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   240
     COmxILImageFileSourceIPB0Port* opb0Port = COmxILImageFileSourceIPB0Port::NewL(
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   241
             TOmxILCommonPortData (
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   242
             TOmxILSpecVersion(),    // OMX specification version information
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   243
             thisPortIndex,          // Port number the structure applies to
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   244
             OMX_DirOutput,           // Direction of this port
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   245
             KMinBuffers,            // The minimum number of buffers this port requires
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   246
             KMinBufferSize,         // Minimum size, in bytes, for buffers to be used for this port
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   247
             OMX_PortDomainImage,    // Domain of the port
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   248
             OMX_FALSE,              // Buffers contiguous requirement (true or false)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   249
             0,                      // Buffer aligment requirements
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   250
             OMX_BufferSupplyUnspecified, // supplier preference when tunneling between two ports
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   251
             COmxILPort::KBufferMarkPropagationPortNotNeeded),
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   252
             supportedImageFormats,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   253
             supportedColourFormats,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   254
             static_cast<COmxILFileSourceProcessingFunction&>(*GetProcessingFunction()));
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   255
     CleanupStack::PopAndDestroy(2);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   256
     return opb0Port;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   257
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   258
#elif defined(OMXIL_OTHER_FILESOURCE)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   259
	RArray<OMX_OTHER_FORMATTYPE> supportedOtherFormats;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   260
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   261
	CleanupClosePushL(supportedOtherFormats);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   262
	supportedOtherFormats.AppendL(OMX_OTHER_FormatBinary);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   263
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   264
	COmxILOtherFileSourceOPB0Port* opb0Port = COmxILOtherFileSourceOPB0Port::NewL(
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   265
			TOmxILCommonPortData (
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   266
			TOmxILSpecVersion(),	// OMX specification version information
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   267
			thisPortIndex, 			// Port number the structure applies to
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   268
			OMX_DirOutput, 			// Direction of this port
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   269
			KMinBuffers,			// The minimum number of buffers this port requires
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   270
			KMinBufferSize,			// Minimum size, in bytes, for buffers to be used for this port
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   271
			OMX_PortDomainOther,	// Domain of the port
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   272
			OMX_FALSE,				// Buffers contiguous requirement (true or false)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   273
			0,		                 // Buffer aligment requirements
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   274
			OMX_BufferSupplyUnspecified,	// supplier preference when tunneling between two ports
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   275
			COmxILPort::KBufferMarkPropagationPortNotNeeded),
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   276
			supportedOtherFormats,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   277
			static_cast<COmxILFileSourceProcessingFunction&>(*GetProcessingFunction()));
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   278
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   279
	CleanupStack::PopAndDestroy(&supportedOtherFormats);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   280
	return opb0Port;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   281
#endif
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   282
	}