Skip to content

Commit 1dd8a18

Browse files
author
aeinstein
committed
inline worker
1 parent c461711 commit 1dd8a18

File tree

11 files changed

+216
-6450
lines changed

11 files changed

+216
-6450
lines changed

dist/webrtmp.js

Lines changed: 132 additions & 102 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/webrtmp.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/webrtmp.worker.js

Lines changed: 0 additions & 6316 deletions
This file was deleted.

dist/webrtmp.worker.js.map

Lines changed: 0 additions & 1 deletion
This file was deleted.

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
"build-production": "node_modules/.bin/webpack --mode=production"
1717
},
1818
"dependencies": {
19-
"webworkify": "^1.5.0"
19+
"webworkify": "^1.5.0",
20+
"worker-loader": "^3.0.8"
2021
},
2122
"devDependencies": {
2223
"webpack": "^5.58.2",

src/config.js

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
/*
2+
*
3+
* Copyright (C) 2023 itNOX. All Rights Reserved.
4+
*
5+
* @author Michael Balen <mb@itnox.de>
6+
*
7+
* Licensed under the Apache License, Version 2.0 (the "License");
8+
* you may not use this file except in compliance with the License.
9+
* You may obtain a copy of the License at
10+
*
11+
* http://www.apache.org/licenses/LICENSE-2.0
12+
*
13+
* Unless required by applicable law or agreed to in writing, software
14+
* distributed under the License is distributed on an "AS IS" BASIS,
15+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16+
* See the License for the specific language governing permissions and
17+
* limitations under the License.
18+
*
19+
*/
20+
21+
import Log from "./utils/logger";
22+
23+
export const loglevels = {
24+
"RTMPMessage": Log.ERROR,
25+
"RTMPMessageHandler": Log.WARN,
26+
"RTMPMediaMessageHandler": Log.ERROR,
27+
"ChunkParser": Log.WARN,
28+
"RTMPHandshake": Log.ERROR,
29+
"Chunk": Log.OFF,
30+
"MP4Remuxer": Log.ERROR,
31+
"Transmuxer": Log.WARN,
32+
"EventEmitter": Log.DEBUG,
33+
"MSEController": Log.INFO,
34+
"WebRTMP": Log.DEBUG,
35+
"WebRTMP_Controller": Log.WARN,
36+
"WebRTMP Worker": Log.WARN,
37+
"AMF": Log.WARN
38+
}

src/index.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,11 @@
2020

2121

2222
import { WebRTMP } from "./webrtmp";
23-
23+
import Log from "./utils/logger";
2424
export { WebRTMP } from "./webrtmp";
2525

2626
export function createWebRTMP(){
2727
return new WebRTMP();
2828
}
29+
30+
window["Log"] = Log;

src/utils/logger.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class Log {
3131

3232
/**
3333
* Object with [ClassName, Loglevel]
34-
* @type {}
34+
* @type {Object}
3535
*/
3636
static loglevels = {};
3737

@@ -45,7 +45,13 @@ class Log {
4545
static _output = function output(level, tag, ...txt){
4646
let tmpLevel = Log.LEVEL;
4747

48-
if(Log.loglevels[tag]) tmpLevel = Log.loglevels[tag];
48+
// Dirty fix because inline worker cant access static properties
49+
try{
50+
if(Log.loglevels[tag]) tmpLevel = Log.loglevels[tag];
51+
}catch (e) {
52+
return;
53+
}
54+
4955

5056
if(tmpLevel === Log.OFF) return;
5157
if(tmpLevel > level) return;

src/webrtmp.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -256,5 +256,3 @@ export class WebRTMP{
256256
}
257257
}
258258
}
259-
260-
window["Log"] = Log;

src/wss/webrtmp.controller.js

Lines changed: 19 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
import EventEmitter from "../utils/event_emitter";
2222
import Log from "../utils/logger";
23+
import Worker from "./connection.worker.js";
2324

2425
class WebRTMP_Controller {
2526
TAG = "WebRTMP_Controller";
@@ -28,31 +29,26 @@ class WebRTMP_Controller {
2829
WSSReconnect = false;
2930
isConnected = false;
3031

31-
loglevels = {
32-
"RTMPMessage": Log.ERROR,
33-
"RTMPMessageHandler": Log.WARN,
34-
"RTMPMediaMessageHandler": Log.ERROR,
35-
"ChunkParser": Log.WARN,
36-
"RTMPHandshake": Log.ERROR,
37-
"Chunk": Log.OFF,
38-
"MP4Remuxer": Log.ERROR,
39-
"Transmuxer": Log.WARN,
40-
"EventEmitter": Log.DEBUG,
41-
"MSEController": Log.INFO,
42-
"WebRTMP": Log.DEBUG,
43-
"WebRTMP_Controller": Log.WARN,
44-
"WebRTMP Worker": Log.WARN,
45-
"AMF": Log.WARN
46-
}
47-
48-
WebRTMPWorker = new Worker(new URL('connection.worker.js', import.meta.url), {
49-
name: "webrtmp.worker",
50-
type: "module"
51-
/* webpackEntryOptions: { filename: "[name].js" } */
52-
});
32+
WebRTMPWorker = new Worker();
5333

5434
constructor() {
55-
Log.loglevels = this.loglevels;
35+
Log.loglevels = {
36+
"RTMPMessage": Log.ERROR,
37+
"RTMPMessageHandler": Log.WARN,
38+
"RTMPMediaMessageHandler": Log.ERROR,
39+
"ChunkParser": Log.WARN,
40+
"RTMPHandshake": Log.ERROR,
41+
"Chunk": Log.OFF,
42+
"MP4Remuxer": Log.ERROR,
43+
"Transmuxer": Log.WARN,
44+
"EventEmitter": Log.DEBUG,
45+
"MSEController": Log.INFO,
46+
"WebRTMP": Log.DEBUG,
47+
"WebRTMP_Controller": Log.WARN,
48+
"WebRTMP Worker": Log.WARN,
49+
"AMF": Log.WARN,
50+
"WSSConnectionManager": Log.DEBUG
51+
};
5652

5753
this._emitter = new EventEmitter();
5854

0 commit comments

Comments
 (0)