-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support larger values for SDP attributes #3282
Conversation
2. Removed empty line and obsolete FIXME comment about simulcast configure
# Conflicts: # src/plugins/janus_streaming.c
…s instead of only 75.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Adding a note inline.
src/sdp-utils.c
Outdated
@@ -1119,7 +1119,7 @@ char *janus_sdp_write(janus_sdp *imported) { | |||
if(!imported) | |||
return NULL; | |||
janus_refcount_increase(&imported->ref); | |||
char *sdp = g_malloc(1024), mline[8192], buffer[512]; | |||
char *sdp = g_malloc(1024), mline[8192], buffer[2048]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If the buffer is this large, now, then I guess the sdp
allocation we start from should be larger too? We only reallocate it when appending m-lines, which means it should be large enough to handle global attributes before that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You are right, should then the sdplen variable match the g_malloc(size)?
So I should change to *char sdp = g_malloc(4096) and size_t sdplen = 4096?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lminiero - Committed an increase to 4096 of initial g_malloc and size_t sdplen
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mh I think it might be overkill, the vast majority of SDPs are never that large: I think we started from a lower value on purpose. I'll give this some thought and get back to you later on.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To be more conservative, maybe let's keep the same diff that was before, so 2048+512=2560? It's still large, but not THAT large.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed, reduced to 2560 sdplen and g_malloc(size)
Thanks! I think this is good to merge 🆗 |
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [meetecho/janus-gateway](https://github.com/meetecho/janus-gateway) | minor | `v1.1.4` -> `v1.2.1` | --- ### Release Notes <details> <summary>meetecho/janus-gateway (meetecho/janus-gateway)</summary> ### [`v1.2.1`](https://github.com/meetecho/janus-gateway/blob/HEAD/CHANGELOG.md#v121---2023-12-06) [Compare Source](meetecho/janus-gateway@v1.2.0...v1.2.1) - Added support for abs-capture-time RTP extension \[[PR-3161](meetecho/janus-gateway#3161)] - Fixed truncated label in datachannels (thanks [@​veeting](https://github.com/veeting)!) \[[PR-3265](meetecho/janus-gateway#3265)] - Support larger values for SDP attributes (thanks [@​petarminchev](https://github.com/petarminchev)!) \[[PR-3282](meetecho/janus-gateway#3282)] - Fixed rare crash in VideoRoom plugin (thanks [@​tmatth](https://github.com/tmatth)!) \[[PR-3259](meetecho/janus-gateway#3259)] - Don't create VideoRoom subscriptions to publisher streams with no associated codecs - Added suspend/resume participant API to AudioBridge \[[PR-3301](meetecho/janus-gateway#3301)] - Fixed rare crash in AudioBridge - Fixed rare crash in Streaming plugin when doing ICE restarts \[[Issue-3288](meetecho/janus-gateway#3288)] - Allow SIP and NoSIP plugins to bind media to a specific address (thanks [@​pawnnail](https://github.com/pawnnail)!) \[[PR-3263](meetecho/janus-gateway#3263)] - Removed advertised support for SIP UPDATE in SIP plugin - Parse RFC2833 DTMF to custom events in SIP plugin (thanks [@​ywmoyue](https://github.com/ywmoyue)!) \[[PR-3280](meetecho/janus-gateway#3280)] - Fixed missing Contact header in some dialogs in SIP plugin (thanks [@​ycherniavskyi](https://github.com/ycherniavskyi)!) \[[PR-3286](meetecho/janus-gateway#3286)] - Properly set mid when notifying about ended tracks in janus.js - Fixed broken restamping in janus-pp-rec - Other smaller fixes and improvements (thanks to all who contributed pull requests and reported issues!) ### [`v1.2.0`](https://github.com/meetecho/janus-gateway/blob/HEAD/CHANGELOG.md#v120---2023-08-09) [Compare Source](meetecho/janus-gateway@v1.1.4...v1.2.0) - Added support for VP9/AV1 simulcast, and fixed broken AV1/SVC support \[[PR-3218](meetecho/janus-gateway#3218)] - Fixed RTCP out quality stats \[[PR-3228](meetecho/janus-gateway#3228)] - Default link quality stats to 100 - Added support for ICE consent freshness \[[PR-3234](meetecho/janus-gateway#3234)] - Fixed rare race condition in VideoRoom \[[PR-3219](meetecho/janus-gateway#3219)] \[[PR-3247](meetecho/janus-gateway#3247)] - Use speexdsp's jitter buffer in the AudioBridge \[[PR-3233](meetecho/janus-gateway#3233)] - Fixed crash in Streaming plugin on mountpoints with too many streams \[[Issue-3225](meetecho/janus-gateway#3225)] - Support for batched configure requests in Streaming plugin (thanks [@​petarminchev](https://github.com/petarminchev)!) \[[PR-3239](meetecho/janus-gateway#3239)] - Fixed rare deadlock in Streamin plugin \[[PR-3250](meetecho/janus-gateway#3250)] - Fix simulated leave message for longer string ID rooms in TextRoom (thanks [@​adnanel](https://github.com/adnanel)!) [PR-3243](meetecho/janus-gateway#3243)] - Notify about count of sessions, handles and PeerConnections on a regular basis, when event handlers are enabled \[[PR-3221](meetecho/janus-gateway#3221)] - Fixed broken Insertable Streams for recvonly streams when answering in janus.js - Added background selector and blur support to Virtual Background demo - Other smaller fixes and improvements (thanks to all who contributed pull requests and reported issues!) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4zNC4wIiwidXBkYXRlZEluVmVyIjoiMzcuODEuNCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciJ9--> Reviewed-on: https://git.walbeck.it/walbeck-it/docker-janus-gateway/pulls/122 Co-authored-by: renovate-bot <bot@walbeck.it> Co-committed-by: renovate-bot <bot@walbeck.it>
Currently the limit is 512 bytes for the SDP attribute value, which limits to maximum 75 video + audio mids (150 mids).
Increased limit to 2048 bytes, which should support up to around 267 video + audio mids (534 mids)