Commit graph

365 commits

Author SHA1 Message Date
Joachim Bauch 73bad27ea1
CI: Ignore "error-strings" for revive linter. 2022-03-02 14:03:51 +01:00
Joachim Bauch 7b631b0b2a
Format code using "gofmt". 2022-02-25 09:20:26 +01:00
Joachim Bauch 8fd9c688b6
Merge pull request #195 from danxuliu/send-updated-offers-to-subscribers-after-publisher-renegotiations
Send updated offers to subscribers after publisher renegotiations
2022-02-25 09:16:10 +01:00
Daniel Calviño Sánchez cd93db60a4 Introduce feature flag for SDP updates
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-02-25 07:47:30 +01:00
Daniel Calviño Sánchez 020cbaf49d Send updated offers to subscribers after publisher renegotiations
When a publisher has a connection the publisher can update the
connection (for example, to add a video track to an audio only
connection) by sending an updated offer to Janus. Janus detects that,
adjusts the connection and then sends back an answer. Once the publisher
connection is updated Janus starts a renegotiation for the subscribers
and generates the offers to be sent to them.

The signaling server did not handle the event, so the offers were not
sent and the subscriber connections were not updated. Now the offers are
sent as needed, which makes possible for the renegotiation to be
completed by the clients.

In this case the "offer" message will also include an "update" parameter
so clients can differentiate between offers to create new connections or
update the existing one.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-02-25 07:47:17 +01:00
Joachim Bauch d1417751ed
Merge pull request #193 from strukturag/transient-data
Add API for transient room data.
2022-02-16 12:40:32 +01:00
Joachim Bauch ae82acf9ff
Document transient data. 2022-02-16 12:30:39 +01:00
Joachim Bauch fca30af201
Add API for transient room data. 2022-02-16 12:30:39 +01:00
Joachim Bauch 99f5fb0be1
Add method "RunUntilJoinedAndReturnIgnored". 2022-02-16 12:21:45 +01:00
Joachim Bauch 42a5506da7
Support multiple "joined" entries when waiting for clients. 2022-02-16 12:21:44 +01:00
Joachim Bauch eafeae8972
Merge pull request #198 from strukturag/dependabot/go_modules/github.com/gorilla/websocket-1.5.0
Bump github.com/gorilla/websocket from 1.4.2 to 1.5.0
2022-02-16 11:38:00 +01:00
dependabot[bot] 19abecf646
Bump github.com/gorilla/websocket from 1.4.2 to 1.5.0
Bumps [github.com/gorilla/websocket](https://github.com/gorilla/websocket) from 1.4.2 to 1.5.0.
- [Release notes](https://github.com/gorilla/websocket/releases)
- [Commits](https://github.com/gorilla/websocket/compare/v1.4.2...v1.5.0)

---
updated-dependencies:
- dependency-name: github.com/gorilla/websocket
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-15 20:12:08 +00:00
Joachim Bauch 75493c4327
Merge pull request #197 from strukturag/ci-golint
CI: Enable golint linter.
2022-02-11 12:15:53 +01:00
Joachim Bauch d84f628deb
CI: Enable revive linter (drop-in replacement of golint). 2022-02-11 12:09:43 +01:00
Joachim Bauch 614c5f6e21
Fix issues reported by revive. 2022-02-11 12:09:42 +01:00
Joachim Bauch 267f383bb6
Merge pull request #196 from strukturag/ci-lint-format
CI: Check format in linter.
2022-02-11 10:50:47 +01:00
Joachim Bauch 0f9c64a038
CI: Enable gofmt linter. 2022-02-11 10:39:48 +01:00
Joachim Bauch cbb25097ef
CI: Use latest version of golangci-lint. 2022-02-11 10:32:23 +01:00
Joachim Bauch 7fbd0b4580
Add documentation badge. 2022-02-10 15:11:58 +01:00
Joachim Bauch 46bcdfc18b
Remove trailing whitespace. 2022-02-10 15:11:39 +01:00
Joachim Bauch afa72b576f
Merge pull request #194 from strukturag/api-docs
Add API docs
2022-02-10 14:58:00 +01:00
Joachim Bauch 5bda595cce
Add configuration for readthedocs.io 2022-02-10 14:53:31 +01:00
Joachim Bauch 826f4314a7
Update link to API of PHP backend. 2022-02-10 14:45:57 +01:00
Joachim Bauch 0bce422e30
Add API documentation.
Taken from commit deb2494193a51321273070b39739e625651d40ea of
https://github.com/nextcloud/spreed/

Should be kept at the signaling server repository as the API is defined
and implemented here.
2022-02-10 14:09:23 +01:00
Joachim Bauch e4214eb95d
Merge pull request #188 from strukturag/changelog-0.4.1
Update changelog for 0.4.1
2022-01-25 10:14:01 +01:00
Joachim Bauch 2e2861d1b8
Update changelog for 0.4.1 2022-01-25 10:07:29 +01:00
Joachim Bauch d806922764
Merge pull request #183 from strukturag/custom-bandwidth
Clients can provide the maximum publishing bandwidth in offer requests.
2022-01-10 15:22:49 +01:00
Joachim Bauch ffd8a30f61
Clients can provide the maximum publishing bandwidth in offer requests.
This will still be capped to any backend / proxy / Janus limits.
2022-01-10 15:14:56 +01:00
Joachim Bauch 414f78dd87
Fix formatting of non-string variable. 2022-01-10 15:03:54 +01:00
Joachim Bauch 552eee0812
Merge pull request #178 from strukturag/join-event-with-roomsessionid
Include room session id in "joined" events.
2021-12-17 16:27:22 +01:00
Joachim Bauch 76ad24ca62
Include room session id in "joined" events.
This helps with matching signaling sessions with sessions in Talk.
2021-12-17 16:02:22 +01:00
Joachim Bauch 468470d128
Merge pull request #177 from strukturag/continentmap-source
Change source of country -> continent map.
2021-12-06 09:37:46 +01:00
Joachim Bauch 38c836011b
Update tests for new continent map. 2021-12-06 09:31:06 +01:00
Joachim Bauch 99bb30af20
Update continentmap from 137e1f84ad 2021-12-06 09:21:46 +01:00
Joachim Bauch 137e1f84ad
Change source of country -> continent map.
The previous source at https://datahub.io/JohnSnowLabs/ no longer exists.
2021-12-06 09:20:28 +01:00
Joachim Bauch 0df708a74e
Merge pull request #171 from strukturag/dependabot/github_actions/actions/cache-2.1.7
Bump actions/cache from 2.1.6 to 2.1.7
2021-11-24 09:00:06 +01:00
dependabot[bot] e74d5fdd7e
Bump actions/cache from 2.1.6 to 2.1.7
Bumps [actions/cache](https://github.com/actions/cache) from 2.1.6 to 2.1.7.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](https://github.com/actions/cache/compare/v2.1.6...v2.1.7)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-23 20:08:39 +00:00
Joachim Bauch f60ea3fcbb
Fix formatting. 2021-11-10 15:22:56 +01:00
Joachim Bauch e856c41377
Finalize date for 0.4.0 2021-11-10 15:18:42 +01:00
Joachim Bauch e8f634a008
Update changelog for 0.4.0 2021-11-10 15:15:35 +01:00
Joachim Bauch 13314d646a
Merge pull request #169 from strukturag/audio-video-permission-changes
Check individual audio/video permissions on change.
2021-11-10 15:13:24 +01:00
Joachim Bauch 4630c5f38c
Add testcase with PERMISSION_MAY_PUBLISH_MEDIA. 2021-11-08 12:16:26 +01:00
Joachim Bauch 707b125730
Check individual audio/video permissions on change.
If a client publishes audio/video and no longer has the video permission,
the whole publisher will be closed. Previously this was only checking
the generic "media" permission.
2021-11-08 12:08:14 +01:00
Joachim Bauch 572176b4f5
Add first tests for split audio/video permissions. 2021-11-08 12:08:13 +01:00
Joachim Bauch 06e4f0aac8
Remove debug output. 2021-11-08 10:12:50 +01:00
Joachim Bauch 7628a15e61
Merge pull request #157 from strukturag/split-audio-video-permissions
Support separate permissions for publishing audio / video.
2021-11-03 15:39:50 +01:00
Joachim Bauch 61f039bb88
Introduce feature flag for split audio/video permissions.
The flag name "audio-video-permissions" will be used for this.
2021-11-03 15:24:28 +01:00
Joachim Bauch a05acc9cb4
Include available features in header of backend requests to Nextcloud.
The header "X-Spreed-Signaling-Features" will contain a comma-separated list
of feature flags.
2021-11-03 15:24:27 +01:00
Joachim Bauch 2f8e7f9f66
Return available features in header of backend responses.
The header "X-Spreed-Signaling-Features" will contain a comma-separated list
of feature flags.
2021-11-03 15:24:27 +01:00
Joachim Bauch 70b37364d3
Support separate permissions for publishing audio / video.
Clients with permission "publish-media" can publish any audio/video. Other
clients need to have "publish-audio" and/or "publish-video" to publish the
corresponding media types. For this the SDP in the offer is parsed to check
what will be sent.
2021-11-03 15:24:25 +01:00