Opaque identifier to contextualise handles
Fixed small typos in documentation
New SDP utilities to replace Sofia SIP SDP stack
Moved NACKs counters/timers to janus_ice_stats (before there was ambiguity on direction), and added new core-level 'slowlink' event
Autodetect media from payload type if SSRC wasn't advertized ('Not audio and not video' warning)
Allow configuration of HTTP method to use to contact TURN REST API, if enabled
Merge branch 'master' into rtcp-rr
Added atomic check to avoid creating ICE thread twice (see #481)
Added RR/SR termination, and filtering of outgoing packets (REMB generation)
Use right RTP profile when answering
Add number of packets sent/received per medium to Admin API
First take at RTCP SR/RR in core
Make DTLS alert and related events more asynchronous
fix structs janus_request and janus_ice_trickle being typedef'ed twice
recent gcc doesn't care about it, but gcc-4.4 from RHEL6 does
Added an UDP server (random port) to act as blackhole for keepalives from unneeded RTCP components
Fixed parsing of fingerprints so that they can be different per each stream
List discovered (prflx) remote candidates when querying the admin API
Add info on when the handle was created to the admin API
Restored the old public_ip setting as a new nat_1_1_mapping setting (-1 on the command line), to clarify what it is for and when it should be used
Allow IP addresses to be passes to the ICE enforce list
Added new ICE 'enforce' list, to specify the only interfaces to use for gathering candidates
Asynchronous trickle request management
Added some timing related details to the handle info in the admin API
Added flags to check whether offer and/or answer have been received
Parse SSRC used for retransmissions by Chrome
Added options to force BUNDLE and/or rtcp-mux (forcing both will always only allocate a single port for media, instead of 2/4)
Additional checks to avoid using old plugin sessions
Fixed detection of incoming RTCP packets (audio vs video) when remote SSRC is unknown (issue #258)
Cosmetic changes to #238 (comments) and renamed seq_in_range to janus_seq_in_range
re-write NACK generation for missing rtp sequence numbers
send nacks for missing seq nums faster, don't wait up to half a secondkeep track of nacks sent per seq num, at most nack twice
Just a couple of cosmetic changes to pull #230 (capitalize first letter of comments)
slow_link callback refactor: count NACKs over full second
... instead of only counting over a compound RTCP packet, to see ifthe threshold of NACKs is exceeded.
This mostly affects outgoing streams, since peers often send NACKsto janus one-per-packet under reasonable-loss circumstances....
log number of recent retransmits once per 5 seconds at INFO level
only if there were any, of courselogging about individual retransmits is pushed to HUGE level
Added support for the TURN REST API (draft-uberti-behave-turn-rest-00) to dynamically get TURN servers and credentials to use within Janus
Fix on mid management (Firefox Nightly)
Fixes to some memory leaks in the Janus core
Added option to enable ICE Lite, only way to get ICE-TCP working if it's needed
Version 0.0.8 of JanusPlugins now need to initialize via JANUS_PLUGIN_INIT;Plugins with old compatibility are rejected by the core;New plugin callback to be notified about slow links (too many NACKs);Fixed file-based streaming (a-law, u-law) in Streaming plugin;...
Better management of NACKS as per issue #150Don't put ICE-TCP candidates in SDP if ICE-TCP is disabled
Added support for TURN gathering in Janus and selective enable/disable of ICE-TCP; info added to admin API as well
Added count of sent/received NACKs to the handle info in the admin API
Added reason to hangup event (and improved it)
First attempt at adding support for ICE-TCP (if libnice >= 0.1.8)Info on selected pair in admin API
Better management of disabled stream; re-added transaction to info reply
Better management of NACKs and additional statistics in the admin API
First draft for some data transfer statistics in the admin API
Configuration and API to enable/disable libnice debugging
Fix for the recent ICE issues with Firefox stable
Made max NACK value configurable (command line, configuration file, admin API)
Experimental IPv6 support and new Recorder/Playout pluginAdded experimental IPv6 support for media;Added a new plugin to record and then replay WebRTC sessions;Several fixes on memory leaks, especially in plugins;Some more fixes scattered across the project
Ad-hoc thread for outgoing media/dataImproved SSRC multiplexing (Plan B) in MCUPer-participant recording in MCU through APIConfigurable path for audiobridge recordingAttempt to fix failed replay SRTP error (NACK management)Other fixes here and there
New synchronous API for plugin messaging and preliminary NACK supportAdded the possibility of implementing synchronous messaging with plugins, as an alternative to the asynchronous mechanism (send message, wait for event);Implemented preliminary support for direct handling of NACK feedback;...
janus: Fix various signed/unsigned integer comparisons
This tidies up a few compiler warnings.
Simple admin/monitor demo page
Added first version of admin/monitor/overview API (issue #41, disabled by default)
First steps in adding support for SSRC multiplexing (Plan B) to the VideoMCU pluginFirst steps on adding support to SSRC multiplexing (Plan B) in Janus;Integrated this support in the Video MCU plugin (basic, to improve);Made ID in streams creation optional (streaming plugin);...
Improved hangup of PCs from plugins
Added a basic recording functionality plugins can useAdded a new helper to allow plugins to record RTP media frames in a structured way;Added a simple external utility to post-process those recordings to a webm or opus file;Integrated the recording functionality in the Video MCU plugin, and added a new configuration value to selectively enable/disable the feature
Added support for Data ChannelsAdded a first integration of Data Channels (strings only for now)Modified Echo Test and Video Call demos to include Data ChannelsUpdated documentation and FAQGeneral bug fixing here and there
Added BUNDLE support and fixed Trickle ICEAdded BUNDLE support;Fixed Trickle ICE and made the default in JS (can be disabled by passing trickle:false);Added util methods for manipulating flags bitmasks
Exclude list for interfaces, Trickle ICE, fix for Firefox and VideoMCU, etc.Added a way to exclude interfaces or IP addresses for ICE gathering in the gateway (e.g., to exclude VMware interfaces);Added preliminary support to Trickle ICE (disabled by default in janus.js until we know for sure it works fine, can be overridden by passing trickle=true when doing a createOffer or createAnswer);...
Added support for rtcp-muxBugfixing here and there
Version 0.0.2, several fixes and improvementsSeveral improvements on memory management (allocations, memory leaks, etc.);Added levels for logging and debugging;Cosmetic changes to the demos (e.g., bitrate in Video MCU feeds)
New demo (screen sharing) and bugfixesFixed some force closes when closing sessions;Added more documentation (e.g., how to deploy Janus);Added a description of each demo to the HTML pages;Added a new demo (screen sharing) that makes use of the existing Video MCU plugin;...
Several changes and improvements
Made the install.sh script smarter in checking dependencies;Added a STUN test request at startup, when enabled;Added an option to specify the public IP of the machine, and fixed the information put in the c-lines accordingly;...