omxilcomp/omxilgeneric/filesink/src/omxilfilesink.cpp
author hgs
Thu, 14 Oct 2010 10:22:53 +0100
changeset 4 46e224560be8
parent 0 58be5850fb6c
permissions -rw-r--r--
2010wk42
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 "omxilfilesink.h"
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    23
#include "omxilfilesinkprocessingfunction.h"
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    24
#include "omxilfilesinkconfigmanager.h"
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    25
#include "omxilfilesink.hrh"
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    26
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_FILESINK
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    29
#include "omxilaudiofilesinkapb0port.h"
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    30
_LIT8(KNokiaOMXFileSinkComponentName, "OMX.NOKIA.AUDIO.FILESINK");
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    31
_LIT8(KNokiaOMXFileSinkRole, "audio_writer.binary");
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    32
OMXIL_COMPONENT_ECOM_ENTRYPOINT(KUidNokiaOmxILAudioFileSink);
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_FILESINK)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    35
#include "omxilvideofilesinkvpb0port.h"
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    36
_LIT8(KNokiaOMXFileSinkComponentName, "OMX.NOKIA.VIDEO.FILESINK");
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    37
_LIT8(KNokiaOMXFileSinkRole, "video_writer.binary");
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    38
OMXIL_COMPONENT_ECOM_ENTRYPOINT(KUidNokiaOmxILVideoFileSink);
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_FILESINK)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    41
#include "omxilimagefilesinkipb0port.h"
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    42
_LIT8(KNokiaOMXFileSinkComponentName, "OMX.NOKIA.IMAGE.FILESINK");
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    43
_LIT8(KNokiaOMXFileSinkRole, "image_writer.binary");
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    44
OMXIL_COMPONENT_ECOM_ENTRYPOINT(KUidNokiaOmxILImageFileSink);
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_FILESINK)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    47
#include "omxilotherfilesinkopb0port.h"
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    48
_LIT8(KNokiaOMXFileSinkComponentName, "OMX.NOKIA.OTHER.FILESINK");
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    49
_LIT8(KNokiaOMXFileSinkRole, "other_writer.binary");
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    50
OMXIL_COMPONENT_ECOM_ENTRYPOINT(KUidSymbianOmxILOtherFileSink);
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, COmxILFileSink::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 COmxILFileSink::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
	COmxILFileSink* self = new (ELeave) COmxILFileSink();
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
COmxILFileSink::COmxILFileSink()
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
COmxILFileSink::~COmxILFileSink()
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 COmxILFileSink::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 sink-specific Processing Function...
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   103
    COmxILFileSinkProcessingFunction* pProcessingFunction = COmxILFileSinkProcessingFunction::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_FILESINK
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_FILESINK)
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_FILESINK)
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_FILESINK)
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 Sink 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_DirInput));
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
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   174
	componentRoles.AppendL(&KNokiaOMXFileSinkRole);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   175
	COmxILFileSinkConfigManager* pConfigManager = COmxILFileSinkConfigManager::NewL(
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   176
		KNokiaOMXFileSinkComponentName,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   177
		TOmxILVersion(KComponentVersionMajor,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   178
					  KComponentVersionMinor,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   179
					  KComponentVersionRevision,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   180
					  KComponentVersionStep),
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   181
		componentRoles,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   182
		*pProcessingFunction);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   183
    RegisterConfigurationManager(pConfigManager);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   184
	CleanupStack::PopAndDestroy(&componentRoles);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   185
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   186
	// STEP 9: Finally, let's get everything started
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   187
	InitComponentL();
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
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   190
COmxILPort* COmxILFileSink::ConstructPortL() const
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   191
	{
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   192
	OMX_U32 thisPortIndex = 0;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   193
	//const TUint32 KBufferAlignment = 4;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   194
#ifdef OMXIL_AUDIO_FILESINK
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   195
	RArray<OMX_AUDIO_CODINGTYPE> supportedAudioFormats;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   196
	CleanupClosePushL(supportedAudioFormats);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   197
	supportedAudioFormats.AppendL(OMX_AUDIO_CodingUnused);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   198
	COmxILAudioFileSinkAPB0Port* pPort = COmxILAudioFileSinkAPB0Port::NewL(
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   199
			TOmxILCommonPortData (
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   200
			TOmxILSpecVersion(),	// OMX specification version information
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   201
			thisPortIndex, 			// Port number the structure applies to
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   202
			OMX_DirInput, 			// Direction of this port
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   203
			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
   204
			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
   205
			OMX_PortDomainAudio,	// Domain of the port
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   206
			OMX_FALSE,				// Buffers contiguous requirement (true or false)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   207
			0,		                // Buffer aligment requirements
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   208
			OMX_BufferSupplyOutput,	// supplier preference when tunneling between two ports
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   209
			COmxILPort::KBufferMarkPropagationPortNotNeeded),
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   210
			supportedAudioFormats,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   211
			static_cast<COmxILFileSinkProcessingFunction&>(*GetProcessingFunction()));
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   212
	CleanupStack::PopAndDestroy(&supportedAudioFormats);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   213
	return pPort;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   214
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   215
#elif defined(OMXIL_VIDEO_FILESINK)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   216
    RArray<OMX_VIDEO_CODINGTYPE> supportedVideoFormats;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   217
    CleanupClosePushL(supportedVideoFormats);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   218
    RArray<OMX_COLOR_FORMATTYPE> supportedColourFormats;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   219
    CleanupClosePushL(supportedColourFormats);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   220
    COmxILVideoFileSinkVPB0Port* pPort = COmxILVideoFileSinkVPB0Port::NewL(
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   221
            TOmxILCommonPortData (
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   222
            TOmxILSpecVersion(),    // OMX specification version information
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   223
            thisPortIndex,          // Port number the structure applies to
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   224
            OMX_DirInput,           // Direction of this port
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   225
            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
   226
            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
   227
            OMX_PortDomainVideo,    // Domain of the port
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   228
            OMX_FALSE,              // Buffers contiguous requirement (true or false)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   229
            0,                      // Buffer aligment requirements
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   230
            OMX_BufferSupplyOutput, // supplier preference when tunneling between two ports
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   231
            COmxILPort::KBufferMarkPropagationPortNotNeeded),
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   232
            supportedVideoFormats,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   233
            supportedColourFormats,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   234
            static_cast<COmxILFileSinkProcessingFunction&>(*GetProcessingFunction()));
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   235
    CleanupStack::PopAndDestroy(2);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   236
    return pPort;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   237
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   238
#elif defined(OMXIL_IMAGE_FILESINK)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   239
    RArray<OMX_IMAGE_CODINGTYPE> supportedImageFormats;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   240
    CleanupClosePushL(supportedImageFormats);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   241
    //supportedImageFormats.AppendL(OMX_IMAGE_CodingUnused);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   242
    RArray<OMX_COLOR_FORMATTYPE> supportedColourFormats;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   243
    CleanupClosePushL(supportedColourFormats);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   244
    COmxILImageFileSinkIPB0Port* pPort = COmxILImageFileSinkIPB0Port::NewL(
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   245
            TOmxILCommonPortData (
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   246
            TOmxILSpecVersion(),    // OMX specification version information
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   247
            thisPortIndex,          // Port number the structure applies to
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   248
            OMX_DirInput,           // Direction of this port
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   249
            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
   250
            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
   251
            OMX_PortDomainImage,    // Domain of the port
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   252
            OMX_FALSE,              // Buffers contiguous requirement (true or false)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   253
            0,                      // Buffer aligment requirements
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   254
            OMX_BufferSupplyOutput, // supplier preference when tunneling between two ports
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   255
            COmxILPort::KBufferMarkPropagationPortNotNeeded),
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   256
            supportedImageFormats,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   257
            supportedColourFormats,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   258
            static_cast<COmxILFileSinkProcessingFunction&>(*GetProcessingFunction()));
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   259
    CleanupStack::PopAndDestroy(2);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   260
    return pPort;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   261
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   262
#elif defined(OMXIL_OTHER_FILESINK)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   263
	RArray<OMX_OTHER_FORMATTYPE> supportedOtherFormats;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   264
	CleanupClosePushL(supportedOtherFormats);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   265
	supportedOtherFormats.AppendL(OMX_OTHER_FormatBinary);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   266
	COmxILOtherFileSinkOPB0Port* pPort = COmxILOtherFileSinkOPB0Port::NewL(
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   267
			TOmxILCommonPortData (
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   268
			TOmxILSpecVersion(),	// OMX specification version information
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   269
			thisPortIndex, 			// Port number the structure applies to
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   270
			OMX_DirInput, 			// Direction of this port
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   271
			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
   272
			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
   273
			OMX_PortDomainOther,	// Domain of the port
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   274
			OMX_FALSE,				// Buffers contiguous requirement (true or false)
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   275
			0,		                // Buffer aligment requirements
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   276
			OMX_BufferSupplyOutput,	// supplier preference when tunneling between two ports
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   277
			COmxILPort::KBufferMarkPropagationPortNotNeeded),
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   278
			supportedOtherFormats,
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   279
			static_cast<COmxILFileSinkProcessingFunction&>(*GetProcessingFunction()));
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   280
	CleanupStack::PopAndDestroy(&supportedOtherFormats);
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   281
	return pPort;
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   282
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   283
#endif
58be5850fb6c Revision: 2010wk32
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   284
	}