When transferable list is specified, postingMessage to worker doesn't copy data. Since ctm.js references original data, we can specify original stream to be transferred back to the main thread.
@@ -9,7 +9,7 @@ self.onmessage = function( event ) {
var stream = new CTM.Stream( event.data.data );
stream.offset = event.data.offsets[ i ];
- files[ i ] = new CTM.File( stream );
+ files[ i ] = new CTM.File( stream, [event.data.data.buffer] );
}