networkwm-js 0.2.3 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -26,8 +26,8 @@ export declare class DatabaseAbstraction {
26
26
  addNewTrack(trackInfo: TrackMetadata, codecInfo: NWCodecInfo, encryptionState: number): number;
27
27
  private reassignTrackNumber;
28
28
  private copyToFilesystem;
29
- uploadMP3Track(trackInfo: InboundTrackMetadata, rawData: Uint8Array, callback?: (done: number, outOf: number) => void): Promise<void>;
30
- uploadTrack(trackInfo: InboundTrackMetadata, codec: CodecInfo, rawData: Uint8Array<ArrayBuffer>, session?: UMSCNWJSSession, callback?: (done: number, outOf: number) => void): Promise<void>;
29
+ uploadMP3Track(trackInfo: InboundTrackMetadata, rawData: Uint8Array, callback?: (done: number, outOf: number) => void, chunkSize?: number): Promise<void>;
30
+ uploadTrack(trackInfo: InboundTrackMetadata, codec: CodecInfo, rawData: Uint8Array<ArrayBuffer>, session?: UMSCNWJSSession, callback?: (done: number, outOf: number) => void, chunkSize?: number): Promise<void>;
31
31
  flushUpdates(): Promise<void>;
32
32
  deleteTrack(systemIndex: number): Promise<void>;
33
33
  reserializeDatabase(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"database-abstraction.d.ts","sourceRoot":"","sources":["../src/database-abstraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACnE,OAAO,EAAE,eAAe,EAAc,oBAAoB,EAAE,aAAa,EAAY,MAAM,aAAa,CAAC;AAGzG,OAAO,EAAsB,eAAe,EAAE,MAAM,cAAc,CAAC;AAGnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,WAAW,EAAyB,MAAM,UAAU,CAAC;AAK9D,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG;IAC1C,eAAe,EAAE,UAAU,CAAC;IAC5B,SAAS,EAAE,UAAU,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IAEpB,SAAS,EAAE,aAAa,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,qBAAa,mBAAmB;IAOR,OAAO,CAAC,UAAU;IAAyB,UAAU,EAAE,gBAAgB;IAN3F,OAAO,CAAC,wBAAwB,CAAC,CAAyB;IAC1D,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,aAAa,CAAgB;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,eAAe,CAAC;IACjC,OAAO;WAIa,MAAM,CAAC,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB;IAiCnF,OAAO,CAAC,OAAO;IAkCR,WAAW,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM;IAyB5F,OAAO,CAAC,mBAAmB;YAWb,gBAAgB;IAsBxB,cAAc,CAChB,SAAS,EAAE,oBAAoB,EAC/B,OAAO,EAAE,UAAU,EACnB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI;IAe9C,WAAW,CACb,SAAS,EAAE,oBAAoB,EAC/B,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,EAChC,OAAO,CAAC,EAAE,eAAe,EACzB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI;IAmB9C,YAAY;IAMZ,WAAW,CAAC,WAAW,EAAE,MAAM;IAgBrC,mBAAmB;IA6EnB,0BAA0B,IAAK;QAC3B,0BAA0B,EAAE,CAAC,CAAC;QAC9B,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE;YACN,0BAA0B,EAAE,CAAC,CAAC;YAC9B,IAAI,EAAE,MAAM,CAAC;YACb,QAAQ,EAAE,eAAe,EAAE,CAAA;SAC9B,EAAE,CAAA;KACN,EAAE;IAIG,QAAQ;IA6BR,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa;CAoBjE"}
1
+ {"version":3,"file":"database-abstraction.d.ts","sourceRoot":"","sources":["../src/database-abstraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACnE,OAAO,EAAE,eAAe,EAAc,oBAAoB,EAAE,aAAa,EAAY,MAAM,aAAa,CAAC;AAGzG,OAAO,EAAsB,eAAe,EAAE,MAAM,cAAc,CAAC;AAGnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,WAAW,EAAyB,MAAM,UAAU,CAAC;AAK9D,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG;IAC1C,eAAe,EAAE,UAAU,CAAC;IAC5B,SAAS,EAAE,UAAU,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IAEpB,SAAS,EAAE,aAAa,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,qBAAa,mBAAmB;IAOR,OAAO,CAAC,UAAU;IAAyB,UAAU,EAAE,gBAAgB;IAN3F,OAAO,CAAC,wBAAwB,CAAC,CAAyB;IAC1D,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,aAAa,CAAgB;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,eAAe,CAAC;IACjC,OAAO;WAIa,MAAM,CAAC,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB;IAiCnF,OAAO,CAAC,OAAO;IAkCR,WAAW,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM;IAyB5F,OAAO,CAAC,mBAAmB;YAWb,gBAAgB;IAsBxB,cAAc,CAChB,SAAS,EAAE,oBAAoB,EAC/B,OAAO,EAAE,UAAU,EACnB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,EAChD,SAAS,CAAC,EAAE,MAAM;IAehB,WAAW,CACb,SAAS,EAAE,oBAAoB,EAC/B,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,EAChC,OAAO,CAAC,EAAE,eAAe,EACzB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,EAChD,SAAS,CAAC,EAAE,MAAM;IAmBhB,YAAY;IAMZ,WAAW,CAAC,WAAW,EAAE,MAAM;IAgBrC,mBAAmB;IA6EnB,0BAA0B,IAAK;QAC3B,0BAA0B,EAAE,CAAC,CAAC;QAC9B,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE;YACN,0BAA0B,EAAE,CAAC,CAAC;YAC9B,IAAI,EAAE,MAAM,CAAC;YACb,QAAQ,EAAE,eAAe,EAAE,CAAA;SAC9B,EAAE,CAAA;KACN,EAAE;IAIG,QAAQ;IA6BR,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa;CAoBjE"}
@@ -118,7 +118,7 @@ class DatabaseAbstraction {
118
118
  }
119
119
  return trackNumber;
120
120
  }
121
- async copyToFilesystem(data, globalTrackIndex, callback) {
121
+ async copyToFilesystem(data, globalTrackIndex, callback, chunkSize = 2048) {
122
122
  // Make sure the audio store directory appropriate for this file exists
123
123
  const audioStore = `/OMGAUDIO/10F${(globalTrackIndex >> 8).toString(16).padStart(2, '0')}`;
124
124
  if (!(await this.filesystem.list("/OMGAUDIO")).some(e => e.name === audioStore)) {
@@ -130,7 +130,7 @@ class DatabaseAbstraction {
130
130
  let i = 0;
131
131
  callback === null || callback === void 0 ? void 0 : callback(i, data.length);
132
132
  while (remaining) {
133
- const toWrite = Math.min(2048, remaining);
133
+ const toWrite = Math.min(chunkSize, remaining);
134
134
  await fh.write(data.slice(i, i + toWrite));
135
135
  i += toWrite;
136
136
  remaining -= toWrite;
@@ -138,7 +138,7 @@ class DatabaseAbstraction {
138
138
  }
139
139
  await fh.close();
140
140
  }
141
- async uploadMP3Track(trackInfo, rawData, callback) {
141
+ async uploadMP3Track(trackInfo, rawData, callback, chunkSize) {
142
142
  if (this.mp3DeviceKey === undefined && !this.deviceInfo.disableDRM)
143
143
  throw new Error("Please load the device key first!");
144
144
  const { codec, duration } = (0, mp3_1.generateMP3CodecField)(rawData);
@@ -149,9 +149,9 @@ class DatabaseAbstraction {
149
149
  trackNumber,
150
150
  }, codec, this.deviceInfo.disableDRM ? 0xFFFF : 0xFFFE);
151
151
  const mp3Data = (0, mp3_1.createMP3OMAFile)(globalTrackIndex, trackInfo, rawData, this.deviceInfo.disableDRM ? null : this.mp3DeviceKey, codec);
152
- await this.copyToFilesystem(mp3Data, globalTrackIndex, callback);
152
+ await this.copyToFilesystem(mp3Data, globalTrackIndex, callback, chunkSize);
153
153
  }
154
- async uploadTrack(trackInfo, codec, rawData, session, callback) {
154
+ async uploadTrack(trackInfo, codec, rawData, session, callback, chunkSize) {
155
155
  const trackNumber = this.reassignTrackNumber(trackInfo);
156
156
  // Step 1 - Create the encrypted OMA which will later be written to the device's storage
157
157
  const omaFile = (this.deviceInfo.disableDRM ? tagged_oma_1.createTaggedOMA : tagged_oma_1.createTaggedEncryptedOMA)(rawData, trackInfo, codec);
@@ -162,7 +162,7 @@ class DatabaseAbstraction {
162
162
  trackNumber,
163
163
  }, codec, this.deviceInfo.disableDRM ? 0xFFFF : 0x0001);
164
164
  // Step 3 - write track to the filesystem
165
- await this.copyToFilesystem(omaFile.data, globalTrackIndex, callback);
165
+ await this.copyToFilesystem(omaFile.data, globalTrackIndex, callback, chunkSize);
166
166
  // Step 4 - write MAC
167
167
  if (!this.deviceInfo.disableDRM)
168
168
  session === null || session === void 0 ? void 0 : session.writeTrackMac(globalTrackIndex - 1, omaFile.maclistValue);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "networkwm-js",
3
- "version": "0.2.3",
3
+ "version": "0.2.4",
4
4
  "description": "A library which lets you manage tracks and metadata on Sony Network Walkmen.",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {