Thanks for the suggestion and possible really interesting implementation to my code. While I was working with my code I came with another possible mistake that I trying to explain but for the moment not successfully. I noticed that the sync_safe process at the header:
$mp3_size = ($memory[0] & 0xFF) | (( $memory[1] & 0xFF ) << 7) | (( $memory[2] & 0xFF ) << 14) | (( $memory[3] & 0xFF ) << 21);
If I do print Dumper(@memory); before the sync_safe process, it will print out:
$VAR1 = 0; $VAR2 = 0; $VAR3 = 5; $VAR4 = 59;
After the sync_safe process if I do print Dumper(@memory); again, it will print out:
$VAR1 = 123813888;
I am curious, I know that the sync_safe process is shifting 7 bits to the left of eac byte. So no I am comfused is it operating correctly? or am I doing something wrong?
Maybe I am missing something really basic here and this is the reason that I do not understand. Sorry for asking too many questions but since I am going through the learning curve process I have so many queries that I can not find information that will provide me a clear answer.
Thank you again for your time and effort.
In reply to Re^4: ID3v2 TAG Footer Reading goes wrong
by thanos1983
in thread ID3v2 TAG Footer Reading goes wrong
by thanos1983
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |