List Info

Thread: CR:metadata engine - part 2




CR:metadata engine - part 2
user name
2006-09-19 03:34:20
My comments:

1) hxdatasource.h/.cpp appear to be cross-platform
   files (I believe that is the intention.) If so,
   then they should not be put in
common/fileio/platform/symbian
   common/fileio/pub/platform/symbian but rather in
   common/fileio and common/fileio/pub.

2) hxmddefines.h

   The TARVER_MAJOR_VERSION and TARVER_MINOR_VERSION should
   be defined in a .ver file at the module level
   (in this case datatype/tools/metadataeng/engine).
   The build system knows how to update/increment .ver files
   so that the build numbers automatically go up when built
   from the build farm.

Rest of the new files in part 2 look good.

Eric

==============================================
Eric Hyche (ehychereal.com)
Technical Lead
Embedded Player and Technologies
RealNetworks, Inc. 


> -----Original Message-----
> From: client-dev-bounceshelixcommunity.org 
> [mailto:client-dev-bounceshelixcommunity.org] On
Behalf Of 
> Ashish.As.Guptanokia.com
> Sent: Monday, September 18, 2006 4:55 PM
> To: client-devhelixcommunity.org; 
> common-devhelixcommunity.org; 
> datatype-devhelixcommunity.org; ribosome-devhelixcommunity.org
> Subject: [Client-dev] CR:metadata engine - part 2
> 
> Note: this part contains the new files. 
> 
> Metadata engine based on dtdriver 
> 
> "Nokia submits this code under the terms of a
commercial 
> contribution agreement 
> with RealNetworks, and I am authorized to contribute
this 
> code under said agreement." 
> 
> Modified by: ashish.as.guptanokia.com 
> 
> Reviewed by: 
> 
> Date: 09-13-2006. 
> 
> Error ID: Req Id: 102-4619 
> 
> Project: Helix plugin for Symbian 
> 
> Synopsis: Metadata engine based on dtdriver 
> 
> This CR includes following components/modules 
> 
> CHXMetadatautility: A simple utility to open a
datasource 
> (file name, descriptor, RFile). API is defined in 
> hxmetadatautil.h. It provides the simple API to read
the 
> metadata. It is delivered as part of
hxmetadatautil.lib. 
> CHXMetaDatautility is the only component that is
exported 
> from the Helix. 
> 
> CHXMetaDataEngBase:: Base class for metadata engine. It

> interfaces with DTDRiver and implements
IHXSourceHandler interface.
> 
> CHXMetaDataEng:: Derived from CHXMetaDataEngBase,
generic 
> (non-symbian specific) metadata engine. 
> 
> CHXSymbianMetaDataEng:: Derived from
CHXMetaDataEngBase, 
> symbian specific metadata engine. 
> 
> Changes to DTDriver: 
> ---------------------------- 
> 
> 1. Use of recognizer for the determining the mime type.
 
> Following new states are added. 
>     State_RecognizeFormat, 
>     State_RecognizeFormatDone, 
>     State_RecognizeFormatPending, 
> 
> 2. non const data removed from the dll. 
> 
> 3. All the calls to logging functions (e.g.
ReportError) are 
> replaced with the corresponding newly added macros
(e.g. 
> DT_REPORTERROR). A new config is added
> 
> HELIX_CONFIG_DTDR_DISABLE_LOGGING. This compiles out
all the 
> logging. Saves about 5KB image size. 
> 
> 4. An option FILERECOGNITION_OPTION_NAME is added. This

> triggers the call to recognition. 
> 
> 5. Minicntx allows prefs to be overridden. 
> 
> 6. Minicntx QIs for IHXRequestContext. If successful,
it QIs 
> for requester object using
IHXRequestContext::GetRequester. 
> This requester is passed to 
> 
> CHXRequest object in SetRequester call. 
> 
> 7. Other changes to compile minicntx, dtdriver on
symbian. 
> 
> Changes to common/fileio. 
> 
> 1. A datasource factory has been added to create the 
> datasources (implements IHXMMFDataSource). 
> CHXDataSourceMMFClip, CHXDataSourceCContent, 
> CHXDataSourceDescriptor are the datasources defined. 
> CHXDataSource implements the base class functionality.
> 
> 2. CHXDataSourceCContent uses CAF for supporting the
DRM 
> content. CHXDataSourceDescriptor provides the support
to read 
> the media data from descriptors.
> 
> 3. CHXMediaSource, a struct, passed to
CHXDataSourceFactory 
> to create the desired data source object. This enables
the 
> metadata APIs to be kept platform independent.
> 
> 
> Additions to IHXMMFDataSource API. 
> ------------------------------------------------------ 
> 
> Following new methods are added to IHXMMFDataSource API
to 
> support DCF headers for protected contents. 
> 
> STDMETHOD(GetStringAttribute)(THIS_ UINT32 ulAttibute, 
>                           CHXString &sValue) PURE; 
> STDMETHOD(GetAttribute)(THIS_ INT32 ulAttribute, 
>                            INT32 &ulValue) PURE; 
> 
> STDMETHOD(GetSize)  (THIS_ UINT32 &ulSize) PURE; 
> 
> Changes to Symbian Recognizer: 
> ---------------------------------------------- 
> 
> Symbian recognizer has been changed so that it doesn't
call 
> the system recognizer when it is used as part of the
metadata 
> engine that could result
> 
> in infinite loop when metadata engine itself is used
from the 
> system recognizer. 
> 
> Metadata Engine. 
> ------------------------ 
> 
> Metadata engine depends on the dtdriver for reading the

