Rockbox mail archiveSubject: Tag Cache DB File Format Question
Tag Cache DB File Format Question
From: Charles Mason <charlie.mas_at_gmail.com>
Date: Tue, 14 Oct 2008 17:44:35 +0100
I am currently working on an extension to Banshee (an open source
music player) to aid syncing with Rock Box based devices. I have
already got it reading form the Tag Cache DB on the device so its
music shows up in Banshee a few seconds after the player is inserted
instead of the several minutes it takes to scan the devices file
system with the generic Mass Storage syncing. I figured since the
Banshee extension knows what changes its made to the file system it
could update the DB much quicker than the player which would have to
do a full file system scan. Not to mention the difference in resoures
between a standard PC and the average Rock Box player.
So far the updating of the DB via my extensions appears to be working,
all the additional entries show up as far as I can tell correctly in
the Rock Box Database menus. The problem is if Rock Box is set to
"Load DB in to RAM" a second or so after it boots it shows the below
message and the device locks up.
at 0004910C (0)
I presume this means there's a problem with the DB my extension has
written. I presume that's a memory address, is there any easy way to
find out what that relates to?
Comparing the output of a DB generated with Rock Box and one with my
Extension I can't see any major differences. The only one I have found
is with the entry in the index file after the first 4 version bytes
(offset bytes 4-7). According to the Tag Cache DB Spec in the Wiki
that is supposed to be the number of non header bytes in the index
file however in the version created by Rock Box its about 2.5 times
larger than the actual number of non header bytes. Is the wiki wrong
and if so what does this field relate to ?
Any suggestions would be greatly appreciated.
Received on 2008-10-14