List Info

Thread: CN:metadata engine - part 2




CN:metadata engine - part 2
user name
2006-09-20 02:08:20
Thanks Eric. I have included all the changes as per the
comments. 
These changes have been checked in to head and
hxclient_2_1_0_cayennes.



To verify the build for windows, I did a build for 

branch: helix_restricted
platform: win32-i386-vc6
profile:
\head_windows_build\umakepf\helix-dtdr-all-defines
target(s): datatype_tools_dtdriver.

This was failing in common/system/pub/hxsched.h
static const int zm_nMovingAveSize = 5;

So I verified the localized build for
datatype_tools_minicntx,
datatype_tools_engine and datatype_tools_common.

With the following change being commited on head. 

Index: cmuxsrchandler.cpp
============================================================
=======
RCS file:
/cvsroot/datatype/tools/dtdriver/engine/cmuxsrchandler.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -w -r1.4 -r1.5
--- cmuxsrchandler.cpp  1 May 2006 14:32:21 -0000       1.4
+++ cmuxsrchandler.cpp  20 Sep 2006 01:58:13 -0000      1.5
 -754,7
+754,7 
         // Set the '01' in the upper two bits of byte 4
         rpBuf[4] |= 0x40;
         // Copy SCR_base[32...30] into place
-        rpBuf[4] |= (BYTE) ((llSCRBase & 0x1C0000000LL)
>> 27);
+        rpBuf[4] |= (BYTE) ((llSCRBase & 0x1C0000000L)
>> 27);


Thanks
Ashish

>-----Original Message-----
>From: ext Eric Hyche [mailto:ehychereal.com]

>Sent: Monday, September 18, 2006 10:34 PM
>To: Gupta Ashish.As (Nokia-TP-MSW/Dallas); 
>client-devhelixcommunity.org; common-devhelixcommunity.org; 
>datatype-devhelixcommunity.org; ribosome-devhelixcommunity.org
>Subject: RE: [Client-dev] CR:metadata engine - part 2
>
>
>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 )