User Tools

Site Tools


portingnetmd

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
portingnetmd [2012/03/06 21:53] – [Integration into qhimdtransfer] glaubitzportingnetmd [2012/03/06 23:19] (current) – [Redesigning the transfer code for streaming] megadiscman
Line 89: Line 89:
  
 ==== Redesigning the transfer code for streaming ==== ==== Redesigning the transfer code for streaming ====
 +The netmd download code currently requires the whole data to download in memory at once as soon as the download command is submitted to the NetMD unit. This is not desireable, especially not when downloading raw uncompressed PCM data to record a ATRAC1 (SP) track. 
 +You do need to know the total number of frames and the total number of "packets" you download before starting the download, though. As PCM and ATRAC are both constant bit rates (constant frame size), knowing the number of packets is a simple task given the input file. The concept of packets is interesting mainly for DRM stuff, as each "packet" may be encrypted with a different data encrypt key, but it could make sense to re-use this concept for the transfer chunks. 
 +Implementing streaming means the interface has to be changed in one of two ways: Either, there is no single "download track" call, but a start download, send partial data, and end download call is exposed separately, or the download function gets passed a pointer to a callback function to read a packet worth of data. The callback function could return arbitrary sized packets, as long as after transferring the initially announced number of packets also the initally announced number of frames is transferred.
 ==== Supporting other formats than LP2 encoded WAV files ==== ==== Supporting other formats than LP2 encoded WAV files ====
  
Line 105: Line 107:
  
 ==== Port the analog NetMD copy script ==== ==== Port the analog NetMD copy script ====
 +
 +The analog NetMD copy script provides a means to allow uploads for NetMD devices which do not support digital uploads. The code can be found in **netmd/dump_md.py** in the git repository. The code was written by Vincent Pelletier and he should be contacted on list regarding any questions. In principal, it will already be sufficient if the functionality has been ported to //libnetmd// and can be used through //netmdctl//.
 +
 +This task is **optional** and is recommended to be tackled after the previous tasks have been finished (order of priority). However, it's naturally up to the student what they choose to work on.
portingnetmd.1331070784.txt.gz · Last modified: 2012/03/06 21:53 by glaubitz

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki