Comparing version
"use strict"; | ||
module.exports = require(__dirname + '/lib/start.js'); | ||
module.exports = require(__dirname + '/lib/server'); |
@@ -14,3 +14,3 @@ "use strict"; | ||
}; | ||
} | ||
@@ -17,0 +17,0 @@ AudioProcessor.prototype.process = function(audio, sequenceNumber) { |
@@ -5,3 +5,3 @@ | ||
var dgram = require('dgram'); | ||
var tools = require('./rtsphelper'); | ||
var tools = require('./helper'); | ||
var crypto = require('crypto'); | ||
@@ -53,4 +53,4 @@ | ||
this.timingServer.close(); | ||
} | ||
}; | ||
module.exports = RtpServer; |
@@ -5,3 +5,3 @@ "use strict"; | ||
var Parser = require('httplike'); | ||
var tools = require('./rtsphelper'); | ||
var tools = require('./helper'); | ||
var RtpServer = require('./rtp'); | ||
@@ -30,3 +30,3 @@ var Stream = require('stream'); | ||
}; | ||
} | ||
@@ -42,5 +42,6 @@ | ||
var parser = new Parser(socket); | ||
parser.on('message', function(m) { | ||
parser.on('message', function(req, res) { | ||
var response = new tools.MessageBuilder(socket); | ||
this.methodMapping[m.method](response, m.headers, m.content); | ||
this.methodMapping[req.method](response, req.headers, req.content); | ||
}.bind(this)); | ||
@@ -47,0 +48,0 @@ |
"use strict"; | ||
var tools = require('./rtsphelper'); | ||
var tools = require('./helper'); | ||
var ip = require('ip'); | ||
@@ -11,4 +11,2 @@ var dgram = require('dgram'); | ||
var rtspServer = rtspServer; | ||
var nonce = ''; | ||
@@ -18,3 +16,3 @@ | ||
response.setOK(headers['CSeq']); | ||
response.setOK(headers.CSeq); | ||
response.addHeader('Public', 'ANNOUNCE, SETUP, RECORD, PAUSE, FLUSH, TEARDOWN, OPTIONS, GET_PARAMETER, SET_PARAMETER, POST, GET'); | ||
@@ -40,7 +38,7 @@ | ||
response.send(); | ||
} else if (rtspServer.options.password && !headers['Authorization']) { | ||
} else if (rtspServer.options.password && !headers.Authorization) { | ||
var md5sum = crypto.createHash('md5'); | ||
md5sum.update = randomstring.generate(); | ||
response.setStatus(401, headers['CSeq']); | ||
response.setStatus(401, headers.CSeq); | ||
nonce = md5sum.digest('hex').toString('hex'); | ||
@@ -51,5 +49,5 @@ | ||
} else if (rtspServer.options.password && headers['Authorization']) { | ||
} else if (rtspServer.options.password && headers.Authorization) { | ||
var auth = headers['Authorization']; | ||
var auth = headers.Authorization; | ||
@@ -63,4 +61,4 @@ var params = auth.split(/, /g); | ||
var expectedResponse = tools.generateRfc2617Response('iTunes', 'roap', rtspServer.options.password, nonce, map['uri'], 'ANNOUNCE'); | ||
var receivedResponse = map['response']; | ||
var expectedResponse = tools.generateRfc2617Response('iTunes', 'roap', rtspServer.options.password, nonce, map.uri, 'ANNOUNCE'); | ||
var receivedResponse = map.response; | ||
@@ -99,3 +97,3 @@ if (expectedResponse == receivedResponse) { | ||
response.setOK(headers['CSeq']); | ||
response.setOK(headers.CSeq); | ||
response.send(); | ||
@@ -111,3 +109,3 @@ }; | ||
return Math.floor(Math.random() * (max - min + 1)) + min; | ||
} | ||
}; | ||
@@ -120,3 +118,3 @@ rtspServer.ports = [ getRandomPort(), getRandomPort(), getRandomPort() ]; | ||
response.setOK(headers['CSeq']); | ||
response.setOK(headers.CSeq); | ||
response.addHeader('Transport', 'RTP/AVP/UDP;unicast;mode=record;server_port=' + rtspServer.ports[0] + ';control_port=' + rtspServer.ports[1] + ';timing_port=' + rtspServer.ports[2]); | ||
@@ -131,3 +129,3 @@ response.addHeader('Session', '1'); | ||
var record = function(response, headers) { | ||
response.setOK(headers['CSeq']); | ||
response.setOK(headers.CSeq); | ||
if (!headers['RTP-Info']) { | ||
@@ -149,3 +147,3 @@ // it seems like iOS airplay does something else | ||
var flush = function(response, headers) { | ||
response.setOK(headers['CSeq']); | ||
response.setOK(headers.CSeq); | ||
response.addHeader('RTP-Info', 'rtptime=1147914212'); | ||
@@ -157,3 +155,3 @@ response.send(); | ||
rtspServer.rtp.stop(); | ||
response.setOK(headers['CSeq']); | ||
response.setOK(headers.CSeq); | ||
response.send(); | ||
@@ -182,9 +180,9 @@ }; | ||
rtspServer.metadata['volume'] = parseFloat(data[1]); | ||
rtspServer.external.emit('volumeChange', parseInt(rtspServer.metadata['volume'])); | ||
rtspServer.metadata.volume = parseFloat(data[1]); | ||
rtspServer.external.emit('volumeChange', parseInt(rtspServer.metadata.volume)); | ||
} else if (data[0] == 'progress') { | ||
rtspServer.metadata['progress'] = data[1]; | ||
rtspServer.external.emit('progressChange', rtspServer.metadata['progress']); | ||
rtspServer.metadata.progress = data[1]; | ||
rtspServer.external.emit('progressChange', rtspServer.metadata.progress); | ||
@@ -196,3 +194,3 @@ } | ||
} | ||
response.setOK(headers['CSeq']); | ||
response.setOK(headers.CSeq); | ||
response.send(); | ||
@@ -202,5 +200,5 @@ }; | ||
var getParameter = function(response, headers, content) { | ||
response.setOK(headers['CSeq']); | ||
response.setOK(headers.CSeq); | ||
response.send(); | ||
} | ||
}; | ||
@@ -207,0 +205,0 @@ return { |
{ | ||
"name": "nodetunes", | ||
"version": "0.0.11", | ||
"version": "0.0.12", | ||
"author": "Stephen Wan <stephen@stephenwan.net>", | ||
@@ -27,3 +27,3 @@ "description": "AirTunes v2 Music Server", | ||
"randomstring": "*", | ||
"httplike": "0.0.4", | ||
"httplike": "0.0.7", | ||
"random-mac": "0.0.4", | ||
@@ -33,5 +33,10 @@ "metricstream": "0.0.0" | ||
"devDependencies": { | ||
"speaker": "*" | ||
"speaker": "*", | ||
"gulp": "~3.6.2", | ||
"gulp-mocha": "~0.4.1", | ||
"gulp-jshint": "~1.5.5", | ||
"mocha": "~1.18.2", | ||
"jshint-stylish": "~0.2.0" | ||
}, | ||
"license": "MIT" | ||
} |
@@ -16,2 +16,6 @@ NodeTunes | ||
##### 0.0.12 | ||
- EXPERIMENTAL - added testing infrastructure, refactoring. | ||
- Moved to httplike v0.0.7 (trim on method support, solves ) | ||
##### 0.0.11 | ||
@@ -18,0 +22,0 @@ - Fixed 'undefined' bug in RTSP replies |
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
22149
1.43%30
15.38%6
500%498
-0.4%+ Added
+ Added
- Removed
Updated