User Tools

Site Tools


extendinglibhimd

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
extendinglibhimd [2012/02/02 00:19] – [Proposed project plan] glaubitzextendinglibhimd [2012/02/28 20:42] (current) – [Integrate SCSI command code] glaubitz
Line 29: Line 29:
   * add write support for PCM/ATRAC3/ATRAC3+ files (MZ-RH1 with //constant// key only)   * add write support for PCM/ATRAC3/ATRAC3+ files (MZ-RH1 with //constant// key only)
   * implement and fix existing for functions for renaming and deleting tracks   * implement and fix existing for functions for renaming and deleting tracks
-  * integrate SCSI code proposed in [[https://lists.fu-berlin.de/pipermail/linux-minidisc/2010-December/msg00000.html]], (see [[http://users.physik.fu-berlin.de/~glaubitz/linux-minidisc/himdscsitest_dvd-tools.c]] for example source code using //transport.hxx//)+  * integrate SCSI code proposed in [[https://lists.fu-berlin.de/pipermail/linux-minidisc/2010-December/msg00000.html]] into //libhimd//, (see [[http://users.physik.fu-berlin.de/~glaubitz/linux-minidisc/himdscsitest_dvd-tools.c]] for example source code using //transport.hxx//) 
 + 
 +===== Detailed description of the tasks ===== 
 + 
 +Finally, the four proposed project tasks are to be explained in more detail here. 
 + 
 +==== Finalizing MP3 write support ==== 
 + 
 +As mentioned before, write support for MP3s has largely been implemented already. However, the code is still buggy and also supports MP3s with //128kHz/44kbps// only. The task is therefore to properly parse MP3 input files with //libmad// and then set the parameters in the tracklist file accordingly for each MP3 frame so that the Walkman is able to decode and play back the MP3 files. The code should also check whether the input files are in a valid MP3 format which the Walkman can work with. 
 + 
 +==== Adding prelimenary support for writing PCM/ATRAC3/ATRAC3+ ==== 
 + 
 +While MP3 audio data is encrypted with a relatively simple XOR compression and neither uses any MAC authentication, implementation is rather simple, writing PCM/ATRAC3/ATRAC3+ is rather difficult. The encryption employed is 3DES. 
 + 
 +==== Fix renaming and deleting tracks ==== 
 + 
 +See [[https://wiki.physik.fu-berlin.de/linux-minidisc/doku.php?id=himddiskformat#the_track-index_file]]. 
 +==== Integrate SCSI command code ==== 
 + 
 +The background of this task is that HiMD devices interpret SCSI commands through USB in order to perform tasks like formatting a medium, erasing all contents and certain DRM commands (see: [[https://wiki.physik.fu-berlin.de/linux-minidisc/doku.php?id=scsidrminfo]]). 
 + 
 +The fundamental part of this task is integrating the SCSI code using transport.hxx from the //dvd+rw-tools// into libhimd (see: [[http://users.physik.fu-berlin.de/~glaubitz/linux-minidisc/himdscsitest_dvd-tools.c]]) and providing a nice API which can be used from the application land to issue the various SCSI commands. A generic function to do SCSI I/O is enough, applications can send the specific SCSI commands themselves. It might useful to implement another abstraction layer providing the basic functions for //format//, //erase all// etc, however.
extendinglibhimd.1328141990.txt.gz · Last modified: 2012/02/02 00:19 by glaubitz

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki