Suggestion on writing iTunesSD format

Johann Wurst <[email protected]> Tue, 18 Oct 2011 23:53:59 +0200
Newsgroups gmane.comp.ipod.gtkpod
Message-ID <CAGFpg=WuJpDLpuofiLEspMo_iite97mKom6vYd6q2V_NUvZv7w@mail.gmail.com>
Hi,


I use my beloved iPod Shuffle (4g, the little square one with
VoiceOver) mainly to listen to my favourite podcasts. However, I never
got gtkpod to successfully set the rather useful "Remember Playback
Position" flag on those podcasts.
After a bit of research I found the cause for this glitch: gtkpod
seems to always set the track property "stoptime" to zero if not
otherwise specified by the user. libgpod then writes that zero
stoptime to the iPod, which seems to be unproblematic as long as it's
not an iPod shuffle with the newer iTunesSD format. Because in that
special case a stoptime of zero has the weird side effect that the
iPod doesn't remember the playback position even if the corresponding
flag is set correctly.
iTunes itself sets the stoptime by default to the full track length.
Therefore I propose the following change to src/itdb_itunesdb.c in
libgpod:

6565c6565,6574
< 	put32lint (cts, track->stoptime); /* Stop pos in ms */
---
> 	
> 	/* Stop position in ms */
> 	/* Default to full length because zero-value in this field causes
> 	 * problems in connection with remember_playback_position */
> 	
> 	if (track->stoptime == 0)
> 		put32lint (cts, track->tracklen);
> 	else
> 		put32lint (cts, track->stoptime);
> 	

I hope I covered the issue more or less understandable :)


best Regards,

megalomaniacmonkey

------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2d-oct