* Thu Dec 17 2020 michaelAATTstroeder.com- removed obsolete libwebsockets-3.patch- require libwebsockets-devel >= 4.0.0- Update to version 0.10.8: * Updated Changelog (0.10.8) * fix: disable responses to NOTIFY requests in janus_sip plugin (response is already handled in sofia-sip) (#2441) * Add LIBSRTP_CFLAGS to compiler flags of plugins that require srtp headers (#2442) * [janus-pp-rec] Do not overwrite original RTP header data when attempting audio skew compensation. * [janus-pp-rec] Use 64-bit timestamps for audio skew compensation. * Let SIP users cancel pending transactions without waiting for a provisional response. (#2434) * janus_streaming: fix warnings if missing libogg (#2438) * Added new video to FAQ * Warn if sofia-sip logs are redirected from stdout. * Small tweaks to AudioBridge prebuffering * Add an additional check for participant->room ptr in audiobridge plugin handler (#2432). * Add datachannels test to aiortc snippet. * Differentiate between IPv4 and IPv6 NAT-1-1 addresses (#2423) * janus_sampleevh: add missing break (#2420) * Make sure the WWW-Authentication header exists when handling REGISTER challenges (fixes #2419) * SIP plugin: Save codec name on update request (#2417) * Added support for simulcast and TWCC to Duktape and Lua plugins (#2409) * Added control on lws version before adding custom header (see #2410) * Make NACK buffer cleanup on outgoing keyframe configurable (see #2401) (#2402) * New option to enforce CORS in HTTP and WS transport plugins (#2410) * Bumped to version 0.10.8 * Updated Changelog (0.10.7) * More aggressive PLI at startup when using simulcast in VideoRoom plugin * Configured janus-pp-rec to skip packets with unknown payload types when static payload types are expected (G.711, G.722) * Fixed missing initialization of AVPacket that could cause crashes when postprocessing G.722 recordings * Modified demos to remove hardcoded 320x240 video element slot * Fix RTP header buffer read (#2411) * Add missing unref to mDNS resolver gobject. (#2399) * Use PKG_CONFIG_PATH as configured for nice version (#2405) * Replace rand() with janus_random_uint32() (fixes #2404) * Fixed occasional memory leak at shutdown when frequently using timed callbacks in Lua/Duktape plugins * Updated insertable streams code in janus.js (and e2ee demo) * janus.d.ts: correct mediaState definition (#2396) * Minor typo fix (#2393) * Fixed broken rid-based simulcast for substreams<3 * Fixed typo in AudioBridge docs (see #2391) * janus.js: allow configuring simulcast send encoding parameters (#2392) * Fixed broken indentation * Refresh lws 4.x connection validity for any ws incoming message. * fix warning about being deployed on private IP (#2386) * Implement mutex on rabbitmq-event to control connection (#2380) * Do not handle session stack mutex if helper has not been created. (#2387) * Fix SDP negotiation when client uses max-bundles (fixes #2390) * Keep extra whitespace in legacy simulcast rid SDP line * Removed extra whitespace in simulcast recv SDP line * Add JSEP flag to invert processing order of rid in SDP (#2385) * Fixed compilation error when using libwebsockets < 3 * Allow AudioBridge to originate SDP offers (#2366) * Bumped to version 0.10.7 * Mon Oct 05 2020 ancorAATTsuse.com- Added support for MQTT- Update to version 0.10.6: * Updated Changelog (0.10.6) * New mechanism to tweak/query transport plugins via Admin API (#2354) * janus-pp-rec - Fix extension parsing (#2384) * Update usrsctp configuration flags in travis YAML. * Modified instructions to build usrsctp in the README (see #2383) * Removed instructions to build libsrtp 1.5.x from the README * More aggressive PLI at startup when using simulcast in Streaming plugin * Wait for graceful MQTT disconnect (#2374) * Fixed broken AudioBridge RTP forwarding when using G711 (fixes #2375) * Add support for helper threads to RTSP mountpoints (fixes #2359) (#2361) * Fix #2368 null protect invalid PeerConnection (#2369) * Read nanomsg admin config from admin section instead of general section (#2372) * Added project to resources (docs) * Fix datachannel message sending when mountpoints use helper threads. * Added query string parameter to specify room to join in AudioBridge, TextRoom, VideoRoom demos * Added new docker-related project to the docs (resources page) * Fixed ugly typo that could crash the VideoRoom (fixes #2352) * Notify codecs on stream published/forwarded events (#2362) * Fix js client Chrome unified plan check (#2363) * Send websocket message in multiple fragments when needed. (#2355) * Use uniform code construction to get callback function address * Fixed author name in resources docs * Added new project to the docs (resources page) * Prevent unnecessary \"Unsupported codec \'none\' error\" (#2357) * Fix transaction state vacuum in MQTT transport (#2358) * Hash transport instance pointer when using it in event handlers * Updated default size of video element in Streaming demo * Updated mjr format in documentation * Updated Changelog (0.10.5) * Bumped to version 0.10.6 * Bugfix: prevent borked generated audio file if meetecho header is present with no RTP data next (#2356) * Don\'t print SDP errors if rtx is being negotiated for audio * Fixed deprecated lws semantics in WS event handler too * Remove deprecated libwebsockets semantics in WS transport (see #2349) * Added presentation on Insertable Streams to docs * Add missing documentation for janus-pp-rec. * Various minor typo fixes (#2313) * Fixed typo (see #2341) * Easy support for one-to-many scenarios in videoroomtest (#2341) * Kick (#2332) * Clear publisher codecs in videoroom hangup media. * Send a PLI (if supported) to the Streaming mountpoint source when switching (fixes #2333) * Added missing token in handle-related event (fixes #2312) * Fixed documentation in plugin videoroom (close #2301). * Remove unneeded mutex unlock that was causing a crash in the videoroom plugin (fixes #2318). * Bugfix: make audio/video recording in videocall working again * Bumped to version 0.10.5 * Updated Changelog (0.10.4) * Added Janus workshop made at ClueCon 2020 to list of videos in the docs * Fixed definition of variable in for loop * Use unique IDs and internal hashtable to map SCTP associations with usrsctp (#2302) * Only use CURLOPT_HTTP09_ALLOWED if libcurl is >= 7.66.0 (fixes #2307) * Fix occasional curl hiccups with RTSP with some cameras * Fixed typo * Have VideoCall sessions reference each other, when in a call (see #2300) * Add more checks on peer when hanging up VideoCall session * Fix minor memory leak in participant inbuf of audiobridge plugin (#2298) * Allow specifying multiple IP addresses for 1-1 NAT. (#2279) * Fix candidates memory leaks (#2288) * Pass MQTT buffer settings to Paho (#2286) * Check websocket readystate on destroy (#2276) * Increase reference before sending data via SCTP (fixes #2271) * Add MQTT v5 properties support (#2273) * Fixed crash in VideoRoom plugin when failing to setup subscriber (fixes #2277) * Fix broken EchoTest demo for Firefox if datachannels are not supported (#2281) * RabbitMQ-Event - Add heartbeat option and create logic to reconnect to rabbitmq (#2267) * Added CommCon 2020 talk to the videos in the docs * Fix a deadlock in audiobridge changeroom action on \"User ID already taken\" error (#2280) * Improve building with BoringSSL (#2278) * Bumped to version 0.10.4 * Updated Changelog (0.10.3) * Added support for \'info\' request to janus.js * add bitrate_cap to documentation (#2266) * add default values to videoroom documentation (#2265) * Updated issue template * Updated issue template * Made documentation of RTP forwarding + simulcast in VideoRoom clearer * Set app_handle ptr to NULL when freeing a plugin session. * Early add a reference to a subscriber in videoroom handler. (#2253) * New demo to use canvas element with EchoTest plugin (#2261) * Added missing SRTP support to AudioBridge RTP forwarders (see #2258) * Fixed typo (SSRC outbound for RTP forwarders) * Fixed typo preventing SRTP support in static AudioBridge RTP forwarders (fixes #2258) * fix documentation for mute_room/unmute_room (#2257) * Fix opus silence potential to generate huge files (#2250) * Added timeout to connections in HTTP transport (120s) * Add more checks on validity of NUA before using it in SIP plugin (#2247) * Set last sending timestamp for the first packet sent (avoid #2217 overflow issue). * Fix occasional recording issues in Lua and Duktape plugins * Added NULL check before strstr in Lua and Duktape plugins * fix redundant condition (#2240) * Update Webpack exports-loader module config example (#2235) * plugins/janus_audiobridge.c: fix build without libogg (#2238) * Increase travis git depth to 10. * Move Travis badge url from .org to .com * Refactor videoroom hangup media internal. (#2236) * Bumped to version 0.10.3 * Updated Changelog (0.10.2) * There are many places where callbacks.error return `string` and many where return `Error`. And this is the only place, where callbacks.error return `string, Error`. That\'s why it needed to write redundancy conditions for right handling errors from createOffer(). But we can return only `Error` object like for getUserMedia() to avoid this (#2230) * RTCRtpSender unavailable on old browsers (#2206) * Check extensions after renegotiations (see #2223, fixes #2192) * Fixed typo (Duktape plugin always relaying binary data, even for text) * Update Duktape to v2.5.0 (#2233) * Removed unused variable * Fixed broken simulcast behaviour (#2231) * Change session \'started\' property in VideoRoom to atomic * Fix sscanf-related security issues (#2229) * Allow simulcast ports to be picked randomly in Streaming mountpoints (#2225) * Removed extra space in janus.js * stop all tracks when streamsDone fails (#2134) * Increase reference to session when handling SIP calls (see #2188) (#2216) * (fixed) Check destroyed flag when handling a subscriber participant. * Revert \"Check destroyed flag when handling a subscriber participant.\" * Check destroyed flag when handling a subscriber participant. * Take simulcast/svc into account for switch request (fixes #2219) * Bumped to version 0.10.2 * Updated Changelog (0.10.1) * Fixed typo * Send username when using TURN REST API (fixes #2199) (#2201) * H264 profile fix (#2212) * Fixed silly typo * Update janus.d.ts (#2215) * Allow empty metadata strings to be passed in Streaming edit (fixes #2208) * Added check on libavcodec version for AV1 postprocessing * Security fixes in SDP code (#2214) * Fix if not building from the top directory (example : yocto) (#2187) * Update vp9svctest.js (#2213) * add enabled field to stream list (#2210) * Update janus.d.ts (#2202) * add metadata field to list reposnse, as documented (#2205) * fix muted timeout race condition (#2203) * Set subscriber\'s session type before unlocking sessions mutex. * Fixed broken link to libnice project in docs (see #2198) * Update libnice link (#2198) * NoSIP plugin: Fixed SRTP-SDES for \"process\" request and session update (#2196) * Don\'t keep session in paused when switching mountpoints (#2197) * make libcurl follow RTSP 302 redirections (#2195) * Fix RTSP parsing (#2190) * docs fix (#2194) * Don\'t put session to stopping in watch (#2189) * Initial support for end-to-end encryption via Insertable Streams (#2074) * Bumped to version 0.10.1 * Allow negotiation of AV1 and H265 (#2120) * Updated Changelog (0.10.0) * Add some missing videoroom unref in case of errors. (#2186) * Small fixes after static analysis * Small fixes after static analysis * Removed unneeded check * Protect session callee accesses through session mutex in SIP plugin (#2184) * Fixed srtp on update request (#2173) * Add experimental feature videobufferkf support to RTSP mountpoints (#2180) * Added dereference check (fixes #2178) * for loop compilation fail (#2183) * janus_videoroom: fix bad copy paste of codec name (#2176) * Fix streaming plugin demo page when string_ids is true (#2175) * Small improvements in the documentation of videoroom (#2171) * Fixed many Doxygen warnings * Notify speaker about talk events in AudioBridge too (see #2172) * Moved comment on talking events * Update to notify speaking participant (#2172) * Updated resources page in the docs * Fixed experimental feature videobufferkf (#2170) * Small tweaks to GELF event handler (see #1788) * Compile the GELF handler unless it\'s disabled (no deps) * Gelf event handler (#1788) * Removed extra empty lines * SIP plugin: add audio/video stream with an update request(or reinvite) (#2164) * Update deps for web demos * Add a secret to all sample mountpoints, in the configuration file * Ensure an address family is assigned by the streaming plugin. (#2167) * Fixed checks on result of new thread * Added missing g_error_free calls when threads can\'t be created * Streamlined code of the demos * Some small tweaks to the README * Some small tweaks to the README * Added note on those creepy .exe builds that apparently are still around * Updated README * Fixed compilation error with libwebsockets 4 (see #2162) * Added support (untested) for libwebsockets 4.x\'s ping/pong mechanism (see #2162) * Updated README to suggest libwebsockets 3.2-stable, for now * Disable (for now) ping/pong mechanism if libwebsockets >= 4.x (see #2162) * Fixed typo in echotest.lua * Update README.md with new libnice instructions. * Travis meson libnice (#2163) * Added changes from #2161 to AudioBridge, Streaming and TextRoom plugins too * List private rooms if valid admin_key was provided. (#2161) * Fixed several code style issues (and incorrect log levels) introduced in #2158 * User talking (#2158) * Apply again the changes in 43ddcd2870012e382fecaaf123457000e4d74901. * Add missing unref in videoroom. * Added support for data channel subprotocol (#2157) * Updated README * Fix menus in html documentation when using Doxygen > 1.8.14 (#2155) * Send a PLI for new viewers, if the Streaming mountpoint has RTCP (fixes #2156) * Started adding links to issues/PRs to changelog (0.9.5 only, for now) * Add a reference to the subscriber while joining. * New plugin callback to know when datachannel is writable (#2060) * Add support for VP9 and H.264 profile negotiation (#2080) * Bumped to version 0.10.0 * Updated Changelog (0.9.5) * Added VideoRoom option to only allow admins to change the recording state (see #2137) * Enable / disable recording while conference is in progress (#2137) * Added logging of errno when getifaddrs fails * Added token to \'attached\' event (handlers) and to Admin API (handle_info) * Don\'t join mixer thread when destroying AudioBridge room * Added support for RTP extensions to NoSIP plugin (fixes #2152) * Fixed code style * Added option to keep candidates with private hosts when using nat-1-1, and advertize them too instead of just replacing them * Only process mute events if a timer fired to avoid video flashing. (#2147) * Added DSCP support for RTP to NoSIP plugin too (see #2150) * Add DSCP on RTP audio packets in SIP plugin (#2150) * Added support for multichannel Opus audio (surround) (#2059) * Fixed typo in new publication * Add a reference to citeus.html * Execute `janus_check_sessions` if at least one of (`session_timeout`, `reclaim_session_timeout`) is set (#2143) * small HTML fixes (#2136) * Reduced verbosity of some AudioBridge messages * Fixed typo in VideoRoom error response * Fixed typo in AudioBridge error response * Fixed typo * Added new tool to convert .pcap captures to .mjr recording (#2144) * Fix to rare deadlock in Streaming plugin (see #2115) (#2141) * Adding support for cipher suite selection in websockets transport (#2135) * Added request to globally mute/unmute an AudioBridge room * Fixed AudioBridge announcement not waking up sleeping forwarder * Remove extra unref when destroying NACK cleanup timeout source. * Added API to check if a specific file is playing in the AudioBridge * Fix post-processor RTP extensions parsing. * Bumped to version 0.9.5 * Updated Changelog (0.9.4) * Fixed duplicate subscriptions in Streaming plugin (fixes #2129) * Updated info in Streaming plugin to return count of viewers (if secret is provided) * Fix websocket transport disconnected occasionally #2081 (#2107) * Fixed incorrect DSCP value being set (see #2055) * + Start message processing after requesting candidate gathering (#2121) * Make sure the ICE agent still exists, when we try to gather candidates * Update transports docs by removing an old sentence about WebSockets not being stable * Align Admin API unsupported method error to Janus API * New session mutex in Streaming plugin (see #2106) (#2115) * Fixed a couple of typos and compilation warnings * Don\'t respond to HTTP requests when still parsing headers (fixes #2118) * Fixed .opus file last chunk playback (#2114) * Stop using legacy datachannel negotiation in Streaming and TextRoom (fixes 2112) * Use a mutex around janus_videoroom_hangup_subscriber and subscriber list. (#2102) * rabbitmq exchange type as config value (#2104) * Add missing decref in janus_http_timeout. Replace free with g_free in janus_http_return_success. * Notify AudioBridge playback start/stop via event handlers * Clarified in docs that HMAC-Signed tokens are only supported by VideoRoom * Bugfix/cpu usage based on v0.8.2 (#2101) * Add some missing static declarations to HTTP and WS transports. * Don\'t wait forever for candidates when half-trickling * Updated AudioBridge documentation with new playback feature * Added new docker image to the resources in the docs * More checks when hanging up VideoRoom subscriber (see #2087) (#2093) * Fixed returned address when adding multicast Streaming mountpoints * Bumped to version 0.9.4 * Updated Changelog (0.9.3) * Add support for playback of audio files in AudioBridge (#2088) * Swap RR/SR Report Blocks if the first block contains rtx data. (#2089) * Return mountpoint IP addresses, if a bind interface/IP was provided * Added project to resources in the docs * Fix libasan use after free in janus_videoroom_handler when events are enabled (#2091) * Fix copy-paste error in Streaming plugin docs * Fixed a few typos in AudioBridge errors * Fixed AudioBridge create API not working properly when using string IDs * Define the libnice version string as extern in version.h (fixes gcc10 error) * Use custom GSource to handle HTTP request timeouts (see #2062 and #2066) (#2075) * Add missing info to videoroom \"list\" response (#2068) * Made libnice warning clearer, and upped suggested version (fixes #2069) * Don\'t show warnings for rtx RTCP packets * Reverted isTrickleEnabled check in janus.js (fixes #2064) * Added option to configure time needed to detect a missing simulcast substream (#2063) * Reference subscriber when handling related messages (see #2045) (#2061) * refactoring-clean up (const-var, semicolons, ===, etc.) (#2044) * Support for additional constraints on screenshare media (#2043) * Fixed syntax error in sample Streaming plugin configuration file * Fixed outdated info in VideoRoom docs * Fixed typo * Added option to disable building AES-GCM support (see #2024 and #2054) * Use refcount for Streaming plugin helper threads (#2039) * Fixed Streaming destroy not working when using strings * Always add remote candidates from the libnice loop (see #2045) (#2048) * Add configurable DSCP ToS for PeerConnections (#2055) * Added notes on building libsrtp (see #2024) * Fixed printout of metadata in Streaming demo * Added support for generic metadata to Streaming mountpoints * Added support for static Opus files to Streaming plugin (#2040) * Detect libsrtp(2) using pkg-config (fixes #2019) (#2033) * Don\'t set ICE credentials when parsing remote credentials (#2046) * plugins: drop tautology (#2041) * Fixed av_register_all deprecation check in post-processor * Fixed VideoRoom destroy not working when using strings * Fixed janus-pp-rec build warnings when using ffmpeg >= 4.x * janus_http: return earlier if request is NULL (#2031) * Bumped to version 0.9.3 (again) * Updated changelog for 0.9.2 * Bumping back to 0.9.2 to re-tag * Fixed missing refcount init for Admin API (fixes #2029) * test_aiortc: cleanup (#2027) * Add Python aiortc-based functional testing. (#1971) * Bumped to version 0.9.3 * Updated Changelog (0.9.2) * Updates to mutex unlocking in textroom and videoroom plugins (#2026) * Reference count janus_request instances (#2020) * Resolve mDNS candidates asynchronously with GResolver (see #1998) (#2004) * Reverted change on janus.js (see #2018) * Fixed typo in janus.js error code (fixes #2018 * Track pending nack cleanup tasks and cancel them when freeing a stream. (#2014) * Prepare RTCP Sender Reports by considering the last RTP timestamp sent. (#2007) * Update media direction in SIP plugin if remote address is 0.0.0.0 (\'hold\' fix) (#2013) * http_transport: add NULL checks (#2012) * Use user_id_str for kicked, leaving, and unpublished events, if enabled. (#2010) * Add repos for openSUSE and SUSE (#2009) * Added called URI to \'incomingcall\' and \'missed_call\' events in SIP plugin * Fixed small leak in SIP plugin when holding calls * Added link to FOSDEM 2020 talk on RTP forwarders to the docs * Support for RTSP \'Content-Base\' header in Streaming plugin (#1999) * Fixed deadlock when using claim on HTTP transport (fixes #2000) * Added option to ignore mDNS candidates (#1998) * Fixed typo when renegotiating audio in janus.js (fixes #2002) * Added option to enforce validation on DTLS certificates (#1992) * Fix occasional deadlock in VideoRoom (2) (credits to AATTmivuDing, fixes #1982) (#1984) * Fix rare race condition when claiming sessions (#1990) * Small tweaks to #1997 (renamed, moved and documented RSA property in janus.jcfg) * Implement ECDSA Certificate generation (#1997) * update dtls ciphers (#1995) * Several fixes to session management in VideoCall plugin (#1994) * Fixes to leaks and race conditions in VoiceMail plugin (#1993) * Make sure the session still has a reference when cleaning up HTTP requests * Fixed double unlock when listing private rooms in AudioBridge (#1988) * Fixed typo in querylogger_parameters (copy/paste error) (#1989) * ice: ensure that stream is non-NULL (#1987) * Small fixes for TypeScript declaration file (#1986) * Added -f to rm in html Makefile.am (fixes #1985) * Converted HTTP transport plugin to single thread (#1173) * Added maximum value for AudioBridge prebuffering property * Add G.711 support to the AudioBridge plugin (#1979) * Make prebuffering in AudioBridge configurable (#1975) * Bumped to version 0.9.2 * Updated Changelog (0.9.1) * Fixed typo in SIP demo code * Fixed abort at server shutdown after using SIP transfers * Several enhancements to SIP demo * Added more checks on nice_address_set_from_string (fixes #1973) (#1981) * Reply to incoming REFER with 202 right away, not 100, in SIP plugin * Fixed occasional missing referred-by info in SIP demo * Add UI to SIP demo to remove helpers, when created * Fixed broken DTMF in SIP demo * Removed wrong comment * Always use base SSRC when recording VideoRoom simulcast participant * Reduced log level to info when logger and event handlers are not found (#1980) * Fixed leak when creating Streaming mountpoint dynamically * Hide libcurl from pkg-config when testing travis-ci with LIBCURL = NO. * Valgrind fixes for sockaddr structs (#1976) * Remove /root from the list of protected folders. Make comment text more clear. * Fixed broken method signature in Streaming plugin when not using libcurl * Added checks on nice_address_set_from_string (fixes #1973) * fix #1967 (#1968) * Support for strings as unique mountpoint IDs in Streaming plugin (#1969) * Fixed typos in TextRoom * Added errno info when socket operations fail in Streaming plugin * Make sure a publisher exists when asking for a VideoRoom subscriber renegotiation (fixes #1970) * Fixed a couple of JSON attributes in VideoRoom when strings are used (see #1880) * Remove duplicated codecs when answering SIP call (#1966) * Fixed errors creating VideoRoom when strings are used (see #1880) * If glib is too old, generate uuid manually when needed (see #1880) * Support for strings as unique IDs in AudioBridge, VideoRoom, TextRoom (#1880) * Detect H264 key frames with smaller SPS units (#1965) * Small tweaks to demo intro text * Added license badge to the README * Removed unused variables * Added link to new event handlers documentation to the doc main page * Subtype for some event, and better docs for event handlers (fixes #1953) (#1957) * rtp: drop dead code in rtp_header_update callers (#1964) * Remove Sofia reference from the title of the SIP demo * janus_sip: add missing check for NULL (#1963) * add missing callbacks.error check (#1959) * Configurable global prefix for log lines (#1940) * Bumped to version 0.9.1 * Updated Changelog (0.9.0) * conf: transports: document events option (#1952) * We should allow to have ICE-TCP enabled without ICE Lite. Recent versions of libnice allow this combination and gather tcp passive candidates etc. in this setup. (#1946) * Avoid RTP header memory misalignment in rtx packets (#1943) * Renamed corpora file * Optimized parsing of TWCC RTCP message (Credit to OSS-Fuzz) * Update debugging section in Janus documentation. * Fixed occasional error messages on console when trying to add RTP extensions * Travis libnice clang flags (#1941) * Update janus_audiobridge.c (#1938) * Fixed regression on video bitrates when using monodirectional PeerConnections * Add OSS-Fuzz badge. * Fixed occasional segfault when parsing TWCC RTCP message (Credit to OSS-Fuzz) * Add travis_retry to git clone commands. * Fixed leak when parsing broken TWCC RTCP message (Credit to OSS-Fuzz) * Fix volume-related functions in janus.js (#1935) * Fixed RTCP parsing issue found by OSS-fuzz * Fixed typo when adding audio attribute to SDP * Fixed broken RTP fuzzer * Dynamically update NACK queue size depending on RTT (#1867) * Support for transport-wide CC on outgoing streams (#1889) * Refactoring of core-plugin callbacks and RTP extensions termination (#1884) * Bumped to version 0.9.0 * Updated Changelog (0.8.2) * Janus Travis CI integration (#1932) * Added Coverity badge * Small tweaks after static analysis * Fixed helpers not being able to send SUBSCRIBE requests in SIP plugin * Removed deprecated text from screensharing demo * Removed deprecated warning in screensharing demo * Fixed broken links in docs (plugins list) * typo (#1934) * Fix g_async_queue usage (#1929) * Remove odd respond to automatically responded OPTIONS request (#1930) * Updated man file for janus-pp-rec * Add audio skew compensation to janus-pp-rec. (#1870) * Add math library when fuzzing locally. * Add missing mutex unlocks in videoroom message handler. * Fixed undefined reference when building fuzzers * Better parsing of RTSP messages (see #1922) (#1925) * Fixed undefined reference when building postprocessor utilities * Add new configuration property to add protected folders not to save to (#1919) * Added missing check on SDP attribute value existence * Added check on AudioBridge instance in setup_media (fixes #1923) * Fixed reference to deprecated configuration file * More verbose output on postprocessing output error * Fix a possible race condition when joining as a subscriber and destroying the session. (#1911) * Bumped to version 0.8.2 * Updated Changelog * Increase buffer when post-processing VP8/VP9 recordings too (see previous commit) * Fixed occasional buffer overflow error when post-processing H.264 recordings * Use sendBeacon instead of sync XHR in onbeforeunload (fixes #1902) (#1918) * Updated year in demos and docs * Don\'t keep TextRoom plugin loaded if data channels were not compiled * Fixed warnings when building DTLS bio code * Added reference to Snap repo in resources (docs) * Fixed late initialization of janus.js constructor callbacks (fixes #1912) * Move loggers cleanup to end of logger thread (fixes #1904) * fixed typo (#1916) * Only close the event handlers directory if it was opened (see #1903) * startup: only close the logger directory if it was opened (#1903) * Fix out of bounds array access for last_spatial_layer (#1906) * Fixed occasional memory leak in Streaming plugin (fixes #1900) * Fixed leak in SIP plugin (fixes #1897) * Fixed warnings introduced in #1896 * he \'referred_by\' field currently holds the SIP URI value copied from the (#1896) * Add in mountpoint/forwarder create response the allocated RTCP ports. * Check if rtcp port is > 0 before creating a RTCP socket, in Videoroom plugin. * Revert \"Check if rtcp port is > 0 before creating a RTCP socket.\" * Check if rtcp port is > 0 before creating a RTCP socket. * Allow RTCP ports to be picked randomly using 0, in Streaming plugin * Fixed typo in SIP plugin * Binary data support in data channels (#1878) * Remove SIPre plugin from the repo (#1894) * Bumped to version 0.8.1 * Updated changelog (v0.8.0) * Added fwrite checks in record.c (warnings only) * Fixed variable shadowing * Make sure the installed libcurl knows about CURL_AT_LEAST_VERSION * Fixed obsolete value for TWCC period default in docs/hints * Fixed small typos in demos * Make sure libcurl is available before using CURL_AT_LEAST_VERSION (fixes #1887) * [Suggestion] Started the refactoring of the janus.js (#1830) * Added changelog (and info on tagged versions) to documentation * Fix RTSP SETUP when url includes query string parameters (fixes #1869) (#1875) * Add CHANGELOG.md file into the project (#1885) * Added link to new video on Simulcast and SVC to docs * Fixed wrong default folder for loggers * Fixed exception to GPL code (see #713) * Avoid gzip functions when fuzzing in OSS and add zlib dependency when fuzzing locally. * Updated documentation to include some info on the new logger modules * Remove option to enable rtx (now always supported, when negotiated) (#1877) * Fixed linking error for post-rocessing tools after recent changes * New category of plugins for modular logging (#1814) * Gzip compression utility in the core (and sample event handler) (#1846) * Bumped to version 0.8.0 * SIP plugin: custom (non-standard) headers on incoming events (requests) (#1873) * Reduced default twcc_period value from 1s to 200ms * Reduced verbosity of some lines in the SIP plugin * New functionality to add custom Contact URI params to SIP REGISTER (#1874) * Fixes to RTSP latching procedure (fixes #1536, replaces #1851) (#1866) * Bumped version in postprocessing tool as well * Don\'t send RTCP SR if outgoing media has been disabled via SDP update * Keep track of clock rates associated to payload types, for RTCP * Feature/ignore unreachable ice server (#1854) * Fixed wrong clock rate being used for RTP header updates when using G.722 * Don\'t scan libnice version if it wasn\'t retrieved (fixes #1858) * add missing closing curly bracket (#1859) * Fixed rare race condition in HTTP plugin that could cause leak (fixes #1665) * Fix RTP fuzzing target according to recent VP9 changes. * Fixed regression when setting up DataChannels * Fixed broken code in AudioBridge * Use strtol more, and add checks when atoi is used (#1852) * Fixed SIP hangup not sending CANCEL, when inviting (fixes #1856) * VP9 SVC fixes (#1849) * fix nullptr dereference in streaming plugin (#1855) * Fixed typo * Add exception var to catch stmt to fix rollup (#1848) * Updated link to project in resources (docs) * Split lines on line feed only, and trim carriage feed instead * Skip multiple b= line break conditional for b=TIAS (#1832) * ice: ignore/enforce only when IP starts with the partial-string from the list (#1840) * IPv6 support in Streaming plugin (#1807) * Add support for domain names (and IPv6) to RTP forwarders (#1778) * Support for SIP transfers (#1815) * Support for simultaneous calls in SIP plugin (#1772) * Bumped to version 0.7.6 * Fixed check * Update getStats() to use a promise instead of callback (#1823) * Improved attach/reattach MediaStream helpers avoiding browser versions (#1828) * Updated libnice recommended version into the README and mainpage.dox files (#1835) * Detect new streams also when mountpoint is disabled * Revert previous commit (causes crashes, to investigate) * Split lines on line feed, and trim carriage feed (see #1818) * Avoid locking mountpoints when reconnecting to RTSP servers. Use 5 seconds connection timeout in curl requests. * Fixed simulcast issue when automaticlly dropping to lower layers * Reduced verbosity of some RTCP related messages * Added Admin API command to inject strings in Janus logs from outside * Fixed broken check (again) on libwebsockets version (see #1812) * Fixed a few typos in the documentation * Fixed outdated text in documentation * Clear publisher\'s room pointer when leaving and add a reference while executing janus_videoroom_leave_or_unpublish. (#1795) * Make sure flags are cleared when getting a close_pc() even when a PeerConnection wasn\'t created (fixes #1800) * Fixed broken check on libwebsockets version (see #1812) * Fixed compilation error of WebSocket event handler with older version of libwebsockets (fixes #1812) * Added reference to JanusCon to the FAQ for learning material * --cwd-path (Current Working Directory) CLI option added (#1804) * Added new Nanomsg event handler (#1802) * Added new WebSockets event handler (#1799) * Hangup Custom Headers (#1809) * Wait for keyframe when dropping to lower simulcast layer because of inactivity (fixes #1806) * Reduced verbosity of successful mDNS resolves * Fix a missing pop on Duktape stack when invoking resumeScheduler. * Added warning if libnice version is outdated (at least 0.1.15 recommended) * Hook Lua print function(s) to Janus logger (#1782) * Write moov atom at the head of the MP4 file (#1791) * Support for SIP SUBSCRIBE/NOTIFY in SIP plugin (#1768) * sdp-utils: check that janus_sdp_get_codec_rtpmap succeeded (#1785) * Add some missing atomic checks in videoroom plugin. * Mute participants (#1787) * Fixed participant ID being reset in AudioBridge web demo * Allow for capturing desktop audio when sharing screen (#1771) * Duktape getVersion method added (#1786) * SIP plugin: add local interface for SDP binds (#1784) * Better async managament of new mountpoints with temp map of IDs (#1732) * Fixed potential endless loop in Streaming plugin when binding ports (fixes #1762, replaces #1763) * Add command line option to janus-pp-rec to specificy the output format (#1777) * Don\'t remove room for subscriber if not closing PeerConnection (fixes #1761) * JavaScript logging improved (#1781) * moved destroySession connection condition (#1783) * Ignore temporary SSL errors in RabbitMQ transport (see #1769) * Fixed typo in SIP demo (DTMF digits message) * Typo fix in JANUSSDP.removePayloadType (#1779) * Updated version in bower package.json too * Fixed broken negotiation in SIP plugin for mandatory SDES-SRTP (fixes #1770) * Added option to specify local port when testing STUN server via Admin API * Fixed broken responses to incoming SIP INFO and MESSAGE requests * Add audio level dBov average to talk events in VideoRoom plugin (#1751) * Fixed outdated reference to old configuration files in demos * Fixed broken indentation * Bumped to version 0.7.5 * Small tweak to verbose output (see #1740) * Fixed handling of offerless reINVITE. (#1740) * Hopefully final fix for RTCRtpTransceiver check (see #1759) * Improved RTCRtpTransceiver check (see #1759) * Fixed RTCRtpTransceiver check for Edge (fixes #1759) * Fixed wrong private ID mapping for publishers in VideoRoom (fixes #1760) * A couple of fixes after static analysis * Fixed warning in SIP plugin (see #1756) * Added new announcement request to TextRoom (#1758) * Use the correct range for small delta twcc feedbacks (0-255). Handle potential overflows using MAX/MIN short values. (#1757) * SIP plugin: Hangup reason_text (#1756) * Improve the parsing of \"timeout\" attribute in RTSP SETUP answer. * Adding properties to config must replace old ones (#1753) * Fix automatic reconnection in MQTT transport (#1737) * Fix again twcc feedback, sticking reference_time to uint64 (see #1733). * Tear down PeerConnection if janus_ice_setup_local fails (see #1735) * Fixed segfault when closing handles failed due to port exhaustion (see #1735) * Added new video to documentation * Fixed wrong math for updated BWE reference time (see #1733) * add some missing types (#1748) * Fixed incorrect conversion of reference time in BWE (thanks AATTibc! fixes #1733) * Add a stop_recording parameter to mp \"disable\" request, to let Janus keep recording a disabled mountpoint. (#1749) * Update janus.c (#1731) * Reset media attributes (#1730) * Minor streaming fixes (#1734) * Use a mutex around janus_streaming_rtsp_connect_to_server to avoid collisions on used ports. * Check room pointer before notifying a join. * valgrind: suppress internal openssl warnings (#1739) * janus: avoid NULL dereferences of ice_handle->stream (#1742) * Fix macro names to not use reserved identifiers (fixes #1725) (#1729) * Fixed typo in RTSP configuration * Add a reference to any streaming helper pkt queue. (#1686) * Added arrival time of packets to .mjr files (backwards compatible) (#1719) * Split audio video media addresses (#1727) * feat(textroom): listparticipants (#1723) * Fixed directives indentation to match code style (see #1709) * Add MQTT v5 support (#1709) * Send copies of events to handlers when more than one is active * Fixed memory leak in MQTT event handler * Removed unneeded verbose output when initialising event handlers at startup * Fixed a bug where re-INVITE isn\'t offered to the called party for handling if autoaccept-reinvites=FALSE (#1721) * Fixed small leak in SIP plugin * Fixed typo * Handle plugin message requests asynchronously also when coming from Admin API * Tool to convert .mjr files to .pcap (#1718) * Fixed wrong timing info in postprocessing summary for audio * Fixed broken .wav files when postprocessing G711/G722 recordings (fixes #1716, replaces #1717) * Fix typo in textroom_handle_admin_message to stop segfault (#1707) * add configurable maxBitrate values for simulcast encodings (#1706) * Fixed broken SDP when rejecting audio/video m-line * [Fix]: janus.js client bug, \'for in loop on array\' is a risk since it\'s take in account any object defined on array as key, for example, if you has prototyped a array herite it, as Array.prototype.mean = function (){... it will fail =( (#1693) * Removed unneeded extra check * Allow audio and video to negotiate SRTP separately (SIP plugin) (#1682) * Bumped to version 0.7.4 * Fixed a few typos after static analysis * Fixed a few typos after static analysis * Fix Janus not sending DATA_CHANNEL_ACK when requested stream id = 0. (#1695) * Fix a crash in webm post processing. * Fixed broken usage of GSource for RTCP support in RTP forwarders (#1694) * Reverted end-of-candidates change done in #1670 * Added CommCon presentation (multistream support) to list of videos in FAQ * Fixed leak in SCTP code (fixes #1687) * Fixed broken H.264 simulcast in Streaming plugin * Don\'t print errors on empty candidate strings * Fix release sctp resources if the creation of the association fails (#1673) * Bump number of SCTP streams to 300, to make Firefox 69 happy (see #1679) * Fixed several datachannel issues (fixes #1679) * Fixed typo * ice: avoid dereferencing component if NULL (#1678) * Update bower.json and package.json (#1677) * Made AudioBridge create API more consistent with the static config (fixes #1676) * Advertize SSRC even when not sending media (fixes #1558) * Better check on transceivers support in janus.js * Don\'t set port to 0 when m-line becomes inactive * Updated web demos to use the new slowLink info (see #1664) * Wed Apr 22 2020 ancorAATTsuse.com- Update to version 0.9.3: * Change libsrtp detection in the configure script to use pkg-config * Fixed compilation error with gcc10 * Fixed RTCP issue that could occasionally lead to broken retransmissions when using rtx * Added option to specify DSCP Type of Service (ToS) for media streams * Fixed a couple of race conditions during renegotiations * Fixed VideoRoom and Streaming \"destroy\" not working properly when using string IDs * Fix occasional segfault in VideoRoom (thanks AATTcb22!) * Fixed AudioBridge \"create\" not working properly when using string IDs * Added support for playing Opus files in AudioBridge rooms * Added support to Opus files for file-based mountpoints in Streaming plugin * Added support for generic metadata to Streaming mountpoints * Streaming plugin now returns mountpoint IP address(es) in \"create\" and \"info\", when binding to specific IP/interface * Fixed occasional segfault when using helper threads in Streaming plugin * Fixed occasional race conditions in HTTP transport * Added support for specifying screensharing framerate in janus.js (thanks AATTagclark81!) * Cleaned up code in janus.js (thanks AATTalienpavlov!) * Other smaller fixes and improvements (thanks to all who contributed pull requests and reported issues!) * Converted HTTP transport plugin to single thread (now requires libmicrohttpd >= 0.9.59) * Fixed .deb file packaging (thanks AATTFThrum!) * Added foundation for aiortc-based functional testing (python) * Fixed occasional audio/video desync * Added asynchronous resolution of mDNS candidates, and an option to automatically ignore them entirely * Updated default DTLS ciphers (thanks AATTfippo!) * Added option to generate ECDSA certificates at startup, instead of RSA (thanks AATTSean-Der!) * Fixed rare race condition when claiming sessions * Fixed rare crash in ice.c (thanks AATTtmatth!) * Fixed dangerous typo in querylogger_parameters (copy/paste error) * Fixed occasional deadlocks in VideoRoom (thanks AATTmivuDing and AATTagclark81!) * Added support for RTSP Content-Base header to Streaming plugin * Fixed double unlock when listing private rooms in AudioBridge * Made AudioBridge prebuffering property configurable, both per-room and per-participant * Added G.711 support to AudioBridge (both participants and RTP forwarders) * Added called URI to \'incomingcall\' and \'missed_call\' events in SIP plugin (in case the registered user is associated with multiple public URIs) * Fixed race conditions and leaks in VideoCall and VoiceMail plugins * Other smaller fixes and improvements (thanks to all who contributed pull requests and reported issues!) * Added configurable global prefix for log lines * Implemented better management of remote candidates with invalid addresses * Added subtype property to differentiate some macro-types in event handlers * Improved detection of H.264 keyframes (thanks AATTcameronlucas3!) * Added configurable support for strings as unique IDs in AudioBridge, VideoRoom, TextRoom and Streaming plugins * Fixed small memory leak when creating Streaming mountpoints dynamically * Fixed segfault when trying to start a SIP call with a non-existing refer_id (thanks AATTtmatth!) * Fixed errors negotiating video in SIP plugin when multiple video profiles are provided * Updated SIP plugin transfer code to answer with a 202 right away, instead of sending a 100 first (which won\'t work with proxies) * Added several features and fixes several nits in SIP demo UI * Fixed janus.js error callback not being invoked when an HTTP error happens trying to attach to a plugin (thanks AATThxl-dy!) * Other smaller fixes and improvements (thanks to all who contributed pull requests and reported issues!) * Refactored core-plugin callbacks * Added RTP extensions termination * Removed requirement to enable ICE Lite to use ICE-TCP, even though it may cause issues (thanks AATTsjkummer!) * Added support for transport-wide CC on outgoing streams (feedback still unused, though) * Dynamically update NACK queue size depending on RTT * Fixed risk of RTP header memory misalignment when dealing with rtx packets * Users muted in AudioBridge by an admin are now notified as well (thanks AATTklanjabrik!) * Other smaller fixes and improvements (thanks to all who contributed pull requests and reported issues!) * Thu Feb 13 2020 ancorAATTsuse.com- Update to version 0.8.2: * Updated Changelog (0.8.2) * Janus Travis CI integration (#1932) * Added Coverity badge * Small tweaks after static analysis * Fixed helpers not being able to send SUBSCRIBE requests in SIP plugin * Removed deprecated text from screensharing demo * Removed deprecated warning in screensharing demo * Fixed broken links in docs (plugins list) * typo (#1934) * Fix g_async_queue usage (#1929) * Remove odd respond to automatically responded OPTIONS request (#1930) * Updated man file for janus-pp-rec * Add audio skew compensation to janus-pp-rec. (#1870) * Add math library when fuzzing locally. * Add missing mutex unlocks in videoroom message handler. * Fixed undefined reference when building fuzzers * Better parsing of RTSP messages (see #1922) (#1925) * Fixed undefined reference when building postprocessor utilities * Add new configuration property to add protected folders not to save to (#1919) * Added missing check on SDP attribute value existence * Added check on AudioBridge instance in setup_media (fixes #1923) * Fixed reference to deprecated configuration file * More verbose output on postprocessing output error * Fix a possible race condition when joining as a subscriber and destroying the session. (#1911) * Bumped to version 0.8.2 * Updated Changelog * Increase buffer when post-processing VP8/VP9 recordings too (see previous commit) * Fixed occasional buffer overflow error when post-processing H.264 recordings * Use sendBeacon instead of sync XHR in onbeforeunload (fixes #1902) (#1918) * Updated year in demos and docs * Don\'t keep TextRoom plugin loaded if data channels were not compiled * Fixed warnings when building DTLS bio code * Added reference to Snap repo in resources (docs) * Fixed late initialization of janus.js constructor callbacks (fixes #1912) * Move loggers cleanup to end of logger thread (fixes #1904) * fixed typo (#1916) * Only close the event handlers directory if it was opened (see #1903) * startup: only close the logger directory if it was opened (#1903) * Fix out of bounds array access for last_spatial_layer (#1906) * Fixed occasional memory leak in Streaming plugin (fixes #1900) * Fixed leak in SIP plugin (fixes #1897) * Fixed warnings introduced in #1896 * he \'referred_by\' field currently holds the SIP URI value copied from the (#1896) * Add in mountpoint/forwarder create response the allocated RTCP ports. * Check if rtcp port is > 0 before creating a RTCP socket, in Videoroom plugin. * Revert \"Check if rtcp port is > 0 before creating a RTCP socket.\" * Check if rtcp port is > 0 before creating a RTCP socket. * Allow RTCP ports to be picked randomly using 0, in Streaming plugin * Fixed typo in SIP plugin * Binary data support in data channels (#1878) * Remove SIPre plugin from the repo (#1894) * Bumped to version 0.8.1 * Updated changelog (v0.8.0) * Added fwrite checks in record.c (warnings only) * Fixed variable shadowing * Make sure the installed libcurl knows about CURL_AT_LEAST_VERSION * Fixed obsolete value for TWCC period default in docs/hints * Fixed small typos in demos * Make sure libcurl is available before using CURL_AT_LEAST_VERSION (fixes #1887) * [Suggestion] Started the refactoring of the janus.js (#1830) * Added changelog (and info on tagged versions) to documentation * Fix RTSP SETUP when url includes query string parameters (fixes #1869) (#1875) * Add CHANGELOG.md file into the project (#1885) * Added link to new video on Simulcast and SVC to docs * Fixed wrong default folder for loggers * Fixed exception to GPL code (see #713) * Avoid gzip functions when fuzzing in OSS and add zlib dependency when fuzzing locally. * Updated documentation to include some info on the new logger modules * Remove option to enable rtx (now always supported, when negotiated) (#1877) * Fixed linking error for post-rocessing tools after recent changes * New category of plugins for modular logging (#1814) * Gzip compression utility in the core (and sample event handler) (#1846) * Bumped to version 0.8.0 * SIP plugin: custom (non-standard) headers on incoming events (requests) (#1873) * Reduced default twcc_period value from 1s to 200ms * Reduced verbosity of some lines in the SIP plugin * New functionality to add custom Contact URI params to SIP REGISTER (#1874) * Fixes to RTSP latching procedure (fixes #1536, replaces #1851) (#1866) * Bumped version in postprocessing tool as well * Don\'t send RTCP SR if outgoing media has been disabled via SDP update * Keep track of clock rates associated to payload types, for RTCP * Feature/ignore unreachable ice server (#1854) * Fixed wrong clock rate being used for RTP header updates when using G.722 * Don\'t scan libnice version if it wasn\'t retrieved (fixes #1858) * add missing closing curly bracket (#1859) * Fixed rare race condition in HTTP plugin that could cause leak (fixes #1665) * Fix RTP fuzzing target according to recent VP9 changes. * Fixed regression when setting up DataChannels * Fixed broken code in AudioBridge * Use strtol more, and add checks when atoi is used (#1852) * Fixed SIP hangup not sending CANCEL, when inviting (fixes #1856) * VP9 SVC fixes (#1849) * fix nullptr dereference in streaming plugin (#1855) * Fixed typo * Add exception var to catch stmt to fix rollup (#1848) * Updated link to project in resources (docs) * Split lines on line feed only, and trim carriage feed instead * Skip multiple b= line break conditional for b=TIAS (#1832) * ice: ignore/enforce only when IP starts with the partial-string from the list (#1840) * IPv6 support in Streaming plugin (#1807) * Add support for domain names (and IPv6) to RTP forwarders (#1778) * Support for SIP transfers (#1815) * Support for simultaneous calls in SIP plugin (#1772) * Bumped to version 0.7.6 * Fixed check * Update getStats() to use a promise instead of callback (#1823) * Improved attach/reattach MediaStream helpers avoiding browser versions (#1828) * Updated libnice recommended version into the README and mainpage.dox files (#1835) * Detect new streams also when mountpoint is disabled * Revert previous commit (causes crashes, to investigate) * Split lines on line feed, and trim carriage feed (see #1818) * Avoid locking mountpoints when reconnecting to RTSP servers. Use 5 seconds connection timeout in curl requests. * Fixed simulcast issue when automaticlly dropping to lower layers * Reduced verbosity of some RTCP related messages * Added Admin API command to inject strings in Janus logs from outside * Fixed broken check (again) on libwebsockets version (see #1812) * Fixed a few typos in the documentation * Fixed outdated text in documentation * Clear publisher\'s room pointer when leaving and add a reference while executing janus_videoroom_leave_or_unpublish. (#1795) * Make sure flags are cleared when getting a close_pc() even when a PeerConnection wasn\'t created (fixes #1800) * Fixed broken check on libwebsockets version (see #1812) * Fixed compilation error of WebSocket event handler with older version of libwebsockets (fixes #1812) * Added reference to JanusCon to the FAQ for learning material * --cwd-path (Current Working Directory) CLI option added (#1804) * Added new Nanomsg event handler (#1802) * Added new WebSockets event handler (#1799) * Hangup Custom Headers (#1809) * Wait for keyframe when dropping to lower simulcast layer because of inactivity (fixes #1806) * Reduced verbosity of successful mDNS resolves * Fix a missing pop on Duktape stack when invoking resumeScheduler. * Added warning if libnice version is outdated (at least 0.1.15 recommended) * Hook Lua print function(s) to Janus logger (#1782) * Write moov atom at the head of the MP4 file (#1791) * Support for SIP SUBSCRIBE/NOTIFY in SIP plugin (#1768) * sdp-utils: check that janus_sdp_get_codec_rtpmap succeeded (#1785) * Add some missing atomic checks in videoroom plugin. * Mute participants (#1787) * Fixed participant ID being reset in AudioBridge web demo * Allow for capturing desktop audio when sharing screen (#1771) * Duktape getVersion method added (#1786) * SIP plugin: add local interface for SDP binds (#1784) * Better async managament of new mountpoints with temp map of IDs (#1732) * Fixed potential endless loop in Streaming plugin when binding ports (fixes #1762, replaces #1763) * Add command line option to janus-pp-rec to specificy the output format (#1777) * Don\'t remove room for subscriber if not closing PeerConnection (fixes #1761) * JavaScript logging improved (#1781) * moved destroySession connection condition (#1783) * Ignore temporary SSL errors in RabbitMQ transport (see #1769) * Fixed typo in SIP demo (DTMF digits message) * Typo fix in JANUSSDP.removePayloadType (#1779) * Updated version in bower package.json too * Fixed broken negotiation in SIP plugin for mandatory SDES-SRTP (fixes #1770) * Added option to specify local port when testing STUN server via Admin API * Fixed broken responses to incoming SIP INFO and MESSAGE requests * Add audio level dBov average to talk events in VideoRoom plugin (#1751) * Fixed outdated reference to old configuration files in demos * Fixed broken indentation * Bumped to version 0.7.5 * Small tweak to verbose output (see #1740) * Fixed handling of offerless reINVITE. (#1740) * Hopefully final fix for RTCRtpTransceiver check (see #1759) * Improved RTCRtpTransceiver check (see #1759) * Fixed RTCRtpTransceiver check for Edge (fixes #1759) * Fixed wrong private ID mapping for publishers in VideoRoom (fixes #1760) * A couple of fixes after static analysis * Fixed warning in SIP plugin (see #1756) * Added new announcement request to TextRoom (#1758) * Use the correct range for small delta twcc feedbacks (0-255). Handle potential overflows using MAX/MIN short values. (#1757) * SIP plugin: Hangup reason_text (#1756) * Improve the parsing of \"timeout\" attribute in RTSP SETUP answer. * Adding properties to config must replace old ones (#1753) * Fix automatic reconnection in MQTT transport (#1737) * Fix again twcc feedback, sticking reference_time to uint64 (see #1733). * Tear down PeerConnection if janus_ice_setup_local fails (see #1735) * Fixed segfault when closing handles failed due to port exhaustion (see #1735) * Added new video to documentation * Fixed wrong math for updated BWE reference time (see #1733) * add some missing types (#1748) * Fixed incorrect conversion of reference time in BWE (thanks AATTibc! fixes #1733) * Add a stop_recording parameter to mp \"disable\" request, to let Janus keep recording a disabled mountpoint. (#1749) * Update janus.c (#1731) * Reset media attributes (#1730) * Minor streaming fixes (#1734) * Use a mutex around janus_streaming_rtsp_connect_to_server to avoid collisions on used ports. * Check room pointer before notifying a join. * valgrind: suppress internal openssl warnings (#1739) * janus: avoid NULL dereferences of ice_handle->stream (#1742) * Fix macro names to not use reserved identifiers (fixes #1725) (#1729) * Fixed typo in RTSP configuration * Add a reference to any streaming helper pkt queue. (#1686) * Added arrival time of packets to .mjr files (backwards compatible) (#1719) * Split audio video media addresses (#1727) * feat(textroom): listparticipants (#1723) * Fixed directives indentation to match code style (see #1709) * Add MQTT v5 support (#1709) * Send copies of events to handlers when more than one is active * Fixed memory leak in MQTT event handler * Removed unneeded verbose output when initialising event handlers at startup * Fixed a bug where re-INVITE isn\'t offered to the called party for handling if autoaccept-reinvites=FALSE (#1721) * Fixed small leak in SIP plugin * Fixed typo * Handle plugin message requests asynchronously also when coming from Admin API * Tool to convert .mjr files to .pcap (#1718) * Fixed wrong timing info in postprocessing summary for audio * Fixed broken .wav files when postprocessing G711/G722 recordings (fixes #1716, replaces #1717) * Fix typo in textroom_handle_admin_message to stop segfault (#1707) * add configurable maxBitrate values for simulcast encodings (#1706) * Fixed broken SDP when rejecting audio/video m-line * [Fix]: janus.js client bug, \'for in loop on array\' is a risk since it\'s take in account any object defined on array as key, for example, if you has prototyped a array herite it, as Array.prototype.mean = function (){... it will fail =( (#1693) * Removed unneeded extra check * Allow audio and video to negotiate SRTP separately (SIP plugin) (#1682) * Bumped to version 0.7.4 * Fixed a few typos after static analysis * Fixed a few typos after static analysis * Fix Janus not sending DATA_CHANNEL_ACK when requested stream id = 0. (#1695) * Fix a crash in webm post processing. * Fixed broken usage of GSource for RTCP support in RTP forwarders (#1694) * Reverted end-of-candidates change done in #1670 * Added CommCon presentation (multistream support) to list of videos in FAQ * Fixed leak in SCTP code (fixes #1687) * Fixed broken H.264 simulcast in Streaming plugin * Don\'t print errors on empty candidate strings * Fix release sctp resources if the creation of the association fails (#1673) * Bump number of SCTP streams to 300, to make Firefox 69 happy (see #1679) * Fixed several datachannel issues (fixes #1679) * Fixed typo * ice: avoid dereferencing component if NULL (#1678) * Update bower.json and package.json (#1677) * Made AudioBridge create API more consistent with the static config (fixes #1676) * Advertize SSRC even when not sending media (fixes #1558) * Better check on transceivers support in janus.js * Don\'t set port to 0 when m-line becomes inactive * Updated web demos to use the new slowLink info (see #1664) * Tue Jun 25 2019 ancorAATTsuse.com- Update to version 0.7.3+git20190625.2a86d527: * Updated webrtc-adapter version in demos to 6.4.0 (cdnjs link) * Tue Jun 25 2019 ancorAATTsuse.com- Update to version 0.4.3+git20190625.e790e176: * Changed slowlink to use lost packets instead of NACKs, and made it configurable (#1664) * Fixed end-of-candidates in janus.js in other methods as well (see #1670) * Notify VideoRoom RTP forwarder events via event handlers (fixes #1671) * Fixed the end-of-candidates usage in janus.js (fixes 1670) * Fix reference leak (#1666) * Removed unneeded check on WebRTC state in end_session * Added support for notify_joining to videoroom.lua as well * Changed default for sender-side bandwidth estimation in VideoRoom to TRUE * Made a few enhancements to the Lua VideoRoom plugin example * Support for multiple codecs (like C VideoRoom) * Support for partial subscriptions * Support for require_pvtid * Configurable RTP range in Streaming plugin (replaces #1623, fixes #1616) (#1659) * Added new documentation page for recordings * Updated description of the Streaming plugin * Removed very outdated TODO item * Fixed typo * Updated obsolete documentation of the Admin API * Added flag to the Admin API handle_info to only return plugin-specific info * Don\'t allow plugins to generate/relay their own TWCC RTCP packets * fix sdes length when adding to compound (#1663) * Be more tolerant when parsing b= attributes in SDP (fixes #1662) * enable dtls window size on non-MacOS machines (#1660) * Added status messages to MQTT transport (#1631) * Refactored janus-pp-rec to support command line options (#1656) * New Admin API method to make synchronous requests to plugins (#1647) * Bumped to version 0.7.3 * Adding reference to Haskell binding of Janus client protocol using WebSocket transport (#1657) * Fixed segfault when changing rooms in AudioBridge (fixes #1655) * Fixed segfault in WebSockets transports when using ACL * Add libcurl to the streaming plugin flags. * Added new Admin API messages Destroy session, detach handle, hangup PeerConnection * Don\'t add ssrc-group if we\'re not putting any ssrc in the SDP * Fixed possible issue in subscriber renegotiation (fix #1651) * Set remote candidates when handling an answer if some candidates have already been saved. * Fixed typo (fix #1650) * Generate error only if added remote candidates is negative. * Check the return value of nice_agent_set_remote_candidates. * Improvements on writable notifications in WebSockets transport (#1638) * Added support for third spatial layer when using VP9 SVC (assuming EnabledByFlag_3SL3TL is used) * Set ICE remote credentials when receiving remote SDP, instead of later (#1635) * Remove end-of-candidates attribute as well when anonymizing SDP for plugins * Fixed leak when RTP forwarding with RTCP feedback (fixes #1605) * Add a reference to the session when logging SIP messages (see #1636) * Add frame marking parsing function to the rtp fuzzing target. * Removed requirement for both sdpMid and sdpMLineIndex to be in trickle messages * Small tweak to websockets connection destruction * ice: avoid NULL dereference in stats callback (fixes #1633) * Apply same fix to SIPre plugin * Answer with a busy response if a SIP relayer is still active. * Fixed exception in janus.js when using datachannels * Added option to locally cleanup handles when destroying a session in janus.js * Bumped to version 0.7.2 * Fixed a few issues saving permanent mountpoints in Streaming plugin (see #1630) * Fixed some leftovers in the docs * Added sanity checks on createOffer/createAnswer in janus.js * A couple of fixes on SIP race conditions after hangups (#1611) * Add some comments in fuzzer run.sh to instrument libfuzzer to detect timeout and out-of-memory errors. * Add a SDP fuzzer timeout crash file. * Normalize fuzzers crash filenames. * Abort sdp parsing when a m= line is too long. * Separate checks for PeerConnection and getUserMedia support * Streamlined navbar in demos and documentation * Added link to Slideshare in the FAQ as well * Added two more presentations to the videos section in the FAQ * New experimental debug mode with disabled WebRTC encryption (#1622) * Add version of dependencies to server info (Janus and Admin API) (#1618) * Fixed regression in simulcasting when doing SDP munging in janus.js * H.264 temporal scalability support via frame-marking extension (#1615) * Added link to JanusCon to docs as well * Added link to JanusCon to demos navbar * Send PLI on all layers, when simulcast is used * Fixed Streaming plugin compilation issue for when libcurl isn\'t used * Handle recvfrom failures (#1614) * Allow payload type override when creating RTSP mountpoints (#1609) * Added convenience method to Admin API to test STUN server * Fixed segfault in SIP plugin when using event handlers (see #1613) * Added convenience method to Admin API to test address resolving capabilities * Added ping/pong request to Admin API as well * Fixed regression in Streaming plugin RTCP support * Added option to lock RTP forwarding functionality via admin_key * Check if the ICE candidate gathering started at all * Bumped to version 0.7.1 * janus.js: fix copy paste error which broke answer (#1607) * Added count of received retransmissions to Admin API and event handlers * Ported fix from #1601 to master as well * ice: fix inline warning (#1602) * Added proper management of incoming re-INVITEs to SIP plugin (see #1591) (#1597) * Add an interception callback to js API (#1599) * Added more videos to the documentation * Fixed warning when building SDP fuzzer * Initial integration of SDP fuzzing (for SDP utils) (#1594) * Use json_loadb instead of janus_loads in RabbitMQ transport * [Fuzzers] Use shared libraries when executing locally. * Fix some potential crashes in the h264 postprocessor due to invalid packets. * Fixed several leaks in SDP utils * Notify VideoRoom passive attendees when joining as well, if notify_join is TRUE * Streamlined the management of outgoing messages in the RabbitMQ transport * Don\'t use DTLSv1_2_method() when using LibreSSL * Make configure script shell compatible * Added more videos to the documentation * Added explicit check when registering in SIP plugin (fixes #1522) * Remove encrypted extensions when exchanging SDPs with plugins (see #1575 and #1581) * Don\'t use old constraints where transceivers are available (fixes #1583) * Check destroyed flag before sending on a websocket. * Fix broken fuzzer build script. * Added new paper to citations in documentation * janus_streaming: guard against NULL rtpmaps * fuzzers: allow extra CFLAGS and/or LDFLAGS to be appended * sdp-utils: avoid extra carriage return for extmap lines * Add files via upload * Add check-fuzzers target to Makefile. It reuses existing Janus objects to execute regression testing with corpora files. * Fuzzer run script: list the files before running with a specified folder, change and move some comments. * Arrow functions didn\'t work in IE * Fuzzing run script: use script folder in place of pwd, transform crash file path to an absolute path, detect if the supplied crash file is a file or a folder, rename coverage output files and write them in OUT folder. * Use CC as linker before falling back to default value in fuzzing build script. * Fix RTP fuzzer building error and add jansson dependency when building fuzzers. * Fixed H.264 keyframe detection, especially when simulcasting * Don\'t call getUserMedia when audio and video are false (e.g. when using removeVideo) * Changed REMB behavior from \'cap\' to \'overwrite\', and improved \'no limit\' setting EchoTest and VideoCall * Better H.264 keyframe check (fixes #1552) * Added temporary \'simulcast2\' query string parameter to demos to test rid-based simulcasting on Chrome >= 74 * Force DTLS 1.2 when using older OpenSSL versions * Bumped to version 0.7.0 * More explicit check on replaceTrack support when using Safari (see #1550) * Use replaceTrack for Safari as well (fixes #1550) * Reduced verbosity of Streaming mountpoint helper threads logs * Fixed another typo in Streaming plugin * Fixed issue when switching mountpoints powered by helper threads * Support for multiple datachannel streams in the same PeerConnection * Fixed missing simulcast change notifications at startup * Some more fixes on rid-based simulcasting Note: rids in JS must be added from high to low * Only add extension IDs to Admin APIs if they were negotiated * Fixed typos * Fixed typo * Increase received counter for any packet received on non-rtx-enabled streams. * Calculate jitter only after the first iteration. Increase threshold for rtx detection to 120 ms. * Simplify the parsing of SSRCs in SDP for video streams * Reset extension IDs if they\'re not negotiated in the answer * Don\'t pass simulcast attribute along, when anonymizing SDP * Updated simulcast fallback in SIP, SIPre and NoSIP plugins * Improved support of repaired rid extension * Put rid-related stuff in a different object in the Admin API * Put rid extension IDs in the Admin API report (fixed) * Put rid extension IDs in the Admin API report * Added query string parameters to force codecs in EchoTest demo * Added experimental support for repaired-rtp-stream-id extension as well * Fixed MQTT publish errors (fixes #1535) * New method to be fuzzed in rtp_fuzzer. Add a couple of crash files for RTP. Specify crash file as the second argument of run.sh * Check for extension length when parsing twcc sequence number. * Fix transport-wide sequence number parsing. * Fixed broken TWCC negotiation when disabled in VideoRoom config * Add Janus type definitions for better developer experience * Better support for rid-based simulcasting * Do not drop RTP packets with empty payload. * Discard outgoing empty RTP packets * Added new project to the resources in the docs * Fix and enhance RTCP stats calculation for loss and jitter. Fix link quality metric estimation. * fuzzers: make jobs and workers configurable via environment (#1542) * Support for mid RTP extension, and better extmap negotiation in SDP utils (#1543) * Added missing wakeup call * Explicitly mark packet as unencrypted, when sending retransmissions via rtx * Fixed typo in doxygen docs * fix incorrect value for admin_http in instructions * Added a few simulcast tweaks in VideoRoom - new boolean property to tell if publisher is simulcast in events - ability to specify substream/temporal layer when joining, for subscribers * Fixed typo in RTCP packet, and made sure cname is the same for all m-lines in the SDP * Removed folder with self-signed certificate: DTLS certificates are autogenerated anyway if missing, and HTTPS/WSS need valid/better ones * Bumped to version 0.6.3 * Allow opaqueID to be added to Janus API events, if configured * Generic fixes from static analysis * Fixed missing newline * Check for the right method in Janus.isWebrtcSupported of janus.js (fixes #1527) * A couple of fixes on Firefox simulcasting in janus.js * Added option to negotiate inband FEC for Opus in VideoRoom and EchoTest (#1525) * Added option to specify temporary extension when recording AudioBridge rooms, and event handler notification for when recording is over * Don\'t show warnings if we don\'t know the SSRC yet * Configurable TWCC feedback period * Fixed check in janus.js * Force unified-plan sdpSemantics in janus.js if Chrome >= 72 * Do not insert a Report Block when sending REMBs. * Force plan-b semantics if Chrome is < 72 * Reset NACK queue only when receiving a KeyFrame with a highest sequence number. * Add code for RTCP and RTP fuzzing. (#1492) * Added define for number of Opus samples (see #1520) * Fixed typo in janus.js (fixes #1521) * Link to the math library explicitly for the HTTP event handler (fixes #1517) * Update janus.js to use navigator.mediaDevices.getDisplayMedia instead of navigator.getDisplayMedia * Close the PeerConnection from the plugin after a successful record/play (fixes #1513) * Push local SDP to handlers before the event (fixes #1510) * Changed default maxev to 10 in janus.js * Use RTCRtpSender.getCapabilities if possible to detect VP8 support in Safari * Fixed defaults for allowed publisher\'s media * Fixed multiple watch requests in streaming demo * Removed old yes/no references in config files and docs (true/false) * Bumped to version 0.6.2 * Fixed a couple of early decreases (fix originally contributed as a PR in #1501) * Fix some wrongs printf formats. * Reverted debug console log * More fixes to RTP parsing. * Disabled mid and rtp-stream RTP extensions (fixes PlanB browsers not working in some demos) * Added option to SIP/SIPre/NoSIP plugin to override c= IP in SDP (fixes #1504) * Fixed recordings sometimes not destroyed when hanging up SIP sessions (fixes #1500) * Increase payload ptr for rtx packets. * Fixes for RTP issues discovered while fuzzing. * Added check on minimum size for RTCP packets * Removed unneeded check (already in helper method) * Moved protocols demultiplex helpers to respective headers, to use them in plugins * PR comments: memory leak fix and proper comment indentation. * Fix infinite loop when an HTTP connection breaks * Implement on SIPre plugin. Call-ID on error events. * Send call_id to all SIP plugin events related to call. * Add pragma to ignore clang warning in g_vsnprintf. * Support for custom Call-ID header in SIP plugin. * enables extended mount point info by default if no secret is assigned * Evaluate RTCP transit with a signed integer. * Added Admin API command to stop accepting sessions (e.g., to drain server) * Fixed missing prefix when saving Streaming mountpoints with no name to libconfig * Make sure element is not null, when saving libconfig files * Use transceivers when Chrome >= 72 too * Fixed define for TURN REST API (was unnecessary requirement for RTSP support) * Fixed typo in verbosity of Streaming plugin log line * Fixed deprecated syntax in configs documentation * Added more checks when inspecting VP9 payload descriptor * Added more checks when inspecting VP8 payload descriptor * Added more checks when doing VP9 or H.264 keyframe detection * Fixed crash when fuzzying data for VP8 keyframe detection * Secure janus_rtcp_remove_nacks. * Fix for previous commit. * Calculate REMB bitrate in uint64 to make sanitizers happy. * Secure janus_rtcp_filter function and avoid a possible memory leak. * Updated year in docs and web demos * Drop RTCP packet if parsing fails. Avoid possible leak in janus_rtcp_get_nacks. Fix return value in janus_rtcp_cap_remb. * Updated README (fixes #1461) * Fix broken build due to previous commit. * Improve clang compiler detection in configure.ac * Remove some unused legacy code. * enable jcfg for duktape, fix #1420 * Bumbed to version 0.6.1 * Fixed array usage when munging SDP (see #1439) * Set correct export-dynamic flag for MacOS. * More idiomatic methods to check FCI payloads. Remove methods for NACKs and length checking. * Fix some format specifiers. * Small changes in logging and docs. * Missing sendDtmf success callback call * Replace enable with enabled * Change log level for rejected RTCP packets. * Severl fixes for RTCP parsing bugs discovered while doing fuzz testing. * Change a string in the configure summary. * Remove AX_APPEND macros to avoid installing another dependency. * Use decrypted packet length (buflen) in some calls that mistakenly used the crypted packet length (len). * Suppress cast alignment warnings when using clang. * Reduced polling times when waiting for candidates * events: guarantee loop termination * Use compare_and_exchange to avoid a double logging initialization. * Specify C language with AC_LANG macro. * Use AX_APPEND_LINK_FLAGS to append a flag to the linker. * Move export-dynamic in common CFLAGS. Print the matched compiler in the summary. * Refactor * Added missing params to json validation * Sipre plugin - custom headers in accept request * Added custom headers in accept request * Improve Makefile.am and configure.ac to better support clang compiler. * Fix some wrong print formats and variable types. * Integrated fixes from #1470 in other RTCP parsing submethods * Document \'user_agent\' in \'register\' and \'code\' in \'decline\'. * rtcp: fix get_remb bugs * Documented \'display_name\' parameter in SIP plugin\'s \'register\' request. * Make sure the merged SDP is sent to event handlers (fixes #1466, see #1467) * Fixed payload type selection for RTX (fixes #1469) * Fix code execution order * Fix a wrong assignment made in previous commit. * Avoid media cleanup while a sip thread is still running. * Ignore RTCP if it contains no SSRC * Set npt in Range header for RTSP PLAY (fixes #1460) * Fix an issue when post-processing h264 streams containing STAP-A fragments not in first position. * ice: avoid crash on NACK cleanup * Check crypto attribute pointer in sip plugins before parsing. * Don’t put rtx packets in retransmission buffer * Fixed typos (see #1446) * Fixed missing quotes in sample configuration * Eliminate dead code + make cfg parsing more robust * Refactor status messages to be independent of LWT or something * Send message after disconnect too * Read initial status message from config * Nanomsg transport libconfig migration * Set retain for initial message equal to LWT retain * Adjust sample MQTT EVH config booleans to new format * Fix make rule MQTT EVH config * Restored link quality calculation check, and clarified it\'s there to check for NaN (see #1448) * Fixed typo in RTCP code (fixes #1448) * Fixed broken reference to deprecated configuration file * Fix sample config for mqtt evh * Disable LWT by default * Initialize Last Will and Testament properties for mqttevh * Converted MQTT evh config file to jcfg, as it was still missing * Change janus_rtcp_fix_report_data signature to avoid references to RTP structs. * Remove received SSRC check in janus_rtcp_fix_report_data for incoming RR. * Move recording setting forward in echotest message handling. * Fixed some small tweaks in documentation * Bumped to version 0.6.0 * Fix typo for videoroomtest reference link in svc test page * Check app_handle pointer before doing a hangup or destroying a plugin session. * Updated README text * sdp-utils: use enum type instead of defines * sdp-utils: minor doc corrections * Fixed closing websocket when there\'s no ws * Fix SSRC and timestamp in SSRC reports before passing the packet to a plugin. * Fixed stuck Publish button when republishing in VideoRoom demo * Normalize bitrate reported by Safari * Added check for Safari VP8 support in janus.js init * Don\'t remove mid from answer if m-line was rejected * Disconnect ws on timeout gateway message * Added pcap/text2pcap controls to Admin API demo page * Added .pcap info to Admin API, if available * Add support for dumping to .pcap directly * Fixed datachannel support in the Streaming demo * Improved description of sample H.264 mountpoint * Added mjr metadata to (some) media containers when postprocessing recordings (see #1189) * Updated text in VideoRoom demo that reminded deprecated syntax * Make sure a pop is done after a couroutine ends in the Duktape plugin (fixes #1411) * When using the TURN REST API, send the API key as both \'api\' and \'key\' (fixes #1416) * Don\'t spam SRTP protect errors * Fixed initial retransmissions wrongly interpreted as losses * Updated the way lost packets are counted * Added TWCC placeholder (commented out) in VideoRoom configuration * Added TWCC placeholder (commented out) in VideoRoom configuration * Fixed occasional bogus valuefor lost packets * Added info on whether TWCC is enabled or not in Admin API * Removed broken/unneeded lock in TextRoom plugin (fixes #1421) * Fixed some missing notifications on temporal layer changes in simulcast * Better cleanup of plugin sessions at shutdown * utils: avoid unneeded casting away of constness * utils: constify read-only parameters * read RTP padding len into another buffer * print RTP header extension type in uppercase hex * Better cleanup of HTTP plugin at shutdown * Protect the tables destruction with a mutex when shutting down the HTTP plugin * Bumped to version 0.5.0 * Fixed RTP extensions count in postprocessor when there are CSRC bytes * Fixed the keyframe detection for H.264 * Support for a couple of RTP extensions in the postprocessor * Fixed broken H.264 simulcast support * Fixed multiple \'first keyframe\' notifications when postprocessing videos * Fixed typo * Force pthread mutex for older OpenSSL thread-safeness locking * Removed unneeded debug line * Allow for predefined number of threads/loops to handle all media * Fixed SIP plugin docs and a broken link in the demos (fixes #1404) * Fixed some small nits (code style) * Fixed deadlock in AudioBridge (fixes #1406) * * Fixed a compatibility issue in janus_streaming_rtsp_connect_to_server(). * Fix HTMLMediaElement.srcObject for older Chrome (< 52) * Better refcounting of AudioBridge participants while mixing * store transport seq num before dropping packets * * Use OPTIONS instead of GET_PARAMETER to keep a live in streaming plugin to avoid some compatibility issues. * Streamlined checks for plugin session validity * Reversed checks to avoid error messages when pushing events * Only free WebRTC stuff once * Removed unneeded atomic flag, and moved Admin API loop property * Wrap
text (needed for some generated docs) * Fixed instructions for libnice, and fixed wrapping in README * Refactored handle loop (and thread) as persistent * Reverted previous change... * Improved atomic checks when quitting the ICE loop * Preparse mid when preparsing SDP * Made GMutex/pthread mutex choice configurable (configure script) * add endian define/include to pp-rtp.h * Fixed broken libwebsockets repo link (see #1395 and #1396) * Redefine mutexes to use GMutex instead of pthread_mutex_t * Added missing info to AudioBridge documentation * More conservative checks in AudioBirdge when handling talk events * Added some more checks to make sure the plugin handle is not NULL * Free plugin session handles before core handles * Better parsing of SPS for H.264 non-baseline * Use default resolution if postprocessing an H.264 gives a broken one (see #1393) * Removed leftover code from SIPre and NoSIP plugins * Move silly comment. * Add missing operations in video skew. * Change logging level in a couple of prints. * Fixed broken check on setSinkId in Device Test demo * Increase thresholds to 120 milliseconds. * Add an evauation and tuning phase to the skew compensation algorithm. * Fixed typo in SIP plugin docs (fixes #1391) * Fix broken Record-Route support in ACK, and remove deprecated autoack option (fixes #1389) * Bumped to version 0.4.5 * Small edits in some comments from #1386 * Fix SIP MESSAGE support in SIP plugin (fixes #1388) * Fixed comments and indentations * Fixed indentation * Additional checks when pushing events in Duktape (see #1384) * Fixed connectivity establishment when only candidates available are prflx * Corrected some comments * Limit packet counts per single transport wide cc FB message * Generate last chunk of transport wide cc fb msg correctly * Don\'t do a new getUserMedia if we\'re keeping all tracks * Don\'t do a new getUserMedia for a media if we\'re not updating it * Fixed potential deadlock in Lua and Duktape plugins (see #1384) * Fixed leak in the AudioBridge and VideoRoom plugins * Fixed leak in the TextRoom plugin * Allow EchoTest audio/video codecs to negotiate to be overridden * Re-add warning about large packets. * Removed unneeded playsinline attribute from