

Plan B multiplexingĪnother reason for the lack of support is Firefox is because Hangouts sends multiple audio and video streams over a single PeerConnection. While Firefox does not support this at all, Chrome has used a variant called Plan B (which was not adopted by the IETFs RTCWEB working group) for a while. Basically Plan B calls setRemoteDescription/ setLocalDescription repeatedly over the lifetime of the stream, adding source-specific media attribute lines (as described in RFC 5576) in the SDP. The setRemoteDescription calls trigger a onaddstream or onremovestream callback respectively. This is also explains why Firefox does not work with the WebRTC version of Hangouts. None of these are part of the official WebRTC spec.

Google hangouts hacks free#
Findings Non-standardized featuresĪs my webrtc-internals analysis below reveals, some of the non-standard features implemented in Chrome from when its first added WebRTC support are used to facilitate plug-in free Hangouts there.
Google hangouts hacks code#
The webrtc-internals page is an extremely useful tool for debugging WebRTC issues in Chrome. It shows all API calls of all PeerConnection objects along with additional statistics like bandwidth consumption in a very nice way. This allows us to observe what PeerConnection API calls are used by WebRTC without digging into the source code at all. Google announced in late June that their Hangouts now supports WebRTC. At a technical level, this is a very good chance to analyze how Hangouts works using Chrome’s built-in WebRTC diagnostics tool – chrome://webrtc-internals. You’ll see how the combo of his vast WebRTC knowledge and XMPP/Jingle background come together in the analysis below. Incidentally, he is currently serving on the XSF council (which is XMPP speak for the circle of the initiated XMPP gurus that control the world). As a long-time member of the XMPP Standards Foundation (XSF), Philipp has contributed to a number of key XEPs (XMPP speak for an RFC). In addition, he is a major contributor to the Jitsi Meet project. He currently works for simpleWebRTC and talky.io creator &yet. Philipp has been a real-time communications master for more than 10 years. Soon thereafter I came across a message from Philipp Hancke (aka Hornsby Cornflower) saying he had already starting looking at the new WebRTC hangouts with webrtc-internals. Fortunately I was able to convince him to share his findings and thorough analysis. We also were curious to see how a non-googler could make some practical use of chrome://webrtc-internals. So obviously we wanted to check out how this worked. This recently changed when WebRTC support for Hangouts was added with Chrome 36.
Google hangouts hacks drivers#
Please see the bottom section for new analysis he just put together in the past couple of days based on Chrome 38.Īs initiators and major drivers of WebRTC, Google was often given a hard time for not supporting WebRTC in its core collaboration product. Update: Philipp continues to reverse engineer Hangouts using chrome://webrtc-internals.
