Skip to content

Commit

Permalink
updated to latest binarize.js
Browse files Browse the repository at this point in the history
  • Loading branch information
agektmr committed Mar 26, 2013
1 parent 9190def commit 38ffde7
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 15 deletions.
1 change: 1 addition & 0 deletions package.json
Expand Up @@ -6,5 +6,6 @@
"express": "2.5.2"
, "ejs": ">= 0.0.1"
, "ws": ">= 0.0.1"
, "binarize.js": ">=0.5.1"
}
}
32 changes: 18 additions & 14 deletions public/js/AudioStreamer.js
Expand Up @@ -139,18 +139,20 @@ var AudioStreamer = (function() {
if (typeof this.getBufferCallback === 'function')
this.getBufferCallback();

var buffers = [];
var buffers = [],
that = this;
for (var ch = 0; ch < this.buffer.length; ch++) {
buffers.push(this.buffer[ch].shift() || new Float32Array(BUFFER_LENGTH));
}
if (this.socket) { // only player have socket set
var buffer = binarize.pack({
binarize.pack({
user_id:AttendeeManager.getUserId(),
ch_num:buffers.length,
buffer_length:BUFFER_LENGTH,
buffer_array:buffers
}, function(buffer) {
that.socket.send(buffer);
});
this.socket.send(buffer);
}
for (ch = 0; ch < buffers.length; ch++) {
event.outputBuffer.getChannelData(ch).set(buffers[ch]);
Expand Down Expand Up @@ -182,18 +184,20 @@ var AudioStreamer = (function() {
};
InputSource.prototype = {
onaudioprocess: function(event) {
var buffers = [];
var buffers = [],
that = this;
for (var i = 0; i < event.inputBuffer.numberOfChannels; i++) {
buffers[i] = event.inputBuffer.getChannelData(i);
}
if (this.socket) { // only player have socket set
var buffer = binarize.pack({
binarize.pack({
user_id:AttendeeManager.getUserId(),
ch_num:buffers.length,
buffer_length:BUFFER_LENGTH,
buffer_array:buffers
}, function(buffer) {
that.socket.send(buffer);
});
this.socket.send(buffer);
}
for (i = 0; i < buffers.length; i++) {
event.outputBuffer.getChannelData(i).set(buffers[i]);
Expand Down Expand Up @@ -277,7 +281,6 @@ console.debug('socket established.');
var msg = '';
try {
if (typeof req.data == 'string') {
console.debug(req.data);
// string
msg = TextMessage.parseMessage(req.data);
if (msg.type == 'connected') {
Expand All @@ -290,13 +293,14 @@ console.debug(req.data);
that.onMessage(msg);
} else {
// binary
msg = binarize.unpack(req.data);
if (msg.user_id == AttendeeManager.getUserId()) return; // skip if audio is originated from same user
var buffers = [];
for (var ch = 0; ch < msg.ch_num; ch++) {
buffers[ch] = msg.buffer_array[ch];
}
that.audioListener.source.setBuffer(buffers);
binarize.unpack(req.data, function(msg) {
if (msg.user_id == AttendeeManager.getUserId()) return; // skip if audio is originated from same user
var buffers = [];
for (var ch = 0; ch < msg.ch_num; ch++) {
buffers[ch] = msg.buffer_array[ch];
}
that.audioListener.source.setBuffer(buffers);
});
}
} catch(e) {
throw e;
Expand Down
4 changes: 3 additions & 1 deletion server.js
Expand Up @@ -21,6 +21,7 @@ Author: Eiji Kitamura (agektmr@gmail.com)
*/

var express = require('express'),
binarize = require('binarize.js'),
routes = require('./routes'),
WebSocketServer = require('ws').Server;

Expand Down Expand Up @@ -76,6 +77,7 @@ app.listen(3000, function() {
binary[i] = req.readUInt8(i);
}
for (var j = 0; j < sessions.length; j++) {
if (sessions[j].socket == ws) continue;
sessions[j].socket.send(binary, {binary:true, mask:false});
}
} else {
Expand Down Expand Up @@ -148,4 +150,4 @@ app.listen(3000, function() {
});
});

console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env);
console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env);

0 comments on commit 38ffde7

Please sign in to comment.