All of this is due to lack of PHP's INT64 support for 32bit mashines, but on 64bit machines PHP's integers are 64bit signed, so there is real posibility to implement 64bit limited file size support.
Simple code to check for 64bit integer:
Code: Select all
define('INT_64', is_int(pow(2, 31)));
Also it is important to investigate the behaviour of some PHP's build'in functions, that are used by GetID3 (like filesize(), fseek(), ftell() etc.), to determine that they behave correctly with files larger than 2GB and return LONGINT integers correctly.
And if so, our INT_64 constant may be used everywhere to determine filesize > 2GB support.
I am ready to help you, James, to investigate this problem, to do the required tests and implement this very important in our days feature.