Skip to content

Commit 649f61a

Browse files
author
evgeny-nadymov
committed
Replace media field with audio/video/application
1 parent 0c15b4e commit 649f61a

File tree

5 files changed

+136
-47
lines changed

5 files changed

+136
-47
lines changed

‎src/Calls/P2P/ChromeP2PSdpBuilder.js

+16-8
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,11 @@ import {addExtmap, addPayloadTypes, addSsrc} from './P2PSdpBuilder';
99

1010
export class ChromeP2PSdpBuilder {
1111
static generateOffer(info) {
12-
const { sessionId, fingerprints, ufrag, pwd, media } = info;
12+
const { sessionId, fingerprints, ufrag, pwd, audio, video, application } = info;
13+
const media = [];
14+
media.push(audio);
15+
media.push(video);
16+
media.push(application);
1317

1418
let sdp = `v=0
1519
o=- ${sessionId} 2 IN IP4 127.0.0.1
@@ -44,7 +48,7 @@ a=msid-semantic: WMS *`;
4448
m=application 9 UDP/DTLS/SCTP webrtc-datachannel
4549
c=IN IP4 0.0.0.0
4650
a=ice-options:trickle
47-
a=mid:${mid}
51+
a=mid:${i}
4852
a=sctp-port:${port}
4953
a=max-message-size:${maxSize}`;
5054
break;
@@ -55,7 +59,7 @@ m=audio 56930 UDP/TLS/RTP/SAVPF ${payloadTypes.map(x => x.id).join(' ')}
5559
c=IN IP4 0.0.0.0
5660
a=rtcp:9 IN IP4 0.0.0.0
5761
a=ice-options:trickle
58-
a=mid:${mid}`;
62+
a=mid:${i}`;
5963
sdp += addExtmap(rtpExtensions);
6064
if (dir) {
6165
sdp += `
@@ -78,7 +82,7 @@ m=video 61986 UDP/TLS/RTP/SAVPF ${payloadTypes.map(x => x.id).join(' ')}
7882
c=IN IP4 0.0.0.0
7983
a=rtcp:9 IN IP4 0.0.0.0
8084
a=ice-options:trickle
81-
a=mid:${mid}`;
85+
a=mid:${i}`;
8286
sdp += addExtmap(rtpExtensions);
8387
if (dir) {
8488
sdp += `
@@ -104,7 +108,11 @@ a=rtcp-rsize`;
104108
}
105109

106110
static generateAnswer(info) {
107-
const { sessionId, fingerprints, ufrag, pwd, media } = info;
111+
const { sessionId, fingerprints, ufrag, pwd, audio, video, application } = info;
112+
const media = [];
113+
media.push(audio);
114+
media.push(video);
115+
media.push(application);
108116

109117
let sdp = `v=0
110118
o=- ${sessionId} 2 IN IP4 127.0.0.1
@@ -139,7 +147,7 @@ a=msid-semantic: WMS *`;
139147
m=application 9 UDP/DTLS/SCTP webrtc-datachannel
140148
c=IN IP4 0.0.0.0
141149
a=ice-options:trickle
142-
a=mid:${mid}
150+
a=mid:${i}
143151
a=sctp-port:${port}
144152
a=max-message-size:${maxSize}`;
145153
break;
@@ -150,7 +158,7 @@ m=audio 56930 UDP/TLS/RTP/SAVPF ${payloadTypes.map(x => x.id).join(' ')}
150158
c=IN IP4 0.0.0.0
151159
a=rtcp:9 IN IP4 0.0.0.0
152160
a=ice-options:trickle
153-
a=mid:${mid}`;
161+
a=mid:${i}`;
154162
sdp += addExtmap(rtpExtensions);
155163
if (dir) {
156164
sdp += `
@@ -172,7 +180,7 @@ m=video 61986 UDP/TLS/RTP/SAVPF ${payloadTypes.map(x => x.id).join(' ')}
172180
c=IN IP4 0.0.0.0
173181
a=rtcp:9 IN IP4 0.0.0.0
174182
a=ice-options:trickle
175-
a=mid:${mid}`;
183+
a=mid:${i}`;
176184
sdp += addExtmap(rtpExtensions);
177185
if (dir) {
178186
sdp += `

‎src/Calls/P2P/FirefoxP2PSdpBuilder.js

+18-8
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,12 @@ import {addExtmap, addPayloadTypes, addSsrc} from './P2PSdpBuilder';
99

1010
export class FirefoxP2PSdpBuilder {
1111
static generateOffer(info) {
12-
const { sessionId, fingerprints, ufrag, pwd, media } = info;
12+
const { sessionId, fingerprints, ufrag, pwd, audio, video, application } = info;
13+
const media = [];
14+
media.push(audio);
15+
media.push(video);
16+
media.push(application);
17+
1318
let sdp = `v=0
1419
o=- ${sessionId} 0 IN IP4 0.0.0.0
1520
s=-
@@ -43,7 +48,7 @@ a=msid-semantic:WMS *`;
4348
m=application 9 UDP/DTLS/SCTP webrtc-datachannel
4449
c=IN IP4 0.0.0.0
4550
a=ice-options:trickle
46-
a=mid:${mid}
51+
a=mid:${i}
4752
a=sctp-port:${port}
4853
a=max-message-size:${maxSize}`;
4954
break;
@@ -52,7 +57,7 @@ a=max-message-size:${maxSize}`;
5257
sdp += `
5358
m=audio 9 UDP/TLS/RTP/SAVPF ${payloadTypes.map(x => x.id).join(' ')}
5459
c=IN IP4 0.0.0.0
55-
a=mid:${mid}`;
60+
a=mid:${i}`;
5661
if (dir) {
5762
sdp += `
5863
a=${dir}`;
@@ -69,7 +74,7 @@ a=rtcp-mux`;
6974
sdp += `
7075
m=video 9 UDP/TLS/RTP/SAVPF ${payloadTypes.map(x => x.id).join(' ')}
7176
c=IN IP4 0.0.0.0
72-
a=mid:${mid}`;
77+
a=mid:${i}`;
7378
if (dir) {
7479
sdp += `
7580
a=${dir}`;
@@ -92,7 +97,12 @@ a=rtcp-rsize`;
9297
}
9398

9499
static generateAnswer(info) {
95-
const { sessionId, fingerprints, ufrag, pwd, media } = info;
100+
const { sessionId, fingerprints, ufrag, pwd, audio, video, application } = info;
101+
const media = [];
102+
media.push(audio);
103+
media.push(video);
104+
media.push(application);
105+
96106
let sdp = `v=0
97107
o=- ${sessionId} 0 IN IP4 0.0.0.0
98108
s=-
@@ -126,7 +136,7 @@ a=msid-semantic:WMS *`;
126136
m=application 9 UDP/DTLS/SCTP webrtc-datachannel
127137
c=IN IP4 0.0.0.0
128138
a=ice-options:trickle
129-
a=mid:${mid}
139+
a=mid:${i}
130140
a=sctp-port:${port}
131141
a=max-message-size:${maxSize}`;
132142
break;
@@ -135,7 +145,7 @@ a=max-message-size:${maxSize}`;
135145
sdp += `
136146
m=audio 9 UDP/TLS/RTP/SAVPF ${payloadTypes.map(x => x.id).join(' ')}
137147
c=IN IP4 0.0.0.0
138-
a=mid:${mid}`;
148+
a=mid:${i}`;
139149
if (dir) {
140150
sdp += `
141151
a=${dir}`;
@@ -152,7 +162,7 @@ a=rtcp-mux`;
152162
sdp += `
153163
m=video 9 UDP/TLS/RTP/SAVPF ${payloadTypes.map(x => x.id).join(' ')}
154164
c=IN IP4 0.0.0.0
155-
a=mid:${mid}`;
165+
a=mid:${i}`;
156166
if (dir) {
157167
sdp += `
158168
a=${dir}`;

‎src/Calls/P2P/P2PSdpBuilder.js

+16-1
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,21 @@ export function p2pParseSdp(sdp) {
238238
}]
239239
}
240240

241-
info.media.push(media);
241+
switch (media.type) {
242+
case 'application': {
243+
info.application = media;
244+
break;
245+
}
246+
case 'audio': {
247+
info.audio = media;
248+
break;
249+
}
250+
case 'video': {
251+
info.video = media;
252+
break;
253+
}
254+
}
255+
// info.media.push(media);
242256

243257
mediaIndex = nextMediaIndex;
244258
}
@@ -257,6 +271,7 @@ function isSafari() {
257271

258272
export function addExtmap(extmap) {
259273
let sdp = '';
274+
return sdp;
260275

261276
for (let j = 0; j < extmap.length; j++) {
262277
const ext = extmap[j];

‎src/Calls/P2P/SafariP2PSdpBuilder.js

+18-8
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,12 @@ import { addExtmap, addPayloadTypes, addSsrc } from './P2PSdpBuilder';
99

1010
export class SafariP2PSdpBuilder {
1111
static generateOffer(info) {
12-
const { sessionId, fingerprints, ufrag, pwd, media } = info;
12+
const { sessionId, fingerprints, ufrag, pwd, audio, video, application } = info;
13+
const media = [];
14+
media.push(audio);
15+
media.push(video);
16+
media.push(application);
17+
1318
if (!media.length) {
1419
return `v=0
1520
o=- ${sessionId} 2 IN IP4 127.0.0.1
@@ -52,7 +57,7 @@ a=msid-semantic: WMS *`;
5257
m=application 9 UDP/DTLS/SCTP webrtc-datachannel
5358
c=IN IP4 0.0.0.0
5459
a=ice-options:trickle
55-
a=mid:${mid}
60+
a=mid:${i}
5661
a=sctp-port:${port}
5762
a=max-message-size:${maxSize}`;
5863
break;
@@ -63,7 +68,7 @@ m=audio 9 UDP/TLS/RTP/SAVPF ${payloadTypes.map(x => x.id).join(' ')}
6368
c=IN IP4 0.0.0.0
6469
a=rtcp:9 IN IP4 0.0.0.0
6570
a=ice-options:trickle
66-
a=mid:${mid}`;
71+
a=mid:${i}`;
6772
sdp += addExtmap(rtpExtensions);
6873
if (dir) {
6974
sdp += `
@@ -86,7 +91,7 @@ m=video 9 UDP/TLS/RTP/SAVPF ${payloadTypes.map(x => x.id).join(' ')}
8691
c=IN IP4 0.0.0.0
8792
a=rtcp:9 IN IP4 0.0.0.0
8893
a=ice-options:trickle
89-
a=mid:${mid}`;
94+
a=mid:${i}`;
9095
sdp += addExtmap(rtpExtensions);
9196
if (dir) {
9297
sdp += `
@@ -113,7 +118,12 @@ a=rtcp-rsize`;
113118
}
114119

115120
static generateAnswer(info) {
116-
const { sessionId, fingerprints, ufrag, pwd, media } = info;
121+
const { sessionId, fingerprints, ufrag, pwd, audio, video, application } = info;
122+
const media = [];
123+
media.push(audio);
124+
media.push(video);
125+
media.push(application);
126+
117127
if (!media.length) {
118128
return `v=0
119129
o=- ${sessionId} 2 IN IP4 127.0.0.1
@@ -156,7 +166,7 @@ a=msid-semantic: WMS *`;
156166
m=application 9 UDP/DTLS/SCTP webrtc-datachannel
157167
c=IN IP4 0.0.0.0
158168
a=ice-options:trickle
159-
a=mid:${mid}
169+
a=mid:${i}
160170
a=sctp-port:${port}
161171
a=max-message-size:${maxSize}`;
162172
break;
@@ -167,7 +177,7 @@ m=audio 9 UDP/TLS/RTP/SAVPF ${payloadTypes.map(x => x.id).join(' ')}
167177
c=IN IP4 0.0.0.0
168178
a=rtcp:9 IN IP4 0.0.0.0
169179
a=ice-options:trickle
170-
a=mid:${mid}`;
180+
a=mid:${i}`;
171181
sdp += addExtmap(rtpExtensions);
172182
if (dir) {
173183
sdp += `
@@ -190,7 +200,7 @@ m=video 9 UDP/TLS/RTP/SAVPF ${payloadTypes.map(x => x.id).join(' ')}
190200
c=IN IP4 0.0.0.0
191201
a=rtcp:9 IN IP4 0.0.0.0
192202
a=ice-options:trickle
193-
a=mid:${mid}`;
203+
a=mid:${i}`;
194204
sdp += addExtmap(rtpExtensions);
195205
if (dir) {
196206
sdp += `

0 commit comments

Comments
 (0)