|
From: <ny...@us...> - 2007-09-17 12:14:27
|
Revision: 413
http://pmplib.svn.sourceforge.net/pmplib/?rev=413&view=rev
Author: nyaochi
Date: 2007-09-17 05:14:30 -0700 (Mon, 17 Sep 2007)
Log Message:
-----------
- Updated the layout of "mhsd" chunk.
Modified Paths:
--------------
trunk/pmplib/lib/pmp_ipod/ipod.c
trunk/pmplib/lib/pmp_ipod/itunesdb.c
trunk/pmplib/lib/pmp_ipod/itunesdb.h
Modified: trunk/pmplib/lib/pmp_ipod/ipod.c
===================================================================
--- trunk/pmplib/lib/pmp_ipod/ipod.c 2007-09-12 17:04:54 UTC (rev 412)
+++ trunk/pmplib/lib/pmp_ipod/ipod.c 2007-09-17 12:14:30 UTC (rev 413)
@@ -889,6 +889,7 @@
if (ret = itunesdb_init(mhbd, "mhbd", NULL)) return ret;
mhbd_data = (itunesdb_mhbd_t*)mhbd->data;
+#if 0
/* Construct "mhsd" chunk with album_list type (type = 4). */
mhsd = itunesdb_new_child(mhbd);
if (mhsd) {
@@ -908,6 +909,7 @@
} else {
return IPODE_FAILEDNEWCHUNK;
}
+#endif
/* Construct "mhsd" chunk with track type (type = 1). */
mhsd = itunesdb_new_child(mhbd);
Modified: trunk/pmplib/lib/pmp_ipod/itunesdb.c
===================================================================
--- trunk/pmplib/lib/pmp_ipod/itunesdb.c 2007-09-12 17:04:54 UTC (rev 412)
+++ trunk/pmplib/lib/pmp_ipod/itunesdb.c 2007-09-17 12:14:30 UTC (rev 413)
@@ -64,12 +64,18 @@
mhbd->unknown1 = 1;
mhbd->version = 0x19; /* iTunes 7.4.1 */
mhbd->num_children = 0; /* to be filled */
- mhbd->identifier = 0x7F6BBD850EB674E2;
+ mhbd->identifier = 0x5967FDF4464C603D;
mhbd->unknown2 = 2;
mhbd->unknown3 = 611;
mhbd->unknown4 = 0xBCD054CD8C063208;
+ mhbd->unknown5 = 0;
+ mhbd->unknown6 = 1;
mhbd->language[0] = 'j';
mhbd->language[1] = 'a';
+ mhbd->unknown7 = 0x39F6D17B62A94AC7;
+ mhbd->unknown8 = 1;
+ mhbd->unknown9 = 13;
+ mhbd->timezone = 0x00007E90;
}
chunk->data = mhbd;
return mhbd ? 0 : IPODE_OUTOFMEMORY;
@@ -87,8 +93,15 @@
if (ret = serialize_uint16le(sio, "unkonwn2", "%d", &mhbd->unknown2)) return ret;
if (ret = serialize_uint16le(sio, "unkonwn3", "%d", &mhbd->unknown3)) return ret;
if (ret = serialize_uint64le(sio, "unknown4", "%016llX", &mhbd->unknown4)) return ret;
- if (ret = serialize_uint8_array(sio, "unknown5", "%02X ", mhbd->unknown5, sizeof(mhbd->unknown5))) return ret;
+ if (ret = serialize_uint32le(sio, "unknown5", "%d", &mhbd->unknown5)) return ret;
+ if (ret = serialize_uint16le(sio, "unknown6", "%d", &mhbd->unknown6)) return ret;
+ if (ret = serialize_uint8_array(sio, "hash32", "%02X ", mhbd->hash32, sizeof(mhbd->hash32))) return ret;
if (ret = serialize_uint8_array(sio, "language", "%c ", mhbd->language, sizeof(mhbd->language))) return ret;
+ if (ret = serialize_uint64le(sio, "unknown7", "%016llX", &mhbd->unknown7)) return ret;
+ if (ret = serialize_uint32le(sio, "unknown8", "%d", &mhbd->unknown8)) return ret;
+ if (ret = serialize_uint32le(sio, "unknown9", "%d", &mhbd->unknown9)) return ret;
+ if (ret = serialize_uint8_array(sio, "hash58", "%02X ", mhbd->hash58, sizeof(mhbd->hash58))) return ret;
+ if (ret = serialize_uint32le(sio, "timezone", "%d", &mhbd->timezone)) return ret;
return 0;
}
Modified: trunk/pmplib/lib/pmp_ipod/itunesdb.h
===================================================================
--- trunk/pmplib/lib/pmp_ipod/itunesdb.h 2007-09-12 17:04:54 UTC (rev 412)
+++ trunk/pmplib/lib/pmp_ipod/itunesdb.h 2007-09-17 12:14:30 UTC (rev 413)
@@ -32,8 +32,15 @@
uint16_t unknown2; /* always set to 2. */
uint16_t unknown3; /* 0x0263 */
uint64_t unknown4;
- uint8_t unknown5[26]; /* zero padded. */
+ uint32_t unknown5;
+ uint16_t unknown6;
+ uint8_t hash32[20];
uint8_t language[2]; /* e.g., "en", "ja" */
+ uint64_t unknown7;
+ uint32_t unknown8;
+ uint32_t unknown9;
+ uint8_t hash58[20];
+ uint32_t timezone;
} itunesdb_mhbd_t;
typedef struct {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|