We are using MediaInfo SDK in one of our application to analyse different type of media.
We have noticed a problem in duration for some MOV clips, which is different in "MediaInfo GUI" vs "MediaInfo SDK" of same version. (ver = 0.7.63).
For example, we have a "Reference MOV" clip "CR128TGF-ILPR675-020.mov", for which "MediaInfo GUI" is returning Video Track duration as "20000 ms", which is correct.
Whereas "MediaInfo SDK" (compiling the DLL from source code) is returning Video Track duration as 19960 ms. (one frame short). Syntax we are using is "MI.Get(Stream_Video, VideoTrackCount, _T("Duration"), Info_Text, Info_Name).c_str();"
Please note that problem is only with Video Track Duration which is in Milliseconds, we have no problem with the other duration versions. For example "return MI.Get(Stream_Video, ID, _T("Duration/String1"), Info_Text, Info_Name).c_str();" is giving use the right duration "20s 0ms"
Now my question is, why we are getting different value for video track duration (in ms version) using "MediaInfo GUI" vs "MediaInfo SDK" of same version (0.7.63)?
I have noticed the difference in size of "MediaInfo.dll" being used in "MediaInfo GUI" and the one we are compiling from "MediaInfo SDK" which could be possible reason for the difference in results.
"MI GUI" app is using "MediaInfo.dll" which is of 3925 KB, while the "MediaInfo.dll" size that we are using is of 3362 KB ( visual studio 2010 release mode).
We have also tried latest MediaInfo GUI app and MediaInfo SDK. (0.7.64) and again "MediaInfo GUI" app is returning the correct value, 20000 ms, whereas MediaInfo SDK is returning 19680 ms.
Please advise. Thanks.
P.S. Sample media "CR128TGF-ILPR675-020.mov" (along with it's ".m2v" and ".wav") is uploaded on "https://www.dropbox.com/sh/mpgyabxuyhrbbzy/45q3z_2Yvp"
Let's continue on only one central place: