[datatype-dev] CR needed: req. 417-59758 - Brizo420 - helix support for 'CreationTime" and "ModificationTime" content metadata
Sheldon Fu sfu at real.comLooks good. fxd Yury.Ramanovich at nokia.com wrote: > Good catch! Same time format simplifies TLC code. Here's new diff > > > > BR > Yury > > >> -----Original Message----- >> From: ext Sheldon Fu [mailto:sfu at real.com] >> Sent: Thursday, March 18, 2010 4:26 PM >> To: Ramanovich Yury (Nokia-D/Dallas) >> Cc: clientapps-dev at helixcommunity.org; datatype-dev at helixcommunity.org >> Subject: Re: [datatype-dev] CR needed: req. 417-59758 - Brizo420 - helix >> support for 'CreationTime" and "ModificationTime" content metadata >> >> Now that they are all in the same format, we should name them the same I >> think to save the TLC from the trouble of getting them separately. >> >> Thanks for the effort. I know this is beyond what Nokia needs. >> >> fxd >> >> Yury.Ramanovich at nokia.com wrote: >> >>> Sheldon, please see the new diff, where creation time and modification >>> >> time metadata converted to seconds relative to POSIX time base >> 01/01/1970 UTC before setting them in file header values map. This is >> for mp4, wm, mkv file formats. >> >>> BR >>> Yury >>> >>> >>> >>>> -----Original Message----- >>>> From: ext Sheldon Fu [mailto:sfu at real.com] >>>> Sent: Thursday, March 18, 2010 1:16 PM >>>> To: Ramanovich Yury (Nokia-D/Dallas) >>>> Cc: clientapps-dev at helixcommunity.org; datatype- >>>> >> dev at helixcommunity.org >> >>>> Subject: Re: [datatype-dev] CR needed: req. 417-59758 - Brizo420 - >>>> >> helix >> >>>> support for 'CreationTime" and "ModificationTime" content metadata >>>> >>>> The time base conversion logic certainly is not platform dependent. >>>> Helix may not have a handy class/function for that yet but you can >>>> >> add >> >>>> it. For this to be useful for Helix community as a whole, these time >>>> values really should come in with a standard format (doesn't matter >>>> which format). These are one time calculation per clip. I don't' >>>> >> think >> >>>> they have any impact on file format's performance or logic. >>>> >>>> You can check you change into Nokia's 420brizo branch now, but for >>>> >> Head, >> >>>> it would be nice if the values are in a unified format. >>>> >>>> fxd >>>> >>>> >>>> Yury.Ramanovich at Nokia.com wrote: >>>> >>>> >>>>> Hi >>>>> I just wanted to minimize impact on all the formats and preserve the >>>>> >>>>> >>>> original values as much as I can; plus I don't see any convenient >>>> >> apis >> >>>> in fileformats to deal with timebase conversions apart from some ad- >>>> >> hoc >> >>>> calculations and magic numbers. >>>> >>>> >>>>> BR >>>>> Yury >>>>> >>>>> >>>>> >>>>>> -----Original Message----- >>>>>> From: ext Sheldon Fu [mailto:sfu at real.com] >>>>>> Sent: Thursday, March 18, 2010 11:31 AM >>>>>> To: Ramanovich Yury (Nokia-D/Dallas) >>>>>> Cc: clientapps-dev at helixcommunity.org; datatype- >>>>>> >>>>>> >>>> dev at helixcommunity.org >>>> >>>> >>>>>> Subject: Re: [datatype-dev] CR needed: req. 417-59758 - Brizo420 - >>>>>> >>>>>> >>>> helix >>>> >>>> >>>>>> support for 'CreationTime" and "ModificationTime" content metadata >>>>>> >>>>>> It might be better for re-usability if we let each file format >>>>>> >> plugin >> >>>>>> convert the time/date values into a standard format (e.g. POSIX >>>>>> >>>>>> >>>> 1/1/1970 >>>> >>>> >>>>>> based) , rather than letting them set the values with the native >>>>>> >>>>>> >>>> format >>>> >>>> >>>>>> and let TLC converts them. >>>>>> >>>>>> fxd >>>>>> >>>>>> Yury.Ramanovich at nokia.com wrote: >>>>>> >>>>>> >>>>>> >>>>>>> "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: _yury.ramanovich at nokia.com_ >>>>>>> <mailto:yury.ramanovich at nokia.com> >>>>>>> >>>>>>> Reviewed by: >>>>>>> >>>>>>> Date: 03/18/2010 >>>>>>> >>>>>>> Project: symbian_client_apps >>>>>>> >>>>>>> ErrorId: req. 417-59758 >>>>>>> >>>>>>> Synopsis: added helix support for extraction of "CreationTime" and >>>>>>> 'ModificationTime" content metadata for .3gp, .mp4, .mkv, .wmv >>>>>>> >> file >> >>>>>>> formats >>>>>>> >>>>>>> Overview: in order to allow user to see creation date/time and >>>>>>> modification date/time of recorded video clips, helix needs to >>>>>>> >>>>>>> >>>> extract >>>> >>>> >>>>>>> corresponding metadata from content and make it available to UI. >>>>>>> >> The >> >>>>>>> support of content creation date/time and modification date/time >>>>>>> metadata by different file formats is not consistent. Some >>>>>>> >> formats >> >>>>>>> have both time values, some formats have only "CreationTime" and >>>>>>> >>>>>>> >>>> other >>>> >>>> >>>>>>> formats don't provide any such info at all. Moreover, time base >>>>>>> conversion is needed, since each format stores these time/date >>>>>>> >>>>>>> >>>> values >>>> >>>> >>>>>>> in different time units and relative to different time bases and >>>>>>> >> UI >> >>>>>>> needs those values in seconds relative to POSIX time base >>>>>>> >> 01/01/1970 >> >>>>>>> 0:0:0 UTC. If a particular file format doesn't provide >>>>>>> >>>>>>> >>>> "CreationTime" >>>> >>>> >>>>>>> and/or "ModificationTime" values to UI or it is missing in the >>>>>>> >>>>>>> >>>> file's >>>> >>>> >>>>>>> metadata, then UI will substitute with values obtained via QT APIs >>>>>>> from filesystem. >>>>>>> >>>>>>> Solution: >>>>>>> Added support for retrieving "CreationTime" and "ModificationTime" >>>>>>> metadata from .3gp and .mp4 files; "CreationTime" only is >>>>>>> >>>>>>> >>>> retrieved >>>> >>>> >>>>>>> for WindowsMedia (.wm) and Matroska (.mkv) files. The >>>>>>> >>>>>>> >>>> 'CreationTime" >>>> >>>> >>>>>>> and "ModificationTIme" values, if any, will be converted to >>>>>>> >> seconds >> >>>>>>> relatively to POSIX time base 01/01/1970 0:0:0 UTC and provided to >>>>>>> >>>>>>> >>>> UI. >>>> >>>> >>>>>>> Note that not all tools that create Matroska (.mkv) files, write >>>>>>> >> out >> >>>>>>> this info in the Segment. RealMedia and AVI file formats do not >>>>>>> >> seem >> >>>>>>> to have any creation/modification time info. >>>>>>> >>>>>>> Files Added: >>>>>>> None. >>>>>>> >>>>>>> Files Modified: >>>>>>> >>>>>>> /clientapps/symbiancommon/hxsymmetadata.cpp >>>>>>> /datatype/mkv/fileformat/mkv_file_format.cpp >>>>>>> /datatype/mp4/fileformat/qtatmmgs.cpp >>>>>>> /datatype/mp4/fileformat/qtffplin.cpp >>>>>>> /datatype/mp4/fileformat/pub/qtatmmgs.h >>>>>>> /datatype/mp4/fileformat/pub/qtatoms.h >>>>>>> /datatype/wm/fileformat/asf_file_format_file.cpp >>>>>>> /xiph/matroskalib/Matroska.cpp >>>>>>> /xiph/matroskalib/Matroska.h >>>>>>> /xiph/matroskalib/MatroskaExports.cpp >>>>>>> /xiph/matroskalib/MatroskaExports.h >>>>>>> >>>>>>> >>>>>>> >>>>>>> Image Size and Heap Use impact: minor >>>>>>> >>>>>>> Module Release testing (STIF) : Ongoing >>>>>>> >>>>>>> Test case(s) Added : No. >>>>>>> >>>>>>> Memory leak check performed : Yes. No new leaks introduced >>>>>>> >>>>>>> Platforms and Profiles Build Verified: >>>>>>> helix-client-symbian-4 >>>>>>> >>>>>>> Platforms and Profiles Functionality verified: armv5, winscw >>>>>>> >>>>>>> Branch: 420Brizo, HEAD >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>> . >>>>> >>>>> >>>>> >>>>> >>> > >