1
0

Enable media debug

Signed-off-by: James Ketrenos <james_eikona@ketrenos.com>
This commit is contained in:
James Ketrenos 2022-03-12 14:36:14 -08:00
parent 70b4b23c2a
commit 27f143c6a0
2 changed files with 33 additions and 33 deletions

View File

@ -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`);

View File

@ -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) {