> metadata. A symbian specific utility is provided to
read the 
> metadata from the metadata engine.
> 
> Metadata engine receives the file header and stream
headers 
> from FFDriver and stores them in the m_MetadataList. 
> CHXMetaDataEntry represents one single
> 
> metadata entry. Entries can be read by the caller by
Calling 
> CHXMetaDataEngBase::GetMetaDataAt. 
> 
> Symbian metadata engine performs setup that includes
global 
> manager, symbian dll map, MiniCCF, Prefs, Global Access
Paths.
> 
> 
> Testing: 
> 
> Tests were performed on ARMV5 and CW for RFile,
filename and 
> descriptor based metadata reading. Real and 3GPP
contents were used.
> 
> DRM protected files have also been tested. TestRMPlayer
has 
> been modified to include a new option for testing the
metadata.
> 
> Memory leak testing has been done for MediaPlayer and
CW has 
> been used to make sure that all the objects are
destroyed. 
> 
> 
> Files Modified: 
> 
> datatype/tools/dtdriver/common/reporterror.cpp 
> datatype/tools/dtdriver/common/pub/reporterror.h 
> datatype/tools/dtdriver/engine/Umakefil 
> datatype/tools/dtdriver/engine/csrchdlrstackfact.cpp 
> datatype/tools/dtdriver/engine/ffdriver.cpp 
> datatype/tools/dtdriver/engine/pub/ffdriver.h 
> datatype/tools/minicntx/minicntx.cpp 
> datatype/tools/minicntx/pub/minicntx.h 
> 
> common/fileio/symbian.pcf 
> common/fileio/platform/symbian/hxdatasourcemmfclip.cpp 
>
common/fileio/pub/platform/symbian/hxdatasourcemmfclip.h 
> 
> common/system/symbian.pcf 
> common/system/pub/recognizer.h 
> common/system/recognizer.cpp 
> common/system/platform/symbian/symbianrecognizer.cpp 
> 
> build/umakepf/helix-client-s60-32-common.pfi 
> 
> client/build/BIF/hxclient_2_1_0_cayennes.bif 
> common/build/BIF/helix.bif 
> 
> clientapps/symbianMmf/videocontroller/installMmf.pcf 
> 
> Files Added: 
> 
> common/fileio/pub/hxmediasource.h. 
> 
>
common/fileio/pub/platform/symbian/hxdatasource_factory.h 
> common/fileio/pub/platform/symbian/hxdatasource.h 
>
common/fileio/pub/platform/symbian/hxdatasource_descriptor.h

>
common/fileio/pub/platform/symbian/hxdatasource_ccontent.h 
> 
> common/fileio/platform/symbian/hxdatasource_factory.cpp

> common/fileio/platform/symbian/hxdatasource.cpp 
>
common/fileio/platform/symbian/hxdatasource_descriptor.cpp 
>
common/fileio/platform/symbian/hxdatasource_ccontent.cpp 
> 
> datatype/tools/metadataeng/engine/ 
> datatype/tools/metadataeng/Umakefil 
> datatype/tools/metadataeng/engine/symbian.pcf 
> datatype/tools/metadataeng/engine/dlliids.cpp 
> datatype/tools/metadataeng/engine/hxdll.cpp 
> datatype/tools/metadataeng/engine/hxmetadataeng.uid.cpp

> datatype/tools/metadataeng/engine/metadataeng.cpp 
> datatype/tools/metadataeng/engine/metadataengbase.cpp 
> datatype/tools/metadataeng/engine/hxdll.h 
> datatype/tools/metadataeng/engine/metadataeng.h 
> datatype/tools/metadataeng/engine/pub/metadataengbase.h

> datatype/tools/metadataeng/engine/pub/hxmetadatalog.h  
>
datatype/tools/metadataeng/engine/pub/platform/symbian/symbi
an
> _metadataeng.h 
>
datatype/tools/metadataeng/engine/platform/symbian/symbian_m
et
> adataeng.cpp 
>
datatype/tools/metadataeng/engine/platform/symbian/hxmddefin
es.h 
> 
>
datatype/tools/metadataeng/engine/platform/symbian/hxmetadat
a_
> dlls.txt      Dlls to be loaded by plugin manager. 
> datatype/tools/metadataeng/common/pub/hxmetadata.h     
      
>               CHXMetaDataEntry. 
> datatype/tools/metadataeng/common/pub/hxmetadatakeys.h 
      
>               enums for metadata. 
> datatype/tools/metadataeng/utility/Umakefil 
> datatype/tools/metadataeng/utility/symbian.pcf 
>
datatype/tools/metadataeng/utility/platform/symbian/hxmetada
ta
> util.cpp 
>
datatype/tools/metadataeng/utility/platform/symbian/hxmetada
tautil.h 
> 
> 
> build/umakepf/helix-dtdr-local-reader.pfi 
> build/umakepf/helix-s60-metadataengine.pfi 
> build/umakepf/helix-s60-metadataengine.pf 
> 
> Files Exported: 
> 
> datatype/tools/metadataeng/common/pub/hxmetadatakeys.h 
>
datatype/tools/metadataeng/utility/[target]/hxmetadatautil.l
ib 
>
datatype/tools/metadataeng/utility/platform/symbian/hxmetada
tautil.h 
> 
> 
> Image Size and Heap Use impact: Minor. No heap impact.
109KB 
> metadata engine dll. 
> 
> Platforms and Profiles Build Verified: 
> helix-client-s60-mmf-mdf-arm,
helix-client-s60-32-mmf-mdf-arm 
> 
> Platforms and Profiles Functionality verified: armv5,
winscw 
> 
> Branch: head, hxclient_2_1_0_cayennes 
> <<new_files.zip>> 
> 
> 


_______________________________________________
Datatype-dev mailing list
Datatype-devhelixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/da
tatype-dev
[1]

about | contact  Other archives ( Real Estate discussion Medical topics )