Theres a some undocumented extended fields in the itemRecord struct in ml.h that Justin used in origninal version of mlwww (so i guess they're semi official). These fields can be retrieved by calling getRecordExtendedItem().
"TYPE": "0" for audio files, "1" for video files (this is mentioned in the ml gui).
"DBIDX": This returns the media library database identifier for the given item. You can use this to directly access a given item in the database at a later date (presumably much faster than running a normal query). Eg:
// Get database index
char *p =getRecordExtendedItem(item,"DBIDX");
// Retrieve the item again
I guess this also shows a working version of a ML_IPC_DB_RUNQUERY_INDEX call (which is fairly cryptically documented at the moment).