You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					25 lines
				
				599 B
			
		
		
			
		
	
	
					25 lines
				
				599 B
			| 
											2 years ago
										 | "use strict"; | ||
|  | 
 | ||
|  | var GenericWorker = require("./GenericWorker"); | ||
|  | var crc32 = require("../crc32"); | ||
|  | var utils = require("../utils"); | ||
|  | 
 | ||
|  | /** | ||
|  |  * A worker which calculate the crc32 of the data flowing through. | ||
|  |  * @constructor | ||
|  |  */ | ||
|  | function Crc32Probe() { | ||
|  |     GenericWorker.call(this, "Crc32Probe"); | ||
|  |     this.withStreamInfo("crc32", 0); | ||
|  | } | ||
|  | utils.inherits(Crc32Probe, GenericWorker); | ||
|  | 
 | ||
|  | /** | ||
|  |  * @see GenericWorker.processChunk | ||
|  |  */ | ||
|  | Crc32Probe.prototype.processChunk = function (chunk) { | ||
|  |     this.streamInfo.crc32 = crc32(chunk.data, this.streamInfo.crc32 || 0); | ||
|  |     this.push(chunk); | ||
|  | }; | ||
|  | module.exports = Crc32Probe; |