Enable media debug
Signed-off-by: James Ketrenos <james_eikona@ketrenos.com>
This commit is contained in:
parent
70b4b23c2a
commit
27f143c6a0
@ -39,11 +39,9 @@ const Table = () => {
|
|||||||
const [player, setPlayer] = useState(undefined);
|
const [player, setPlayer] = useState(undefined);
|
||||||
const fields = [ 'id', 'state', 'color', 'name' ];
|
const fields = [ 'id', 'state', 'color', 'name' ];
|
||||||
|
|
||||||
/*
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
console.log(peers);
|
console.log(`app - media-agent - peers`, peers);
|
||||||
}, [peers]);
|
}, [peers]);
|
||||||
*/
|
|
||||||
|
|
||||||
const onWsOpen = (event) => {
|
const onWsOpen = (event) => {
|
||||||
console.log(`ws: open`);
|
console.log(`ws: open`);
|
||||||
|
@ -7,7 +7,7 @@ import VolumeUp from '@mui/icons-material/VolumeUp';
|
|||||||
import MicOff from '@mui/icons-material/MicOff';
|
import MicOff from '@mui/icons-material/MicOff';
|
||||||
import Mic from '@mui/icons-material/Mic';
|
import Mic from '@mui/icons-material/Mic';
|
||||||
import { GlobalContext } from "./GlobalContext.js";
|
import { GlobalContext } from "./GlobalContext.js";
|
||||||
const debug = false;
|
const debug = true;
|
||||||
|
|
||||||
/* Proxy object so we can pass in srcObject to <audio> */
|
/* Proxy object so we can pass in srcObject to <audio> */
|
||||||
const Audio = ({ srcObject, ...props }) => {
|
const Audio = ({ srcObject, ...props }) => {
|
||||||
@ -52,17 +52,14 @@ const MediaAgent = () => {
|
|||||||
throw new Error('Should not be local!');
|
throw new Error('Should not be local!');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (debug) console.log(`MediaAgent - ontrack - remote`, peers);
|
if (debug) console.log(`media-agent - ontrack - remote`, peers);
|
||||||
setPeers(Object.assign({}, peers));
|
setPeers(Object.assign({}, peers));
|
||||||
}, [peers, setPeers]);
|
}, [peers, setPeers]);
|
||||||
const refOnTrack = useRef(onTrack);
|
const refOnTrack = useRef(onTrack);
|
||||||
|
|
||||||
const onWsMessage = useCallback((event) => {
|
const onWsMessage = useCallback((event) => {
|
||||||
const data = JSON.parse(event.data);
|
|
||||||
if (debug) console.log(`MediaAgent - onWsMessage`, peers);
|
|
||||||
|
|
||||||
const addPeer = (config) => {
|
const addPeer = (config) => {
|
||||||
console.log('Signaling server said to add peer:', config);
|
console.log('media-agent - Signaling server said to add peer:', config);
|
||||||
|
|
||||||
if (!stream) {
|
if (!stream) {
|
||||||
console.log(`No local media stream`);
|
console.log(`No local media stream`);
|
||||||
@ -71,6 +68,7 @@ const MediaAgent = () => {
|
|||||||
|
|
||||||
const peer_id = config.peer_id;
|
const peer_id = config.peer_id;
|
||||||
if (peer_id in peers) {
|
if (peer_id in peers) {
|
||||||
|
console.log(`media-agent - addPeer - ${peer_id} already in peers`);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const connection = new RTCPeerConnection({
|
const connection = new RTCPeerConnection({
|
||||||
@ -91,7 +89,7 @@ const MediaAgent = () => {
|
|||||||
attributes: {
|
attributes: {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
if (debug) console.log(`MediaAgent - addPeer - remote`, peers);
|
console.log(`media-agent - addPeer - remote`, peers);
|
||||||
setPeers(Object.assign({}, peers));
|
setPeers(Object.assign({}, peers));
|
||||||
|
|
||||||
connection.onicecandidate = (event) => {
|
connection.onicecandidate = (event) => {
|
||||||
@ -122,10 +120,10 @@ const MediaAgent = () => {
|
|||||||
* to us
|
* to us
|
||||||
*/
|
*/
|
||||||
if (config.should_create_offer) {
|
if (config.should_create_offer) {
|
||||||
if (debug) console.log("MediaAgent - Creating RTC offer to ", peer_id);
|
if (debug) console.log(`media-agent - Creating RTC offer to ${peer_id}`);
|
||||||
return connection.createOffer()
|
return connection.createOffer()
|
||||||
.then((local_description) => {
|
.then((local_description) => {
|
||||||
if (debug) console.log("Local offer description is: ", local_description);
|
if (debug) console.log(`media-agent - Local offer description is: `, local_description);
|
||||||
return connection.setLocalDescription(local_description)
|
return connection.setLocalDescription(local_description)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
ws.send(JSON.stringify({
|
ws.send(JSON.stringify({
|
||||||
@ -135,14 +133,14 @@ const MediaAgent = () => {
|
|||||||
'session_description': local_description
|
'session_description': local_description
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
if (debug) console.log("Offer setLocalDescription succeeded");
|
if (debug) console.log(`media-agent - Offer setLocalDescription succeeded`);
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
console.error("Offer setLocalDescription failed!");
|
console.error(`media-agent - Offer setLocalDescription failed!`);
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
console.log("Error sending offer: ", error);
|
console.log(`media-agente - Error sending offer: `, error);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -157,18 +155,18 @@ const MediaAgent = () => {
|
|||||||
// console.log('Remote description received: ', peer_id, session_description);
|
// console.log('Remote description received: ', peer_id, session_description);
|
||||||
const peer = peers[peer_id];
|
const peer = peers[peer_id];
|
||||||
if (!peer) {
|
if (!peer) {
|
||||||
console.error(`No peer for ${peer_id}`);
|
console.error(`media-agent - sessionDescription - No peer for ${peer_id}`);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// console.log(session_description);
|
// console.log(session_description);
|
||||||
const { connection } = peer;
|
const { connection } = peer;
|
||||||
const desc = new RTCSessionDescription(session_description);
|
const desc = new RTCSessionDescription(session_description);
|
||||||
return connection.setRemoteDescription(desc, () => {
|
return connection.setRemoteDescription(desc, () => {
|
||||||
if (debug) console.log("setRemoteDescription succeeded");
|
if (debug) console.log(`media-agent - sessionDescription - setRemoteDescription succeeded`);
|
||||||
if (session_description.type === "offer") {
|
if (session_description.type === "offer") {
|
||||||
if (debug) console.log("Creating answer");
|
if (debug) console.log(`media-agent - sessionDescription - Creating answer`);
|
||||||
connection.createAnswer((local_description) => {
|
connection.createAnswer((local_description) => {
|
||||||
if (debug) console.log("Answer description is: ", local_description);
|
if (debug) console.log(`media-agent - sessionDescription - Answer description is: `, local_description);
|
||||||
connection.setLocalDescription(local_description, () => {
|
connection.setLocalDescription(local_description, () => {
|
||||||
ws.send(JSON.stringify({
|
ws.send(JSON.stringify({
|
||||||
type: 'relaySessionDescription',
|
type: 'relaySessionDescription',
|
||||||
@ -177,9 +175,9 @@ const MediaAgent = () => {
|
|||||||
session_description: local_description
|
session_description: local_description
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
if (debug) console.log("Answer setLocalDescription succeeded");
|
if (debug) console.log(`media-agent - sessionDescription - Answer setLocalDescription succeeded`);
|
||||||
}, () => {
|
}, () => {
|
||||||
console.error("Answer setLocalDescription failed!");
|
console.error(`media-agent - sessionDescription - Answer setLocalDescription failed!`);
|
||||||
});
|
});
|
||||||
}, (error) => {
|
}, (error) => {
|
||||||
// console.log("Error creating answer: ", error);
|
// console.log("Error creating answer: ", error);
|
||||||
@ -187,14 +185,14 @@ const MediaAgent = () => {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}, (error) => {
|
}, (error) => {
|
||||||
console.log("setRemoteDescription error: ", error);
|
console.log(`media-agent - sessionDescription - setRemoteDescription error: `, error);
|
||||||
});
|
});
|
||||||
|
|
||||||
// console.log("Description Object: ", desc);
|
// console.log("Description Object: ", desc);
|
||||||
};
|
};
|
||||||
|
|
||||||
const removePeer = ({peer_id}) => {
|
const removePeer = ({peer_id}) => {
|
||||||
console.log('Signaling server said to remove peer:', peer_id);
|
console.log(`media-agent - removePeer - Signaling server said to remove peer ${peer_id}`);
|
||||||
if (peer_id in peers) {
|
if (peer_id in peers) {
|
||||||
if (peers[peer_id].connection) {
|
if (peers[peer_id].connection) {
|
||||||
peers[peer_id].connnection.close();
|
peers[peer_id].connnection.close();
|
||||||
@ -202,7 +200,7 @@ const MediaAgent = () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
delete peers[peer_id];
|
delete peers[peer_id];
|
||||||
if (debug) console.log(`MediaAgent - removePeer - remote or local?`, peers);
|
if (debug) console.log(`media-agent - removePeer`, peers);
|
||||||
setPeers(Object.assign({}, peers));
|
setPeers(Object.assign({}, peers));
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -214,18 +212,22 @@ const MediaAgent = () => {
|
|||||||
*/
|
*/
|
||||||
const peer = peers[peer_id];
|
const peer = peers[peer_id];
|
||||||
if (!peer) {
|
if (!peer) {
|
||||||
console.error(`No peer for ${peer_id}`, peers);
|
console.error(`media-agent - iceCandidate - No peer for ${peer_id}`, peers);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
peer.connection.addIceCandidate(new RTCIceCandidate(ice_candidate))
|
peer.connection.addIceCandidate(new RTCIceCandidate(ice_candidate))
|
||||||
.then(() => {
|
.then(() => {
|
||||||
if (debug) console.log(`Successfully added Ice Candidate for ${peer_id}`);
|
if (debug) console.log(`media-agent - iceCandidate - Successfully added Ice Candidate for ${peer_id}`);
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
console.error(error, peer, ice_candidate);
|
console.error(error, peer, ice_candidate);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const data = JSON.parse(event.data);
|
||||||
|
if (data.type in [ 'addPeer', 'removePeer', 'iceCandidate', 'sessionDescription' ]) {
|
||||||
|
console.log(`media-agent - message - ${data.type}`, peers);
|
||||||
|
}
|
||||||
switch (data.type) {
|
switch (data.type) {
|
||||||
case 'addPeer': addPeer(data.data); break;
|
case 'addPeer': addPeer(data.data); break;
|
||||||
case 'removePeer': removePeer(data.data); break;
|
case 'removePeer': removePeer(data.data); break;
|
||||||
@ -250,7 +252,7 @@ const MediaAgent = () => {
|
|||||||
for (let id in peers) {
|
for (let id in peers) {
|
||||||
delete peers[id];
|
delete peers[id];
|
||||||
}
|
}
|
||||||
if (debug) console.log(`MediaAgent - close - local or remote?`, peers);
|
if (debug) console.log(`media-agent - close - local or remote?`, peers);
|
||||||
setPeers(Object.assign({}, peers));
|
setPeers(Object.assign({}, peers));
|
||||||
}
|
}
|
||||||
const refWsClose = useRef(onWsClose);
|
const refWsClose = useRef(onWsClose);
|
||||||
@ -299,7 +301,7 @@ const MediaAgent = () => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (update) {
|
if (update) {
|
||||||
if (debug) console.log(`MediaAgent - Adding local`, peers);
|
if (debug) console.log(`media-agent - Adding local`, peers);
|
||||||
setPeers(Object.assign({}, peers));
|
setPeers(Object.assign({}, peers));
|
||||||
}
|
}
|
||||||
}, [peers, name, setPeers, stream]);
|
}, [peers, name, setPeers, stream]);
|
||||||
@ -330,7 +332,7 @@ const MediaAgent = () => {
|
|||||||
ws.send(JSON.stringify({ type: 'join' }));
|
ws.send(JSON.stringify({ type: 'join' }));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (debug) console.log(`MediaAgent - WebSocket open request. Attempting to create local media.`)
|
if (debug) console.log(`media-agent - WebSocket open request. Attempting to create local media.`)
|
||||||
setup_local_media().then(() => {
|
setup_local_media().then(() => {
|
||||||
/* once the user has given us access to their
|
/* once the user has given us access to their
|
||||||
* microphone/camcorder, join the channel and start peering up */
|
* microphone/camcorder, join the channel and start peering up */
|
||||||
@ -345,7 +347,7 @@ const MediaAgent = () => {
|
|||||||
return <></>;
|
return <></>;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (debug) console.log(`MediaAgent`, peers);
|
console.log(`media-agent - render`, peers);
|
||||||
|
|
||||||
const audioPeers = [];
|
const audioPeers = [];
|
||||||
for (let id in peers) {
|
for (let id in peers) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user