# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1263839476 -7200 # Node ID d7e778ce6e8ecabccb29eea88fdc758b8e40ef09 Revision: 201001 Kit: 201003 diff -r 000000000000 -r d7e778ce6e8e helix_ren/cenrep/keys_helix.xls Binary file helix_ren/cenrep/keys_helix.xls has changed diff -r 000000000000 -r d7e778ce6e8e helix_ren/data/backup_registration.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/helix_ren/data/backup_registration.xml Mon Jan 18 20:31:16 2010 +0200 @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff -r 000000000000 -r d7e778ce6e8e helix_ren/helix_stub/MMFMetadataEventConfigConstants/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/helix_ren/helix_stub/MMFMetadataEventConfigConstants/group/bld.inf Mon Jan 18 20:31:16 2010 +0200 @@ -0,0 +1,25 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +#include + +PRJ_EXPORTS + +../inc/MMFMetadataEventConfigConstants.h MW_LAYER_PLATFORM_EXPORT_PATH(MMFMetadataEventConfigConstants.h) + + diff -r 000000000000 -r d7e778ce6e8e helix_ren/helix_stub/MMFMetadataEventConfigConstants/inc/MMFMetadataEventConfigConstants.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/helix_ren/helix_stub/MMFMetadataEventConfigConstants/inc/MMFMetadataEventConfigConstants.h Mon Jan 18 20:31:16 2010 +0200 @@ -0,0 +1,47 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + + +#ifndef __MMFMETADATAEVENTCONFIGCONSTANTS_H +#define __MMFMETADATAEVENTCONFIGCONSTANTS_H +#include +/** + * @publishedAll + * + * Interface UID of metadata event message for the Controller API. + */ +const TUid KUidInterfaceMMFControllerMetadataEventMsg = {0x2001113A}; + +/** + * Event UID to handle metadata event. + */ +const TUid KMMFRefreshMetaData = {0x20011139}; + +/** + * Function constants + */ +typedef enum TMMFMetadataEventConfigControllerMessage +{ + EMMFGetMetadataEventConfig=0, + EMMFSetMetadataEventConfig +}; + +#define EMMFDisableMetadataEvent EFalse +#define EMMFEnableMetadataEvent ETrue + +#endif __MMFMETADATAEVENTCONFIGCONSTANTS_H diff -r 000000000000 -r d7e778ce6e8e helix_ren/helix_stub/MMFScalingCustomCommands/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/helix_ren/helix_stub/MMFScalingCustomCommands/group/bld.inf Mon Jan 18 20:31:16 2010 +0200 @@ -0,0 +1,23 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +#include + +PRJ_EXPORTS + +../inc/MMFScalingCustomCommandConstants.h MW_LAYER_PLATFORM_EXPORT_PATH(MMFScalingCustomCommandConstants.h) diff -r 000000000000 -r d7e778ce6e8e helix_ren/helix_stub/MMFScalingCustomCommands/inc/MMFScalingCustomCommandConstants.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/helix_ren/helix_stub/MMFScalingCustomCommands/inc/MMFScalingCustomCommandConstants.h Mon Jan 18 20:31:16 2010 +0200 @@ -0,0 +1,47 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + + +#ifndef __MMFSCALINGCUSTOMCOMMANDCONSTANTS_H +#define __MMFSCALINGCUSTOMCOMMANDCONSTANTS_H +#include +/** + * @publishedAll + * + * Interface UID and Scaling messages for the Controller API. + */ +const TUid KUidInterfaceMMFControllerScalingMsg = {0x10283355}; +/** + * Function constants + */ +typedef enum +{ + EMMFGetScalingType=0, + EMMFSetScalingType +} TMMFScalingControllerMessage; + +typedef enum +{ + EMMFDefaultScaling=0, + EMMFNoScaling, + EMMFNatural, + EMMFZoom, + EMMFStretch +} TMMFScalingType; + +#endif __MMFSCALINGCUSTOMCOMMANDCONSTANTS_H diff -r 000000000000 -r d7e778ce6e8e helix_ren/helix_stub/ThumbnailAPI/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/helix_ren/helix_stub/ThumbnailAPI/group/bld.inf Mon Jan 18 20:31:16 2010 +0200 @@ -0,0 +1,32 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +#include + +PRJ_PLATFORMS +DEFAULT + +PRJ_EXPORTS + +../inc/hxmetadatautil.h MW_LAYER_PLATFORM_EXPORT_PATH(hxmetadatautil.h) +../inc/hxmetadatakeys.h MW_LAYER_PLATFORM_EXPORT_PATH(hxmetadatakeys.h) +../inc/hxtnutil.h MW_LAYER_PLATFORM_EXPORT_PATH(hxtnutil.h) +../inc/hxtnutil_obs.h MW_LAYER_PLATFORM_EXPORT_PATH(hxtnutil_obs.h) + +PRJ_MMPFILES +hxmetadatautil.mmp diff -r 000000000000 -r d7e778ce6e8e helix_ren/helix_stub/ThumbnailAPI/group/hxmetadatautil.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/helix_ren/helix_stub/ThumbnailAPI/group/hxmetadatautil.mmp Mon Jan 18 20:31:16 2010 +0200 @@ -0,0 +1,44 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +// +// Generated from Umakefil, do not edit, do not commit to cvs! +// +#include + +TARGET hxmetadatautil.lib +TARGETTYPE lib + + +SOURCEPATH ../src +SOURCE hxmetadatautil.cpp +SOURCE hxtnutil.cpp + +USERINCLUDE ../inc + + + +MW_LAYER_SYSTEMINCLUDE +SYSTEMINCLUDE /EPOC32/include/libc + + + +#if defined(MARM_ARMV5) +MACRO _EPOC ARM_ADS _ARM_ _RVCT_ VA_LIST_IS_STRUCT +#elif defined(WINSCW) +MACRO _EPOC +#endif diff -r 000000000000 -r d7e778ce6e8e helix_ren/helix_stub/ThumbnailAPI/inc/hxmetadatakeys.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/helix_ren/helix_stub/ThumbnailAPI/inc/hxmetadatakeys.h Mon Jan 18 20:31:16 2010 +0200 @@ -0,0 +1,99 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + + + + +#ifndef _SYMBIAN_METADATA_KEYS_H_ +#define _SYMBIAN_METADATA_KEYS_H_ + +struct HXMetaDataKeys +{ +public: + enum EHXMetaDataKeyType { + EInteger=0, + EBoolean, + EBuffer, + EString + }; + + enum EHXMetaDataId { + EHXTitle = 0, + EHXCopyright, + EHXAuthor, + EHXGenre, + EHXPerformer, + EHXDescription, + EHXLiveStream, + EHXSeekable, + EHXContentType, + EHXFormat, + EHXQuality, + EHXAbstract, + EHXDuration, + EHXClipBitRate, + EHXFramesPerSecond, + EHXFrameSize, + EHXStreamCount, + EHXVideoBitRate, + EHXAudioBitRate, + EHXMimeType, + EHXCodec, + EHXIconURI, + EHXEPreviewURI, + EHXContentURI, + EHXContentID, + EHXInfoURL + }; + + EHXMetaDataId m_id; + const char* m_pHXKey; + EHXMetaDataKeyType m_eType; +}; + + +#define HXTitle "Title" +#define HXCopyright "Copyright" +#define HXAuthor "Author" +#define HXAbstract "Abstract" +#define HXGenre "Genre" +#define HXPerformer "Performer" +#define HXContentType "ContentType" +#define HXLiveStream "LiveStream" +#define HXSeekable "Seekable" + +static const HXMetaDataKeys HXMetaDataKeyTab[] = { + { HXMetaDataKeys::EHXTitle , HXTitle ,HXMetaDataKeys::EBuffer } + ,{ HXMetaDataKeys::EHXCopyright , HXCopyright ,HXMetaDataKeys::EBuffer } + ,{ HXMetaDataKeys::EHXAuthor , HXAuthor ,HXMetaDataKeys::EBuffer } + ,{ HXMetaDataKeys::EHXAbstract , HXAbstract ,HXMetaDataKeys::EBuffer } + ,{ HXMetaDataKeys::EHXGenre , HXGenre ,HXMetaDataKeys::EBuffer } + ,{ HXMetaDataKeys::EHXPerformer , HXPerformer ,HXMetaDataKeys::EBuffer } + ,{ HXMetaDataKeys::EHXContentType , HXContentType ,HXMetaDataKeys::EBuffer } + ,{ HXMetaDataKeys::EHXLiveStream , HXLiveStream ,HXMetaDataKeys::EInteger } + ,{ HXMetaDataKeys::EHXSeekable , HXSeekable ,HXMetaDataKeys::EInteger } +}; + +static const HXMetaDataKeys HXStreamMetaDataKeyTab[] = { + { HXMetaDataKeys::EHXMimeType , "MimeType" ,HXMetaDataKeys::EString } + ,{ HXMetaDataKeys::EHXCodec , "Codec" ,HXMetaDataKeys::EString } +}; + + +#endif _SYMBIAN_METADATA_KEYS_H_ + diff -r 000000000000 -r d7e778ce6e8e helix_ren/helix_stub/ThumbnailAPI/inc/hxmetadatautil.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/helix_ren/helix_stub/ThumbnailAPI/inc/hxmetadatautil.h Mon Jan 18 20:31:16 2010 +0200 @@ -0,0 +1,84 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + + +#ifndef _SYMBIAN_METADATA_UTIL_IMP_H_ +#define _SYMBIAN_METADATA_UTIL_IMP_H_ + +// Symbian includes +#include // RFile + +#include "hxmetadatakeys.h" + + + + +// CHXMetaDataUtility is the entry point for metadata engine. +// This hides all the implmentation details of the actual metadata engine +// including Helix specfic details like GlobalManager, Location of the dlls etc. + +class CHXMetaDataUtility : public CBase +{ +public: + ~CHXMetaDataUtility(); + static CHXMetaDataUtility* NewL(); + + // Opens the file aFileName for metadata reading. + // descriptor aFileName can be deleted after the OpenFileL returns. + void OpenFileL( const TDesC& aFileName ); + + // Opens the descriptor for metadata reading. + // descriptor is required to be present till ResetL is being called. + void OpenDesL(const TDesC8& aDes); + + // Opens the descriptor for metadata reading. + // File Handle can be closed after the OpenFileL returns. + void OpenFileL(RFile& aFile); + + // Resets the utility. Must be called before OpenFileL() or + // OpenDesL() can be called again. + // + void ResetL(); + + // returns the count of metadata entries. + TInt GetMetaDataCount(TUint &aCount); + + // returns the Metadata entry at index a Index. + // pDes is not owned by the caller. + TInt GetMetaDataAt(TUint aIndex, + HXMetaDataKeys::EHXMetaDataId &id, HBufC*& pDes); + +private: + CHXMetaDataUtility(); + CHXMetaDataUtility* ConstructL(); + + // utility functions + void* GetSymbol(RLibrary &rlib, const char *symbolName); + void ConvertMetaDataL(); + +private: + typedef int (*GetSym2Ord)(const char* pSymbolName); + RLibrary m_rlib; + + TBool m_bLibLoaded; + TBool m_bCloseNeeded; + +}; + +#endif _SYMBIAN_METADATA_UTIL_IMP_H_ + diff -r 000000000000 -r d7e778ce6e8e helix_ren/helix_stub/ThumbnailAPI/inc/hxtnutil.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/helix_ren/helix_stub/ThumbnailAPI/inc/hxtnutil.h Mon Jan 18 20:31:16 2010 +0200 @@ -0,0 +1,110 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + + +#ifndef _SYMBIAN_TE_UTIL_H_ +#define _SYMBIAN_TE_UTIL_H_ + +// Symbian includes +#include // RFile + +#include "hxmetadatakeys.h" +#include "hxtnutil_obs.h" + + + + +// CHXThumbnailUtility is the entry point for TE engine. +// It enables access to Helix Thumbnail engine for reading +// the decoded YUV frames for a given file. + +class CHXThumbnailUtility : public CBase +{ +public: + ~CHXThumbnailUtility(); + + /** + * Constructs a new CHXThumbnailUtility object. This method + * may leave if no resources are available to construct + * a new object. + * + * Possible leave codes: + * - KErrNoMemory if memory allocation fails + * + * @param aObserver observer to notify when info is ready for reading + * + * @return pointer to a new CHXThumbnailUtility instance + */ + + static CHXThumbnailUtility* NewL(MHXThumbnailUtilityImplObserver& aObserver); + + /** + * OpenFileL reads data from aFileHandle to get information + * about the specified video clip file. + * Possible leave codes: + * - KErrNoMemory if memory allocation fails + * - KErrNotSupported if can't support this clip for thumbnail. + * - KErrNotFound if can't find a good thumbnail. + * + * @param aFileHandle File handle of file to get the thumbnail. + * @param uStartPositingMS Starting position in clip time from which to + read the thumbnail. + */ + + void OpenFileL(const RFile& aFileHandle, TUint uStartPositingMS = 0); + + + /** + * Cancels frame generation. If no frame is currently being + * generated, the function does nothing. Can be called multiple times + * without any side effects. + */ + + void CancelThumb(); + + + /** returns the count of metadata entries. + * @param aCount Number of metadata entries returned. + * @return System wide error code if there is any error. + */ + + TInt GetMetaDataCount(TUint &aCount); + + /** returns the metadata entry at the given index + * @param aIndex aIndex of the metadata entry. + * @param id returned id or key of the metadata entry. + * @param pDes returned value of the metadata entry. It is not + owned by the caller. + * @return System wide error code if there is any error. + */ + + TInt GetMetaDataAt(TUint aIndex, + HXMetaDataKeys::EHXMetaDataId &id, HBufC*& pDes); + +protected: + CHXThumbnailUtility(); + +private: + void ConstructL(MHXThumbnailUtilityImplObserver& aObserver); + + +}; + + +#endif _SYMBIAN_TE_UTIL_H_ + diff -r 000000000000 -r d7e778ce6e8e helix_ren/helix_stub/ThumbnailAPI/inc/hxtnutil_obs.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/helix_ren/helix_stub/ThumbnailAPI/inc/hxtnutil_obs.h Mon Jan 18 20:31:16 2010 +0200 @@ -0,0 +1,36 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + + + +#ifndef _SYMBIAN_TE_UTIL_OBS_H_ +#define _SYMBIAN_TE_UTIL_OBS_H_ + +#include +#include + +class MHXThumbnailUtilityImplObserver +{ + public: + virtual void MetaDataReady(TInt aError) = 0; + virtual void PacketReady(TInt aError, void *pData, TUint32 aDataSize) = 0; + virtual void EndOfPackets() = 0; +}; + +#endif _SYMBIAN_TE_UTIL_OBS_H_ + diff -r 000000000000 -r d7e778ce6e8e helix_ren/helix_stub/ThumbnailAPI/src/hxmetadatautil.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/helix_ren/helix_stub/ThumbnailAPI/src/hxmetadatautil.cpp Mon Jan 18 20:31:16 2010 +0200 @@ -0,0 +1,103 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +// symbian includes +#include +#include + +// MetaData includes + +#include "hxmetadatautil.h" +#include "hxmetadatakeys.h" + + + +CHXMetaDataUtility::CHXMetaDataUtility() + +{ + +//do nothing +} + +CHXMetaDataUtility::~CHXMetaDataUtility() +{ + //do nothing + +} + +CHXMetaDataUtility* CHXMetaDataUtility::NewL() +{ + return NULL; +} + +CHXMetaDataUtility* CHXMetaDataUtility::ConstructL() +{ + return NULL; +} + + +void CHXMetaDataUtility::OpenFileL( const TDesC& /*aFileName*/ ) +{ + User::Leave(KErrNotSupported); + +} + +void CHXMetaDataUtility::OpenFileL(RFile& /*aFile*/) +{ + User::Leave(KErrNotSupported); +} + +void CHXMetaDataUtility::OpenDesL(const TDesC8& /*aDes*/) +{ + + User::Leave(KErrNotSupported); + +} + +void CHXMetaDataUtility::ResetL() +{ + User::Leave(KErrNotSupported); +} + + +TInt CHXMetaDataUtility::GetMetaDataCount(TUint& /*aCount*/) +{ + + return 0; +} + + + +TInt CHXMetaDataUtility::GetMetaDataAt(TUint /*aIndex*/, + HXMetaDataKeys::EHXMetaDataId& /*id*/, HBufC*& /*pDes*/) +{ + + + return KErrNotSupported; + +} + + +// utility functions + +void* CHXMetaDataUtility::GetSymbol(RLibrary& /* rlib */, const char* /* symbolName*/) +{ + + return NULL; +} + diff -r 000000000000 -r d7e778ce6e8e helix_ren/helix_stub/ThumbnailAPI/src/hxtnutil.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/helix_ren/helix_stub/ThumbnailAPI/src/hxtnutil.cpp Mon Jan 18 20:31:16 2010 +0200 @@ -0,0 +1,69 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +// symbian includes +#include +#include + +#include "hxtnutil.h" + + +CHXThumbnailUtility::CHXThumbnailUtility() +{ +// do nothing + +} + +CHXThumbnailUtility::~CHXThumbnailUtility() +{ + //do nothing +} + +CHXThumbnailUtility* CHXThumbnailUtility::NewL(MHXThumbnailUtilityImplObserver& /*aObserver*/) +{ +return NULL; +} + +void CHXThumbnailUtility::ConstructL(MHXThumbnailUtilityImplObserver& /*aObserver*/) +{ + User::Leave(KErrNotSupported); +} + +void CHXThumbnailUtility::OpenFileL(const RFile& /*aFileHandle*/, TUint /*uStartPositonMS*/) +{ + User::Leave(KErrNotSupported); +} + +void CHXThumbnailUtility::CancelThumb() +{ + //do nothing +} + +TInt CHXThumbnailUtility::GetMetaDataCount(TUint& /*aCount*/) +{ + return 0; +} + + +TInt CHXThumbnailUtility::GetMetaDataAt(TUint /*aIndex*/, + HXMetaDataKeys::EHXMetaDataId& /*id*/, HBufC*& /*pDes*/) +{ + return KErrNotSupported ; +} + + diff -r 000000000000 -r d7e778ce6e8e helix_ren/helix_stub/external_packet_source_api/group/XPSPacketSink.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/helix_ren/helix_stub/external_packet_source_api/group/XPSPacketSink.mmp Mon Jan 18 20:31:16 2010 +0200 @@ -0,0 +1,43 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +#include + +TARGET XPSPacketSink.lib +TARGETTYPE lib + +ALWAYS_BUILD_AS_ARM + + +SOURCEPATH ../src +SOURCE CXPSPacketSink.cpp +SOURCE CXPSPacket.cpp + + +USERINCLUDE ../inc + +MW_LAYER_SYSTEMINCLUDE +SYSTEMINCLUDE /EPOC32/include/libc + + + +#if defined(MARM_ARMV5) +MACRO _EPOC ARM_ADS _ARM_ _RVCT_ VA_LIST_IS_STRUCT +#elif defined(WINSCW) +MACRO _EPOC +#endif + diff -r 000000000000 -r d7e778ce6e8e helix_ren/helix_stub/external_packet_source_api/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/helix_ren/helix_stub/external_packet_source_api/group/bld.inf Mon Jan 18 20:31:16 2010 +0200 @@ -0,0 +1,34 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +#include + + +PRJ_PLATFORMS +DEFAULT + + +PRJ_EXPORTS +../inc/CXPSPacket.h MW_LAYER_PLATFORM_EXPORT_PATH(CXPSPacket.h) +../inc/CXPSPacketSink.h MW_LAYER_PLATFORM_EXPORT_PATH(CXPSPacketSink.h) +../inc/CXPSPktSinkObserver.h MW_LAYER_PLATFORM_EXPORT_PATH(CXPSPktSinkObserver.h) + + +PRJ_MMPFILES +XPSPacketSink.mmp + diff -r 000000000000 -r d7e778ce6e8e helix_ren/helix_stub/external_packet_source_api/inc/CXPSPacket.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/helix_ren/helix_stub/external_packet_source_api/inc/CXPSPacket.h Mon Jan 18 20:31:16 2010 +0200 @@ -0,0 +1,52 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + + +#ifndef __CXPSPACKET_H__ +#define __CXPSPACKET_H__ + +#include + +class CXPSPacketHdr +{ +public: + TUint32 m_uTimeStamp; + TUint16 m_uSeqNo; + TUint32 m_uPayloadSize; + TUint8 m_uMarker; + TUint8 m_uStreamNumber; +}; + +class CXPSPacket +{ +public: + CXPSPacketHdr m_PktHdr; + TUint8* m_pPayload; +public: + CXPSPacket(); + CXPSPacket(CXPSPacketHdr* pHdr); + CXPSPacket(TUint32 _ts, TUint16 _seq, TUint32 _size, TUint8 _sNo, TUint8 _marker); + + ~CXPSPacket(); + TUint8* SetPayload(TUint8* pData) ; +}; + + + + +#endif // end of #ifndef __CXPSPACKET_H__ diff -r 000000000000 -r d7e778ce6e8e helix_ren/helix_stub/external_packet_source_api/inc/CXPSPacketSink.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/helix_ren/helix_stub/external_packet_source_api/inc/CXPSPacketSink.h Mon Jan 18 20:31:16 2010 +0200 @@ -0,0 +1,308 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + + + + +#ifndef __CXPSPACKETSUPPLIER_H__ +#define __CXPSPACKETSUPPLIER_H__ + + +#include +#include "CXPSPacket.h" +#include "CXPSPktSinkObserver.h" + + + + + +// +// Class CXPSPacketSink +// eXternal Packet Sink provides the functionality to rendering RTP media data +// along with the MMF controller. MMF Controller is used for control signals and +// packet sink is used for RTP media data communication. +// +// CXPSPacketSink provides APIs for media description and for sending packets +// to the playback engine. +// +// +class CXPSPacketSink : public CBase +{ + +public: + + // + // Creates packet sink + // + // Returns NULL on memory error + // + static CXPSPacketSink* New(); + + // + // Virtual destructor + // + virtual ~CXPSPacketSink(); + + // + // Creates the symbian server with the specified name and + // waits for client connection. + // + // Parameters: + // ServerName : Name of the server to be created. + // pObserver : Observer for packet sink callbacks + // + // Returns KErrNone on success or system wide error otherwise + // + // + TInt Init(const TDesC& ServerName, MXPSPktSinkObserver* pObserver); + + // + // AuthenticateClient sets the minimum capability that a client SHALL + // possess for connecting to the server. + // + // Note: + // AuthenticateClient SHALL be invoked before the application + // issues a open URL on the MMF controller. OpenURL on controller + // will result in a connect. + // + // Init SHALL be called prior to this API invocation + // + // Parameters: + // aSecurityPolicy : Security policy + // + // Returns KErrNone on success or system wide error otherwise + // + // + // + TInt AuthenticateClient(TSecurityPolicy& aSecurityPolicy); + + // + // Sets the SDP info into the server. + // + // Optional xps related sdp attributes + // Session Level Attribute + // XpsStreamSyncOffset: Inter stream synchronization offset value + // in msec. This makes sure that XPS packet + // reading between streams can be offset only + // by specified value. Default: 1000 msec + // + // DisableVideoClock: Flag to disable clock source for video playback. + // + // Media Level Attribute + // XpsHdrBufSize: XPS transport Header buffer size between XPS server + // & XPS client. Default: 512 bytes + // XpsPyldBufSize: XPS transport payload buffer size between XPS server + // & XPS client. Default: 4096 bytes + // + // + // Note: + // SetSessionDescription SHALL be invoked before the application + // issues a open URL on the MMF controller. OpenURL on controller + // will result in a connect and query for SDP by the client + // + // Init SHALL be called prior to this API invocation + // + // The stream number is based on the order of the streams (m=mediatype) in the + // SDP file. Currently only m=audio and m=video would be valid streams and id + // would be assigned in increasing order starting with zero. + // + // Parameters: + // aSDPDesc : Session description protocol message + // unNumStreams: Number of streams + // + // Returns KErrNone on success or system wide error otherwise + // + // + // + TInt SetSessionDescription(TDesC8& aSDPDesc, TUint unNumStreams); + + // + // Sets the session's output device mode. + // Audio, Video or other streams will use the bit mask to make a decision + // on routing to external devices (eg., Bluetooth, TV-Out,etc) + // + // Note: + // SetSecureOutputMode is an optional API and SHALL be invoked while + // playing protected content. Default behaviour is allow all ie., + // no restrictions applied in routing streams to output devices. + // + // Init SHALL be called prior to this API invocation + // + // SetSecureOutputMode can be called anytime after Init. If it is called + // after playback started then the Secure output settings will take effect + // at the presentation time of the first packet enqueued after SetSecureOutputMode + // is called. + // + // Parameters: + // ulSecureOutBitMask : 32-Bit mask representing the secure output mode + // All bits zero will result in BLOCKING of unsecure + // output devices. (0x0) (eg. TV-Out will be blocked) + // All bits one will result in allowing streams to + // render to both secure and unsecure output devices. + // (0xFFFFFFFF) Rest of the bit mask combinations + // are reserved for future use. + // + // Returns KErrNone on success or system wide error otherwise + // + // + // + TInt SetSecureOutputMode(TUint32 ulSecureOutBitMask); + + + // + // Enqueues the packet on the packet sink. + // + // Parameters: + // unStreamId : Stream identifier + // CXPSPacket : transferred packet, XPS takes over ownership + // + // Returns KErrNone on success or system wide error otherwise. + // Packet overflow scenario will result in KErrOverflow. + // Application SHALL stop supplying more packets on receiving KErrOverflow. + // Packet supply can be resumed after the callback from the packet sink. + // MXPSPacketSinkObserver::ResumePacketSupply API will be used to notify. + // + // NOTE: + // KErrOverflow return indicates that the slots are filled out. Current packet + // has been enqueued and there are no slots for more packets. Packet supply + // SHALL be resumed after observer callback (MXPSPktSinkObserver::RestorePacketSupply). + // KErrNotReady will be returned if packets are enqueued after overflow and before + // resume callback + // + // + TInt Enqueue(TUint unStreamNumber, CXPSPacket* pPacket); + + // + // Enqueues the packet on the packet sink. + // + // Parameters: + // unStreamId : Stream identifier + // aHeaderInfo : RTP header of the packet + // aPayloadData: RTP payload + // + // Returns KErrNone on success or system wide error otherwise. + // Packet overflow scenario will result in KErrOverflow. + // Application SHALL stop supplying more packets on receiving KErrOverflow. + // Packet supply can be resumed after the callback from the packet sink. + // MXPSPacketSinkObserver::ResumePacketSupply API will be used to notify. + // + // NOTE: + // KErrOverflow return indicates that the slots are filled out. Current packet + // has been enqueued and there are no slots for more packets. Packet supply + // SHALL be resumed after observer callback (MXPSPktSinkObserver::RestorePacketSupply). + // KErrNotReady will be returned if packets are enqueued after overflow and before + // resume callback + // + // + TInt Enqueue(TUint unStreamId, const TRtpRecvHeader& aHeaderInfo, const TDesC8& aPayloadData); + + // + // StreamEnd indicates the end of given stream + // + // Paramaters: + // unStreamId : Stream identifier + // + // Returns KErrNone on success or system wide error otherwise + // + // + TInt StreamEnd(TUint unStreamId); + + // + // Configures the stream's buffering capability. Sets the + // queue to the size specified. + // + // Note: + // This API is optional. Packet sink will start with default values + // + // Paramaters: + // unStreamId : Stream identifier + // unNumSlots : Maximum number of packets that may be bufferred in + // packet sink for the given stream + // + // Returns KErrNone on success or system wide error otherwise + // + // Warning: It is strongly recommended to use ConfigStreamBySize() + // instead of ConfigStream() + // + TInt ConfigStream(TUint unStreamId, TUint unNumSlots); + + // + // Configures the stream's buffering capability. Sets the + // queue to the heap size specified. + // + // Note: + // This API is optional. Packet sink will start with default values + // This API could be called during runtime to re-adjust the queue size + // + // Paramaters: + // unStreamId : Stream identifier + // unQueueSiezInBytes : Maximum number of heap size that may be + // bufferred in packet sink for the given stream + // + // Returns KErrNone on success or system wide error otherwise + // + TInt ConfigStreamBySize(TUint unStreamId, TUint32 unQueueSiezInBytes); + + // + // Resets the packet sink. Releases all the packets stored in packet sink + // Does not affect the SDP or intialization attributes. It only cleans up the + // bufferred packets on the packet sink + // + // Returns KErrNone on success or system wide error otherwise + // + // + TInt Reset(); + + // + // SetOverflowAutoManage instructs XPS whether to do buffer overflow control or not + // + // Paramaters: + // bIsOverflowAutoManaged: + // ETrue: if XPS has no packet for one stream, and Helix is demanding + // for it, XPS will drop 1 packet from any stream whose queue + // is full. It allows XPS client to push further packets into XPS + // in the hope that required stream packet could come to XPS + // eventually. This process repeats till XPS receives deired packet. + // EFalse:XPS dose not do buffer management described above + // + // Note: If XPS client has single queue implementation, it is better to + // let XPS handle the overflow situation. + // + // Default: ETrue + // + // Returns: the previous status of Overflow Management + // + // + TBool SetOverflowAutoManage(TBool bIsOverflowAutoManaged); + +private: + // private member functions + + CXPSPacketSink(); + + + +private: + // private data members + + + +}; + +#endif // End of __CXPSPACKETSUPPLIER_H__ + diff -r 000000000000 -r d7e778ce6e8e helix_ren/helix_stub/external_packet_source_api/inc/CXPSPktSinkObserver.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/helix_ren/helix_stub/external_packet_source_api/inc/CXPSPktSinkObserver.h Mon Jan 18 20:31:16 2010 +0200 @@ -0,0 +1,30 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + + +#ifndef __CXPSPKTSINKOBSERVER_H__ +#define __CXPSPKTSINKOBSERVER_H__ + +class MXPSPktSinkObserver +{ +public: + // API to inform for resumption of packet supply + virtual void RestorePacketSupply(TUint uStreamId) = 0; +}; + +#endif // End of __CXPSPKTSINKOBSERVER_H__ diff -r 000000000000 -r d7e778ce6e8e helix_ren/helix_stub/external_packet_source_api/src/CXPSPacket.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/helix_ren/helix_stub/external_packet_source_api/src/CXPSPacket.cpp Mon Jan 18 20:31:16 2010 +0200 @@ -0,0 +1,49 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + + +#include +#include +#include + +#include "CXPSPacket.h" + + +CXPSPacket::CXPSPacket(TUint32/* _ts*/, TUint16 /*_seq*/, TUint32 /*_size*/, TUint8 /*_sNo*/, TUint8 /*_marker*/) +{ + // do Nothing +} + +CXPSPacket::CXPSPacket(CXPSPacketHdr* /* pHdr*/) +{ + // do Nothing +} + + +TUint8* CXPSPacket::SetPayload(TUint8* /*pBuff*/) +{ + + + return NULL; +} + +CXPSPacket::~CXPSPacket() +{ + + // Do Nothing +} diff -r 000000000000 -r d7e778ce6e8e helix_ren/helix_stub/external_packet_source_api/src/CXPSPacketSink.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/helix_ren/helix_stub/external_packet_source_api/src/CXPSPacketSink.cpp Mon Jan 18 20:31:16 2010 +0200 @@ -0,0 +1,300 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + + +#include +#include + +#include "CXPSPacketSink.h" + +#include "CXPSPacket.h" + + + +// +// Creates packet sink +// +// Returns NULL on memory error +// +CXPSPacketSink* CXPSPacketSink::New() +{ + return NULL ; +} + + +// +// Constructor +// +CXPSPacketSink::CXPSPacketSink() + +{ + //do nothing +} + +// +// Destructor +// +CXPSPacketSink::~CXPSPacketSink() +{ + // do nothing +} + + + +// +// Creates the symbian server with the specified name and +// waits for client connection. +// +// Parameters: +// ServerName : Name of the server to be created. +// pObserver : Observer for packet sink callbacks +// +// Returns KErrNone on success or system wide error otherwise +// +// +TInt CXPSPacketSink::Init(const TDesC& /*ServerName*/, MXPSPktSinkObserver* /*pObserver*/) +{ + + return KErrNotSupported; +} + + +// +// Sets the SDP info into the server. +// +// Note: +// SetSessionDescription SHALL be invoked before the application +// issues a open URL on the MMF controller. OpenURL on controller +// will result in a connect and query for SDP by the client +// +// Init SHALL be called prior to this API invocation +// +// Parameters: +// aSDPDesc : Session description protocol message +// unNumStreams: Number of streams +// +// Returns KErrNone on success or system wide error otherwise +// +// +// +TInt CXPSPacketSink::SetSessionDescription(TDesC8& /*aSDPDesc*/, TUint /* uNumStreams*/) +{ + + return KErrNotSupported; +} + +// +// Sets the session's output device mode. +// Audio, Video or other streams will use the bit mask to make a decision +// on routing to external devices (eg., Bluetooth, TV-Out,etc) +// +// Note: +// SetSecureOutputMode is an optional API and SHALL be invoked while +// playing protected content. Default behaviour is allow all ie., +// no restrictions applied in routing streams to output devices. +// +// SetSecureOutputMode SHALL be invoked before the application +// issues a OpenURL on the MMF controller. +// +// Init SHALL be called prior to this API invocation +// +// Parameters: +// ulSecureOutBitMask : 32-Bit mask representing the secure output mode +// All bits zero will result in BLOCKING of unsecure +// output devices. (0x0) (eg. TV-Out will be blocked) +// All bits one will result in allowing streams to +// render to both secure and unsecure output devices. +// (0xFFFFFFFF) Rest of the bit mask combinations +// are reserved for future use. +// +// Returns KErrNone on success or system wide error otherwise +// +// +// +TInt CXPSPacketSink::SetSecureOutputMode(TUint32 /* ulSecureOutBitMask */) +{ + return KErrNotSupported; +} + +// +// AuthenticateClient sets the minimum capability that a client SHALL +// possess for connecting to the server. +// +// Note: +// AuthenticateClient SHALL be invoked before the application +// issues a open URL on the MMF controller. OpenURL on controller +// will result in a connect. +// +// Init SHALL be called prior to this API invocation +// +// Parameters: +// aSDPDesc : Session description protocol message +// +// Returns KErrNone on success or system wide error otherwise +// +// +// +TInt CXPSPacketSink::AuthenticateClient(TSecurityPolicy& /* aSecurityPolicy*/) +{ + return KErrNotSupported; +} + + // + // Enqueues the packet on the packet sink. + // + // Parameters: + // unStreamId : Stream identifier + // CXPSPacket : transferred packet, XPS takes over ownership + // + // Returns KErrNone on success or system wide error otherwise. + // Packet overflow scenario will result in KErrOverflow. + // Application SHALL stop supplying more packets on receiving KErrOverflow. + // Packet supply can be resumed after the callback from the packet sink. + // MXPSPacketSinkObserver::ResumePacketSupply API will be used to notify. + // + // NOTE: + // KErrOverflow return indicates that the slots are filled out. Current packet + // has been enqueued and there are no slots for more packets. Packet supply + // SHALL be resumed after observer callback (MXPSPktSinkObserver::RestorePacketSupply). + // KErrNotReady will be returned if packets are enqueued after overflow and before + // resume callback + // + // +TInt CXPSPacketSink::Enqueue(TUint /* unStreamNumber*/, CXPSPacket* /*pPacket*/) +{ + return KErrNotSupported; +} + +// +// Enqueues the packet on the packet sink. +// +// Parameters: +// unStreamId : Stream identifier +// aHeaderInfo : RTP header of the packet +// aPayloadData: RTP payload +// +// Returns KErrNone on success or system wide error otherwise. +// Packet overflow scenario will result in KErrOverflow. +// Application SHALL stop supplying more packets on receiving KErrOverflow. +// Packet supply can be resumed after the callback from the packet sink. +// MXPSPacketSinkObserver::ResumePacketSupply API will be used to notify. +// +// +TInt CXPSPacketSink::Enqueue(TUint /*unStreamId*/, const TRtpRecvHeader& /*aHeaderInfo*/, + const TDesC8& /*aPayloadData*/) +{ + return KErrNotSupported; +} + +// +// StreamEnd indicates the end of given stream +// +// Paramaters: +// unStreamId : Stream identifier +// +// Returns KErrNone on success or system wide error otherwise +// +// +TInt CXPSPacketSink::StreamEnd(TUint /*unStreamNumber*/) +{ + return KErrNotSupported; +} + + + +// +// Configures the stream's buffering capability. Sets the +// queue to the size specified. +// +// Note: +// This API is optional. Packet sink will start with default values +// +// Paramaters: +// unStreamId : Stream identifier +// unNumSlots : Maximum number of packets that may be bufferred in +// packet sink for the given stream +// +// Returns KErrNone on success or system wide error otherwise +// +TInt CXPSPacketSink::ConfigStream(TUint /*unStreamId*/, TUint /*unNumSlots*/) +{ + return KErrNotSupported; +} + + + // + // Configures the stream's buffering capability. Sets the + // queue to the heap size specified. + // + // Note: + // This API is optional. Packet sink will start with default values + // This API could be called during runtime to re-adjust the queue size + // + // Paramaters: + // unStreamId : Stream identifier + // unQueueSiezInBytes : Maximum number of heap size that may be + // bufferred in packet sink for the given stream + // + // Returns KErrNone on success or system wide error otherwise + // +TInt CXPSPacketSink::ConfigStreamBySize(TUint /*unStreamId*/, TUint32 /*unQueueSiezInBytes*/) +{ + return KErrNotSupported; +} + + +// +// Resets the packet sink. Releases all the packets stored in packet sink +// Does not affect the SDP or intialization attributes. It only cleans up the +// bufferred packets on the packet sink +// +// Returns KErrNone on success or system wide error otherwise +// +// +TInt CXPSPacketSink::Reset() +{ + return KErrNotSupported; +} + + // + // SetOverflowAutoManage instructs XPS whether to do buffer overflow control or not + // + // Paramaters: + // bIsOverflowAutoManaged: + // ETrue: if XPS has no packet for one stream, and Helix is demanding + // for it, XPS will drop 1 packet from any stream whose queue + // is full. It allows XPS client to push further packets into XPS + // in the hope that required stream packet could come to XPS + // eventually. This process repeats till XPS receives deired packet. + // EFalse:XPS dose not do buffer management described above + // + // Note: If XPS client has single queue implementation, it is better to + // let XPS handle the overflow situation. + // + // Default: ETrue + // + // Returns: the previous status of Overflow Management + // + // +TBool CXPSPacketSink::SetOverflowAutoManage(TBool /*bIsOverflowAutoManaged*/) +{ + + return ETrue; +} + + diff -r 000000000000 -r d7e778ce6e8e helix_ren/helix_stub/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/helix_ren/helix_stub/group/bld.inf Mon Jan 18 20:31:16 2010 +0200 @@ -0,0 +1,31 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +#include + +PRJ_PLATFORMS +DEFAULT + + +PRJ_MMPFILES +#include "../external_packet_source_api/group/bld.inf" +#include "../MMFMetadataEventConfigConstants/group/bld.inf" +#include "../MMFScalingCustomCommands/group/bld.inf" +#include "../ThumbnailAPI/group/bld.inf" +#include "../rop_custom_commands_api/group/bld.inf" +#include "../helix_features/group/bld.inf" \ No newline at end of file diff -r 000000000000 -r d7e778ce6e8e helix_ren/helix_stub/helix_features/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/helix_ren/helix_stub/helix_features/group/bld.inf Mon Jan 18 20:31:16 2010 +0200 @@ -0,0 +1,25 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: File that exports the files belonging to Video Decoder Scaling MDF custom interface +* +*/ + +#include + +PRJ_PLATFORMS +DEFAULT + +PRJ_EXPORTS + +../inc/helix_features.h MW_LAYER_PLATFORM_EXPORT_PATH(helix_features.h) diff -r 000000000000 -r d7e778ce6e8e helix_ren/helix_stub/helix_features/inc/helix_features.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/helix_ren/helix_stub/helix_features/inc/helix_features.h Mon Jan 18 20:31:16 2010 +0200 @@ -0,0 +1,39 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Header File to indicate presence of helix supported features in an S60 release +* +*/ + +#ifndef HELIX_FEATURES_H +#define HELIX_FEATURES_H + + +#include + +#define S60_HX_TRICK_PLAY +#define S60_HX_AVI_FILEFORMAT + +// Feature flag to enable Helix NGA Support +#define S60_HX_GRAPHICS_SURFACE + +// Enables Helix modifications to cover devsound convergence changes +#define S60_HX_CONVERGED_DEVSOUND + + +// Enables Helix Scheduler Pause +#define S60_HX_ENABLE_SCHEDULER_PAUSE + +#endif // HELIX_FEATURES_H + +// End of File diff -r 000000000000 -r d7e778ce6e8e helix_ren/helix_stub/rop_custom_commands_api/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/helix_ren/helix_stub/rop_custom_commands_api/group/bld.inf Mon Jan 18 20:31:16 2010 +0200 @@ -0,0 +1,25 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: File that exports the files belonging to Video Decoder Scaling MDF custom interface +* +*/ + +#include + +PRJ_PLATFORMS +DEFAULT + +PRJ_EXPORTS + +../inc/MMFROPCustomCommandConstants.h MW_LAYER_PUBLIC_EXPORT_PATH(MMFROPCustomCommandConstants.h) diff -r 000000000000 -r d7e778ce6e8e helix_ren/helix_stub/rop_custom_commands_api/inc/MMFROPCustomCommandConstants.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/helix_ren/helix_stub/rop_custom_commands_api/inc/MMFROPCustomCommandConstants.h Mon Jan 18 20:31:16 2010 +0200 @@ -0,0 +1,63 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Constants defined for Coustom Commands +* +*/ + +#ifndef __MMFROPCUSTOMCOMMANDCONSTANTS_H +#define __MMFROPCUSTOMCOMMANDCONSTANTS_H +#include +/** + * @publishedAll + * + * Interface UID and messages for the ROP Controller API. + */ +const TUid KUidInterfaceMMFROPController = {0x101F855D}; +/** + * Function constants + */ +enum TMMFROPControllerMessage +{ + EMMFROPControllerGetApplicationConfig, + EMMFROPControllerSetApplicationConfig, + EMMFROPControllerGetErrorLog, + EMMFROPControllerClearErrorLog, + + EMMFROPControllerSetDownloadID, + + EMMFROPControllerSetDownloadComplete, + EMMFROPControllerSetDownloadSize +}; +/** + * Constants describing the config version to query + */ +enum TMMFROPControllerConfigVersion +{ + KMMFAudioVideoConfigDefault, // Configuration created on installation + KMMFAudioVideoConfigOperator, // Configuration created on operator setup + KMMFAudioVideoConfigUser // Last Configuration saved by the application +}; +/** + * Constants describing ErrorLog error classes. + * XXX This enumeration must match the EErrorLogClass enumeration located + * XXX in errorlog_sink.h. + */ +enum TMMFROPErrorLogClass +{ + KMMFROPErrorLogRTSP, // RTSP error (must be first enum) + KMMFROPErrorLogSendEvents, // Error Send Events + KMMFROPErrorLogECXlat, // Error code translation. + KMMFROPErrorLogNumClasses // Number of error log classes (not a class) +}; +#endif __MMFROPCUSTOMCOMMANDCONSTANTS_H diff -r 000000000000 -r d7e778ce6e8e helix_ren/helixrfsplugin/group/RfsHelixPlugin.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/helix_ren/helixrfsplugin/group/RfsHelixPlugin.mmp Mon Jan 18 20:31:16 2010 +0200 @@ -0,0 +1,49 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: mmp file for helix rfs plugin. +* +*/ + +#include + +TARGET RfsHelixPlugin.dll + +TARGETTYPE PLUGIN + +CAPABILITY CAP_ECOM_PLUGIN +VENDORID VID_DEFAULT + +UID 0x10009D8D 0x10207471 + +SOURCEPATH ../src +SOURCE RfsHelixPlugin.cpp +SOURCE proxy.cpp + +START RESOURCE 10207471.RSS +#ifdef SYMBIAN_SECURE_ECOM + TARGET RfsHelixPlugin.rsc +#endif +END + +LANG SC + +USERINCLUDE ../inc + +MW_LAYER_SYSTEMINCLUDE +SYSTEMINCLUDE /epoc32/include/ecom + +LIBRARY euser.lib // Base library +LIBRARY ECom.lib // ECom library +LIBRARY efsrv.lib // File library + diff -r 000000000000 -r d7e778ce6e8e helix_ren/helixrfsplugin/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/helix_ren/helixrfsplugin/group/bld.inf Mon Jan 18 20:31:16 2010 +0200 @@ -0,0 +1,62 @@ +/* + +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + +* All rights reserved. + +* This component and the accompanying materials are made available + +* under the terms of "Eclipse Public License v1.0" + +* which accompanies this distribution, and is available + +* at the URL "http://www.eclipse.org/legal/epl-v10.html". + +* + +* Initial Contributors: + +* Nokia Corporation - initial contribution. + +* + +* Contributors: + +* + +* Description: bld.inf for helix rfs plugin. + +* + +*/ + + + +PRJ_PLATFORMS + +DEFAULT + + + +PRJ_MMPFILES + + + +../group/RfsHelixPlugin.mmp + + + + + +PRJ_EXPORTS + + + + + +PRJ_TESTMMPFILES + + + + + diff -r 000000000000 -r d7e778ce6e8e helix_ren/helixrfsplugin/inc/RfsHelixPlugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/helix_ren/helixrfsplugin/inc/RfsHelixPlugin.h Mon Jan 18 20:31:16 2010 +0200 @@ -0,0 +1,95 @@ +/* +* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: + +* + +* +*/ + + + + + + +#ifndef RFSHELIXPLUGIN_H + +#define RFSHELIXPLUGIN_H + + + + + +#include + +#include + +#include + + + + + + + +class CRfsHelixPlugin: public CRFSPlugin + + { + +public: + + + + + + static CRfsHelixPlugin* NewL(TAny* aInitParams); + + virtual ~CRfsHelixPlugin(); + + void RestoreFactorySettingsL( const TRfsReason aType ); + + void GetScriptL( const TRfsReason aType, TDes& aPath ); + + void ExecuteCustomCommandL( const TRfsReason aType, TDesC& aCommand ); + +private: + + + + CRfsHelixPlugin(); + + + + CRfsHelixPlugin(TAny* aInitParams); + + + + + + void ConstructL(); + + + + }; + + + + + + + +#endif // RFSHELIXPLUGIN_H + + + diff -r 000000000000 -r d7e778ce6e8e helix_ren/helixrfsplugin/src/10207471.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/helix_ren/helixrfsplugin/src/10207471.rss Mon Jan 18 20:31:16 2010 +0200 @@ -0,0 +1,92 @@ +/* + +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + +* All rights reserved. + +* This component and the accompanying materials are made available + +* under the terms of "Eclipse Public License v1.0" + +* which accompanies this distribution, and is available + +* at the URL "http://www.eclipse.org/legal/epl-v10.html". + +* + +* Initial Contributors: + +* Nokia Corporation - initial contribution. + +* + +* Contributors: + +* + +* Description: rss file for helix rfs plugin + +* + +*/ + + + +#include "RegistryInfo.rh" + + + +// Declares info for two implementations + +RESOURCE REGISTRY_INFO theInfo + + { + + // UID for the DLL + + dll_uid = 0x10207471; + + // Declare array of interface info + + interfaces = + + { + + INTERFACE_INFO + + { + + // UID of interface that is implemented + + interface_uid = 0x102073BB; + + implementations = + + { + + IMPLEMENTATION_INFO + + { + + implementation_uid = 0x10207472; + + version_no = 1; + + display_name = "RFS ROP Plugin"; + + default_data = "IN"; // N = Normal RFS, D = Deep RFS, I = Init RFS (FirstBoot RFS) + + opaque_data = ""; + + } + + }; + + } + + }; + + } + + + diff -r 000000000000 -r d7e778ce6e8e helix_ren/helixrfsplugin/src/Proxy.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/helix_ren/helixrfsplugin/src/Proxy.cpp Mon Jan 18 20:31:16 2010 +0200 @@ -0,0 +1,61 @@ +/* +* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: + +* This class export ECom interface implementations. + +* +*/ + + + + +#include + +#include + + + +#include "RfsHelixPlugin.h" + + + +// Map the interface UIDs to implementation factory functions + +const TImplementationProxy ImplementationTable[] = + + { + + IMPLEMENTATION_PROXY_ENTRY(0x10207472, CRfsHelixPlugin::NewL) + + }; + + + +// Exported proxy for instantiation method resolution + +EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount) + + { + + aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy); + + + + return ImplementationTable; + + } + + + diff -r 000000000000 -r d7e778ce6e8e helix_ren/helixrfsplugin/src/RfsHelixPlugin.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/helix_ren/helixrfsplugin/src/RfsHelixPlugin.cpp Mon Jan 18 20:31:16 2010 +0200 @@ -0,0 +1,128 @@ +/* +* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +* +*/ + + + + +#include "RfsHelixPlugin.h" + + +CRfsHelixPlugin::CRfsHelixPlugin() + { + } + +CRfsHelixPlugin::CRfsHelixPlugin(TAny* /*aInitParams*/) + { + } + + +CRfsHelixPlugin::~CRfsHelixPlugin() + { + } + + +// --------------------------------------------------------- +// NewL +// --------------------------------------------------------- +// +CRfsHelixPlugin* CRfsHelixPlugin::NewL(TAny* aInitParams) + { + #ifdef _DEBUG + RDebug::Print(_L("CRfsHelixPlugin::NewL()")); + #endif + CRfsHelixPlugin* self = new (ELeave) CRfsHelixPlugin(aInitParams); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(); + return self; + } + +// --------------------------------------------------------- +// ConstructL +// --------------------------------------------------------- +// + +void CRfsHelixPlugin::ConstructL() + { + #ifdef _DEBUG + RDebug::Print(_L("CRfsHelixPlugin::ConstructL()")); + #endif + } + +// --------------------------------------------------------- +// RestoreFactorySettingsL +// --------------------------------------------------------- +// + +#ifdef _DEBUG +void CRfsHelixPlugin::RestoreFactorySettingsL( const TRfsReason aType ) +#else +void CRfsHelixPlugin::RestoreFactorySettingsL( const TRfsReason /* aType */) +#endif + { + #ifdef _DEBUG + RDebug::Print(_L("CRfsHelixPlugin::RestoreFactorySettingsL(%d)"), aType); + #endif + RFs fsrv; + + _LIT(KRNUserConfigNameAndPath, "c:\\data\\R1_Mobile_4_0.cfg"); + _LIT(KRNPluginArchiveNameAndPath, "c:\\data\\plugin_archive.txt"); + _LIT(KRNMDEngineNameAndPath, "c:\\data\\HXMDEngine_3_2.cfg"); + _LIT(KRNMetadataArchiveNameAndPath, "c:\\data\\hxmetadata_archive.txt"); + _LIT(KRNThumbnailArchiveNameAndPath, "c:\\data\\hxthumbnail_archive.txt"); + _LIT(KRNTNEngineNameAndPath, "c:\\data\\HXTNEngine_3_2.cfg"); + _LIT(KRNMdfPluginArchiveNameAndPath, "c:\\data\\MdfPluginArchive.txt"); + + TInt err = KErrNone; + + CleanupClosePushL( fsrv ); + + err = fsrv.Connect(); + if ( err != KErrNone ) + { + User::Leave( err ); + } + // Delete all the cfg-files. + // + fsrv.Delete(KRNUserConfigNameAndPath); + fsrv.Delete(KRNPluginArchiveNameAndPath); + fsrv.Delete(KRNMDEngineNameAndPath); + fsrv.Delete(KRNMetadataArchiveNameAndPath); + fsrv.Delete(KRNThumbnailArchiveNameAndPath); + fsrv.Delete(KRNTNEngineNameAndPath); + fsrv.Delete(KRNMdfPluginArchiveNameAndPath); + + CleanupStack::PopAndDestroy( 1 ); + } + + + +void CRfsHelixPlugin::GetScriptL( const TRfsReason /*aType*/, TDes& /*aPath*/ ) + { + + } + + + +void CRfsHelixPlugin::ExecuteCustomCommandL( const TRfsReason /*aType*/, + TDesC& /*aCommand*/ ) + { + + } + + diff -r 000000000000 -r d7e778ce6e8e layers.sysdef.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/layers.sysdef.xml Mon Jan 18 20:31:16 2010 +0200 @@ -0,0 +1,50 @@ + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -r 000000000000 -r d7e778ce6e8e sysdef_1_4_0.dtd --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysdef_1_4_0.dtd Mon Jan 18 20:31:16 2010 +0200 @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +