Skip to content

Commit

Permalink
Aligned with latest changes
Browse files Browse the repository at this point in the history
  • Loading branch information
lminiero committed Jul 13, 2023
2 parents 6558e8d + fe99314 commit 15bfe53
Show file tree
Hide file tree
Showing 56 changed files with 3,516 additions and 592 deletions.
5 changes: 4 additions & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// eslint-disable-next-line no-undef
/* global module */
module.exports = {
"env": {
"browser": true,
Expand All @@ -8,6 +8,9 @@ module.exports = {
"parserOptions": {
"ecmaVersion": 2017
},
"plugins": [
"html"
],
"extends": "eslint:recommended",
"rules": {
"no-console": "off",
Expand Down
23 changes: 15 additions & 8 deletions .github/workflows/janus-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ jobs:
uses: actions/checkout@v3
with:
repository: cisco/libsrtp
ref: v2.4.2
ref: v2.5.0
- name: setup libsrtp from sources
if: ${{ matrix.deps_from_src == 'yes' }}
run: |
Expand Down Expand Up @@ -159,19 +159,26 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: Install modules
run: npm install
run: |
cd npm
npm install
- name: Run ESLint
run: node_modules/.bin/eslint html
javascript-rollup:
run: |
cd npm
npm run lint
javascript-dist:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- name: Rollup
- name: Install modules
run: |
cd npm
npm install
npm run rollup -- --o janus.cjs.js --f cjs
- name: Make dist files
run: |
cd npm
npm run prerelease
- uses: actions/upload-artifact@v3
with:
name: janus.cjs.js
path: npm/janus.cjs.js
name: janus.es.js
path: npm/dist/janus.es.js
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,9 @@ p2m-cmdline.c
p2m-cmdline.h
/fuzzers/out

npm/dist
npm/src

/conf/janus.cfg.sample
/conf/janus.plugin.duktape.cfg.sample
/conf/janus.plugin.lua.cfg.sample
Expand Down
19 changes: 19 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,25 @@
All notable changes to this project will be documented in this file.


## [v1.1.4] - 2023-05-19

- Moved discussions from Google Group to Discourse
- Fixed typo in command line argument validation
- Refactored RTP forwarder internals as a core feature [[PR-3155](https://github.com/meetecho/janus-gateway/pull/3155)]
- Refactored SVC processing as a core feature, and removed deprecated VP9/SVC demo [[PR-3174](https://github.com/meetecho/janus-gateway/pull/3174)]
- Don't create IPv6 sockets if IPv6 is completely disabled [[PR-3179](https://github.com/meetecho/janus-gateway/pull/3179)]
- Fixed some VideoRoom race conditions [[PR-3167](https://github.com/meetecho/janus-gateway/pull/3167)]
- Added simulcast/SVC params to switch in VideoRoom (thanks @brave44!) [[PR-3197](https://github.com/meetecho/janus-gateway/pull/3197)]
- Add support for receiving offers in Streaming plugin (for WHEP) [[PR-3199](https://github.com/meetecho/janus-gateway/pull/3199)]
- Add newline for SIP headers that are overflown in length (thanks @zayim!) [[PR-3184](https://github.com/meetecho/janus-gateway/pull/3184)]
- Save SIP reason state on multiple callbacks (thanks @kenangenjac!) [[PR-3210](https://github.com/meetecho/janus-gateway/pull/3210)]
- Avoid parsing whitespace as invalid JSON when receiving WebSocket messages (thanks @htrendev!) [[PR-3208](https://github.com/meetecho/janus-gateway/pull/3208)]
- Remove old tracks before adding/replacing new ones in janus.js [[PR-3203](https://github.com/meetecho/janus-gateway/pull/3203)]
- Tweaks to some janus.js internals (thanks @i8-pi!) [[PR-3211](https://github.com/meetecho/janus-gateway/pull/3211)]
- Fixed some typos and added some tweaks to Admin API demo
- Refactored npm version of janus.js
- Other smaller fixes and improvements (thanks to all who contributed pull requests and reported issues!)

## [v1.1.3] - 2023-03-06

- Use getaddrinfo instead of gethostbyname [[PR-3159](https://github.com/meetecho/janus-gateway/pull/3159)]
Expand Down
14 changes: 7 additions & 7 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -72,29 +72,29 @@ endif
##

if ENABLE_JAVASCRIPT_ES_MODULE
jsmodules_DATA += npm/bundles/janus.es.js
jsmodules_DATA += npm/dist/janus.es.js
endif

if ENABLE_JAVASCRIPT_UMD_MODULE
jsmodules_DATA += npm/bundles/janus.umd.js
jsmodules_DATA += npm/dist/janus.umd.js
endif

if ENABLE_JAVASCRIPT_IIFE_MODULE
jsmodules_DATA += npm/bundles/janus.iife.js
jsmodules_DATA += npm/dist/janus.iife.js
endif

if ENABLE_JAVASCRIPT_COMMON_JS_MODULE
jsmodules_DATA += npm/bundles/janus.cjs.js
jsmodules_DATA += npm/dist/janus.cjs.js
endif

EXTRA_DIST += $(jsmodules_DATA)

if ENABLE_JAVASCRIPT_MODULES

npm/node_modules/rollup/bin/rollup: npm/package.json
cd npm && $(NPM) install && touch node_modules/rollup/bin/rollup
npm/node_modules/rollup/dist/bin/rollup: npm/package.json
cd npm && $(NPM) install && touch node_modules/rollup/dist/bin/rollup

npm/bundles/janus.%.js: html/janus.js npm/node_modules/rollup/bin/rollup npm/rollup.config.js npm/module.js
npm/dist/janus.%.js: html/janus.js npm/node_modules/rollup/dist/bin/rollup npm/rollup.config.mjs npm/module.js
cd npm && $(NPM) run rollup -- --o $(patsubst npm/%,%,$@) --f $*

endif
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@ Notice that you may have to `yum install epel-release` as well if you're attempt

On Ubuntu or Debian, it would require something like this:

aptitude install libmicrohttpd-dev libjansson-dev \
libssl-dev libsrtp-dev libsofia-sip-ua-dev libglib2.0-dev \
apt install libmicrohttpd-dev libjansson-dev \
libssl-dev libsofia-sip-ua-dev libglib2.0-dev \
libopus-dev libogg-dev libcurl4-openssl-dev liblua5.3-dev \
libconfig-dev pkg-config libtool automake

Expand All @@ -75,7 +75,7 @@ To build libnice, you need Python 3, Meson and Ninja:

In case you're interested in compiling the sample Event Handler plugin, you'll need to install the development version of libcurl as well (usually `libcurl-devel` on Fedora/CentOS, `libcurl4-openssl-dev` on Ubuntu/Debian).

If your distro ships a pre-1.5 version of libsrtp, you'll have to uninstall that version and [install 1.5.x, 1.6.x or 2.x manually](https://github.com/cisco/libsrtp/releases). In fact, 1.4.x is known to cause several issues with WebRTC. While 1.5.x is supported, we recommend installing 2.x instead Notice that the following steps are for version 2.2.0, but there may be more recent versions available:
If your distro ships a pre-1.5 version of libsrtp, you'll have to uninstall that version and [install 1.5.x, 1.6.x or 2.x manually](https://github.com/cisco/libsrtp/releases). In fact, 1.4.x is known to cause several issues with WebRTC. While 1.5.x is supported, we recommend installing 2.x instead. Notice that the following steps are for version 2.2.0, but there may be more recent versions available:

wget https://github.com/cisco/libsrtp/archive/v2.2.0.tar.gz
tar xfv v2.2.0.tar.gz
Expand Down
2 changes: 1 addition & 1 deletion bower.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "janus-gateway",
"version": "1.1.4",
"version": "1.2.0",
"homepage": "https://github.com/meetecho/janus-gateway",
"authors": [
"Lorenzo Miniero <[email protected]>",
Expand Down
8 changes: 6 additions & 2 deletions conf/janus.jcfg.sample.in
Original file line number Diff line number Diff line change
Expand Up @@ -270,8 +270,11 @@ media: {
# it should work in ICE-Lite mode (by default it doesn't). If libnice is
# at least 0.1.15, you can choose which ICE nomination mode to use: valid
# values are "regular" and "aggressive" (the default depends on the libnice
# version itself; if we can set it, we set aggressive nomination). You can
# also configure whether to use connectivity checks as keep-alives, which
# version itself; if we can set it, we set aggressive nomination). If
# libnice is at least 0.1.19, you can enable consent freshness checks for
# PeerConnections as well: this will issue regular checks to check whether
# or not the WebRTC peer isn't available anymore. Enabling consent freshness
# will automatically also enable using connectivity checks as keep-alives, which
# might help detecting when a peer is no longer available (notice that
# current libnice master is breaking connections after 50 seconds when
# keepalive-conncheck is being used, so if you want to use it, better
Expand All @@ -286,6 +289,7 @@ nat: {
nice_debug = false
#full_trickle = true
#ice_nomination = "regular"
#ice_consent_freshness = true
#ice_keepalive_conncheck = true
#ice_lite = true
#ice_tcp = true
Expand Down
14 changes: 10 additions & 4 deletions configure.ac
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
AC_INIT([Janus WebRTC Server],[1.1.4],[https://github.com/meetecho/janus-gateway],[janus-gateway],[https://janus.conf.meetecho.com])
AC_INIT([Janus WebRTC Server],[1.2.0],[https://github.com/meetecho/janus-gateway],[janus-gateway],[https://janus.conf.meetecho.com])
AC_LANG(C)
AC_CONFIG_AUX_DIR([.])
AC_CONFIG_MACRO_DIR([m4])
Expand Down Expand Up @@ -70,11 +70,11 @@ cc*)
-Wunused-but-set-variable"
esac

JANUS_VERSION=1104
JANUS_VERSION=1200
AC_SUBST(JANUS_VERSION)
JANUS_VERSION_STRING="1.1.4"
JANUS_VERSION_STRING="1.2.0"
AC_SUBST(JANUS_VERSION_STRING)
JANUS_VERSION_SO="2:4:1"
JANUS_VERSION_SO="2:0:0"
AC_SUBST(JANUS_VERSION_SO)

case "$host_os" in
Expand Down Expand Up @@ -424,6 +424,12 @@ AC_CHECK_LIB([nice],
[AC_MSG_NOTICE([libnice version does not have nice_agent_new_full])]
)

AC_CHECK_LIB([nice],
[nice_agent_consent_lost],
[AC_DEFINE(HAVE_CONSENT_FRESHNESS)],
[AC_MSG_NOTICE([libnice version does not have nice_agent_consent_lost])]
)

AC_CHECK_LIB([dl],
[dlopen],
[JANUS_MANUAL_LIBS="${JANUS_MANUAL_LIBS} -ldl"],
Expand Down
2 changes: 1 addition & 1 deletion docs/janus-doxygen.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ PROJECT_NAME = "Janus (multistream)"
# could be handy for archiving the generated documentation or if some version
# control system is used.

PROJECT_NUMBER = 1.1.4
PROJECT_NUMBER = 1.2.0

# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
Expand Down
Binary file added html/background/brick-wall.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added html/background/napoli.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added html/background/office.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 3 additions & 2 deletions html/echotest.html
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,9 @@ <h3>Demo details</h3>
versions of the video you're capturing. Notice that you may have
to increase the bandwidth indicator to have the higher quality
versions appear, as the browser will not encode them otherwise.
Besides, notice that simulcast will only work when using VP8 or H.264,
while SVC will only work if you're using VP9 on a browser that
Besides, notice that simulcast will only work when using VP8 or H.264
(or, if you're using a recent version of Chrome, VP9 and AV1 too),
while SVC will only work if you're using VP9 or AV1 on a browser that
supports setting the <code>scalabilityMode</code>.</p>
<p>Finally, this demo also includes Data Channels: whatever you
write in the text box under your local video, will be sent via
Expand Down
2 changes: 1 addition & 1 deletion html/echotest.js
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ $(document).ready(function() {
if((substream !== null && substream !== undefined) || (temporal !== null && temporal !== undefined)) {
if(!simulcastStarted) {
simulcastStarted = true;
addSimulcastSvcButtons(msg["videocodec"] === "vp8");
addSimulcastSvcButtons(msg["videocodec"] === "vp8" || msg["videocodec"] === "vp9" || msg["videocodec"] === "av1");
}
// We just received notice that there's been a switch, update the buttons
updateSimulcastSvcButtons(substream, temporal);
Expand Down
Loading

0 comments on commit 15bfe53

Please sign in to comment.