@flashphoner/sfusdk 1.0.47 → 2.0.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/examples/sfu.d.ts +13 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -0
- package/dist/sdk/connection.d.ts +25 -0
- package/dist/sdk/connection.js +101 -0
- package/dist/sdk/connection.js.map +1 -0
- package/dist/sdk/constants.d.ts +355 -0
- package/dist/sdk/constants.js +190 -0
- package/dist/sdk/constants.js.map +1 -0
- package/dist/sdk/logger.d.ts +10 -0
- package/dist/sdk/logger.js +22 -0
- package/dist/sdk/logger.js.map +1 -0
- package/dist/sdk/notifier.d.ts +7 -0
- package/dist/sdk/notifier.js +52 -0
- package/dist/sdk/notifier.js.map +1 -0
- package/dist/sdk/promises.d.ts +11 -0
- package/{src/sdk/promise.js → dist/sdk/promises.js} +14 -13
- package/dist/sdk/promises.js.map +1 -0
- package/dist/sdk/room-extended.d.ts +13 -0
- package/dist/sdk/room-extended.js +112 -0
- package/dist/sdk/room-extended.js.map +1 -0
- package/dist/sdk/room.d.ts +30 -0
- package/dist/sdk/room.js +384 -0
- package/dist/sdk/room.js.map +1 -0
- package/dist/sdk/sfu-extended.d.ts +126 -0
- package/dist/sdk/sfu-extended.js +511 -0
- package/dist/sdk/sfu-extended.js.map +1 -0
- package/dist/sdk/sfu.d.ts +22 -0
- package/dist/sdk/sfu.js +136 -0
- package/dist/sdk/sfu.js.map +1 -0
- package/dist/src/index.d.ts +6 -0
- package/dist/src/sdk/connection.d.ts +25 -0
- package/dist/src/sdk/constants.d.ts +355 -0
- package/dist/src/sdk/logger.d.ts +10 -0
- package/dist/src/sdk/notifier.d.ts +7 -0
- package/dist/src/sdk/promises.d.ts +11 -0
- package/dist/src/sdk/room-extended.d.ts +13 -0
- package/dist/src/sdk/room.d.ts +30 -0
- package/dist/src/sdk/sfu-extended.d.ts +126 -0
- package/dist/src/sdk/sfu.d.ts +22 -0
- package/package.json +27 -27
- package/Gruntfile.js +0 -79
- package/README.md +0 -95
- package/dependencies/bootstrap/css/bootstrap-theme.css +0 -587
- package/dependencies/bootstrap/css/bootstrap-theme.css.map +0 -1
- package/dependencies/bootstrap/css/bootstrap-theme.min.css +0 -5
- package/dependencies/bootstrap/css/bootstrap.css +0 -6853
- package/dependencies/bootstrap/css/bootstrap.css.map +0 -1
- package/dependencies/bootstrap/css/bootstrap.min.css +0 -5
- package/dependencies/bootstrap/font-awesome/HELP-US-OUT.txt +0 -7
- package/dependencies/bootstrap/font-awesome/css/font-awesome.css +0 -2178
- package/dependencies/bootstrap/font-awesome/css/font-awesome.min.css +0 -4
- package/dependencies/bootstrap/font-awesome/fonts/FontAwesome.otf +0 -0
- package/dependencies/bootstrap/font-awesome/fonts/fontawesome-webfont.eot +0 -0
- package/dependencies/bootstrap/font-awesome/fonts/fontawesome-webfont.svg +0 -685
- package/dependencies/bootstrap/font-awesome/fonts/fontawesome-webfont.ttf +0 -0
- package/dependencies/bootstrap/font-awesome/fonts/fontawesome-webfont.woff +0 -0
- package/dependencies/bootstrap/font-awesome/fonts/fontawesome-webfont.woff2 +0 -0
- package/dependencies/bootstrap/font-awesome/less/animated.less +0 -34
- package/dependencies/bootstrap/font-awesome/less/bordered-pulled.less +0 -25
- package/dependencies/bootstrap/font-awesome/less/core.less +0 -12
- package/dependencies/bootstrap/font-awesome/less/fixed-width.less +0 -6
- package/dependencies/bootstrap/font-awesome/less/font-awesome.less +0 -18
- package/dependencies/bootstrap/font-awesome/less/icons.less +0 -724
- package/dependencies/bootstrap/font-awesome/less/larger.less +0 -13
- package/dependencies/bootstrap/font-awesome/less/list.less +0 -19
- package/dependencies/bootstrap/font-awesome/less/mixins.less +0 -60
- package/dependencies/bootstrap/font-awesome/less/path.less +0 -15
- package/dependencies/bootstrap/font-awesome/less/rotated-flipped.less +0 -20
- package/dependencies/bootstrap/font-awesome/less/screen-reader.less +0 -5
- package/dependencies/bootstrap/font-awesome/less/stacked.less +0 -20
- package/dependencies/bootstrap/font-awesome/less/variables.less +0 -735
- package/dependencies/bootstrap/font-awesome/scss/_animated.scss +0 -34
- package/dependencies/bootstrap/font-awesome/scss/_bordered-pulled.scss +0 -25
- package/dependencies/bootstrap/font-awesome/scss/_core.scss +0 -12
- package/dependencies/bootstrap/font-awesome/scss/_fixed-width.scss +0 -6
- package/dependencies/bootstrap/font-awesome/scss/_icons.scss +0 -724
- package/dependencies/bootstrap/font-awesome/scss/_larger.scss +0 -13
- package/dependencies/bootstrap/font-awesome/scss/_list.scss +0 -19
- package/dependencies/bootstrap/font-awesome/scss/_mixins.scss +0 -60
- package/dependencies/bootstrap/font-awesome/scss/_path.scss +0 -15
- package/dependencies/bootstrap/font-awesome/scss/_rotated-flipped.scss +0 -20
- package/dependencies/bootstrap/font-awesome/scss/_screen-reader.scss +0 -5
- package/dependencies/bootstrap/font-awesome/scss/_stacked.scss +0 -20
- package/dependencies/bootstrap/font-awesome/scss/_variables.scss +0 -735
- package/dependencies/bootstrap/font-awesome/scss/font-awesome.scss +0 -18
- package/dependencies/bootstrap/fonts/FontAwesome.otf +0 -0
- package/dependencies/bootstrap/fonts/fontawesome-webfont.eot +0 -0
- package/dependencies/bootstrap/fonts/fontawesome-webfont.svg +0 -655
- package/dependencies/bootstrap/fonts/fontawesome-webfont.ttf +0 -0
- package/dependencies/bootstrap/fonts/fontawesome-webfont.woff +0 -0
- package/dependencies/bootstrap/fonts/fontawesome-webfont.woff2 +0 -0
- package/dependencies/bootstrap/fonts/glyphicons-halflings-regular.eot +0 -0
- package/dependencies/bootstrap/fonts/glyphicons-halflings-regular.svg +0 -288
- package/dependencies/bootstrap/fonts/glyphicons-halflings-regular.ttf +0 -0
- package/dependencies/bootstrap/fonts/glyphicons-halflings-regular.woff +0 -0
- package/dependencies/bootstrap/fonts/glyphicons-halflings-regular.woff2 +0 -0
- package/dependencies/bootstrap/icons/font-awesome.min.css +0 -4
- package/dependencies/bootstrap/js/bootstrap.js +0 -2363
- package/dependencies/bootstrap/js/bootstrap.min.js +0 -7
- package/dependencies/bootstrap/js/npm.js +0 -13
- package/dependencies/bootstrap/js/switch.js +0 -85
- package/dependencies/jquery/jquery-1.12.0.js +0 -11027
- package/dependencies/jquery/jquery-ui.js +0 -16617
- package/dependencies/jquery/jquery.js +0 -8981
- package/dependencies/jquery/jquery.json.js +0 -199
- package/dependencies/jquery/jquery.websocket.js +0 -61
- package/dependencies/sigma/sigma.layout.forceAtlas2.min.js +0 -1
- package/dependencies/sigma/sigma.layout.noverlap.min.js +0 -1
- package/dependencies/sigma/sigma.min.js +0 -2
- package/dependencies/sigma/sigma.plugins.relativeSize.min.js +0 -1
- package/dependencies/sigma/sigma.renderers.edgeLabels.min.js +0 -1
- package/dependencies/sigma/sigma.renderers.parallelEdges.min.js +0 -1
- package/dependencies/sigma/sigma.require.js +0 -12076
- package/docTemplate/README.md +0 -5
- package/docTemplate/publish.js +0 -654
- package/docTemplate/static/fonts/OpenSans-Bold-webfont.eot +0 -0
- package/docTemplate/static/fonts/OpenSans-Bold-webfont.svg +0 -1830
- package/docTemplate/static/fonts/OpenSans-Bold-webfont.woff +0 -0
- package/docTemplate/static/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
- package/docTemplate/static/fonts/OpenSans-BoldItalic-webfont.svg +0 -1830
- package/docTemplate/static/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
- package/docTemplate/static/fonts/OpenSans-Italic-webfont.eot +0 -0
- package/docTemplate/static/fonts/OpenSans-Italic-webfont.svg +0 -1830
- package/docTemplate/static/fonts/OpenSans-Italic-webfont.woff +0 -0
- package/docTemplate/static/fonts/OpenSans-Light-webfont.eot +0 -0
- package/docTemplate/static/fonts/OpenSans-Light-webfont.svg +0 -1831
- package/docTemplate/static/fonts/OpenSans-Light-webfont.woff +0 -0
- package/docTemplate/static/fonts/OpenSans-LightItalic-webfont.eot +0 -0
- package/docTemplate/static/fonts/OpenSans-LightItalic-webfont.svg +0 -1835
- package/docTemplate/static/fonts/OpenSans-LightItalic-webfont.woff +0 -0
- package/docTemplate/static/fonts/OpenSans-Regular-webfont.eot +0 -0
- package/docTemplate/static/fonts/OpenSans-Regular-webfont.svg +0 -1831
- package/docTemplate/static/fonts/OpenSans-Regular-webfont.woff +0 -0
- package/docTemplate/static/scripts/linenumber.js +0 -25
- package/docTemplate/static/scripts/prettify/Apache-License-2.0.txt +0 -202
- package/docTemplate/static/scripts/prettify/lang-css.js +0 -2
- package/docTemplate/static/scripts/prettify/prettify.js +0 -28
- package/docTemplate/static/styles/jsdoc-default.css +0 -354
- package/docTemplate/static/styles/prettify-jsdoc.css +0 -111
- package/docTemplate/static/styles/prettify-tomorrow.css +0 -132
- package/docTemplate/tmpl/augments.tmpl +0 -10
- package/docTemplate/tmpl/container.tmpl +0 -183
- package/docTemplate/tmpl/details.tmpl +0 -143
- package/docTemplate/tmpl/example.tmpl +0 -2
- package/docTemplate/tmpl/examples.tmpl +0 -13
- package/docTemplate/tmpl/exceptions.tmpl +0 -32
- package/docTemplate/tmpl/layout.tmpl +0 -38
- package/docTemplate/tmpl/mainpage.tmpl +0 -14
- package/docTemplate/tmpl/members.tmpl +0 -38
- package/docTemplate/tmpl/method.tmpl +0 -105
- package/docTemplate/tmpl/params.tmpl +0 -124
- package/docTemplate/tmpl/properties.tmpl +0 -108
- package/docTemplate/tmpl/returns.tmpl +0 -19
- package/docTemplate/tmpl/source.tmpl +0 -8
- package/docTemplate/tmpl/tutorial.tmpl +0 -19
- package/docTemplate/tmpl/type.tmpl +0 -7
- package/src/examples/client/chat.js +0 -67
- package/src/examples/client/config.json +0 -26
- package/src/examples/client/controls.js +0 -314
- package/src/examples/client/display.js +0 -502
- package/src/examples/client/main.css +0 -45
- package/src/examples/client/main.html +0 -220
- package/src/examples/client/main.js +0 -156
- package/src/examples/client/resources/details_close.png +0 -0
- package/src/examples/client/resources/details_open.png +0 -0
- package/src/examples/client/util.js +0 -67
- package/src/examples/commons/js/config.js +0 -81
- package/src/examples/commons/js/display.js +0 -484
- package/src/examples/commons/js/util.js +0 -202
- package/src/examples/commons/media/silence.mp3 +0 -0
- package/src/examples/controller/dependencies/sigma/sigma.renderers.edgeLabels.min.js +0 -1
- package/src/examples/controller/dependencies/sigma/sigma.renderers.parallelEdges.min.js +0 -1
- package/src/examples/controller/dependencies/sigma/sigma.require.js +0 -12076
- package/src/examples/controller/graph-view.js +0 -32
- package/src/examples/controller/main.css +0 -45
- package/src/examples/controller/main.html +0 -79
- package/src/examples/controller/main.js +0 -65
- package/src/examples/controller/parser.js +0 -202
- package/src/examples/controller/resources/details_close.png +0 -0
- package/src/examples/controller/resources/details_open.png +0 -0
- package/src/examples/controller/rest.js +0 -56
- package/src/examples/controller/table-view.js +0 -64
- package/src/examples/controller/test-data.js +0 -382
- package/src/examples/player/config.json +0 -8
- package/src/examples/player/player.css +0 -19
- package/src/examples/player/player.html +0 -54
- package/src/examples/player/player.js +0 -209
- package/src/examples/two-way-streaming/config.json +0 -34
- package/src/examples/two-way-streaming/two-way-streaming.css +0 -26
- package/src/examples/two-way-streaming/two-way-streaming.html +0 -72
- package/src/examples/two-way-streaming/two-way-streaming.js +0 -375
- package/src/sdk/constants.js +0 -514
- package/src/sdk/logger.js +0 -16
- package/src/sdk/room.js +0 -594
- package/src/sdk/sfu-extended.js +0 -843
- package/src/sdk/sfu.js +0 -208
- package/src/sdk/ws.js +0 -113
- package/src/tests/assets/1.jpeg +0 -0
- package/src/tests/lib/rtcaudiosourcesinewave.js +0 -109
- package/src/tests/lib/rtcvideosourcewrapper.js +0 -28
- package/src/tests/sdk/room.test.js +0 -229
- package/src/tests/sdk/sfu-extended.test.js +0 -265
- package/src/tests/sdk/sfu-extended.test.js_ +0 -265
- package/src/tests/util.js +0 -48
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { Calendar, ChannelSendPolicy, ChannelType, Chat, ChatMap, InternalMessage, Invite, Message, MessageAttachment, MessageStatus, SfuEvent, State, User, UserSpecificChatInfo } from "./constants";
|
|
2
|
+
import { RoomExtended } from "./room-extended";
|
|
3
|
+
declare type NotifyUnion = InternalMessage | Message | MessageStatus | Array<User> | Calendar | UserSpecificChatInfo | Invite | User | ChatMap | Chat;
|
|
4
|
+
export declare class SfuExtended {
|
|
5
|
+
#private;
|
|
6
|
+
connect(options: {
|
|
7
|
+
url: string;
|
|
8
|
+
username: string;
|
|
9
|
+
password: string;
|
|
10
|
+
nickname: string;
|
|
11
|
+
timeout?: number;
|
|
12
|
+
}): Promise<{
|
|
13
|
+
username: string;
|
|
14
|
+
nickname: string;
|
|
15
|
+
pmi: string;
|
|
16
|
+
}>;
|
|
17
|
+
sendMessage(msg: {
|
|
18
|
+
body: string;
|
|
19
|
+
chatId: string;
|
|
20
|
+
attachments?: Array<MessageAttachment>;
|
|
21
|
+
}): Promise<MessageStatus>;
|
|
22
|
+
markMessageRead(msg: {
|
|
23
|
+
id: string;
|
|
24
|
+
chatId: string;
|
|
25
|
+
}): Promise<MessageStatus>;
|
|
26
|
+
markMessageUnread(msg: {
|
|
27
|
+
id: string;
|
|
28
|
+
chatId: string;
|
|
29
|
+
}): Promise<MessageStatus>;
|
|
30
|
+
getUserList(): Promise<User[]>;
|
|
31
|
+
getUserCalendar(): Promise<Calendar>;
|
|
32
|
+
addCalendarEvent(event: {
|
|
33
|
+
id: string;
|
|
34
|
+
title: string;
|
|
35
|
+
description: string;
|
|
36
|
+
start: number;
|
|
37
|
+
end: number;
|
|
38
|
+
recurring: boolean;
|
|
39
|
+
accessCode: string;
|
|
40
|
+
waitingRoom: boolean;
|
|
41
|
+
usePMI: boolean;
|
|
42
|
+
ownerVideo: boolean;
|
|
43
|
+
participantVideo: boolean;
|
|
44
|
+
}): Promise<void>;
|
|
45
|
+
removeCalendarEvent(event: {
|
|
46
|
+
id: string;
|
|
47
|
+
}): Promise<void>;
|
|
48
|
+
getUserChats(): Promise<ChatMap>;
|
|
49
|
+
getPublicChannels(): Promise<ChatMap>;
|
|
50
|
+
loadChat(chat: {
|
|
51
|
+
id: string;
|
|
52
|
+
}): Promise<Chat>;
|
|
53
|
+
createChat(chat: {
|
|
54
|
+
id?: string;
|
|
55
|
+
name?: string;
|
|
56
|
+
members?: Array<string>;
|
|
57
|
+
favourite?: boolean;
|
|
58
|
+
channel?: boolean;
|
|
59
|
+
channelType?: ChannelType;
|
|
60
|
+
channelSendPolicy?: ChannelSendPolicy;
|
|
61
|
+
sendPermissionList?: Array<string>;
|
|
62
|
+
}): Promise<UserSpecificChatInfo>;
|
|
63
|
+
deleteChat(chat: {
|
|
64
|
+
id: string;
|
|
65
|
+
}): Promise<void>;
|
|
66
|
+
renameChat(chat: {
|
|
67
|
+
id: string;
|
|
68
|
+
name: string;
|
|
69
|
+
}): Promise<void>;
|
|
70
|
+
addMemberToChat(chat: {
|
|
71
|
+
id: string;
|
|
72
|
+
member: string;
|
|
73
|
+
}): Promise<UserSpecificChatInfo>;
|
|
74
|
+
removeMemberFromChat(chat: {
|
|
75
|
+
id: string;
|
|
76
|
+
member: string;
|
|
77
|
+
}): Promise<UserSpecificChatInfo>;
|
|
78
|
+
inviteContact(invite: {
|
|
79
|
+
to: string;
|
|
80
|
+
}): Promise<User>;
|
|
81
|
+
confirmContact(invite: {
|
|
82
|
+
id: string;
|
|
83
|
+
from: string;
|
|
84
|
+
to: string;
|
|
85
|
+
}): Promise<User>;
|
|
86
|
+
removeContact(contact: {
|
|
87
|
+
id: string;
|
|
88
|
+
}): Promise<User>;
|
|
89
|
+
updateChannelSendPolicy(channel: {
|
|
90
|
+
id: string;
|
|
91
|
+
channelSendPolicy: ChannelSendPolicy;
|
|
92
|
+
}): Promise<UserSpecificChatInfo>;
|
|
93
|
+
addChannelSendPermissionListMember(channel: {
|
|
94
|
+
id: string;
|
|
95
|
+
member: string;
|
|
96
|
+
}): Promise<UserSpecificChatInfo>;
|
|
97
|
+
removeChannelSendPermissionListMember(channel: {
|
|
98
|
+
id: string;
|
|
99
|
+
member: string;
|
|
100
|
+
}): Promise<UserSpecificChatInfo>;
|
|
101
|
+
addChatToFavourites(chat: {
|
|
102
|
+
id: string;
|
|
103
|
+
}): Promise<UserSpecificChatInfo>;
|
|
104
|
+
removeChatFromFavourites(chat: {
|
|
105
|
+
id: string;
|
|
106
|
+
}): Promise<UserSpecificChatInfo>;
|
|
107
|
+
createRoom(options: {
|
|
108
|
+
pc: RTCPeerConnection;
|
|
109
|
+
name: string;
|
|
110
|
+
pin: string;
|
|
111
|
+
}): RoomExtended;
|
|
112
|
+
getRoom(options: {
|
|
113
|
+
name: string;
|
|
114
|
+
}): RoomExtended;
|
|
115
|
+
disconnect(): void;
|
|
116
|
+
user(): {
|
|
117
|
+
username: string;
|
|
118
|
+
nickname: string;
|
|
119
|
+
pmi: string;
|
|
120
|
+
};
|
|
121
|
+
server(): string;
|
|
122
|
+
state(): State;
|
|
123
|
+
on(event: SfuEvent, callback: (arg0: NotifyUnion) => void): SfuExtended;
|
|
124
|
+
off(event: SfuEvent, callback: (arg0: NotifyUnion) => void): SfuExtended;
|
|
125
|
+
}
|
|
126
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { InternalMessage, SfuEvent, State } from "./constants";
|
|
2
|
+
import { Room } from "./room";
|
|
3
|
+
export declare class Sfu {
|
|
4
|
+
#private;
|
|
5
|
+
connect(options: {
|
|
6
|
+
url: string;
|
|
7
|
+
timeout?: number;
|
|
8
|
+
nickname: string;
|
|
9
|
+
logGroup: string;
|
|
10
|
+
}): Promise<void>;
|
|
11
|
+
createRoom(options: {
|
|
12
|
+
pc: RTCPeerConnection;
|
|
13
|
+
name: string;
|
|
14
|
+
pin: string;
|
|
15
|
+
}): Room;
|
|
16
|
+
disconnect(): void;
|
|
17
|
+
room(): Room;
|
|
18
|
+
nickname(): string;
|
|
19
|
+
state(): State;
|
|
20
|
+
on(event: SfuEvent, callback: (arg0: InternalMessage) => void): Sfu;
|
|
21
|
+
off(event: SfuEvent, callback: (arg0: InternalMessage) => void): Sfu;
|
|
22
|
+
}
|
package/package.json
CHANGED
|
@@ -1,31 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flashphoner/sfusdk",
|
|
3
|
+
"version": "2.0.48",
|
|
3
4
|
"description": "Official Flashphoner WebCallServer SFU SDK package",
|
|
4
|
-
"
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"files": [
|
|
8
|
+
"/dist"
|
|
9
|
+
],
|
|
5
10
|
"scripts": {
|
|
6
|
-
"
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"jquery-ui": "^1.12.1",
|
|
14
|
-
"popper.js": "^1.16.1",
|
|
15
|
-
"sdp-transform": "^2.14.0",
|
|
16
|
-
"uuid": "^8.3.0",
|
|
17
|
-
"webrtc-adapter": "^7.2.6"
|
|
18
|
-
},
|
|
19
|
-
"devDependencies": {
|
|
20
|
-
"@mapbox/node-pre-gyp": "^1.0.8",
|
|
21
|
-
"grunt": "^1.0.1",
|
|
22
|
-
"grunt-browserify": "^5.0.0",
|
|
23
|
-
"grunt-contrib-clean": "^1.0.0",
|
|
24
|
-
"grunt-contrib-copy": "^1.0.0",
|
|
25
|
-
"grunt-jsdoc": "^2.4.0",
|
|
26
|
-
"grunt-run": "^0.8.1",
|
|
27
|
-
"jest": "^27.4.7",
|
|
28
|
-
"wrtc": "^0.4.7"
|
|
11
|
+
"clean": "rm -rf dist/*",
|
|
12
|
+
"test": "jest --runInBand --forceExit",
|
|
13
|
+
"build": "tsc",
|
|
14
|
+
"build-examples": "webpack --mode=production",
|
|
15
|
+
"publish-lib": "npm run build && npm publish",
|
|
16
|
+
"publish-beta": "npm run build && npm publish --tag beta",
|
|
17
|
+
"publish-dryrun": "npm run build && npm publish --dry-run"
|
|
29
18
|
},
|
|
30
19
|
"keywords": [
|
|
31
20
|
"Flashphoner",
|
|
@@ -34,8 +23,19 @@
|
|
|
34
23
|
],
|
|
35
24
|
"author": "Flashphoner",
|
|
36
25
|
"license": "MIT",
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
26
|
+
"devDependencies": {
|
|
27
|
+
"@mapbox/node-pre-gyp": "^1.0.8",
|
|
28
|
+
"@types/jest": "^27.4.1",
|
|
29
|
+
"jest": "^27.4.7",
|
|
30
|
+
"ts-jest": "^27.1.4",
|
|
31
|
+
"ts-loader": "^9.2.8",
|
|
32
|
+
"typescript": "^4.6.3",
|
|
33
|
+
"webpack": "^5.72.0",
|
|
34
|
+
"webpack-cli": "^4.9.2",
|
|
35
|
+
"wrtc": "^0.4.7"
|
|
36
|
+
},
|
|
37
|
+
"dependencies": {
|
|
38
|
+
"uuid": "^8.3.0",
|
|
39
|
+
"webrtc-adapter": "^7.2.6"
|
|
40
40
|
}
|
|
41
41
|
}
|
package/Gruntfile.js
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
module.exports = function(grunt) {
|
|
2
|
-
grunt.initConfig({
|
|
3
|
-
pkg: grunt.file.readJSON('package.json'),
|
|
4
|
-
browserify: {
|
|
5
|
-
PSFUOBject: {
|
|
6
|
-
src: ['./src/sdk/sfu.js'],
|
|
7
|
-
dest: './out/sfu.js',
|
|
8
|
-
options: {
|
|
9
|
-
browserifyOptions: {
|
|
10
|
-
standalone: 'SFU'
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
},
|
|
14
|
-
ZSFUOBject: {
|
|
15
|
-
src: ['./src/sdk/sfu-extended.js'],
|
|
16
|
-
dest: './out/sfu-extended.js',
|
|
17
|
-
options: {
|
|
18
|
-
browserifyOptions: {
|
|
19
|
-
standalone: 'SFUExtended'
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
},
|
|
24
|
-
copy: {
|
|
25
|
-
examples: {
|
|
26
|
-
files: [
|
|
27
|
-
{
|
|
28
|
-
expand: true,
|
|
29
|
-
cwd: './src',
|
|
30
|
-
src: [
|
|
31
|
-
'examples/**'
|
|
32
|
-
],
|
|
33
|
-
dest: 'out'
|
|
34
|
-
}
|
|
35
|
-
]
|
|
36
|
-
}
|
|
37
|
-
},
|
|
38
|
-
jsdoc: {
|
|
39
|
-
src: ['./src/sdk/sfu.js', './src/sdk/sfu-extended.js', './src/sdk/room.js', './src/sdk/constants.js'],
|
|
40
|
-
options: {
|
|
41
|
-
template: './docTemplate',
|
|
42
|
-
readme: './docTemplate/README.md',
|
|
43
|
-
destination: 'out/doc/'
|
|
44
|
-
}
|
|
45
|
-
},
|
|
46
|
-
clean: {
|
|
47
|
-
build: [
|
|
48
|
-
'out/'
|
|
49
|
-
],
|
|
50
|
-
release: [
|
|
51
|
-
'release'
|
|
52
|
-
]
|
|
53
|
-
},
|
|
54
|
-
run: {
|
|
55
|
-
options: {
|
|
56
|
-
// ...
|
|
57
|
-
},
|
|
58
|
-
test: {
|
|
59
|
-
cmd: 'npm',
|
|
60
|
-
args: [
|
|
61
|
-
'run',
|
|
62
|
-
'test'
|
|
63
|
-
]
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
grunt.loadNpmTasks('grunt-browserify');
|
|
69
|
-
grunt.loadNpmTasks('grunt-contrib-copy');
|
|
70
|
-
grunt.loadNpmTasks('grunt-contrib-clean');
|
|
71
|
-
grunt.loadNpmTasks('grunt-jsdoc');
|
|
72
|
-
grunt.loadNpmTasks('grunt-run');
|
|
73
|
-
grunt.registerTask('build', [
|
|
74
|
-
'clean:build',
|
|
75
|
-
'copy',
|
|
76
|
-
'browserify',
|
|
77
|
-
'jsdoc'
|
|
78
|
-
]);
|
|
79
|
-
};
|
package/README.md
DELETED
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
# @flashphoner/sfusdk
|
|
2
|
-
|
|
3
|
-
# Flashphoner WebCallServer SFU JavaScript API (SFU SDK)
|
|
4
|
-
|
|
5
|
-
Flashphoner [WebCallServer](https://flashphoner.com) [SFU](https://docs.flashphoner.com/display/WCS52EN/SFU+functions+with+Simulcast) JavaScript API (SFU SDK) implementation.
|
|
6
|
-
|
|
7
|
-
## Install
|
|
8
|
-
```
|
|
9
|
-
npm install @flashphoner/sfusdk
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
## Usage example
|
|
13
|
-
```
|
|
14
|
-
import React, {useState} from "react";
|
|
15
|
-
import * as SFU from '@flashphoner/sfusdk/src/sdk/sfu.js'
|
|
16
|
-
import * as Constants from '@flashphoner/sfusdk/src/sdk/constants.js'
|
|
17
|
-
|
|
18
|
-
export default function TestApp() {
|
|
19
|
-
const [url, setUrl] = useState("ws://localhost:8080");
|
|
20
|
-
const [established, setEstablished] = useState("Not connected");
|
|
21
|
-
const [buttonText, setButtonText] = useState("Connect");
|
|
22
|
-
const [session, setSession] = useState(null);
|
|
23
|
-
|
|
24
|
-
function onClick() {
|
|
25
|
-
if (session == null) {
|
|
26
|
-
console.log("Trying to connect");
|
|
27
|
-
const pc = new RTCPeerConnection();
|
|
28
|
-
const s = SFU.createRoom({
|
|
29
|
-
url: url,
|
|
30
|
-
roomName: "ROOM",
|
|
31
|
-
pin: "1234",
|
|
32
|
-
nickname: "Test",
|
|
33
|
-
pc: pc
|
|
34
|
-
}).on(Constants.SFU_EVENT.CONNECTED, (room) => {
|
|
35
|
-
console.log("Connected!");
|
|
36
|
-
setEstablished("Connected!");
|
|
37
|
-
setButtonText("Disconnect");
|
|
38
|
-
setSession(s);
|
|
39
|
-
room.join();
|
|
40
|
-
}).on(Constants.SFU_EVENT.DISCONNECTED, () => {
|
|
41
|
-
console.log("Disconnected!");
|
|
42
|
-
setEstablished("Not connected!");
|
|
43
|
-
setButtonText("Connect");
|
|
44
|
-
setSession(null);
|
|
45
|
-
});
|
|
46
|
-
} else {
|
|
47
|
-
let room = session.room();
|
|
48
|
-
if(room) {
|
|
49
|
-
room.destroyRoom()
|
|
50
|
-
}
|
|
51
|
-
session.disconnect();
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
return(
|
|
56
|
-
<div>
|
|
57
|
-
<div>
|
|
58
|
-
<input type="text" value={url} placeholder="Enter server websocket URL" onChange={(e) => setUrl(e.target.value)}/>
|
|
59
|
-
<button onClick={() => onClick()}>{buttonText}</button>
|
|
60
|
-
</div>
|
|
61
|
-
<div>{established}</div>
|
|
62
|
-
</div>
|
|
63
|
-
|
|
64
|
-
)
|
|
65
|
-
}
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
## Building browserified JS bundle
|
|
69
|
-
|
|
70
|
-
### Install grunt (if this is not installed)
|
|
71
|
-
```
|
|
72
|
-
npm install grunt
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
### Build
|
|
76
|
-
```
|
|
77
|
-
grunt build
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
### Deploy to web server
|
|
81
|
-
```
|
|
82
|
-
mkdir -p /var/www/html/flashphoner-sfu-test
|
|
83
|
-
cp -r out/* /var/www/html/flashphoner-sfu-test
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
## Documentation
|
|
87
|
-
|
|
88
|
-
[SFU functions description](https://docs.flashphoner.com/display/WCS52EN/SFU+functions+with+Simulcast)
|
|
89
|
-
[SFU SDK documentation](https://docs.flashphoner.com/display/SS1E/SFU+SDK+1.0+-+EN)
|
|
90
|
-
[SFU examples description](https://docs.flashphoner.com/display/SS1E/SFU+SDK+Examples)
|
|
91
|
-
[API documentation](http://flashphoner.com/docs/api/WCS5/client/sfu-sdk/latest)
|
|
92
|
-
|
|
93
|
-
## Known issues
|
|
94
|
-
|
|
95
|
-
SFU SDK is built with [webrtc/adapter](https://github.com/webrtc/adapter/) library version not lower than 7.2.6. In this regard, direct use of this library together with WebSDK should be avoided.
|