@@ -1978,14 +1978,14 @@ function Janus(gatewayCallbacks) {
1978
1978
}
1979
1979
if ( addTracks && stream ) {
1980
1980
Janus . log ( 'Adding local stream' ) ;
1981
- var simulcast2 = ( callbacks . simulcast2 === true ) ;
1981
+ var simulcast = ( callbacks . simulcast === true || callbacks . simulcast2 === true ) && Janus . unifiedPlan ;
1982
1982
var svc = callbacks . svc ;
1983
1983
stream . getTracks ( ) . forEach ( function ( track ) {
1984
1984
Janus . log ( 'Adding local track:' , track ) ;
1985
1985
var sender = null ;
1986
- if ( ( ! simulcast2 && ! svc ) || track . kind === 'audio' ) {
1986
+ if ( ( ! simulcast && ! svc ) || track . kind === 'audio' ) {
1987
1987
sender = config . pc . addTrack ( track , stream ) ;
1988
- } else if ( simulcast2 ) {
1988
+ } else if ( simulcast ) {
1989
1989
Janus . log ( 'Enabling rid-based simulcasting:' , track ) ;
1990
1990
let maxBitrates = getMaxBitrates ( callbacks . simulcastMaxBitrates ) ;
1991
1991
let tr = config . pc . addTransceiver ( track , {
@@ -2353,10 +2353,9 @@ function Janus(gatewayCallbacks) {
2353
2353
audioSupport = media . audio ;
2354
2354
var videoSupport = isVideoSendEnabled ( media ) ;
2355
2355
if ( videoSupport && media ) {
2356
- var simulcast = ( callbacks . simulcast === true ) ;
2357
- var simulcast2 = ( callbacks . simulcast2 === true ) ;
2356
+ var simulcast = ( callbacks . simulcast === true || callbacks . simulcast2 === true ) ;
2358
2357
var svc = callbacks . svc ;
2359
- if ( ( simulcast || simulcast2 || svc ) && ! jsep && ! media . video )
2358
+ if ( ( simulcast || svc ) && ! jsep && ! media . video )
2360
2359
media . video = "hires" ;
2361
2360
if ( media . video && media . video != 'screen' && media . video != 'window' ) {
2362
2361
if ( typeof media . video === 'object' ) {
@@ -2678,7 +2677,7 @@ function Janus(gatewayCallbacks) {
2678
2677
return ;
2679
2678
}
2680
2679
var config = pluginHandle . webrtcStuff ;
2681
- var simulcast = ( callbacks . simulcast === true ) ;
2680
+ var simulcast = ( callbacks . simulcast === true || callbacks . simulcast2 === true ) ;
2682
2681
if ( ! simulcast ) {
2683
2682
Janus . log ( "Creating offer (iceDone=" + config . iceDone + ")" ) ;
2684
2683
} else {
@@ -2845,14 +2844,12 @@ function Janus(gatewayCallbacks) {
2845
2844
callbacks . customizeSdp ( jsep ) ;
2846
2845
offer . sdp = jsep . sdp ;
2847
2846
Janus . log ( "Setting local description" ) ;
2848
- if ( sendVideo && simulcast ) {
2849
- // This SDP munging only works with Chrome (Safari STP may support it too)
2847
+ if ( sendVideo && simulcast && ! Janus . unifiedPlan ) {
2848
+ // We only do simulcast via SDP munging on older versions of Chrome and Safari
2850
2849
if ( Janus . webRTCAdapter . browserDetails . browser === "chrome" ||
2851
2850
Janus . webRTCAdapter . browserDetails . browser === "safari" ) {
2852
2851
Janus . log ( "Enabling Simulcasting for Chrome (SDP munging)" ) ;
2853
2852
offer . sdp = mungeSdpForSimulcasting ( offer . sdp ) ;
2854
- } else if ( Janus . webRTCAdapter . browserDetails . browser !== "firefox" ) {
2855
- Janus . warn ( "simulcast=true, but this is not Chrome nor Firefox, ignoring" ) ;
2856
2853
}
2857
2854
}
2858
2855
config . mySdp = {
@@ -2887,7 +2884,7 @@ function Janus(gatewayCallbacks) {
2887
2884
return ;
2888
2885
}
2889
2886
var config = pluginHandle . webrtcStuff ;
2890
- var simulcast = ( callbacks . simulcast === true ) ;
2887
+ var simulcast = ( callbacks . simulcast === true || callbacks . simulcast2 === true ) ;
2891
2888
if ( ! simulcast ) {
2892
2889
Janus . log ( "Creating answer (iceDone=" + config . iceDone + ")" ) ;
2893
2890
} else {
@@ -3088,15 +3085,13 @@ function Janus(gatewayCallbacks) {
3088
3085
callbacks . customizeSdp ( jsep ) ;
3089
3086
answer . sdp = jsep . sdp ;
3090
3087
Janus . log ( "Setting local description" ) ;
3091
- if ( sendVideo && simulcast ) {
3092
- // This SDP munging only works with Chrome
3088
+ if ( sendVideo && simulcast && ! Janus . unifiedPlan ) {
3089
+ // We only do simulcast via SDP munging on older versions of Chrome and Safari
3093
3090
if ( Janus . webRTCAdapter . browserDetails . browser === "chrome" ) {
3094
3091
// FIXME Apparently trying to simulcast when answering breaks video in Chrome...
3095
3092
//~ Janus.log("Enabling Simulcasting for Chrome (SDP munging)");
3096
3093
//~ answer.sdp = mungeSdpForSimulcasting(answer.sdp);
3097
3094
Janus . warn ( "simulcast=true, but this is an answer, and video breaks in Chrome if we enable it" ) ;
3098
- } else if ( Janus . webRTCAdapter . browserDetails . browser !== "firefox" ) {
3099
- Janus . warn ( "simulcast=true, but this is not Chrome nor Firefox, ignoring" ) ;
3100
3095
}
3101
3096
}
3102
3097
config . mySdp = {
0 commit comments