* Sun Jun 26 2022 ecsosAATTopensuse.org- Update to version 0.12.3: * Updated Changelog (0.12.3) * Use inet_pton instead of inet_net_pton * Only reset rid when processing video m-line (fixes #2992) * Add new shared JavaScript file for settings in demos (see #2991) * Fixed broken VP8 payload descriptor parsing when 7-bit PictureID are used * Fixed typo in destroy request of Streaming plugin * Fixed exception when adding helper in SIP plugin demo * Fixed missing contact header in SUBSCRIBE (#2973) and crash in SIP plugin when freeing a session while a subscription is active (2974) * Fixed negotiation of RTP extensions when direction is involved * Improved check on when to send playout-delay extension * Fixed missing checks on auth challenges in SIP plugin * Keep track of extensions when storing packets for retransmission (see #2981) * Fixed issues/PRs links in ChangeLog * Bumped to version 0.12.3 (legacy) * Sun Jun 26 2022 ecsosAATTopensuse.org- Update to version 0.12.2: * Updated Changelog (0.12.2) * Fixed RED parsing not returning blocks when only primary data is available * Link to -lresolv explicitly when building websockets transport * Fix build with libressl >= 3.5.0 (see #2980) * Fix address size in Streaming plugin RTCP sendto call (#2976) * Make SIP timer T1X64 configurable (see #2972) * Added custom headers for SIP SUBSCRIBE requests (see #2971) * Fixed spaces instead of tabs * Added synchronous request to start/stop recording single participant in VideoRoom * Fixed typo in stereo support in EchoTest plugin * Added configurable property to put a cap to task threads (see #2964) * Return an error when attempting to postprocess a non-MJR file * Disable IPv6 in WebSockets transport if binding to IPv4 address explicitly (see #2969) * Honor \"audio\", \"data\", \"video\" flag changes in subscriber updates. (#2963) * Abort DTLS handshake if DTLSv1_handle_timeout returns an error * Fixed error message being displayed incorrectly when creating a mountpoint * Bumped to version 0.12.2 (legacy) * Sun Jun 26 2022 ecsosAATTopensuse.org- Update to version 0.12.1: * Updated Changelog (0.12.1) * Fix misaligned access in pp-rec when parsing VP8/VP9 frame resolution * Fix error message when creating a session (see #2890) * Also return reason header protocol and cause if present in BYE in the SIP plugin (see #2935) * Better error when trying to rejoin on an existing VideoRoom handle * Extend H.265 keyframe checks to more NALs (see #2323) * videoroom: always default {min,max}_delay to -1 (#2936) * Check if IPv6 is disabled to avoid failure when creating forwarder socket (see #2915 and #2916) * Reset rids when renegotiating SDPs (see #2927 and #2931) * Fix segfault in UNIX transport teardown when pathnames have different sizes. * Fix highest sequence number not being properly initialized in the RTCP context (see #2920) * Added new request to SIP plugin to reset the establishing flag if it\'s stuck * Fixed typo in config sample (missing quote) (see #2912) * Bumped to version 0.12.1 (legacy) * Sun Jun 26 2022 ecsosAATTopensuse.org- Update to version 0.12.0: * Updated Changelog (0.12.0) * Fixed typos (see #2909) * Add quirk for RTSP servers (#2909) * Fix transport-wide CC feedback when simulcast SSRCs are missing (see #2908) * Update version number in npm package (see #2901) * Add support for playout-delay RTP extension (see #2895) * Fixed leftover variable in janus.js * Fix some other build warnings (output should be clean now). * Added missing fix related to #2894 (0.x) * Fix definition of trylock wrapper when using pthreads (see #2894) * Link to Duktape engine as a library (see #2886) * Remove distinction between simulcast and simulcast2 in janus.js (see #2887) * Added checks when inserting RTP extensions to avoid buffer overflows * Fix some build warnings. * Keep track of when simulcast substreams are disabled in SDP (see #2888) * Fixed broken RTP when no extensions are negotiated (see #2881) * Link to CONTRIBUTING file from README instead of ISSUE_TEMPLATE folder * Fixed crash at startup when not able to connect to RabbitMQ server * Bumped to version 0.12.0 (legacy) * Fix links in Changelog * Make 0.x more apparent in README * Clarify this is the 0.x branch in the README, and update links to demos/docs * Preliminary changes for 0.x branch of Janus * Sun Jun 26 2022 ecsosAATTopensuse.org- Update to version 0.11.8: * Updated Changelog (0.11.8) * Change automatic allocation on static loops from round robin to least loaded (#2878) * Fixed outdated janus-pp-rec option description * Changed default distance in postprocessor to 0, and removed unneeded DTX flag * Check continuity of Opus packets when postprocessing (see #2880, for DTX) * Reset extensions struct when not used * fix PCMA/PCMU RTP forwarding in audiobridge - incorrect RTP header offset (#2875) * Fixed runtime error * Update RTP extensions for outgoing packets in the PeerConnection loop (fixes #2867) (#2869) * Added link to FOSDEM2022 presentation to FAQ * Fix last stats before closing PeerConnection not being sent to handlers (replaces #2873) (#2874) * janus: add yet another missing NULL check for opusred (#2872) * Add another missing NULL check on stream when setting opus RED * Modified issues template * janus: add missing NULL check on stream (#2865) * Fixed broken duration in spatial AudioBridge recordings * Fixed ambiguity in AudioBridge documentation (fixes #2863) * Add new API to bulk start/stop MJR-based recordings in AudioBridge (#2862) * Remove deprecated issue template * Update issue templates * Fixed missing check after merge * Initial support for AV1-SVC Dependency Descriptor (#2741) * Initial integration of RED for audio (#2685) * Fixed broken recordings in NoSIP plugin * Add a couple of checks after static analysis * Bumbed to version 0.11.8 * Sun Jun 26 2022 ecsosAATTopensuse.org- Update to version 0.11.7: * Updated Changelog (0.11.7) * Fixed problems compiling post-processor with older versions of FFmpeg * Added option to print extended header in janus-pp-rec (inspired by #2838) (#2858) * Make rtp port range variables static in ice.c to prevent clashes with plugins (#2860) * Added number of subscribers in response to listpartipants (fixes #2856) * Added more checks before dereferencing * Make record directory changeable via edit in AudioBridge and VideoRoom * Allow pcap2mjr to autodetect SSRC * Validate call_id when handling calls and messages (see #2853) * Add strerror to errno-related log lines in SCTP code * Protect updates to callid in SIP plugin (see #2853) * Fixed broken \'sips\' in SIP plugin with Sofia >= 1.13 (see #2683) * Disable sips by default in SIP plugin (fixes issue with Sofia >= 1.13, see #2683) * fix saving signed_tokens field when room is permanent (#2843) * Change SDP syntax for AV1 from \"AV1X\" to \"AV1\" (fixes #2844) * Handle sdp in 180 sip message same as 183 (#2849) * html: update webrtc-adapter to 8.1.1 (#2848) * janus.d.ts typing fixes (#2847) * Add reason when failing to open DTLS cert/key file (see #2845) * Updated year in demos and docs * Add NULL checks for stream and component in janus_ice_media_stopped (fixes #2840) * janus.d.ts missing typing (#2837) * Remove unneeded codec configuration in janus-pp-rec (fixes #2833) * Add configurable expected loss to AudioBridge to actually send FEC (#2802) * Fixed error in Changelog * Small code style tweaks * Take note of video orientation extension when recording video in SIP plugin (#2836) * Add strlcat variant that uses memccpy for writing SDPs (#2835) * Fixed missing XSS mitigation (see #2817) * Bumbed to version 0.11.7 * Fixed warning * Sun Jun 26 2022 ecsosAATTopensuse.org- Update to version 0.11.6: * Updated Changelog (0.11.6) * Reject SDPs with invalid media types, and realloc less often when writing one * Moved from linux/ip.h to netinet/ip.h (#2831) * Fix syntax error in VideoRoom (#2832) * Add transport-cc to video rtcp-fb list too * Fixed extra CRLF being appended when adding extensions in offers * Added Janode presentation to the docs * Allow VideoRoom to choose whether signed tokens should be used (#2825) * Add missing error code in SIP plugin (fixes #2830) * conf: add exit_on_dl_error option (#2828) * Protect removal from hashtables when destroying SIP sessions (fixes #2818) (#2823) * Added more videos to the documentation * Removed loop initial declarations (fixes errors on some compilers) * Send receiving:false notifications right after renegotiating (see #2807 and #2808) (#2824) * Added additional check when mixing in AudioBridge * Added basic history support to TextRoom plugin (#2814) * Fix potential Cross-site Scripting (XSS) exploits in demos (#2817) * Fixed typos * Create SECURITY.md (fixes #2815) * Fix warning and remove provided token from error response * add typescript client lib (#2813) * Fix signed token auth not work on join to the videoroom #2810 (#2812) * Disable slowlink events by default (#2803) * plugins/janus_sip.c: MESSAGE Authentication and Deliver Status Report (#2786) * Added support for multiopus to janus-pp-rec * add support for custom datachannel options in janus.js (#2806) * Added janode to the list of resources in the docs * html: update webrtc-adapter to 8.1.0 (#2798) * Fixed incorrect info in SIP plugin documentation * Grow buffer as needed when generating SDPs (fixes #2791, see #2793) (#2797) * Added missing unrefs (fixes #2795) * utils: add janus_strlcat helper (#2792) * Initial support for DTX (EchoTest, VideoRoom) (#2789) * Added new presentation video to the documentation * Fixed typos in Streaming demo * Fix plain HTTP links * Bumbed to version 0.11.6 * Sun Jun 26 2022 ecsosAATTopensuse.org- Update to version 0.11.5: * Reverted version bump * Bumbed to version 0.11.6 * Updated Changelog (0.11.5) * Small tweaks to #2785 * Allow media statistic events to get dispatched as one event per stream instead of dedicated ones per media (#2785) * Fix WebSockets admin unix sockets, and streamlined parsing code (#2787) * Avoid ICE local setup if handle has been destroyed (fix some memory leaks) * Print time of when video is rotated, if available * Add info on incoming REMB values to Admin API and Event handlers * Add the token used to join the room to the info sent to event handlers (#2773) * Ensure we access room uniformly and safely across all the VideoRoom code (#2782) * Added some IDE notes to the docs (see #2784) * Fixed systemd sample in documentation (#2783) * Add pause/resume recording functionality to Record&Play and SIP plugins (#2724) * Insert private ID mapping only when participant is added to the list (fixes #2781) * Fix missing unlock/unref in case of publisher errors (fixes #2780). * Make janus.js pass linter (#2772) * Add API to force Janus to use TURN (#2774) * Use prepend with reverse list in the sdp parsing (Credit to OSS-Fuzz) (#2776) * handle host being in ignore list and enforced list (#2768) * Fixed broken upsampling in AudioBridge * Add query string to force codec when joining AudioBridge demo * Moved pragma precondition from the middle of an if (fixes #2766) * Fixed AudioBridge plain RTP thread sometimes exiting prematurely * Clarify in documentation that the mobile SDK is abandoned * Fix compilation warning on openSUSE * Bumbed to version 0.11.5 * Sun Jun 26 2022 ecsosAATTopensuse.org- Update to version 0.11.4: * Updated Changelog (0.11.4) * Doxygen tweaks * Fixed compilation warning * Fix streaming mountpoint name generation when starting with 0 (#2764) * Added new project to resources in the docs * Added plain RTP participants documentation to AudioBridge * Clearer indication of payload types when using plain RTP participants in AudioBridge * Fixed optional arguments in Duktape datachannel relay methods * Fixed datachannel protocol not being sent to plugins for incoming messages (fixes #2753) * Fix partial/broken ACL support in TextRoom plugin (#2763) * Configurable mechanism for manually setting static event loop to use for new handles (see #2450) (#2684) * Use crypto safe random numbers (#2738) * Adds reconnect() to the types definition (#2745) * Added support for forwarding groups in AudioBridge (#2653) * Fixed README (see #2744) * Support for abs-send-time RTP extension (#2721) * Fix sample event handler behaviour (#2743) * Fixed link to usrsctp in documentation * Fixed indentation in README * Update README.md (#2744) * Fixed broken links in Changelog * Fixed broken links in Changelog * Fixed typo in comment * Fixed incoming_header_prefixes not working for helper sessions in SIP plugin * Fixed incoming_header_prefixes not working for helper sessions in SIP plugin * Videoroom API \"list\" endpoint: update docs, add is_private (#2715) * Improve websocket event handler reconnection handling on fail * Log connection error reason, in WS event handler * Set new remote credentials after restarting ICE (fixes #2672) (#2729) * Rename macro constant in ws event handler. * Improve ws event handler reconnection and set an upper bound for the backoff (fixes #2734). * Better SRTP-SDES negotiation in SIP/NoSIP plugins (fixes #2726) (#2727) * Wake up the lws loop when destroying the WebSocket transport. * Extend clang matching rule (let autoconf match afl-clang-fast in oss-fuzz). * Revert \"Remove unneeded definition of RAND_bytes from the RTP fuzzer.\" * Remove unneeded definition of RAND_bytes from the RTP fuzzer. * [janus-pp-rec] activate keyframe logic for VP9 (#2730) * Fix SIP plugin doxygen command for section reference (#2732) * Manually add SIP Contact header for calls when using Sofia >= 1.13 (fixes #2439, replaces #2597) (#2708) * Use PKG_CONFIG env variable instead of calling pkg-config directly (fixes #2713) * Fix sending BYE (#2709) * demos: update webrtc adapter 8.0.0 (#2702) * Fixed some warnings when compining SIP plugin * Add ability to specify recordings folder in AudioBridge (#2707) * Fix potential race condition when reclaiming sessions in HTTP plugin * Small fixes after static analysis * Bumbed to version 0.11.4 * Sun Jun 26 2022 ecsosAATTopensuse.org- Update to version 0.11.3: * Updated Changelog (0.11.3) * Fix missing secret check on room enable_recording (#2706) * Fixed AudioBridge recording stop/start not working properly on empty rooms (see #2674) * Addess notes to #2674 (missing validation, extra timestamp in static filename) * New enable_recording API to dynamically start/stop AudioBridge recordings (#2674) * Fix deadlock on mountpoint destroy during RTSP reconnect (#2700) * Fix SIP plugin missed_call event call_id field name typo (#2703) * Fix memory leak on aborted RTSP connection (#2699) * Fixed broken switching when using different payload types in Streaming plugin (#2692) * Fixes on JavaScript code snippets (#2695) * Fixed typo in docs * Added missing semicolon (#2693) * Optionally allow IPv6 link-local addresses to be gathered too (#2689) * Additional target formats for some recorded codecs (fixes #2658) (#2680) * Fix streaming plugin mutex unlock when disabling mountpoint (#2690) * Fix SIP plugin unhold request docs typo (#2688) * minor adjustment to the audiobridge docs (#2687) * fix: [janus_sip] Fix \"call_id\" property in \"missed_call\" events (#2679) * Fix status vector parsing for incoming twcc feedbacks (resolves #2677). * Fixed race condition in VideoRoom * Fixes variable name. * Clarify that libnice 0.1.18 is recommended * Spatial audio support in AudioBridge via stereo mixing (#2446) * Cleanup avformat-based preprocessors (#2665) * Fixed broken simulcast support in VideoCall plugin (#2671) * feat: support for custom call-id in subscribe request + add \'call_id\' property to subscribe & notify related events (#2664) * Fixed missing macro when using pthread mutexes (fixes #2666) * Fixed warning * Remove duplicated flag for fuzzing coverage. * janus-pp-rec: support HEVC AP(aggregation packet) (#2662) * Fixed out of bounds array access * feat: support for SUBSCRIBE expiry (Expires header) in sip plugin (#2661) * Fixed types * RabbitMQ Transport Reconnect Logic (#2651) * Add per-participant recording options in AudioBridge to join API as well * Small simulcast-related demo tweaks * Make sure the source exists, before scheduling nice_agent_close_async (fixes #2655) * janus.js - renegotiate with external stream (#2604) * createOffer crashes in Firefox (on Mac) when re-negotiating p2p (eg. mute audio) (#2656) * Fixed broken g_strsplit limit in VideoRoom when parsing supported codecs (fixes #2657) * Fixed missing properties in permanent AudioBridge config saves * Add support for plain RTP participants in AudioBridge (#2464) * Bugfix: make sure that every destroyed plugin handle is \'detached\' (#2652) * Bumbed to version 0.11.3 * Sun Jun 26 2022 ecsosAATTopensuse.org- Update to version 0.11.2: * Updated Changelog (0.11.2) * Added reference to AudioBridge announcements before using them in the mix * Added support for datachannel label/protocol to Lua and Duktape plugins (#2641) * Remove support for framemarking RTP extension (#2640) * Prevent race conditions on socket close in SIP and NoSIP plugins (#2599) * Fixed overflow runtime error * Fix for race condition between VideoRoom publisher leaving and subscriber hanging up (fixes #2582) (#2637) * Send PLI when starting a paused stream (#2645) * Prevent too high shift exponent * Fixed type of seq/ts in file-based Streaming mountpoint threads * Fix missing g_thread_unref when a streaming helper thread quits. * Added custom headers for SIP INFO request (#2644) * Free participant->user_id_str in case of opus enc/decoder error. * Reject flexfec when offered, as still unsupported (see #2639) * Don\'t add rtx ssrc if m-line is recvonly/inactive (see #2639) * Added NULL checks for json_dumps (see #2629) * Parse custom headers, if required, in successful REGISTER response (fixes #2636) * Timestamp correction for janus-pp-rec (#2573) * Don\'t chain error handler to success handler in Janus.httpAPICall (#2569) * Add missing library link for WS event handler (fixes #2628) * Fixed broken switch in Streaming plugin when using helper threads * Resolves meetecho/janus-gateway#2624 jansson double referencing (#2634) * Unlock mountpoints mutex after the spawning of helper threads. * Don\'t fail on duplicate b= lines in the SDP (see #2558) * Added ability to use websockets over unix sockets (#2620) * Fix typo in getJanusToken function (#2631) * Reference new mountpoint when switching, and check it has been destroyed * Fix streaming plugin RTSP sample in config template (#2627) * Removed unneeded brackets * fix moutpoint_mutex deadlock when rtsp reconnect fail (#2542) * Add info on moderation to list of publishers, if enabled * mqttevh: added ability use relative to config paths in config (#2623) * SIP plugin: SIP MESSAGE out of dialog (#2616) * Added missing mutex initialization (fixes #2622) * Bumbed to version 0.11.2 * Sun Jun 26 2022 ecsosAATTopensuse.org- Update to version 0.11.1: * Fixed typo in CHANGELOG * Updated Changelog (0.11.0) * Added new --log-stdout flag that enabled stdout logging even when daemonizing the process (#2591) * Added extra reference to VideoRoom * Add substream to audio/video receiving events (fixes #2615) * Fixed typo * Added new video (SIP/Janus workshop) to the documentation * Added session timeout value to Admin API info * Initialize simulcast RTCP contexts even if SSRCs are missing (fixes #2610) * audiobridge: GList leak fixed (#2611) * Fixed sending responses from Janus for incoming SIP MESSAGE/SIP INFO (#2609) * Added wss and debugging support to WebSocket event handler * Fixed broken path parsing in WebSocket event handler (fixes #2603) * fix memory leak in turnrest (#2606) * Making the timeout parameters for streaming plugin for RTSP play out configurable (#2598) * FreeBSD support (#2508) * Added support for admin-protected custom session timeouts (#2577) * Document \'timeout\' and \'detached\' events (fixes #2576) * Added more videos to the list of presentations in the FAQ * Fix warning about comparison of integers of different signedness in rtcp. * Added check on participant destroyed flag before sending events * Fixed typos in Changelog * Add some checks to publisher destroyed flag. * errors: replace strerror with locale-safe and threadsafe g_strerror (#2565) * Fix auth when both (token, secret) modes are enabled (#2581) * Changing default ICE nomination mode to \'aggressive\' (see #2541) * fix rstp instead of rtsp typo (#2590) * Fix broken calculation of out-link-quality when NACKS exceed number of sent packets (fixes #2579) * Fixed memory leak * Make sure the publisher hasn\'t been destroyed, before trying to relay RTCP * Added Content type to SIP message (#2567) * clang/ubsan fixes (#2556) * add call_id in received sip message (#2563) * Fixed missing mutexes around VideoRoom ACL management * ice: fix conncheck typo (#2560) * feat: add \"call_id\" to \"calling\", \"declining\", \"updatingcall\" & \"incomingcall\" events (#2557) * Video moderation always returns unmuted (#2559) * Fixed typo in keepalive-conncheck usage * Add reference to publisher when using RTCP in forwarder * Set specific versions for Python 3 and meson in janus-ci yml. * Added audiocodec/videocodec supporto to \'joinandconfigure\' in VideoRoom API * Add new option to configure ICE nomination mode, if libnice is recent enough (#2541) * if inviting on destroy, send BYE instead of 480 response (#2554) * Fix typo in videoroom docs. * Fixed small leak in VideoRoom * Initialize packet.is_rtp to false. * Add resolution and bitrate to Record&Play playback * Update janus.d.ts (#2553) * Allow up to 5 (rather than 3) audio/video codecs in the same VideoRoom * Allow forcing audio/video codec for VideoRoom publishers via query string * Initialize VideoRoom participant recording state when room recording is active (fixes #2550) * Fixed broken AV1 post-processing * Renamed extern janus_callbacks variables in Lua and Duktape plugins (#2540) * Bumped to version 0.11.1 * Sun Jun 26 2022 ecsosAATTopensuse.org- Update to version 0.10.10: * Updated Changelog (0.10.10) * Videoroom race condition fixes (see #2509) (#2539) * Fix parsing of SDP to find payload type matching profiles (fixes #2544) (#2549) * janus.js (#2548) * Make compiler fail if implicit-function-declaration is encountered. * Fixed non-portable call to strlcpy, and comment styles, in RabbitMQ code (see #2430) * Fixed VideoRoom docs on ICE Restarts for subscribers (fixes #2537) * Allow marking of RTP extensions in MJR recordings (#2527) * Moderator based muting/unmuting of VideoRoom streams (#2513) * Reject a=extmap-allow-mixed in SDP, when offered * Fix code style comments, also enable routing for direct exchanges * Configurable media direction when putting calls on-hold (SIP plugin) (#2525) * Added starting DTLS MTU to info returned by Janus API * Report fail if binding to a socket fails in websockets (#2534) * fix race condition in audiobridge plugin changeroom request (#2535) * Janus npm types upgrade (#2528) * set webrtc-adapter verstion to 7.4.0 (#2531) * Reduced verbosity of a few LOG_WARN messages at startup * Feature/enhance typings (#2518) * Fixed secret authentication on GET requests (#2524) * Dont send bye on early dialog (#2521) * Update Webpack instruction after webrtc-adapter dependency update (#2519) * Close nice agent resources asynchronously (#2492) * mqttevh: tls support implementation finished (#2517) * Fixed broken webrtc-adapter links (see #2515) * html: update webrtc-adapter to 7.7.0 (#2515) * Updated year in demos and docs * Fixed crash in WS event handler when backend is unreachable * Bumped to version 0.10.10 * Adds back in default outgoing queue behaviour. Adds support for auto-generated queue_names * Adds RabbitMQ options for queues, durable, exclusive and autodelete * Check RabbitMQ admin topic in a better way * Increase RabbitMQ logging on publish * Fix queue_name_admin in rabbitmq transport * Update rabbitmq logging information * Updates RabbitMQ logic * Sun Jun 26 2022 ecsosAATTopensuse.org- Update to version 0.10.9: * Updated Changelog (0.10.9) * Fixed memory leak when using announcements in AudioBridge (see #2504) * devicetest: unused var removed (#2502) * Increase participant\'s ref while handling kick requeest. * Fixed typo (see #2501) * Fixed a few compile and runtime issues in WebSocket event handler * Fix RTP headers when leaving/joining AudioBridge rooms on same PeerConnection * Fix occasional missing \"left\" event in audiobridge (see #2499). * Added note on Chrome bugs that prevent multiopus demo from working * Fixed occasional SRTP errors when pausing and then resuming Streaming plugin handles after a long time * Replace Travis CI with GitHub Actions. (#2486) * [janus-pp-rec] Fix potential crash when using skew compensation. * Fix regression on RTCP for sendonly video connections (fixes #2496). * videoroom: log invalid request name (#2495) * Set libmicrohttpd connections limit in http transport configuration. (#2489) * Fixed create/attach management with null optional args (fixes #2490) * Improve detection of maximum resolution in mjr file (postprocessor) (#2487) * Added support for binary data recordings (#2481) * Fixed inconsistency of mySdp in janus.js (fixes #2379) * Updated instrunctions to build libwebsockets (see #2476) * Reset simulcast context for a videoroom publisher also when renegotiating (fixes #2466). * Skip SDP munging in janus.js if SIM attribute is already present in the offer (see #2466). * Do not require a cacertfile, pass null to openssl (#2485) * Increased size of buffer used to render new prflx candidates (fixes #2480) * Replay data channel recordings (#2468) * Fixed warning * [janus-pp-rec] Drop audio RTP silence suppression packets. (#2467) * Corrected janus pp rec (#2472) * Add an option to enable libmicrohttpd error logs (#2471) * Fix types (#2475) * Check simulcast layer index also when stream is video only. * Fixed incomplete recordings after SSRC change (e.g. hold/unhold) in SIP and NoSIP plugins * Make TURN REST API timeout configurable in janus.jcfg (#2470) * Added custom headers to \'decline\' request (#2465) * Adding janus-angular to the Resources page of the documentation (#2459) * Fix autoplay policy issues on Safari (see #2455). * Added user gesture for Safari in screensharing demo (see #2455) * [janus-pp-rec] Enhance timestamp assignment and add payload-type option to CLI. (#2345) * Add Custom Headers Hold Event (#2454) * fix: disable auto ack when answering incoming call (#2447) * Fix incompatible-pointer-types compiler warnings (#2444) * fixing a couple of bugs in burst transfers (#2427) * Bumped to version 0.10.9 * Sun Jun 26 2022 ecsosAATTopensuse.org- 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 * Sun Nov 15 2020 ecsosAATTopensuse.org- Update to version 0.10.7: * 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- Drop libwebsockets-3.patch, because now in upstream. * Sun Nov 15 2020 ecsosAATTopensuse.org- Update to version 0.10.6: * New mechanism to tweak/query transport plugins via Admin API [PR-2354] * Fixed occasional segfault when using event handlers and VideoRoom [Issue-2352] * Fixed occasional \"Unsupported codec \'none\'\" log errors (thanks AATTneilyoung!) [PR-2357] * Fixed broken AudioBridge RTP forwarding when using G711 [Issue-2375] * Added helper threads support to RTSP mountpoints as well [PR-2361] * Fixed data channels not working as expected in Streaming plugin when using helper threads * Fixed simulcast occasionally not working in Streaming plugin until manual PLI trigger * Added proper fragmentation in WebSockets transport plugin [PR-2355] * Fixed timing resolution issue in MQTT transport (thanks AATTfeymartynov!)) [PR-2358] * Fixed MQTT transport issue when trying to shutdown gracefully (thanks AATTfeymartynov!)) [PR-2374] * Fixed broken configuration of Nanomsg Admin API (thanks AATTsdamodharan!)) [PR-2372] * Other smaller fixes and improvements (thanks to all who contributed pull requests and reported issues!) * Wed Sep 23 2020 ecsosAATTopensuse.org- Update to version 0.10.5: * 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